@syngrisi/syngrisi
Version:
Syngrisi - Visual Testing Tool
156 lines (151 loc) • 5.58 kB
JavaScript
"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/server/schemas/Settings.schema.ts
var Settings_schema_exports = {};
__export(Settings_schema_exports, {
SettingsGetSchema: () => SettingsGetSchema,
SettingsNameParamSchema: () => SettingsNameParamSchema,
SettingsResponseSchema: () => SettingsResponseSchema,
SettingsUpdateSchema: () => SettingsUpdateSchema
});
module.exports = __toCommonJS(Settings_schema_exports);
var import_zod3 = require("zod");
// src/server/schemas/utils/commonValidations.ts
var import_zod2 = require("zod");
var import_zod_to_openapi = require("@asteasolutions/zod-to-openapi");
// src/server/schemas/common/Version.schema.ts
var import_zod = require("zod");
var VersionSchema = import_zod.z.string().regex(/^\d+\.\d+\.\d+$/, 'Version must be in the format "x.y.z"').transform((value) => {
const parts = value.split(".");
return {
major: parseInt(parts[0]),
minor: parseInt(parts[1]),
patch: parseInt(parts[2])
};
});
var Version_schema_default = VersionSchema;
// src/server/schemas/utils/commonValidations.ts
(0, import_zod_to_openapi.extendZodWithOpenApi)(import_zod2.z);
var mongooseIdRegex = /^[0-9a-fA-F]{24}$/;
var id = import_zod2.z.string().regex(mongooseIdRegex, {
message: "Invalid Mongoose ObjectId format: /^[0-9a-fA-F]{24}$/"
}).openapi({
description: "baseline ID",
example: "6bbF35cAB3C59dA969edAe79"
});
var commonValidations = {
id,
version: Version_schema_default.openapi({ example: "1.1.2" }),
positiveNumberString: import_zod2.z.string().refine((value) => {
const num = Number(value);
return Number.isInteger(num) && num >= 0;
}, {
message: "String must be a positive number or 0"
}),
password: import_zod2.z.string().min(6).regex(/(?=.*[0-9])/, "Password must include a number").regex(/(?=.*[a-z])/, "Password must include a lowercase letter").regex(/(?=.*[A-Z])/, "Password must include an uppercase letter").refine((value) => {
return /(?=.*[!@#$%^&*(),.?":{}|<>-])/.test(value);
}, {
message: "Password must include a special symbol"
}).openapi({ example: "Aa1!IJASSNOJ" }),
username: import_zod2.z.string().min(1).openapi({ example: "john.doe@example.com" }),
// TODO: workaround TBD
date: import_zod2.z.string().refine((val) => {
const date = new Date(val);
return !isNaN(date.getTime());
}, {
message: "Invalid date format"
}),
paramsId: { params: import_zod2.z.object({ id }) },
paramsTestId: { params: import_zod2.z.object({ testid: id }) },
success: import_zod2.z.object({
message: import_zod2.z.literal("success")
})
};
// src/server/schemas/Settings.schema.ts
var SettingsGetSchema = import_zod3.z.object({
name: import_zod3.z.string().min(1).openapi({
description: "Name of the setting",
example: "example_setting"
}),
value: import_zod3.z.any().openapi({
description: "Value of the setting",
example: "example_value"
}),
description: import_zod3.z.string().optional().openapi({
description: "Description of the setting",
example: "This is an example setting."
})
});
var SettingsUpdateSchema = import_zod3.z.object({
value: import_zod3.z.any().openapi({
description: "New value for the setting",
example: "new_example_value"
}),
enabled: import_zod3.z.boolean().optional().openapi({
description: "Enable or disable the setting",
example: true
})
});
var SettingsResponseSchema = import_zod3.z.array(
import_zod3.z.object({
_id: commonValidations.id,
name: import_zod3.z.string().min(1).openapi({
description: "Name of the setting",
example: "first_run"
}),
label: import_zod3.z.string().min(1).openapi({
description: "Label of the setting",
example: "First Run"
}),
description: import_zod3.z.string().min(1).openapi({
description: "Description of the setting",
example: "Indicates if the application is running the first time"
}),
type: import_zod3.z.string().min(1).openapi({
description: "Type of the setting",
example: "Boolean"
}),
value: import_zod3.z.any().openapi({
description: "Value of the setting",
example: false
}),
enabled: import_zod3.z.boolean().openapi({
description: "Indicates if the setting is enabled",
example: true
}),
__v: import_zod3.z.number().openapi({
description: "Version key",
example: 0
})
})
);
var SettingsNameParamSchema = import_zod3.z.object({
name: import_zod3.z.string().min(1).openapi({
description: "Name of the setting to update",
example: "example_setting"
})
});
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
SettingsGetSchema,
SettingsNameParamSchema,
SettingsResponseSchema,
SettingsUpdateSchema
});
//# sourceMappingURL=Settings.schema.js.map