@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
159 lines • 7.56 kB
JavaScript
"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