You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

150 lines
4.4 KiB

const fastify = require("fastify");
const createConnectionController = require("../controllers/createConnectionController");
module.exports = function (fastify, opts, next) {
fastify.route({
method: "POST",
url: "/api/createConnections/:customerId",
schema: {
tags: ["Connections"],
description: "This is for cretae New Connection",
summary: "This is for cretae New Connection.",
params: {
required: ["customerId"],
type: "object",
properties: {
customerId: {
type: "string",
description: "customerId",
},
},
},
body: {
type: "object",
properties: {
tankname: { type: "string" },
inputConnections: {
type: "array",
maxItems: 2500,
items: {
type: "object",
properties: {
inputConnections: { type: "string", default: null },
},
},
},
outputConnections: {
type: "array",
maxItems: 2500,
items: {
type: "object",
properties: {
outputConnections: { type: "string", default: null },
},
},
},
},
},
security: [
{
basicAuth: [],
},
],
},
preHandler: fastify.auth([fastify.authenticate]),
handler: createConnectionController.createConnections,
// onResponse: (request, reply) => {
// validationHandler.sendPhoneVerificationCode(request, reply);
// },
//onResponse: validationHandler.sendPhoneVerificationCode,
});
fastify.route({
method: "PUT",
url: "/api/updateConnections/:customerId",
schema: {
tags: ["Connections"],
summary: "This is for update connections",
params: {
required: ["customerId"],
type: "object",
properties: {
customerId: {
type: "string",
description: "customerId",
},
},
},
body: {
type: "object",
// required: ['phone'],
properties: {
tankname: { type: "string" },
inputConnections: {
type: "array",
maxItems: 2500,
items: {
type: "object",
properties: {
inputConnections: { type: "string", default: null },
},
},
},
outputConnections: {
type: "array",
maxItems: 2500,
items: {
type: "object",
properties: {
outputConnections: { type: "string", default: null },
},
},
},
},
},
security: [
{
basicAuth: [],
},
],
},
// preHandler: [
// fastify.auth([fastify.operatorAuthenticate]),
// validationHandler.validatePhoneFormat,
// ],
preHandler: fastify.auth([fastify.authenticate]),
handler: createConnectionController.updateconnectionInfo,
});
fastify.get("/api/getConnections", {
schema: {
tags: ["Connections"],
description: "This is for Get Connections Data",
summary: "This is for to Get Connections Data",
querystring: {
customerId: {type: 'string'}
},
security: [
{
basicAuth: [],
},
],
},
preHandler: fastify.auth([fastify.authenticate]),
handler: createConnectionController.getConnections,
});
next();
}