UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

159 lines 7.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BlockUserResponseSchema = exports.UpdateUserResponseSchema = exports.UpdateUserRequestSchema = exports.CreateUserResponseSchema = exports.CreateUserRequestSchema = exports.TrinityDocResponseSchema = exports.TrinityDocDataSchema = exports.TrinityDocParamsSchema = exports.UserDocumentResponseSchema = exports.UserDocumentDataSchema = exports.VerifyPasswordResponseSchema = exports.VerifyPasswordDataSchema = exports.VerifyPasswordRequestSchema = exports.UserResponseSchema = exports.UserListResponseSchema = exports.UserListParamsSchema = exports.UserSchema = void 0; const zod_1 = require("zod"); const schemas_1 = require("../../../core/schemas"); const flexible_schemas_1 = require("../../../core/flexible-schemas"); // User schemas - based on actual API response exports.UserSchema = zod_1.z.object({ id: zod_1.z.number(), username: zod_1.z.string().min(1, 'Username cannot be empty'), email: zod_1.z.string().email('Invalid email format'), name: zod_1.z.string(), registerDate: zod_1.z.string(), lastvisitDate: zod_1.z.string(), lastResetTime: zod_1.z.string().optional(), activation: zod_1.z.string().optional(), block: zod_1.z.number().optional(), timezone: zod_1.z.string().optional(), language: zod_1.z.string().optional(), customerId: zod_1.z.string().optional(), contactId: zod_1.z.string().optional(), profileValues: flexible_schemas_1.flexibleUserFields.profileValues, // Handles both object and array formats groups: flexible_schemas_1.flexibleUserFields.groups, // Handles various group data formats }); exports.UserListParamsSchema = schemas_1.BaseGetParamsSchema.extend({ limit: zod_1.z.number().optional().default(10), offset: zod_1.z.number().optional().default(0), orderBy: zod_1.z.string().optional(), q: zod_1.z.string().optional(), }); // Response schemas using BaseResponseSchema (8-field format) exports.UserListResponseSchema = (0, schemas_1.BaseResponseSchema)(zod_1.z.array(exports.UserSchema)); exports.UserResponseSchema = (0, schemas_1.BaseResponseSchema)(zod_1.z.union([ exports.UserSchema, zod_1.z.boolean(), // False when user is not found ])); // Password verification schemas exports.VerifyPasswordRequestSchema = zod_1.z.object({ username: zod_1.z.string().min(1, 'Username is required'), password: zod_1.z.string().min(1, 'Password is required'), siteId: zod_1.z.string().optional(), // Optional site ID override for cross-site authentication }); exports.VerifyPasswordDataSchema = zod_1.z.object({ id: zod_1.z.number(), isVerified: zod_1.z.boolean(), username: zod_1.z.string(), token: zod_1.z.union([zod_1.z.string(), zod_1.z.boolean()]), // string when verified, false when not email: zod_1.z.string(), }); exports.VerifyPasswordResponseSchema = (0, schemas_1.BaseResponseSchema)(exports.VerifyPasswordDataSchema); // User document schemas exports.UserDocumentDataSchema = zod_1.z.union([ zod_1.z.object({ id: zod_1.z.number(), name: zod_1.z.string(), username: zod_1.z.string(), email: zod_1.z.string(), block: zod_1.z.number(), registerDate: zod_1.z.string(), lastvisitDate: zod_1.z.string(), lastResetTime: zod_1.z.string(), timezone: zod_1.z.string(), language: zod_1.z.string(), customerId: zod_1.z.string(), contactId: zod_1.z.string(), profileValues: zod_1.z.record(zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())])), groups: zod_1.z.array(zod_1.z .object({ id: zod_1.z.number(), title: zod_1.z.string(), }) .passthrough()), }), zod_1.z.boolean(), // False when user not found or access denied ]); exports.UserDocumentResponseSchema = (0, schemas_1.BaseResponseSchema)(exports.UserDocumentDataSchema); // Trinity user doc schemas exports.TrinityDocParamsSchema = schemas_1.BaseGetParamsSchema.extend({ limit: zod_1.z.number().optional().default(10), offset: zod_1.z.number().optional().default(0), orderBy: zod_1.z.string().optional(), q: zod_1.z.string().optional(), }); exports.TrinityDocDataSchema = zod_1.z.object({ profile: zod_1.z.object({ id: zod_1.z.number(), name: zod_1.z.string(), username: zod_1.z.string(), email: zod_1.z.string(), lastvisitDate: zod_1.z.string(), registerDate: zod_1.z.string(), block: zod_1.z.number(), contactId: zod_1.z.union([zod_1.z.number(), zod_1.z.null()]), customerId: zod_1.z.union([zod_1.z.number(), zod_1.z.null()]), contractNo: zod_1.z.union([zod_1.z.string(), zod_1.z.null()]), shipTo: zod_1.z.union([zod_1.z.string(), zod_1.z.null()]), phone: zod_1.z.union([zod_1.z.string(), zod_1.z.null()]), title: zod_1.z.union([zod_1.z.string(), zod_1.z.null()]), companyName: zod_1.z.union([zod_1.z.string(), zod_1.z.null()]), approved: zod_1.z.union([zod_1.z.number(), zod_1.z.null()]), }), p21Role: zod_1.z.union([ zod_1.z.object({ contactRoleUid: zod_1.z.number(), contactRoleId: zod_1.z.number(), contactRoleName: zod_1.z.string(), parentName: zod_1.z.string(), parentGroupId: zod_1.z.number(), groupId: zod_1.z.number(), id: zod_1.z.number(), address: zod_1.z .object({ physState: zod_1.z.union([zod_1.z.string(), zod_1.z.null()]), mailState: zod_1.z.union([zod_1.z.string(), zod_1.z.null()]), }) .passthrough(), // Allow additional properties }), zod_1.z.null(), ]), groups: zod_1.z.array(zod_1.z .object({ id: zod_1.z.number(), title: zod_1.z.string(), }) .passthrough() // Allow additional properties like level ), territory: zod_1.z.string(), role: zod_1.z.string(), }); exports.TrinityDocResponseSchema = (0, schemas_1.BaseResponseSchema)(exports.TrinityDocDataSchema).and(zod_1.z.object({ runTime: zod_1.z.number().optional(), })); // User creation schemas - using request body (OpenAPI spec incomplete for this endpoint) exports.CreateUserRequestSchema = zod_1.z.object({ username: zod_1.z.string().min(1, 'Username is required').max(150), email: zod_1.z.string().email('Valid email is required').max(100), name: zod_1.z.string().optional(), password: zod_1.z.string().optional(), groups: zod_1.z.array(zod_1.z.number()).optional(), profileValues: zod_1.z.record(zod_1.z.string()).optional(), }); exports.CreateUserResponseSchema = (0, schemas_1.BaseResponseSchema)(zod_1.z.object({ id: zod_1.z.number(), username: zod_1.z.string(), email: zod_1.z.string(), name: zod_1.z.string(), })); // User update schemas exports.UpdateUserRequestSchema = zod_1.z.object({ name: zod_1.z.string().max(400).optional(), username: zod_1.z.string().max(150).optional(), email: zod_1.z.string().email().max(100).optional(), password: zod_1.z.string().max(100).optional(), profileValues: zod_1.z.record(zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())])).optional(), }); exports.UpdateUserResponseSchema = (0, schemas_1.BaseResponseSchema)(zod_1.z.boolean()); // Block user response schema exports.BlockUserResponseSchema = (0, schemas_1.BaseResponseSchema)(zod_1.z.boolean()); //# sourceMappingURL=users.js.map