@experts_hub/shared
Version:
Shared DTOs, interfaces, and utilities for experts hub applications
1,180 lines (1,137 loc) • 273 kB
JavaScript
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);
var __decorateClass = (decorators, target, key, kind) => {
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
for (var i = decorators.length - 1, decorator; i >= 0; i--)
if (decorator = decorators[i])
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
if (kind && result) __defProp(target, key, result);
return result;
};
// src/index.ts
var index_exports = {};
__export(index_exports, {
ADMIN_FREELANCER_PATTERN: () => ADMIN_FREELANCER_PATTERN,
ADMIN_JOB_PATTERN: () => ADMIN_JOB_PATTERN,
ADMIN_PERMISSION_PATTERN: () => ADMIN_PERMISSION_PATTERN,
ADMIN_ROLE_PATTERN: () => ADMIN_ROLE_PATTERN,
ASSESSMENT_QUESTION_PATTERN: () => ASSESSMENT_QUESTION_PATTERN,
AUTHENTICATION_PATTERN: () => AUTHENTICATION_PATTERN,
AccountStatus: () => AccountStatus,
AccountType: () => AccountType,
AdminCreateJobInformationDto: () => AdminCreateJobInformationDto,
AdminPermission: () => AdminPermission,
AdminRole: () => AdminRole,
AdminRolePermission: () => AdminRolePermission,
AdminUpdateJobInformationDto: () => AdminUpdateJobInformationDto,
AdminUserRole: () => AdminUserRole,
AiAssessmentStatusEnum: () => AiAssessmentStatusEnum,
AiInterview: () => AiInterview,
AiInterviewStatusEnum: () => AiInterviewStatusEnum,
AnswerTypeEnum: () => AnswerTypeEnum,
ApplicationStatusEnum: () => ApplicationStatusEnum,
AssessmentAnswer: () => AssessmentAnswer,
AssessmentStatusEnum: () => AssessmentStatusEnum,
AssessmetQuestion: () => AssessmetQuestion,
AssessmetQuestionOption: () => AssessmetQuestionOption,
AttachPermissionsToRoleDto: () => AttachPermissionsToRoleDto,
BANK_PATTERN: () => BANK_PATTERN,
BankAccountScope: () => BankAccountScope,
BankAccountScopeEnum: () => BankAccountScopeEnum,
BankAccountTypeEnum: () => BankAccountTypeEnum,
BankDetail: () => BankDetail,
BaseEntity: () => BaseEntity,
CALENDLY_PATTERN: () => CALENDLY_PATTERN,
CITY_PATTERN: () => CITY_PATTERN,
CLIENT_ADMIN_PATTERNS: () => CLIENT_ADMIN_PATTERNS,
CLIENT_PROFILE_PATTERN: () => CLIENT_PROFILE_PATTERN,
CMS_PATTERNS: () => CMS_PATTERNS,
COMPANY_MEMBERS_PATTERNS: () => COMPANY_MEMBERS_PATTERNS,
COMPANY_ROLES_PATTERNS: () => COMPANY_ROLES_PATTERNS,
CONTRACT_PATTERN: () => CONTRACT_PATTERN,
COUNTRY_PATTERN: () => COUNTRY_PATTERN,
CalendlyMeetingLog: () => CalendlyMeetingLog,
CandidateType: () => CandidateType,
CaseStudyDto: () => CaseStudyDto,
CategoryEmum: () => CategoryEmum,
CategoryEmumDto: () => CategoryEmumDto,
City: () => City,
ClientChangePasswordDto: () => ClientChangePasswordDto,
ClientCreateAccountDto: () => ClientCreateAccountDto,
ClientFreelancerRecommendation: () => ClientFreelancerRecommendation,
ClientProfileQuestionDto: () => ClientProfileQuestionDto,
Cms: () => Cms,
Commission: () => Commission,
CommissionTypeEnum: () => CommissionTypeEnum,
CompanyMemberRole: () => CompanyMemberRole,
CompanyOnboardingStepEnum: () => CompanyOnboardingStepEnum,
CompanyProfile: () => CompanyProfile,
CompanyRole: () => CompanyRole,
CompanyRolePermission: () => CompanyRolePermission,
CompanySkill: () => CompanySkill,
Contract: () => Contract,
ContractStatusEnum: () => ContractStatusEnum,
ContractTypeEnum: () => ContractTypeEnum,
Country: () => Country,
CreateAdminRoleDto: () => CreateAdminRoleDto,
CreateClientDto: () => CreateClientDto,
CreateClientHiringModeEnum: () => CreateClientHiringModeEnum,
CreateClientHiringTypeEnum: () => CreateClientHiringTypeEnum,
CreateCmsDto: () => CreateCmsDto,
CreateCompanyMemberDto: () => CreateCompanyMemberDto,
CreateCompanyRoleDto: () => CreateCompanyRoleDto,
CreateF2FInterviewDto: () => CreateF2FInterviewDto,
CreateF2FInterviewRescheduleRequestDto: () => CreateF2FInterviewRescheduleRequestDto,
CreateFreelancerDto: () => CreateFreelancerDto,
CreateLeadDto: () => CreateLeadDto,
CreateQuestionDto: () => CreateQuestionDto,
CreateRatingDto: () => CreateRatingDto,
CreateSubAdminDto: () => CreateSubAdminDto,
DocumentType: () => DocumentType,
DocumentTypeEnum: () => DocumentTypeEnum,
DurationTypeEnum: () => DurationTypeEnum,
EducationDto: () => EducationDto,
EmploymentType: () => EmploymentType,
ExperienceDto: () => ExperienceDto,
F2FInterview: () => F2FInterview,
F2FInterviewSchedule: () => F2FInterviewSchedule,
F2F_INTERVIEW_PATTERN: () => F2F_INTERVIEW_PATTERN,
F2fInterviewRescheduleRequest: () => F2fInterviewRescheduleRequest,
F2fInterviewRescheduleRequestStatusEnum: () => F2fInterviewRescheduleRequestStatusEnum,
F2fInterviewScheduleStatusEnum: () => F2fInterviewScheduleStatusEnum,
F2fInterviewStatusEnum: () => F2fInterviewStatusEnum,
FREELANCER_DECLARATION_PATTERN: () => FREELANCER_DECLARATION_PATTERN,
FREELANCER_EDUCATION_PATTERN: () => FREELANCER_EDUCATION_PATTERN,
FREELANCER_EXPERIENCE_PATTERN: () => FREELANCER_EXPERIENCE_PATTERN,
FREELANCER_PROJECT_PATTERN: () => FREELANCER_PROJECT_PATTERN,
FREELANCER_SKILL_PATTERN: () => FREELANCER_SKILL_PATTERN,
Feature: () => Feature,
ForgotPasswordDto: () => ForgotPasswordDto,
FreelancerAssessment: () => FreelancerAssessment,
FreelancerBankDetailsDto: () => FreelancerBankDetailsDto,
FreelancerCaptureAiAssessmentStatusDto: () => FreelancerCaptureAiAssessmentStatusDto,
FreelancerCaseStudy: () => FreelancerCaseStudy,
FreelancerChangePasswordDto: () => FreelancerChangePasswordDto,
FreelancerCreateAccountDto: () => FreelancerCreateAccountDto,
FreelancerDeclaration: () => FreelancerDeclaration,
FreelancerDeclarationDto: () => FreelancerDeclarationDto,
FreelancerDevelopmentPreferenceDto: () => FreelancerDevelopmentPreferenceDto,
FreelancerEducation: () => FreelancerEducation,
FreelancerEducationDto: () => FreelancerEducationDto,
FreelancerExperience: () => FreelancerExperience,
FreelancerExperienceDto: () => FreelancerExperienceDto,
FreelancerFramework: () => FreelancerFramework,
FreelancerInitiateAiAssessmentDto: () => FreelancerInitiateAiAssessmentDto,
FreelancerInitiateMcqAssessmentDto: () => FreelancerInitiateMcqAssessmentDto,
FreelancerParseResumeDto: () => FreelancerParseResumeDto,
FreelancerProfile: () => FreelancerProfile,
FreelancerProfileQuestionDto: () => FreelancerProfileQuestionDto,
FreelancerProject: () => FreelancerProject,
FreelancerProjectDto: () => FreelancerProjectDto,
FreelancerResume: () => FreelancerResume,
FreelancerSkill: () => FreelancerSkill,
FreelancerSkillDto: () => FreelancerSkillDto,
FreelancerSkipAiAssessmentDto: () => FreelancerSkipAiAssessmentDto,
FreelancerTool: () => FreelancerTool,
FreelancerUploadResumeDto: () => FreelancerUploadResumeDto,
FreelancerWorkShowcaseDto: () => FreelancerWorkShowcaseDto,
FromUsOn: () => FromUsOn,
INTERVIEW_INVITE_PATTERN: () => INTERVIEW_INVITE_PATTERN,
Interview: () => Interview,
InterviewInvite: () => InterviewInvite,
InterviewInviteDto: () => InterviewInviteDto,
InterviewInviteStatusEnum: () => InterviewInviteStatusEnum,
InterviewQuestion: () => InterviewQuestion,
InterviewSkill: () => InterviewSkill,
InterviewStatusEnum: () => InterviewStatusEnum,
JOB_PATTERN: () => JOB_PATTERN,
JOB_ROLE_PATTERN: () => JOB_ROLE_PATTERN,
Job: () => Job,
JobAdditionalCommentDto: () => JobAdditionalCommentDto,
JobApplication: () => JobApplication,
JobBasicInformationDto: () => JobBasicInformationDto,
JobDescriptionDto: () => JobDescriptionDto,
JobFreelancerRecommendation: () => JobFreelancerRecommendation,
JobFreelancerRecommendationV2: () => JobFreelancerRecommendationV2,
JobIdParamDto: () => JobIdParamDto,
JobLocation: () => JobLocation,
JobLocationEnum: () => JobLocationEnum,
JobLocationEnumDto: () => JobLocationEnumDto,
JobLocationEnums: () => JobLocationEnums,
JobRMQAdapter: () => JobRMQAdapter,
JobRecommendation: () => JobRecommendation,
JobRoles: () => JobRoles,
JobSkill: () => JobSkill,
JobStatus: () => JobStatus,
JobStatusDto: () => JobStatusDto,
JobStatusEnum: () => JobStatusEnum,
JobTCPAdapter: () => JobTCPAdapter,
KindOfHire: () => KindOfHire,
LEAD_PATTERN: () => LEAD_PATTERN,
Lead: () => Lead,
LoginDto: () => LoginDto,
LoginViaOtpDto: () => LoginViaOtpDto,
LoginViaOtpScopeEnum: () => LoginViaOtpScopeEnum,
LogoutDto: () => LogoutDto,
McqStatusEnum: () => McqStatusEnum,
ModeOfHire: () => ModeOfHire,
ModeOfWork: () => ModeOfWork,
ModeOfWorkDto: () => ModeOfWorkDto,
NOTIFICATION_PATTERN: () => NOTIFICATION_PATTERN,
NatureOfWork: () => NatureOfWork,
NatureOfWorkDto: () => NatureOfWorkDto,
NotificationRMQAdapter: () => NotificationRMQAdapter,
NotificationTCPAdapter: () => NotificationTCPAdapter,
ONBOARDING_PATTERN: () => ONBOARDING_PATTERN,
ONBOARDING_QUESTION_PATTERN: () => ONBOARDING_QUESTION_PATTERN,
OTP_PATTERN: () => OTP_PATTERN,
OnboardingStepEnum: () => OnboardingStepEnum,
Otp: () => Otp,
PERMISSION_PATTERN: () => PERMISSION_PATTERN,
PLAN_PATTERN: () => PLAN_PATTERN,
PROFILE_PATTERN: () => PROFILE_PATTERN,
Permission: () => Permission,
Plan: () => Plan,
ProjectDto: () => ProjectDto,
Provider: () => Provider,
Question: () => Question,
QuestionFor: () => QuestionFor,
QuestionForEnum: () => QuestionForEnum,
RATING_PATTERN: () => RATING_PATTERN,
RESUME_PARSER_PATTERN: () => RESUME_PARSER_PATTERN,
Rating: () => Rating,
RatingTypeEnum: () => RatingTypeEnum,
RefreshDto: () => RefreshDto,
RefreshToken: () => RefreshToken,
ResetPasswordDto: () => ResetPasswordDto,
ResetPasswordTokenValidationDto: () => ResetPasswordTokenValidationDto,
STATE_PATTERN: () => STATE_PATTERN,
SUBADMIN_PATTERN: () => SUBADMIN_PATTERN,
SYSTEM_PREFERENCES_PATTERN: () => SYSTEM_PREFERENCES_PATTERN,
ScopeEnum: () => ScopeEnum,
SelectedAnswerTypeEnum: () => SelectedAnswerTypeEnum,
SendGuestOtpDto: () => SendGuestOtpDto,
SendGuestOtpPurposeEnum: () => SendGuestOtpPurposeEnum,
SendGuestOtpScopeEnum: () => SendGuestOtpScopeEnum,
SendLoginOtpDto: () => SendLoginOtpDto,
SendLoginOtpPurposeEnum: () => SendLoginOtpPurposeEnum,
SendLoginOtpScopeEnum: () => SendLoginOtpScopeEnum,
SenseloafLog: () => SenseloafLog,
SequenceGenerator: () => SequenceGenerator,
SetPasswordDto: () => SetPasswordDto,
Skill: () => Skill,
State: () => State,
Step: () => Step,
StripeWallet: () => StripeWallet,
StripeWalletTransaction: () => StripeWalletTransaction,
StripeWalletTransactionStatusEnum: () => StripeWalletTransactionStatusEnum,
StripeWalletTransactionTypeEnum: () => StripeWalletTransactionTypeEnum,
SystemPreference: () => SystemPreference,
SystemPreferenceDto: () => SystemPreferenceDto,
SystemPreferenceKey: () => SystemPreferenceKey,
ToggleCompanyMemberVisibilityDto: () => ToggleCompanyMemberVisibilityDto,
ToggleCompanyRoleVisibilityDto: () => ToggleCompanyRoleVisibilityDto,
TypeOfEmploymentEnum: () => TypeOfEmploymentEnum,
TypeOfEmploymentEnumDto: () => TypeOfEmploymentEnumDto,
TypeOfEmploymentEnums: () => TypeOfEmploymentEnums,
UpdateAdminRoleDto: () => UpdateAdminRoleDto,
UpdateClientAccountStatusDto: () => UpdateClientAccountStatusDto,
UpdateClientDto: () => UpdateClientDto,
UpdateClientHiringModeEnum: () => UpdateClientHiringModeEnum,
UpdateClientHiringTypeEnum: () => UpdateClientHiringTypeEnum,
UpdateCmsDto: () => UpdateCmsDto,
UpdateCompanyMemberDto: () => UpdateCompanyMemberDto,
UpdateCompanyProfileDto: () => UpdateCompanyProfileDto,
UpdateCompanyRoleDto: () => UpdateCompanyRoleDto,
UpdateFreelancerDto: () => UpdateFreelancerDto,
UpdateFreelancerProfileDto: () => UpdateFreelancerProfileDto,
UpdateSubAdminAccountStatusDto: () => UpdateSubAdminAccountStatusDto,
UpdateSubAdminDto: () => UpdateSubAdminDto,
User: () => User,
UserRMQAdapter: () => UserRMQAdapter,
UserTCPAdapter: () => UserTCPAdapter,
VerifyGuestOtpDto: () => VerifyGuestOtpDto,
VerifyGuestOtpPurposeEnum: () => VerifyGuestOtpPurposeEnum,
ZoomMeetingLog: () => ZoomMeetingLog
});
module.exports = __toCommonJS(index_exports);
// src/modules/authentication/pattern/pattern.ts
var AUTHENTICATION_PATTERN = {
handleValidateToken: "handle.validate.token",
handleLogin: "handle.login",
handleLoginViaOtp: "handle.login.via.otp",
handleRefreshToken: "handle.refresh.token",
handleLogout: "handle.logout",
handleLogoutAll: "handle.logout.all",
fetchSessions: "fetch.sessions",
revokeSession: "revoke.session",
handleForgotPassword: "handle.forgot.password",
handleResetPassword: "handle.reset.password",
handleValidateResetPasswordToken: "handle.validate.reset.password.token",
handleSetPassword: "handle.set.password"
};
// src/modules/authentication/dto/login.dto.ts
var import_class_validator = require("class-validator");
var ScopeEnum = /* @__PURE__ */ ((ScopeEnum5) => {
ScopeEnum5["ADMIN"] = "ADMIN";
ScopeEnum5["SUB_ADMIN"] = "SUB_ADMIN";
ScopeEnum5["CLIENT"] = "CLIENT";
ScopeEnum5["FREELANCER"] = "FREELANCER";
return ScopeEnum5;
})(ScopeEnum || {});
var LoginDto = class {
};
__decorateClass([
(0, import_class_validator.IsNotEmpty)({ message: "Please enter email." })
], LoginDto.prototype, "email", 2);
__decorateClass([
(0, import_class_validator.IsNotEmpty)({ message: "Please enter password." })
], LoginDto.prototype, "password", 2);
__decorateClass([
(0, import_class_validator.IsEnum)(ScopeEnum, {
message: `Scope must be one of: ${Object.values(ScopeEnum).join(", ")}`
})
], LoginDto.prototype, "scope", 2);
// src/modules/authentication/dto/login-via-otp.dto.ts
var import_class_validator2 = require("class-validator");
var LoginViaOtpScopeEnum = /* @__PURE__ */ ((LoginViaOtpScopeEnum2) => {
LoginViaOtpScopeEnum2["ADMIN"] = "ADMIN";
LoginViaOtpScopeEnum2["SUB_ADMIN"] = "SUB_ADMIN";
LoginViaOtpScopeEnum2["CLIENT"] = "CLIENT";
LoginViaOtpScopeEnum2["FREELANCER"] = "FREELANCER";
return LoginViaOtpScopeEnum2;
})(LoginViaOtpScopeEnum || {});
var LoginViaOtpDto = class {
};
__decorateClass([
(0, import_class_validator2.IsNotEmpty)({ message: "Please enter email." })
], LoginViaOtpDto.prototype, "email", 2);
__decorateClass([
(0, import_class_validator2.IsNotEmpty)({ message: "Please enter otp." })
], LoginViaOtpDto.prototype, "otp", 2);
__decorateClass([
(0, import_class_validator2.IsEnum)(LoginViaOtpScopeEnum, {
message: `Scope must be one of: ${Object.values(LoginViaOtpScopeEnum).join(", ")}`
})
], LoginViaOtpDto.prototype, "scope", 2);
// src/modules/authentication/dto/refresh.dto.ts
var import_class_validator3 = require("class-validator");
var RefreshDto = class {
};
__decorateClass([
(0, import_class_validator3.IsNotEmpty)({ message: "Please provide refresh token." })
], RefreshDto.prototype, "refreshToken", 2);
// src/modules/authentication/dto/logout.dto.ts
var import_class_validator4 = require("class-validator");
var LogoutDto = class {
};
__decorateClass([
(0, import_class_validator4.IsNotEmpty)({ message: "Please provide refresh token." })
], LogoutDto.prototype, "refreshToken", 2);
// src/modules/authentication/dto/forgot-password.dto.ts
var import_class_validator5 = require("class-validator");
var ScopeEnum2 = /* @__PURE__ */ ((ScopeEnum5) => {
ScopeEnum5["ADMIN"] = "ADMIN";
ScopeEnum5["CLIENT"] = "CLIENT";
ScopeEnum5["FREELANCER"] = "FREELANCER";
return ScopeEnum5;
})(ScopeEnum2 || {});
var ForgotPasswordDto = class {
};
__decorateClass([
(0, import_class_validator5.IsNotEmpty)({ message: "Please enter email." }),
(0, import_class_validator5.IsEmail)({}, { message: "Please enter a valid email." })
], ForgotPasswordDto.prototype, "email", 2);
__decorateClass([
(0, import_class_validator5.IsEnum)(ScopeEnum2, {
message: `Scope must be one of: ${Object.values(ScopeEnum2).join(", ")}`
})
], ForgotPasswordDto.prototype, "scope", 2);
// src/modules/authentication/dto/reset-password.dto.ts
var import_class_validator6 = require("class-validator");
var ScopeEnum3 = /* @__PURE__ */ ((ScopeEnum5) => {
ScopeEnum5["ADMIN"] = "ADMIN";
ScopeEnum5["CLIENT"] = "CLIENT";
ScopeEnum5["FREELANCER"] = "FREELANCER";
return ScopeEnum5;
})(ScopeEnum3 || {});
var ResetPasswordDto = class {
};
__decorateClass([
(0, import_class_validator6.IsNotEmpty)({ message: "Please enter token." })
], ResetPasswordDto.prototype, "token", 2);
__decorateClass([
(0, import_class_validator6.IsNotEmpty)({ message: "Please enter password." }),
(0, import_class_validator6.MinLength)(6),
(0, import_class_validator6.MaxLength)(32),
(0, import_class_validator6.Matches)(/^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*?&])/, {
message: "Password must include letters, numbers and symbols."
})
], ResetPasswordDto.prototype, "password", 2);
__decorateClass([
(0, import_class_validator6.IsEnum)(ScopeEnum3, {
message: `Scope must be one of: ${Object.values(ScopeEnum3).join(", ")}`
})
], ResetPasswordDto.prototype, "scope", 2);
// src/modules/authentication/dto/set-password.dto.ts
var import_class_validator7 = require("class-validator");
var SetPasswordDto = class {
};
__decorateClass([
(0, import_class_validator7.IsNotEmpty)({ message: "Please enter token." })
], SetPasswordDto.prototype, "token", 2);
__decorateClass([
(0, import_class_validator7.IsNotEmpty)({ message: "Please enter password." }),
(0, import_class_validator7.MinLength)(6),
(0, import_class_validator7.MaxLength)(32),
(0, import_class_validator7.Matches)(/^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*?&])/, {
message: "Password must include letters, numbers and symbols."
})
], SetPasswordDto.prototype, "password", 2);
// src/modules/authentication/dto/reset-password-token-validation.dto.ts
var import_class_validator8 = require("class-validator");
var ScopeEnum4 = /* @__PURE__ */ ((ScopeEnum5) => {
ScopeEnum5["ADMIN"] = "ADMIN";
ScopeEnum5["CLIENT"] = "CLIENT";
ScopeEnum5["FREELANCER"] = "FREELANCER";
return ScopeEnum5;
})(ScopeEnum4 || {});
var ResetPasswordTokenValidationDto = class {
};
__decorateClass([
(0, import_class_validator8.IsNotEmpty)({ message: "Please enter token." })
], ResetPasswordTokenValidationDto.prototype, "token", 2);
__decorateClass([
(0, import_class_validator8.IsEnum)(ScopeEnum4, {
message: `Scope must be one of: ${Object.values(ScopeEnum4).join(", ")}`
})
], ResetPasswordTokenValidationDto.prototype, "scope", 2);
// src/modules/otp/pattern/pattern.ts
var OTP_PATTERN = {
handleSendGuestOtp: "handle.send.guest.otp",
handleSendOtp: "handle.send.otp",
handleSendOtpForLogin: "handle.send.otp.for.login",
handleVerifyGuestOtp: "handle.verify.guest.otp",
handleVerifyOtp: "handle.verify.otp"
};
// src/modules/otp/dto/send-guest-otp.dto.ts
var import_class_validator9 = require("class-validator");
var SendGuestOtpPurposeEnum = /* @__PURE__ */ ((SendGuestOtpPurposeEnum2) => {
SendGuestOtpPurposeEnum2["ACCOUNT_VERIFICATION"] = "ACCOUNT_VERIFICATION";
return SendGuestOtpPurposeEnum2;
})(SendGuestOtpPurposeEnum || {});
var SendGuestOtpScopeEnum = /* @__PURE__ */ ((SendGuestOtpScopeEnum2) => {
SendGuestOtpScopeEnum2["CLIENT"] = "CLIENT";
SendGuestOtpScopeEnum2["FREELANCER"] = "FREELANCER";
return SendGuestOtpScopeEnum2;
})(SendGuestOtpScopeEnum || {});
var SendGuestOtpDto = class {
};
__decorateClass([
(0, import_class_validator9.IsNotEmpty)({ message: "Please enter full name." }),
(0, import_class_validator9.IsString)({ message: "Please enter valid full name." })
], SendGuestOtpDto.prototype, "fullName", 2);
__decorateClass([
(0, import_class_validator9.IsNotEmpty)({ message: "Please enter target." }),
(0, import_class_validator9.IsString)({ message: "Please enter valid target." })
], SendGuestOtpDto.prototype, "target", 2);
__decorateClass([
(0, import_class_validator9.IsOptional)(),
(0, import_class_validator9.IsString)({ message: "Please enter valid fallback target." })
], SendGuestOtpDto.prototype, "fallbackTarget", 2);
__decorateClass([
(0, import_class_validator9.IsNotEmpty)({ message: "Please enter OTP purpose." }),
(0, import_class_validator9.IsEnum)(SendGuestOtpPurposeEnum, { message: "Purpose must be a valid OTP purpose" })
], SendGuestOtpDto.prototype, "purpose", 2);
__decorateClass([
(0, import_class_validator9.IsNotEmpty)({ message: "Please enter scope." }),
(0, import_class_validator9.IsEnum)(SendGuestOtpScopeEnum, { message: "scope must be a valid" })
], SendGuestOtpDto.prototype, "scope", 2);
// src/modules/otp/dto/send-login-otp.dto.ts
var import_class_validator10 = require("class-validator");
var SendLoginOtpPurposeEnum = /* @__PURE__ */ ((SendLoginOtpPurposeEnum2) => {
SendLoginOtpPurposeEnum2["ACCOUNT_VERIFICATION"] = "ACCOUNT_VERIFICATION";
return SendLoginOtpPurposeEnum2;
})(SendLoginOtpPurposeEnum || {});
var SendLoginOtpScopeEnum = /* @__PURE__ */ ((SendLoginOtpScopeEnum2) => {
SendLoginOtpScopeEnum2["CLIENT"] = "CLIENT";
SendLoginOtpScopeEnum2["FREELANCER"] = "FREELANCER";
return SendLoginOtpScopeEnum2;
})(SendLoginOtpScopeEnum || {});
var SendLoginOtpDto = class {
};
__decorateClass([
(0, import_class_validator10.IsNotEmpty)({ message: "Please enter target." }),
(0, import_class_validator10.IsString)({ message: "Please enter valid target." })
], SendLoginOtpDto.prototype, "target", 2);
__decorateClass([
(0, import_class_validator10.IsNotEmpty)({ message: "Please enter OTP purpose." }),
(0, import_class_validator10.IsEnum)(SendLoginOtpPurposeEnum, { message: "Purpose must be a valid OTP purpose" })
], SendLoginOtpDto.prototype, "purpose", 2);
__decorateClass([
(0, import_class_validator10.IsNotEmpty)({ message: "Please enter scope." }),
(0, import_class_validator10.IsEnum)(SendLoginOtpScopeEnum, { message: "scope must be a valid" })
], SendLoginOtpDto.prototype, "scope", 2);
// src/modules/otp/dto/verify-guest-otp.dto.ts
var import_class_validator11 = require("class-validator");
var VerifyGuestOtpPurposeEnum = /* @__PURE__ */ ((VerifyGuestOtpPurposeEnum2) => {
VerifyGuestOtpPurposeEnum2["ACCOUNT_VERIFICATION"] = "ACCOUNT_VERIFICATION";
return VerifyGuestOtpPurposeEnum2;
})(VerifyGuestOtpPurposeEnum || {});
var VerifyGuestOtpDto = class {
};
__decorateClass([
(0, import_class_validator11.IsNotEmpty)({ message: "Please enter target." }),
(0, import_class_validator11.IsString)({ message: "Please enter valid target." })
], VerifyGuestOtpDto.prototype, "target", 2);
__decorateClass([
(0, import_class_validator11.IsNotEmpty)({ message: "Please enter otp." }),
(0, import_class_validator11.IsString)({ message: "Please enter valid otp." }),
(0, import_class_validator11.Length)(4, 6, { message: "OTP must be between 4 and 6 characters" })
], VerifyGuestOtpDto.prototype, "otp", 2);
__decorateClass([
(0, import_class_validator11.IsNotEmpty)({ message: "Please enter OTP purpose." }),
(0, import_class_validator11.IsEnum)(VerifyGuestOtpPurposeEnum, {
message: "Purpose must be a valid OTP purpose"
})
], VerifyGuestOtpDto.prototype, "purpose", 2);
// src/modules/onboarding/pattern/pattern.ts
var ONBOARDING_PATTERN = {
handleFreelancerAccountCreation: "handle.freelancer.account.creation",
handleFreelancerResumeUpload: "handle.freelancer.resume.upload",
handleFreelancerDeveloperPreference: "handle.freelancer.developer.preference",
handleFreelancerProfileQuestion: "handle.freelancer.profile.question",
handleFreelancerWorkShowcase: "handle.freelancer.work.showcase",
handleClientAccountCreation: "handle.client.account.creation",
handleClientProfileQuestion: "handle.client.profile.question",
changeFreelancerPassword: "change.freelancer.password"
};
// src/modules/onboarding/dto/freelancer-create-account.dto.ts
var import_class_validator15 = require("class-validator");
// src/decorators/match.decorator.ts
var import_class_validator12 = require("class-validator");
function Match(property, validationOptions) {
return function(object, propertyName) {
(0, import_class_validator12.registerDecorator)({
name: "Match",
target: object.constructor,
propertyName,
options: validationOptions,
constraints: [property],
validator: {
validate(value, args) {
const [relatedPropertyName] = args.constraints;
const relatedValue = args.object[relatedPropertyName];
return value === relatedValue;
},
defaultMessage(args) {
const [relatedPropertyName] = args.constraints;
return `${propertyName} must match ${relatedPropertyName}`;
}
}
});
};
}
var IfscOrOtherFieldsConstraint = class {
validate(value, args) {
const [relatedFields] = args.constraints;
const dto = args.object;
if (!value) {
return relatedFields.some((field) => !!dto[field]);
}
return true;
}
defaultMessage(args) {
const [relatedFields] = args.constraints;
const fieldNames = relatedFields.join(", ");
return `IFSC Code is required .`;
}
};
IfscOrOtherFieldsConstraint = __decorateClass([
(0, import_class_validator12.ValidatorConstraint)({ async: false })
], IfscOrOtherFieldsConstraint);
// src/decorators/is-valid-mobile-number.decorator.ts
var import_class_validator13 = require("class-validator");
var import_libphonenumber_js = require("libphonenumber-js");
var IsValidMobileNumberConstraint = class {
validate(mobile, args) {
const object = args.object;
const mobileCode = object.mobileCode;
if (!mobileCode || !mobile) return false;
try {
const phoneNumber = (0, import_libphonenumber_js.parsePhoneNumberFromString)(mobileCode + mobile);
return phoneNumber?.isValid() ?? false;
} catch {
return false;
}
}
defaultMessage(args) {
return "Please enter a valid mobile number for the selected country code.";
}
};
IsValidMobileNumberConstraint = __decorateClass([
(0, import_class_validator13.ValidatorConstraint)({ name: "isValidMobileNumber", async: false })
], IsValidMobileNumberConstraint);
function IsValidMobileNumber(validationOptions) {
return function(object, propertyName) {
(0, import_class_validator13.registerDecorator)({
name: "isValidMobileNumber",
target: object.constructor,
propertyName,
options: validationOptions,
validator: IsValidMobileNumberConstraint
});
};
}
// src/decorators/is-business-email.decorator.ts
var import_class_validator14 = require("class-validator");
var IsBusinessEmailConstraint = class {
constructor() {
this.blockedDomains = [
"aol.com",
"att.net",
"comcast.net",
"facebook.com",
"gmail.com",
"gmx.com",
"gmx.net",
"gmx.de",
"googlemail.com",
"google.com",
"hotmail.com",
"hotmail.co.uk",
"icloud.com",
"live.com",
"live.in",
"live.co.uk",
"mail.com",
"msn.com",
"outlook.com",
"protonmail.com",
"protonmail.ch",
"proton.me",
"tutanota.com",
"tutanota.de",
"tutanota.org",
"tuta.io",
"yahoo.com",
"yahoo.co.uk",
"yahoo.co.in",
"yahoo.co.jp",
"yahoo.co.kr",
"yahoo.co.id",
"yahoo.com.sg",
"yahoo.com.ph",
"zoho.com",
"yandex.com",
"mail.ru",
"fastmail.fm",
"hushmail.com",
"qq.com",
"163.com",
"126.com",
"rediffmail.com",
"naver.com",
"daum.net",
"seznam.cz",
"web.de",
"libero.it",
"mailfence.com",
"yopmail.com"
];
}
validate(value) {
if (typeof value !== "string") return false;
const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
if (!emailRegex.test(value)) return false;
const domain = value.split("@")[1].toLowerCase();
return !this.blockedDomains.includes(domain);
}
defaultMessage(args) {
return "Please enter a valid business email address. Personal email domains are not allowed.";
}
};
IsBusinessEmailConstraint = __decorateClass([
(0, import_class_validator14.ValidatorConstraint)({ async: false })
], IsBusinessEmailConstraint);
function IsBusinessEmail(validationOptions) {
return function(object, propertyName) {
(0, import_class_validator14.registerDecorator)({
target: object.constructor,
propertyName,
options: validationOptions,
constraints: [],
validator: IsBusinessEmailConstraint
});
};
}
// src/modules/onboarding/dto/freelancer-create-account.dto.ts
var FreelancerCreateAccountDto = class {
};
__decorateClass([
(0, import_class_validator15.IsNotEmpty)({ message: "Please enter full name." }),
(0, import_class_validator15.IsString)({ message: "Please enter valid full name." })
], FreelancerCreateAccountDto.prototype, "fullName", 2);
__decorateClass([
(0, import_class_validator15.IsNotEmpty)({ message: "Please enter email." }),
(0, import_class_validator15.IsEmail)()
], FreelancerCreateAccountDto.prototype, "email", 2);
__decorateClass([
(0, import_class_validator15.IsNotEmpty)({ message: "Please enter mobile code." }),
(0, import_class_validator15.Matches)(/^\+\d{1,4}$/, {
message: "Please enter a valid country mobile code (e.g., +91, +1, +44)."
})
], FreelancerCreateAccountDto.prototype, "mobileCode", 2);
__decorateClass([
(0, import_class_validator15.IsNotEmpty)({ message: "Please enter mobile number." }),
IsValidMobileNumber({ message: "Mobile number is not valid for the selected country code." })
], FreelancerCreateAccountDto.prototype, "mobile", 2);
__decorateClass([
(0, import_class_validator15.IsOptional)()
], FreelancerCreateAccountDto.prototype, "onBoardedBy", 2);
// src/modules/onboarding/dto/freelancer-upload-resume.dto.ts
var import_class_validator16 = require("class-validator");
var FreelancerUploadResumeDto = class {
};
__decorateClass([
(0, import_class_validator16.IsNotEmpty)({ message: "Please enter uuid." }),
(0, import_class_validator16.IsUUID)()
], FreelancerUploadResumeDto.prototype, "uuid", 2);
// src/modules/onboarding/dto/freelancer-parse-resume.dto.ts
var import_class_validator17 = require("class-validator");
var FreelancerParseResumeDto = class {
};
__decorateClass([
(0, import_class_validator17.IsNotEmpty)({ message: "Please enter uuid." }),
(0, import_class_validator17.IsUUID)()
], FreelancerParseResumeDto.prototype, "uuid", 2);
// src/modules/onboarding/dto/freelancer-initiate-mcq-assessment.dto.ts
var import_class_validator18 = require("class-validator");
var FreelancerInitiateMcqAssessmentDto = class {
};
__decorateClass([
(0, import_class_validator18.IsNotEmpty)({ message: "Please enter uuid." }),
(0, import_class_validator18.IsUUID)()
], FreelancerInitiateMcqAssessmentDto.prototype, "uuid", 2);
// src/modules/onboarding/dto/freelancer-skip-ai-assessment.dto.ts
var import_class_validator19 = require("class-validator");
var FreelancerSkipAiAssessmentDto = class {
};
__decorateClass([
(0, import_class_validator19.IsNotEmpty)({ message: "Please enter uuid." }),
(0, import_class_validator19.IsUUID)()
], FreelancerSkipAiAssessmentDto.prototype, "uuid", 2);
// src/modules/onboarding/dto/freelancer-initiate-ai-assessment.dto.ts
var import_class_validator20 = require("class-validator");
var FreelancerInitiateAiAssessmentDto = class {
};
__decorateClass([
(0, import_class_validator20.IsNotEmpty)({ message: "Please enter uuid." }),
(0, import_class_validator20.IsUUID)()
], FreelancerInitiateAiAssessmentDto.prototype, "uuid", 2);
// src/modules/onboarding/dto/freelancer-capture-ai-assessment-status.dto.ts
var import_class_validator21 = require("class-validator");
var FreelancerCaptureAiAssessmentStatusDto = class {
};
__decorateClass([
(0, import_class_validator21.IsNotEmpty)({ message: "Please enter uuid." }),
(0, import_class_validator21.IsUUID)()
], FreelancerCaptureAiAssessmentStatusDto.prototype, "uuid", 2);
__decorateClass([
(0, import_class_validator21.IsNotEmpty)({ message: "Please enter assessment id." })
], FreelancerCaptureAiAssessmentStatusDto.prototype, "assessmentId", 2);
__decorateClass([
(0, import_class_validator21.IsNotEmpty)({ message: "Please enter assessment status." })
], FreelancerCaptureAiAssessmentStatusDto.prototype, "assessmentStatus", 2);
__decorateClass([
(0, import_class_validator21.IsOptional)()
], FreelancerCaptureAiAssessmentStatusDto.prototype, "iframeEventData", 2);
// src/modules/onboarding/dto/freelancer-development-preference.dto.ts
var import_class_validator22 = require("class-validator");
var FreelancerDevelopmentPreferenceDto = class {
};
__decorateClass([
(0, import_class_validator22.IsNotEmpty)({ message: "Please enter uuid." }),
(0, import_class_validator22.IsUUID)()
], FreelancerDevelopmentPreferenceDto.prototype, "uuid", 2);
__decorateClass([
(0, import_class_validator22.IsNotEmpty)({ message: "Please select development flag." }),
(0, import_class_validator22.IsBoolean)()
], FreelancerDevelopmentPreferenceDto.prototype, "developer", 2);
// src/modules/onboarding/dto/freelancer-profile-question.dto.ts
var import_class_validator23 = require("class-validator");
var FreelancerProfileQuestionDto = class {
};
__decorateClass([
(0, import_class_validator23.IsNotEmpty)({ message: "Please enter uuid." }),
(0, import_class_validator23.IsUUID)()
], FreelancerProfileQuestionDto.prototype, "uuid", 2);
__decorateClass([
(0, import_class_validator23.IsNotEmpty)({ message: "Please enter question slug." }),
(0, import_class_validator23.IsString)(),
(0, import_class_validator23.IsIn)([
"natureOfWork",
"expectedHourlyCompensation",
"modeOfWork",
"availabilityToJoin",
"isImmediateJoiner"
])
], FreelancerProfileQuestionDto.prototype, "question_slug", 2);
__decorateClass([
(0, import_class_validator23.IsNotEmpty)({ message: "Please enter answer." })
], FreelancerProfileQuestionDto.prototype, "answer", 2);
__decorateClass([
(0, import_class_validator23.IsOptional)()
], FreelancerProfileQuestionDto.prototype, "currency", 2);
// src/modules/onboarding/dto/freelancer-work-showcase.dto.ts
var import_class_validator24 = require("class-validator");
var FreelancerWorkShowcaseDto = class {
};
__decorateClass([
(0, import_class_validator24.IsNotEmpty)({ message: "Please enter uuid." }),
(0, import_class_validator24.IsUUID)()
], FreelancerWorkShowcaseDto.prototype, "uuid", 2);
__decorateClass([
(0, import_class_validator24.IsNotEmpty)({ message: "Please enter likedin profile url." }),
(0, import_class_validator24.IsString)(),
(0, import_class_validator24.IsUrl)(
{ require_protocol: false },
{
message: "linkedinProfileLink must be a valid URL with protocol (e.g. https://)"
}
)
], FreelancerWorkShowcaseDto.prototype, "linkedinProfileLink", 2);
__decorateClass([
(0, import_class_validator24.IsOptional)(),
(0, import_class_validator24.IsUrl)(
{ require_protocol: false },
{
message: "kaggleProfileLink must be a valid URL with protocol (e.g. https://)"
}
)
], FreelancerWorkShowcaseDto.prototype, "kaggleProfileLink", 2);
__decorateClass([
(0, import_class_validator24.IsOptional)(),
(0, import_class_validator24.IsUrl)(
{ require_protocol: false },
{
message: "githubProfileLink must be a valid URL with protocol (e.g. https://)"
}
)
], FreelancerWorkShowcaseDto.prototype, "githubProfileLink", 2);
__decorateClass([
(0, import_class_validator24.IsOptional)(),
(0, import_class_validator24.IsUrl)(
{ require_protocol: false },
{
message: "stackOverflowProfileLink must be a valid URL with protocol (e.g. https://)"
}
)
], FreelancerWorkShowcaseDto.prototype, "stackOverflowProfileLink", 2);
__decorateClass([
(0, import_class_validator24.IsOptional)(),
(0, import_class_validator24.IsUrl)(
{ require_protocol: false },
{
message: "portfolioLink must be a valid URL with protocol (e.g. https://)"
}
)
], FreelancerWorkShowcaseDto.prototype, "portfolioLink", 2);
// src/modules/onboarding/dto/client-profile-question.dto.ts
var import_class_validator25 = require("class-validator");
var ClientProfileQuestionDto = class {
};
__decorateClass([
(0, import_class_validator25.IsNotEmpty)({ message: "Please enter uuid." }),
(0, import_class_validator25.IsUUID)()
], ClientProfileQuestionDto.prototype, "uuid", 2);
__decorateClass([
(0, import_class_validator25.IsNotEmpty)({ message: "Please enter question slug." }),
(0, import_class_validator25.IsString)(),
(0, import_class_validator25.IsIn)([
"skills",
"requiredFreelancer",
"kindOfHiring",
"modeOfHire",
"foundUsOn"
])
], ClientProfileQuestionDto.prototype, "question_slug", 2);
__decorateClass([
(0, import_class_validator25.IsNotEmpty)({ message: "Please enter answer." })
], ClientProfileQuestionDto.prototype, "answer", 2);
__decorateClass([
(0, import_class_validator25.ValidateIf)((o) => o.questionSlug === "foundUsOn" && o.answer === "OTHER"),
(0, import_class_validator25.IsNotEmpty)({ message: "Please enter foundUsOnDetail if answer is OTHER." }),
(0, import_class_validator25.IsString)()
], ClientProfileQuestionDto.prototype, "foundUsOnDetail", 2);
// src/modules/onboarding/dto/client-create-account.dto.ts
var import_class_validator26 = require("class-validator");
var ClientCreateAccountDto = class {
};
__decorateClass([
(0, import_class_validator26.IsNotEmpty)({ message: "Please enter full name." }),
(0, import_class_validator26.IsString)({ message: "Please enter valid full name." })
], ClientCreateAccountDto.prototype, "fullName", 2);
__decorateClass([
(0, import_class_validator26.IsNotEmpty)({ message: "Please enter email." }),
(0, import_class_validator26.IsEmail)(),
IsBusinessEmail()
], ClientCreateAccountDto.prototype, "email", 2);
__decorateClass([
(0, import_class_validator26.IsNotEmpty)({ message: "Please enter company name." }),
(0, import_class_validator26.IsString)({ message: "Please enter valid company name." })
], ClientCreateAccountDto.prototype, "companyName", 2);
__decorateClass([
(0, import_class_validator26.IsOptional)()
], ClientCreateAccountDto.prototype, "onBoardedBy", 2);
// src/modules/resume-parser/pattern/pattern.ts
var RESUME_PARSER_PATTERN = {
handleResumeParsing: "handle.resume.parsing"
};
// src/modules/user/subadmin/pattern/pattern.ts
var SUBADMIN_PATTERN = {
fetchSubAdmins: "fetch.subadmins",
fetchDeletedSubAdmins: "fetch.deleted.subadmins",
fetchSubAdminDropdown: "fetch.subadmin.dropdown",
findSubAdminById: "fetch.subadmin.by.id",
createSubAdmin: "create.subadmin",
updateSubAdminAccountStatus: "update.subadmin.account.status",
updateSubAdmin: "update.subadmin",
deleteSubAdmin: "delete.subadmin"
};
// src/modules/user/subadmin/dto/create-subadmin.dto.ts
var import_class_validator27 = require("class-validator");
var CreateSubAdminDto = class {
};
__decorateClass([
(0, import_class_validator27.IsNotEmpty)({ message: "Please enter username." })
], CreateSubAdminDto.prototype, "userName", 2);
__decorateClass([
(0, import_class_validator27.IsNotEmpty)({ message: "Please enter first name." })
], CreateSubAdminDto.prototype, "firstName", 2);
__decorateClass([
(0, import_class_validator27.IsNotEmpty)({ message: "Please enter last name." })
], CreateSubAdminDto.prototype, "lastName", 2);
__decorateClass([
(0, import_class_validator27.IsNotEmpty)({ message: "Please enter email." })
], CreateSubAdminDto.prototype, "email", 2);
__decorateClass([
(0, import_class_validator27.IsNotEmpty)({ message: "Please enter mobile Code." })
], CreateSubAdminDto.prototype, "mobileCode", 2);
__decorateClass([
(0, import_class_validator27.IsNotEmpty)({ message: "Please enter mobile number." })
], CreateSubAdminDto.prototype, "mobile", 2);
__decorateClass([
(0, import_class_validator27.IsNotEmpty)({ message: "Please enter the password." })
], CreateSubAdminDto.prototype, "password", 2);
__decorateClass([
(0, import_class_validator27.IsNotEmpty)({ message: "Please Select Roles." })
], CreateSubAdminDto.prototype, "roleIds", 2);
// src/modules/user/subadmin/dto/update-subadmin-status.dto.ts
var import_class_validator28 = require("class-validator");
var UpdateSubAdminAccountStatusDto = class {
};
__decorateClass([
(0, import_class_validator28.IsString)()
], UpdateSubAdminAccountStatusDto.prototype, "accountStatus", 2);
// src/modules/user/subadmin/dto/update-subadmin.dto.ts
var import_class_transformer = require("class-transformer");
var import_class_validator29 = require("class-validator");
var UpdateSubAdminDto = class {
};
__decorateClass([
(0, import_class_validator29.IsNotEmpty)({ message: "Please enter username." })
], UpdateSubAdminDto.prototype, "userName", 2);
__decorateClass([
(0, import_class_validator29.IsNotEmpty)({ message: "Please enter first name." })
], UpdateSubAdminDto.prototype, "firstName", 2);
__decorateClass([
(0, import_class_validator29.IsNotEmpty)({ message: "Please enter last name." })
], UpdateSubAdminDto.prototype, "lastName", 2);
__decorateClass([
(0, import_class_validator29.IsNotEmpty)({ message: "Please enter email." })
], UpdateSubAdminDto.prototype, "email", 2);
__decorateClass([
(0, import_class_validator29.IsNotEmpty)({ message: "Please enter mobile Code." })
], UpdateSubAdminDto.prototype, "mobileCode", 2);
__decorateClass([
(0, import_class_validator29.IsNotEmpty)({ message: "Please enter mobile number." })
], UpdateSubAdminDto.prototype, "mobile", 2);
__decorateClass([
(0, import_class_validator29.IsOptional)(),
(0, import_class_transformer.Transform)(({ value }) => value === null || value === "" ? void 0 : value),
(0, import_class_validator29.MinLength)(6, { message: "Password must be at least 6 characters." }),
(0, import_class_validator29.MaxLength)(32, { message: "Password must not exceed 32 characters." }),
(0, import_class_validator29.Matches)(/^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*?&])/, {
message: "Password must include letters, numbers and symbols."
})
], UpdateSubAdminDto.prototype, "password", 2);
__decorateClass([
(0, import_class_validator29.IsNotEmpty)({ message: "Please Select Roles." })
], UpdateSubAdminDto.prototype, "roleIds", 2);
// src/modules/user/client-profile/pattern/pattern.ts
var CLIENT_PROFILE_PATTERN = {
fetchClientProfile: "fetch.client.profile",
fetchClientPublicProfile: "fetch.client.public.profile",
updateClientProfile: "update.client.profile",
updateClientLogo: "update.client.logo",
changeClientPassword: "change.client.password",
uploadClientServiceAgreement: "upload.client.service.agreement"
};
// src/modules/user/client-profile/dto/update-client-profile.dto.ts
var import_class_validator30 = require("class-validator");
var UpdateCompanyProfileDto = class {
};
__decorateClass([
(0, import_class_validator30.IsNotEmpty)({ message: "Please enter company name." }),
(0, import_class_validator30.IsString)({ message: "Company name must be a string." }),
(0, import_class_validator30.Length)(2, 255, {
message: "Company name must be between 2 and 255 characters"
})
], UpdateCompanyProfileDto.prototype, "companyName", 2);
__decorateClass([
(0, import_class_validator30.IsOptional)(),
(0, import_class_validator30.ValidateIf)((o) => o.webSite !== ""),
(0, import_class_validator30.IsUrl)({}, { message: "Invalid website URL format" })
], UpdateCompanyProfileDto.prototype, "webSite", 2);
__decorateClass([
(0, import_class_validator30.IsNotEmpty)({ message: "Please enter company address." }),
(0, import_class_validator30.IsString)({ message: "Company address must be a string" }),
(0, import_class_validator30.Length)(5, 1e3, { message: "Address must be between 5 and 1000 characters" })
], UpdateCompanyProfileDto.prototype, "companyAddress", 2);
__decorateClass([
(0, import_class_validator30.IsNotEmpty)({ message: "Please enter mobile code." }),
(0, import_class_validator30.IsString)({ message: "Mobile Code must be a string" })
], UpdateCompanyProfileDto.prototype, "mobileCode", 2);
// @Matches(/^(\+1\s?)?(\(?\d{3}\)?[\s.-]?)?\d{3}[\s.-]?\d{4}$/, {
// message: "Please enter a valid US phone number",
// })
__decorateClass([
(0, import_class_validator30.IsNotEmpty)({ message: "Please enter phone number." }),
(0, import_class_validator30.IsString)({ message: "Please enter valid phone number." })
], UpdateCompanyProfileDto.prototype, "phoneNumber", 2);
__decorateClass([
(0, import_class_validator30.IsNotEmpty)({ message: "Please enter email." }),
(0, import_class_validator30.IsEmail)()
], UpdateCompanyProfileDto.prototype, "email", 2);
__decorateClass([
(0, import_class_validator30.IsOptional)(),
(0, import_class_validator30.IsString)({ message: "About company must be a string." })
], UpdateCompanyProfileDto.prototype, "aboutCompany", 2);
// src/modules/user/client-profile/dto/client-change-password.dto.ts
var import_class_validator31 = require("class-validator");
var ClientChangePasswordDto = class {
};
__decorateClass([
(0, import_class_validator31.IsString)(),
(0, import_class_validator31.MinLength)(8, { message: "Password must be at least 8 characters long." }),
(0, import_class_validator31.Matches)(/^(?=.*[A-Z])(?=.*\d).+$/, {
message: "Password must contain at least one uppercase letter and one number."
})
], ClientChangePasswordDto.prototype, "newPassword", 2);
__decorateClass([
(0, import_class_validator31.IsNotEmpty)({ message: "Please enter confirm password." }),
Match("newPassword", { message: "Passwords do not match" })
], ClientChangePasswordDto.prototype, "confirmPassword", 2);
// src/modules/question/pattern/pattern.ts
var ONBOARDING_QUESTION_PATTERN = {
fetchOnboardingQuestions: "fetch.onboarding.questions"
};
var ASSESSMENT_QUESTION_PATTERN = {
fetchAssessmentQuestions: "fetch.assessment.questions"
};
// src/modules/question/dto/create-question.dto.ts
var import_class_validator32 = require("class-validator");
var CreateQuestionDto = class {
};
__decorateClass([
(0, import_class_validator32.IsNotEmpty)({ message: "Please enter unique id." })
], CreateQuestionDto.prototype, "questionId", 2);
__decorateClass([
(0, import_class_validator32.IsNotEmpty)({ message: "Please enter question." })
], CreateQuestionDto.prototype, "question", 2);
__decorateClass([
(0, import_class_validator32.IsNotEmpty)({ message: "Please enter for whom the question is." })
], CreateQuestionDto.prototype, "questionFor", 2);
__decorateClass([
(0, import_class_validator32.IsNotEmpty)({ message: "Please enter options." })
], CreateQuestionDto.prototype, "options", 2);
__decorateClass([
(0, import_class_validator32.IsOptional)(),
(0, import_class_validator32.IsBoolean)({ message: "Whether the question status active" })
], CreateQuestionDto.prototype, "isActive", 2);
// src/modules/job/pattern/pattern.ts
var JOB_ROLE_PATTERN = {
fetchJobRolesForDropdown: "fetch.job.roles.for.dropdown"
};
var JOB_PATTERN = {
fetchJobs: "fetch.jobs",
fetchJobsPublic: "fetch.jobs.public",
fetchRecentJobs: "fetch.recent.jobs",
fetchJobCountAsPerStatus: "fetch.job.count.as.per.status",
fetchJobCountPublic: "fetch.job.count.public",
fetchJobsDropdown: "fetch.jobs.dropdown",
fetchJobDetail: "fetch.job.details",
fetchJobDetailPublic: "fetch.job.details.public",
handleJdUpload: "handle.jd.upload",
fetchJobBasicInformation: "fetch.job.basic.information",
createJobBasicInformation: "create.job.basic.information",
updateJobBasicInformation: "update.job.basic.information",
fetchJobAdditionalComments: "fetch.job.additional.comments",
updateJobAdditionalComments: "update.job.additional.comments",
fetchJobDescription: "fetch.job.description",
updateJobDescription: "update.job.description",
updateJobStatus: "update.job.status",
searchJobsByRoleAndSkills: "search.jobs.by.role.and.skills"
};
// src/modules/job/dto/job-basic-information.dto.ts
var import_class_validator33 = require("class-validator");
var import_class_transformer2 = require("class-transformer");
var JobLocation = /* @__PURE__ */ ((JobLocation2) => {
JobLocation2["ONSITE"] = "ONSITE";
JobLocation2["REMOTE"] = "REMOTE";
JobLocation2["BOTH"] = "BOTH";
return JobLocation2;
})(JobLocation || {});
var EmploymentType = /* @__PURE__ */ ((EmploymentType2) => {
EmploymentType2["FULLTIME"] = "FULLTIME";
EmploymentType2["PARTTIME"] = "PARTTIME";
EmploymentType2["BOTH"] = "BOTH";
return EmploymentType2;
})(EmploymentType || {});
var JobBasicInformationDto = class {
constructor() {
this.isDraft = false;
}
};
__decorateClass([
(0, import_class_validator33.IsOptional)(),
(0, import_class_transformer2.Type)(() => Boolean)
], JobBasicInformationDto.prototype, "isDraft", 2);
__decorateClass([
(0, import_class_validator33.IsNotEmpty)({ message: "Please enter job role" }),
(0, import_class_validator33.IsString)({ message: "Job role must be a string" })
], JobBasicInformationDto.prototype, "jobRole", 2);
__decorateClass([
(0, import_class_validator33.IsOptional)(),
(0, import_class_validator33.IsString)({ message: "Note must be a string" })
], JobBasicInformationDto.prototype, "note", 2);
__decorateClass([
(0, import_class_validator33.ValidateIf)((o) => !o.isDraft),
(0, import_class_validator33.IsArray)({ message: "Skills must be an array" }),
(0, import_class_validato