36 lines
743 B
TypeScript
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" }
|
|
);
|