|
|
|
const fastify = require("fastify");
|
|
|
|
const supplierController = require("../controllers/supplierController");
|
|
|
|
const validationHandler = require("../handlers/supplierHandler");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
module.exports = function (fastify, opts, next) {
|
|
|
|
|
|
|
|
fastify.post("/api/supplierlogin", {
|
|
|
|
schema: {
|
|
|
|
description: "This is for Login Supplier",
|
|
|
|
tags: ["Supplier-Data"],
|
|
|
|
summary: "This is for Login Supplier",
|
|
|
|
body: {
|
|
|
|
type: "object",
|
|
|
|
required: ["phone", "password"],
|
|
|
|
properties: {
|
|
|
|
phone: { type: "string" },
|
|
|
|
password: { type: "string" },
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
handler: validationHandler.loginSupplier,
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
fastify.route({
|
|
|
|
method: "POST",
|
|
|
|
url: "/api/supplierlogout",
|
|
|
|
schema: {
|
|
|
|
description: "This is for Supplier logout",
|
|
|
|
tags: ["Supplier-Data"],
|
|
|
|
summary: "This is for Supplier logout",
|
|
|
|
params: {
|
|
|
|
type: "object",
|
|
|
|
properties: {
|
|
|
|
supplierId: {
|
|
|
|
type: "string",
|
|
|
|
description: "supplierId",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
// preHandler: fastify.auth([fastify.authenticate]),
|
|
|
|
handler: validationHandler.logoutsupplier,
|
|
|
|
// onResponse: (request,reply) => {validationHandler.resetPassword(request,reply)}
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fastify.route({
|
|
|
|
method: "POST",
|
|
|
|
url: "/api/suppliers",
|
|
|
|
schema: {
|
|
|
|
tags: ["Supplier-Data"],
|
|
|
|
description: "This is for cretae New supplier",
|
|
|
|
summary: "This is for Create New supplier.",
|
|
|
|
body: {
|
|
|
|
type: "object",
|
|
|
|
properties: {
|
|
|
|
suppliername: { type: "string" },
|
|
|
|
phone: { type: "string" },
|
|
|
|
alternativeContactNumber : { type : "string" },
|
|
|
|
password: { type: "string" },
|
|
|
|
emails: {
|
|
|
|
type: "array",
|
|
|
|
maxItems: 2,
|
|
|
|
items: {
|
|
|
|
type: "object",
|
|
|
|
properties: {
|
|
|
|
email: { type: "string", default: null },
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
office_address: { type: "string", default: null },
|
|
|
|
city: { type: "string", default: null },
|
|
|
|
state: { type: "string", default: null },
|
|
|
|
zip: { type: "string", default: null },
|
|
|
|
country: { type: "string", default: null },
|
|
|
|
},
|
|
|
|
},
|
|
|
|
security: [
|
|
|
|
{
|
|
|
|
basicAuth: [],
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
|
|
|
preHandler: [
|
|
|
|
validationHandler.fieldCheck,
|
|
|
|
validationHandler.verifySupplier,
|
|
|
|
// validationHandler.validatePhoneFormat,
|
|
|
|
validationHandler.validateEmailFormat,
|
|
|
|
],
|
|
|
|
handler: supplierController.addSupplier,
|
|
|
|
});
|
|
|
|
|
|
|
|
next();
|
|
|
|
}
|
|
|
|
|