grpc-tads6/server.js

43 lines
997 B
JavaScript
Raw Permalink Normal View History

2024-06-06 01:06:40 +00:00
import { Server, ServerCredentials, loadPackageDefinition } from "@grpc/grpc-js";
2024-06-06 00:46:09 +00:00
import { loadSync } from "@grpc/proto-loader";
2024-06-08 00:16:57 +00:00
import moment from "moment";
2024-06-06 00:46:09 +00:00
// Ler as definições do protobuffer
const tasksDefs = loadSync("./tasks.proto");
2024-06-08 00:16:57 +00:00
const usersDefs = loadSync("./tasks.proto");
const definition = {
...tasksDefs,
...usersDefs
}
const tasksProto = loadPackageDefinition(definition);
2024-06-06 00:46:09 +00:00
const tasks = [
2024-06-08 00:16:57 +00:00
{
id: 1,
title: "Tarefa 01",
type: "IFMS",
created_at: "este"
}
2024-06-06 00:46:09 +00:00
]
// Criando nosso objeto Servidor
const grpcServer = new Server();
grpcServer.addService(tasksProto.TaskService.service, {
findAll: (call, callBack) => {
callBack(null, { tasks: tasks })
2024-06-06 02:09:10 +00:00
},
insertOne: (call, callBack) => {
const obj = call.request
tasks.push(obj)
callBack(null, obj)
}
2024-06-06 00:46:09 +00:00
})
2024-06-06 01:06:40 +00:00
const serverAddress = '0.0.0.0:5050';
grpcServer.bindAsync(serverAddress, ServerCredentials.createInsecure(), () => {
console.log("Servidor está funcionando bem...")
})