110 lines
5.0 KiB
JavaScript
110 lines
5.0 KiB
JavaScript
|
|
"use strict";
|
||
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
|
exports.checkPasswordNeededResponseSchema = exports.ssoLinkResponseSchema = exports.passwordChangeResultSchema = exports.signupResultSchema = exports.authResponseSchema = exports.authTokensSchema = exports.refreshTokenRequestSchema = exports.checkPasswordNeededRequestSchema = exports.ssoLinkRequestSchema = exports.accountStatusRequestSchema = exports.updateAddressRequestSchema = exports.updateProfileRequestSchema = exports.updateCustomerProfileRequestSchema = exports.validateSignupRequestSchema = exports.linkWhmcsRequestSchema = exports.changePasswordRequestSchema = exports.setPasswordRequestSchema = exports.passwordResetSchema = exports.passwordResetRequestSchema = exports.signupRequestSchema = exports.signupInputSchema = exports.loginRequestSchema = void 0;
|
||
|
|
const zod_1 = require("zod");
|
||
|
|
const schema_1 = require("../common/schema");
|
||
|
|
const schema_2 = require("../customer/schema");
|
||
|
|
const genderEnum = zod_1.z.enum(["male", "female", "other"]);
|
||
|
|
exports.loginRequestSchema = zod_1.z.object({
|
||
|
|
email: schema_1.emailSchema,
|
||
|
|
password: zod_1.z.string().min(1, "Password is required"),
|
||
|
|
});
|
||
|
|
exports.signupInputSchema = zod_1.z.object({
|
||
|
|
email: schema_1.emailSchema,
|
||
|
|
password: schema_1.passwordSchema,
|
||
|
|
firstName: schema_1.nameSchema,
|
||
|
|
lastName: schema_1.nameSchema,
|
||
|
|
company: zod_1.z.string().optional(),
|
||
|
|
phone: schema_1.phoneSchema,
|
||
|
|
sfNumber: zod_1.z.string().min(6, "Customer number must be at least 6 characters"),
|
||
|
|
address: schema_2.addressSchema.optional(),
|
||
|
|
nationality: zod_1.z.string().optional(),
|
||
|
|
dateOfBirth: zod_1.z.string().optional(),
|
||
|
|
gender: genderEnum.optional(),
|
||
|
|
acceptTerms: zod_1.z.boolean(),
|
||
|
|
marketingConsent: zod_1.z.boolean().optional(),
|
||
|
|
});
|
||
|
|
exports.signupRequestSchema = exports.signupInputSchema.transform(data => ({
|
||
|
|
...data,
|
||
|
|
firstname: data.firstName,
|
||
|
|
lastname: data.lastName,
|
||
|
|
companyname: data.company,
|
||
|
|
phonenumber: data.phone,
|
||
|
|
}));
|
||
|
|
exports.passwordResetRequestSchema = zod_1.z.object({ email: schema_1.emailSchema });
|
||
|
|
exports.passwordResetSchema = zod_1.z.object({
|
||
|
|
token: zod_1.z.string().min(1, "Reset token is required"),
|
||
|
|
password: schema_1.passwordSchema,
|
||
|
|
});
|
||
|
|
exports.setPasswordRequestSchema = zod_1.z.object({
|
||
|
|
email: schema_1.emailSchema,
|
||
|
|
password: schema_1.passwordSchema,
|
||
|
|
});
|
||
|
|
exports.changePasswordRequestSchema = zod_1.z.object({
|
||
|
|
currentPassword: zod_1.z.string().min(1, "Current password is required"),
|
||
|
|
newPassword: schema_1.passwordSchema,
|
||
|
|
});
|
||
|
|
exports.linkWhmcsRequestSchema = zod_1.z.object({
|
||
|
|
email: schema_1.emailSchema,
|
||
|
|
password: zod_1.z.string().min(1, "Password is required"),
|
||
|
|
});
|
||
|
|
exports.validateSignupRequestSchema = zod_1.z.object({
|
||
|
|
sfNumber: zod_1.z.string().min(1, "Customer number is required"),
|
||
|
|
});
|
||
|
|
exports.updateCustomerProfileRequestSchema = zod_1.z.object({
|
||
|
|
firstname: schema_1.nameSchema.optional(),
|
||
|
|
lastname: schema_1.nameSchema.optional(),
|
||
|
|
companyname: zod_1.z.string().max(100).optional(),
|
||
|
|
phonenumber: schema_1.phoneSchema.optional(),
|
||
|
|
address1: zod_1.z.string().max(200).optional(),
|
||
|
|
address2: zod_1.z.string().max(200).optional(),
|
||
|
|
city: zod_1.z.string().max(100).optional(),
|
||
|
|
state: zod_1.z.string().max(100).optional(),
|
||
|
|
postcode: zod_1.z.string().max(20).optional(),
|
||
|
|
country: zod_1.z.string().length(2).optional(),
|
||
|
|
language: zod_1.z.string().max(10).optional(),
|
||
|
|
});
|
||
|
|
exports.updateProfileRequestSchema = exports.updateCustomerProfileRequestSchema;
|
||
|
|
exports.updateAddressRequestSchema = exports.updateCustomerProfileRequestSchema;
|
||
|
|
exports.accountStatusRequestSchema = zod_1.z.object({
|
||
|
|
email: schema_1.emailSchema,
|
||
|
|
});
|
||
|
|
exports.ssoLinkRequestSchema = zod_1.z.object({
|
||
|
|
destination: zod_1.z.string().optional(),
|
||
|
|
});
|
||
|
|
exports.checkPasswordNeededRequestSchema = zod_1.z.object({
|
||
|
|
email: schema_1.emailSchema,
|
||
|
|
});
|
||
|
|
exports.refreshTokenRequestSchema = zod_1.z.object({
|
||
|
|
refreshToken: zod_1.z.string().min(1, "Refresh token is required").optional(),
|
||
|
|
deviceId: zod_1.z.string().optional(),
|
||
|
|
});
|
||
|
|
exports.authTokensSchema = zod_1.z.object({
|
||
|
|
accessToken: zod_1.z.string().min(1, "Access token is required"),
|
||
|
|
refreshToken: zod_1.z.string().min(1, "Refresh token is required"),
|
||
|
|
expiresAt: zod_1.z.string().min(1, "Access token expiry required"),
|
||
|
|
refreshExpiresAt: zod_1.z.string().min(1, "Refresh token expiry required"),
|
||
|
|
tokenType: zod_1.z.literal("Bearer"),
|
||
|
|
});
|
||
|
|
exports.authResponseSchema = zod_1.z.object({
|
||
|
|
user: schema_2.userSchema,
|
||
|
|
tokens: exports.authTokensSchema,
|
||
|
|
});
|
||
|
|
exports.signupResultSchema = zod_1.z.object({
|
||
|
|
user: schema_2.userSchema,
|
||
|
|
tokens: exports.authTokensSchema,
|
||
|
|
});
|
||
|
|
exports.passwordChangeResultSchema = zod_1.z.object({
|
||
|
|
user: schema_2.userSchema,
|
||
|
|
tokens: exports.authTokensSchema,
|
||
|
|
});
|
||
|
|
exports.ssoLinkResponseSchema = zod_1.z.object({
|
||
|
|
url: zod_1.z.url(),
|
||
|
|
expiresAt: zod_1.z.string(),
|
||
|
|
});
|
||
|
|
exports.checkPasswordNeededResponseSchema = zod_1.z.object({
|
||
|
|
needsPasswordSet: zod_1.z.boolean(),
|
||
|
|
userExists: zod_1.z.boolean(),
|
||
|
|
email: zod_1.z.email().optional(),
|
||
|
|
});
|
||
|
|
//# sourceMappingURL=schema.js.map
|