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...")
|
|
|
|
})
|