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";
|
|
|
|
|
|
|
|
// Ler as definições do protobuffer
|
|
|
|
const tasksDefs = loadSync("./tasks.proto");
|
|
|
|
const tasksProto = loadPackageDefinition(tasksDefs);
|
|
|
|
|
|
|
|
const tasks = [
|
|
|
|
{ id: 1, title: "Tarefa 01", type: "IFMS" }
|
|
|
|
]
|
|
|
|
|
|
|
|
// Criando nosso objeto Servidor
|
|
|
|
const grpcServer = new Server();
|
|
|
|
grpcServer.addService(tasksProto.TaskService.service, {
|
|
|
|
findAll: (call, callBack) => {
|
|
|
|
callBack(null, { tasks: tasks })
|
|
|
|
}
|
|
|
|
})
|
|
|
|
|
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...")
|
|
|
|
})
|