Files
permit-api/src/config/config.schema.ts

36 lines
743 B
TypeScript

import { buildJsonSchemas } from "fastify-zod";
import mongoose from "mongoose";
import { z } from "zod";
export const configModel = mongoose.model(
"config",
new mongoose.Schema({
tenantId: {
type: String,
unique: true,
},
emailIds: Array,
statusMap: Object,
folders: Object,
updatedAt: Date,
updatedBy: {
type: mongoose.Types.ObjectId,
ref: "user",
},
}),
"config"
);
const updateConfigInput = z.object({
statusMap: z.record(z.string(), z.array(z.string())).optional(),
});
export type UpdateConfigInput = z.infer<typeof updateConfigInput>;
export const { schemas: configSchemas, $ref: $config } = buildJsonSchemas(
{
updateConfigInput,
},
{ $id: "config" }
);