@experts_hub/shared 1.0.134 → 1.0.136

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -480,1653 +480,1630 @@ var CLIENT_PROFILE_PATTERN = {
480
480
 
481
481
  // src/modules/user/client-profile/dto/update-client-profile.dto.ts
482
482
  import {
483
- IsEnum as IsEnum4,
484
483
  IsOptional as IsOptional4,
485
484
  IsString as IsString8,
486
- IsArray,
487
- IsBoolean as IsBoolean4
485
+ IsNotEmpty as IsNotEmpty15,
486
+ IsEmail as IsEmail5,
487
+ Length,
488
+ IsUrl as IsUrl2,
489
+ Matches as Matches4
488
490
  } from "class-validator";
489
-
490
- // src/entities/company-profile.entity.ts
491
- import {
492
- Entity as Entity15,
493
- Column as Column16,
494
- ManyToOne as ManyToOne14,
495
- JoinColumn as JoinColumn14,
496
- Index as Index12
497
- } from "typeorm";
498
-
499
- // src/entities/base.entity.ts
500
- import {
501
- CreateDateColumn,
502
- PrimaryGeneratedColumn,
503
- UpdateDateColumn,
504
- Column,
505
- DeleteDateColumn,
506
- Generated
507
- } from "typeorm";
508
- var BaseEntity = class {
491
+ var UpdateCompanyProfileDto = class {
509
492
  };
510
493
  __decorateClass([
511
- PrimaryGeneratedColumn("increment", { type: "integer" })
512
- ], BaseEntity.prototype, "id", 2);
513
- __decorateClass([
514
- Column({ type: "uuid" }),
515
- Generated("uuid")
516
- ], BaseEntity.prototype, "uuid", 2);
494
+ IsNotEmpty15({ message: "Please enter company name." }),
495
+ IsString8({ message: "Company name must be a string." }),
496
+ Length(2, 255, { message: "Company name must be between 2 and 255 characters" })
497
+ ], UpdateCompanyProfileDto.prototype, "companyName", 2);
517
498
  __decorateClass([
518
- CreateDateColumn({ name: "created_at", type: "timestamp with time zone" })
519
- ], BaseEntity.prototype, "createdAt", 2);
499
+ IsNotEmpty15({ message: "Please enter company website url." }),
500
+ IsUrl2({}, { message: "Invalid website URL format" })
501
+ ], UpdateCompanyProfileDto.prototype, "webSite", 2);
520
502
  __decorateClass([
521
- Column({ name: "created_by", type: "integer", nullable: true })
522
- ], BaseEntity.prototype, "createdBy", 2);
503
+ IsNotEmpty15({ message: "Please enter company address." }),
504
+ IsString8({ message: "Company address must be a string" }),
505
+ Length(5, 1e3, { message: "Address must be between 5 and 1000 characters" })
506
+ ], UpdateCompanyProfileDto.prototype, "companyAddress", 2);
523
507
  __decorateClass([
524
- UpdateDateColumn({ name: "updated_at", type: "timestamp with time zone" })
525
- ], BaseEntity.prototype, "updatedAt", 2);
508
+ IsNotEmpty15({ message: "Please enter phone number." }),
509
+ Matches4(/^(\+1\s?)?(\(?\d{3}\)?[\s.-]?)?\d{3}[\s.-]?\d{4}$/, {
510
+ message: "Please enter a valid US phone number"
511
+ })
512
+ ], UpdateCompanyProfileDto.prototype, "phoneNumber", 2);
526
513
  __decorateClass([
527
- Column({ name: "updated_by", type: "integer", nullable: true })
528
- ], BaseEntity.prototype, "updatedBy", 2);
514
+ IsNotEmpty15({ message: "Please enter email." }),
515
+ IsEmail5()
516
+ ], UpdateCompanyProfileDto.prototype, "email", 2);
529
517
  __decorateClass([
530
- Column({ name: "is_deleted", type: "boolean", default: false })
531
- ], BaseEntity.prototype, "isDeleted", 2);
518
+ IsOptional4(),
519
+ IsString8({ message: "About company must be a string." })
520
+ ], UpdateCompanyProfileDto.prototype, "aboutCompany", 2);
521
+
522
+ // src/modules/user/client-profile/dto/client-change-password.dto.ts
523
+ import {
524
+ IsString as IsString9,
525
+ IsNotEmpty as IsNotEmpty16,
526
+ MaxLength as MaxLength5,
527
+ MinLength as MinLength5,
528
+ Matches as Matches5
529
+ } from "class-validator";
530
+ var ClientChangePasswordDto = class {
531
+ };
532
532
  __decorateClass([
533
- Column({ name: "deleted_by", type: "integer", nullable: true })
534
- ], BaseEntity.prototype, "deletedBy", 2);
533
+ IsNotEmpty16({ message: "Please enter Old Password." }),
534
+ IsString9()
535
+ ], ClientChangePasswordDto.prototype, "oldPassword", 2);
535
536
  __decorateClass([
536
- DeleteDateColumn({
537
- name: "deleted_at",
538
- type: "timestamp with time zone",
539
- nullable: true
537
+ IsNotEmpty16({ message: "Please enter New Password." }),
538
+ IsString9(),
539
+ MinLength5(6),
540
+ MaxLength5(32),
541
+ Matches5(/^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*?&])/, {
542
+ message: "New Password must include letters, numbers and symbols."
540
543
  })
541
- ], BaseEntity.prototype, "deletedAt", 2);
544
+ ], ClientChangePasswordDto.prototype, "newPassword", 2);
542
545
 
543
- // src/entities/user.entity.ts
544
- import { Entity as Entity14, Column as Column15, OneToMany as OneToMany6, OneToOne, Index as Index11, ManyToOne as ManyToOne13, JoinColumn as JoinColumn13 } from "typeorm";
546
+ // src/modules/question/pattern/pattern.ts
547
+ var QUESTION_PATTERN = {
548
+ fetchQuestions: "fetch.questions"
549
+ };
545
550
 
546
- // src/entities/refresh-token.entity.ts
551
+ // src/modules/question/dto/create-question.dto.ts
547
552
  import {
548
- Entity,
549
- PrimaryGeneratedColumn as PrimaryGeneratedColumn2,
550
- Column as Column2,
551
- ManyToOne,
552
- JoinColumn,
553
- CreateDateColumn as CreateDateColumn2,
554
- UpdateDateColumn as UpdateDateColumn2
555
- } from "typeorm";
556
- var RefreshToken = class {
553
+ IsNotEmpty as IsNotEmpty17,
554
+ IsOptional as IsOptional5,
555
+ IsBoolean as IsBoolean5
556
+ } from "class-validator";
557
+ var CreateQuestionDto = class {
557
558
  };
558
559
  __decorateClass([
559
- PrimaryGeneratedColumn2("uuid")
560
- ], RefreshToken.prototype, "id", 2);
561
- __decorateClass([
562
- Column2({ name: "user_id", type: "integer" })
563
- ], RefreshToken.prototype, "userId", 2);
564
- __decorateClass([
565
- Column2({ name: "token_id", type: "varchar" })
566
- ], RefreshToken.prototype, "tokenId", 2);
567
- __decorateClass([
568
- Column2({ name: "device_info", type: "json", nullable: true })
569
- ], RefreshToken.prototype, "deviceInfo", 2);
570
- __decorateClass([
571
- Column2({ name: "is_revoked", type: "boolean", default: false })
572
- ], RefreshToken.prototype, "isRevoked", 2);
560
+ IsNotEmpty17({ message: "Please enter unique id." })
561
+ ], CreateQuestionDto.prototype, "questionId", 2);
573
562
  __decorateClass([
574
- Column2({ name: "expires_at", type: "timestamp with time zone" })
575
- ], RefreshToken.prototype, "expiresAt", 2);
563
+ IsNotEmpty17({ message: "Please enter question." })
564
+ ], CreateQuestionDto.prototype, "question", 2);
576
565
  __decorateClass([
577
- CreateDateColumn2({ name: "created_at", type: "timestamp with time zone" })
578
- ], RefreshToken.prototype, "createdAt", 2);
566
+ IsNotEmpty17({ message: "Please enter for whom the question is." })
567
+ ], CreateQuestionDto.prototype, "questionFor", 2);
579
568
  __decorateClass([
580
- UpdateDateColumn2({ name: "updated_at", type: "timestamp with time zone" })
581
- ], RefreshToken.prototype, "updatedAt", 2);
569
+ IsNotEmpty17({ message: "Please enter options." })
570
+ ], CreateQuestionDto.prototype, "options", 2);
582
571
  __decorateClass([
583
- ManyToOne(() => User, (user) => user.refreshTokens),
584
- JoinColumn({ name: "user_id" })
585
- ], RefreshToken.prototype, "user", 2);
586
- RefreshToken = __decorateClass([
587
- Entity("refresh_tokens")
588
- ], RefreshToken);
572
+ IsOptional5(),
573
+ IsBoolean5({ message: "Whether the question status active" })
574
+ ], CreateQuestionDto.prototype, "isActive", 2);
589
575
 
590
- // src/entities/senseloaf-log.entity.ts
576
+ // src/modules/job/pattern/pattern.ts
577
+ var JOB_ROLE_PATTERN = {
578
+ fetchJobRolesForDropdown: "fetch.job.roles.for.dropdown"
579
+ };
580
+ var JOB_PATTERN = {
581
+ fetchJobs: "fetch.jobs",
582
+ fetchJobCountAsPerStatus: "fetch.job.count.as.per.status",
583
+ fetchJobsDropdown: "fetch.jobs.dropdown",
584
+ fetchJobDetail: "fetch.job.details",
585
+ handleJdUpload: "handle.jd.upload",
586
+ fetchJobBasicInformation: "fetch.job.basic.information",
587
+ createJobBasicInformation: "create.job.basic.information",
588
+ updateJobBasicInformation: "update.job.basic.information",
589
+ fetchJobAdditionalComments: "fetch.job.additional.comments",
590
+ updateJobAdditionalComments: "update.job.additional.comments",
591
+ fetchJobDescription: "fetch.job.description",
592
+ updateJobDescription: "update.job.description",
593
+ updateJobStatus: "update.job.status",
594
+ searchJobsByRoleAndSkills: "search.jobs.by.role.and.skills"
595
+ };
596
+
597
+ // src/modules/job/dto/job-basic-information.dto.ts
591
598
  import {
592
- Entity as Entity2,
593
- PrimaryGeneratedColumn as PrimaryGeneratedColumn3,
594
- Column as Column3,
595
- CreateDateColumn as CreateDateColumn3,
596
- ManyToOne as ManyToOne2,
597
- JoinColumn as JoinColumn2
598
- } from "typeorm";
599
- var SenseloafLog = class {
599
+ IsString as IsString10,
600
+ IsNotEmpty as IsNotEmpty18,
601
+ IsArray as IsArray2,
602
+ ArrayNotEmpty,
603
+ IsNumber as IsNumber2,
604
+ IsOptional as IsOptional6,
605
+ IsEnum as IsEnum5,
606
+ Min
607
+ } from "class-validator";
608
+ import { Type } from "class-transformer";
609
+ var JobLocation = /* @__PURE__ */ ((JobLocation2) => {
610
+ JobLocation2["ONSITE"] = "ONSITE";
611
+ JobLocation2["REMOTE"] = "REMOTE";
612
+ JobLocation2["BOTH"] = "BOTH";
613
+ return JobLocation2;
614
+ })(JobLocation || {});
615
+ var EmploymentType = /* @__PURE__ */ ((EmploymentType2) => {
616
+ EmploymentType2["FULLTIME"] = "FULLTIME";
617
+ EmploymentType2["PARTTIME"] = "PARTTIME";
618
+ EmploymentType2["BOTH"] = "BOTH";
619
+ return EmploymentType2;
620
+ })(EmploymentType || {});
621
+ var JobBasicInformationDto = class {
600
622
  };
601
623
  __decorateClass([
602
- PrimaryGeneratedColumn3("increment", { type: "integer" })
603
- ], SenseloafLog.prototype, "id", 2);
624
+ IsNotEmpty18({ message: "Please enter job role" }),
625
+ IsString10({ message: "Job role must be a string" })
626
+ ], JobBasicInformationDto.prototype, "jobRole", 2);
604
627
  __decorateClass([
605
- Column3({ name: "user_id", type: "integer", nullable: true })
606
- ], SenseloafLog.prototype, "userId", 2);
628
+ IsOptional6(),
629
+ IsString10({ message: "Note must be a string" })
630
+ ], JobBasicInformationDto.prototype, "note", 2);
607
631
  __decorateClass([
608
- Column3({ name: "type", type: "varchar", nullable: true })
609
- ], SenseloafLog.prototype, "type", 2);
632
+ IsArray2({ message: "Skills must be an array" }),
633
+ ArrayNotEmpty({ message: "Please select at least one skill" }),
634
+ IsNumber2({}, { each: true, message: "Each skill must be a number" }),
635
+ Type(() => Number)
636
+ ], JobBasicInformationDto.prototype, "skills", 2);
610
637
  __decorateClass([
611
- Column3({ name: "end_point", type: "varchar" })
612
- ], SenseloafLog.prototype, "endpoint", 2);
638
+ IsNumber2({}, { message: "Openings must be a number" }),
639
+ Min(1, { message: "There must be at least 1 opening" }),
640
+ Type(() => Number)
641
+ ], JobBasicInformationDto.prototype, "openings", 2);
613
642
  __decorateClass([
614
- Column3({ name: "success", type: "boolean" })
615
- ], SenseloafLog.prototype, "success", 2);
643
+ IsEnum5(JobLocation, {
644
+ message: `Location must be one of: ${Object.values(JobLocation).join(
645
+ ", "
646
+ )}`
647
+ })
648
+ ], JobBasicInformationDto.prototype, "location", 2);
616
649
  __decorateClass([
617
- Column3({ name: "request", type: "jsonb", nullable: true })
618
- ], SenseloafLog.prototype, "request", 2);
650
+ IsEnum5(EmploymentType, {
651
+ message: `Type of employment must be one of: ${Object.values(
652
+ EmploymentType
653
+ ).join(", ")}`
654
+ })
655
+ ], JobBasicInformationDto.prototype, "typeOfEmployment", 2);
619
656
  __decorateClass([
620
- Column3({ name: "response", type: "jsonb", nullable: true })
621
- ], SenseloafLog.prototype, "response", 2);
657
+ IsNumber2({}, { message: "Expected salary (from) must be a number" }),
658
+ Min(0, { message: "Expected salary (from) cannot be negative" }),
659
+ Type(() => Number)
660
+ ], JobBasicInformationDto.prototype, "expectedSalaryFrom", 2);
622
661
  __decorateClass([
623
- Column3({ name: "error_message", type: "text", nullable: true })
624
- ], SenseloafLog.prototype, "errorMessage", 2);
662
+ IsNumber2({}, { message: "Expected salary (to) must be a number" }),
663
+ Min(0, { message: "Expected salary (to) cannot be negative" }),
664
+ Type(() => Number)
665
+ ], JobBasicInformationDto.prototype, "expectedSalaryTo", 2);
625
666
  __decorateClass([
626
- Column3({ name: "scope", type: "varchar", nullable: true })
627
- ], SenseloafLog.prototype, "scope", 2);
667
+ IsString10({ message: "Onboarding TAT must be a string" }),
668
+ IsOptional6()
669
+ ], JobBasicInformationDto.prototype, "onboardingTat", 2);
628
670
  __decorateClass([
629
- CreateDateColumn3({ name: "created_at", type: "timestamp with time zone" })
630
- ], SenseloafLog.prototype, "createdAt", 2);
671
+ IsString10({ message: "Candidate communication skills must be a string" }),
672
+ IsOptional6()
673
+ ], JobBasicInformationDto.prototype, "candidateCommunicationSkills", 2);
674
+
675
+ // src/modules/job/dto/job-additional-comment.dto.ts
676
+ import { IsOptional as IsOptional7, IsString as IsString11, MaxLength as MaxLength6 } from "class-validator";
677
+ var JobAdditionalCommentDto = class {
678
+ };
631
679
  __decorateClass([
632
- ManyToOne2(() => User, (user) => user.senseloafLogs),
633
- JoinColumn2({ name: "user_id" })
634
- ], SenseloafLog.prototype, "user", 2);
635
- SenseloafLog = __decorateClass([
636
- Entity2("senseloaf_logs")
637
- ], SenseloafLog);
680
+ IsOptional7(),
681
+ IsString11({ message: "Additional comment must be a string" }),
682
+ MaxLength6(500, { message: "Additional comment must not exceed 500 characters" })
683
+ ], JobAdditionalCommentDto.prototype, "additionalComment", 2);
638
684
 
639
- // src/entities/otp.entity.ts
640
- import {
641
- Entity as Entity3,
642
- PrimaryGeneratedColumn as PrimaryGeneratedColumn4,
643
- Column as Column4,
644
- CreateDateColumn as CreateDateColumn4,
645
- ManyToOne as ManyToOne3,
646
- JoinColumn as JoinColumn3,
647
- Index
648
- } from "typeorm";
649
- var Otp = class {
685
+ // src/modules/job/dto/job-description.dto.ts
686
+ import { IsString as IsString12, IsNotEmpty as IsNotEmpty19, MaxLength as MaxLength7 } from "class-validator";
687
+ var JobDescriptionDto = class {
650
688
  };
651
689
  __decorateClass([
652
- PrimaryGeneratedColumn4("increment", { type: "integer" })
653
- ], Otp.prototype, "id", 2);
654
- // individual index to find OTPs by user
655
- __decorateClass([
656
- Column4({ name: "user_id", type: "integer", nullable: true }),
657
- Index()
658
- ], Otp.prototype, "userId", 2);
690
+ IsNotEmpty19({ message: "Please enter job description" }),
691
+ IsString12({ message: "Description must be a string" }),
692
+ MaxLength7(5e3, { message: "Description must not exceed 5000 characters" })
693
+ ], JobDescriptionDto.prototype, "description", 2);
694
+
695
+ // src/modules/job/dto/job-status.dto.ts
696
+ import { IsEnum as IsEnum6, IsNotEmpty as IsNotEmpty20 } from "class-validator";
697
+ var JobStatus = /* @__PURE__ */ ((JobStatus2) => {
698
+ JobStatus2["ACTIVE"] = "ACTIVE";
699
+ JobStatus2["OPEN"] = "OPEN";
700
+ JobStatus2["DRAFT"] = "DRAFT";
701
+ JobStatus2["ONHOLD"] = "ONHOLD";
702
+ JobStatus2["CLOSED"] = "CLOSED";
703
+ return JobStatus2;
704
+ })(JobStatus || {});
705
+ var JobStatusDto = class {
706
+ };
659
707
  __decorateClass([
660
- Column4({ name: "otp", type: "varchar", length: 4 }),
661
- Index()
662
- ], Otp.prototype, "otp", 2);
708
+ IsNotEmpty20({ message: "Please provide a job status" }),
709
+ IsEnum6(JobStatus, {
710
+ message: `Status must be one of: ${Object.values(JobStatus).join(", ")}`
711
+ })
712
+ ], JobStatusDto.prototype, "status", 2);
713
+
714
+ // src/modules/job/dto/job-id-param.dto.ts
715
+ import { IsUUID as IsUUID6 } from "class-validator";
716
+ var JobIdParamDto = class {
717
+ };
663
718
  __decorateClass([
664
- Column4({ name: "otp_purpose", type: "varchar", length: 50 })
665
- ], Otp.prototype, "otpPurpose", 2);
719
+ IsUUID6("4", {
720
+ message: "Invalid job ID. It must be a valid UUID version 4."
721
+ })
722
+ ], JobIdParamDto.prototype, "id", 2);
723
+
724
+ // src/modules/user/freelancer-profile/pattern/pattern.ts
725
+ var PROFILE_PATTERN = {
726
+ fetchFreelancerProfile: "fetch.freelancer.profile",
727
+ changeFreelancerPassword: "change.freelancer.password",
728
+ uploadFreelancerProfilePic: "upload.freelancer.profilepic",
729
+ updateFreelancerProfile: "update.freelancer.profile"
730
+ };
731
+
732
+ // src/modules/user/freelancer-profile/dto/freelancer-change-password.dto.ts
733
+ import {
734
+ IsString as IsString13,
735
+ IsNotEmpty as IsNotEmpty21,
736
+ MaxLength as MaxLength8,
737
+ MinLength as MinLength6,
738
+ Matches as Matches6
739
+ } from "class-validator";
740
+ var FreelancerChangePasswordDto = class {
741
+ };
666
742
  __decorateClass([
667
- Column4({ name: "target", type: "varchar", nullable: true }),
668
- Index()
669
- ], Otp.prototype, "target", 2);
670
- // support expiration checks
743
+ IsNotEmpty21({ message: "Please enter Old Password." }),
744
+ IsString13()
745
+ ], FreelancerChangePasswordDto.prototype, "oldPassword", 2);
671
746
  __decorateClass([
672
- Column4({ name: "expire_at", type: "timestamp" }),
673
- Index()
674
- ], Otp.prototype, "expiresAt", 2);
747
+ IsNotEmpty21({ message: "Please enter New Password." }),
748
+ IsString13(),
749
+ MinLength6(6),
750
+ MaxLength8(32),
751
+ Matches6(/^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*?&])/, {
752
+ message: "New Password must include letters, numbers and symbols."
753
+ })
754
+ ], FreelancerChangePasswordDto.prototype, "newPassword", 2);
755
+
756
+ // src/modules/user/freelancer-profile/dto/update-freelancer-profile.dto.ts
757
+ import { IsOptional as IsOptional8, IsString as IsString14, IsEmail as IsEmail6, IsNumber as IsNumber3, IsEnum as IsEnum7 } from "class-validator";
758
+ var NatureOfWorkDto = /* @__PURE__ */ ((NatureOfWorkDto2) => {
759
+ NatureOfWorkDto2["FULLTIME"] = "FULLTIME";
760
+ NatureOfWorkDto2["PARTTIME"] = "PARTTIME";
761
+ NatureOfWorkDto2["BOTH"] = "BOTH";
762
+ return NatureOfWorkDto2;
763
+ })(NatureOfWorkDto || {});
764
+ var UpdateFreelancerProfileDto = class {
765
+ };
675
766
  __decorateClass([
676
- Column4({ name: "is_used", type: "boolean", default: false }),
677
- Index()
678
- ], Otp.prototype, "isUsed", 2);
767
+ IsOptional8(),
768
+ IsString14()
769
+ ], UpdateFreelancerProfileDto.prototype, "firstName", 2);
679
770
  __decorateClass([
680
- Column4({ name: "resend_count", type: "int", default: 0 })
681
- ], Otp.prototype, "resendCount", 2);
771
+ IsOptional8(),
772
+ IsString14()
773
+ ], UpdateFreelancerProfileDto.prototype, "lastName", 2);
682
774
  __decorateClass([
683
- CreateDateColumn4({ name: "created_at", type: "timestamp with time zone" })
684
- ], Otp.prototype, "createdAt", 2);
775
+ IsOptional8(),
776
+ IsEmail6()
777
+ ], UpdateFreelancerProfileDto.prototype, "email", 2);
685
778
  __decorateClass([
686
- ManyToOne3(() => User, (user) => user.otps),
687
- JoinColumn3({ name: "user_id" })
688
- ], Otp.prototype, "user", 2);
689
- Otp = __decorateClass([
690
- Entity3("otps"),
691
- Index(["userId", "otp", "otpPurpose", "isUsed"])
692
- ], Otp);
693
-
694
- // src/entities/freelancer-profile.entity.ts
695
- import {
696
- Entity as Entity4,
697
- Column as Column5,
698
- Index as Index2,
699
- ManyToOne as ManyToOne4,
700
- JoinColumn as JoinColumn4
701
- } from "typeorm";
702
- var NatureOfWork = /* @__PURE__ */ ((NatureOfWork2) => {
703
- NatureOfWork2["FULLTIME"] = "FULLTIME";
704
- NatureOfWork2["PARTTIME"] = "PARTTIME";
705
- NatureOfWork2["BOTH"] = "BOTH";
706
- return NatureOfWork2;
707
- })(NatureOfWork || {});
708
- var ModeOfWork = /* @__PURE__ */ ((ModeOfWork2) => {
709
- ModeOfWork2["ONSITE"] = "ONSITE";
710
- ModeOfWork2["REMOTE"] = "REMOTE";
711
- ModeOfWork2["BOTH"] = "BOTH";
712
- return ModeOfWork2;
713
- })(ModeOfWork || {});
714
- var OnboardingStepEnum = /* @__PURE__ */ ((OnboardingStepEnum2) => {
715
- OnboardingStepEnum2["SIGN_UP"] = "SIGN_UP";
716
- OnboardingStepEnum2["OTP_VERIFIED"] = "OTP_VERIFIED";
717
- OnboardingStepEnum2["UPLOAD_RESUME"] = "UPLOAD_RESUME";
718
- OnboardingStepEnum2["AI_VIDEO_ASSESMENT"] = "AI_VIDEO_ASSESMENT";
719
- OnboardingStepEnum2["CODING_CHALLENGE"] = "CODING_CHALLENGE";
720
- OnboardingStepEnum2["PROFILE_COMPLETION"] = "PROFILE_COMPLETION";
721
- return OnboardingStepEnum2;
722
- })(OnboardingStepEnum || {});
723
- var FreelancerProfile = class extends BaseEntity {
724
- };
725
- // individual index to find profile by user
779
+ IsOptional8(),
780
+ IsString14()
781
+ ], UpdateFreelancerProfileDto.prototype, "mobile", 2);
726
782
  __decorateClass([
727
- Column5({ name: "user_id", type: "integer", nullable: true }),
728
- Index2()
729
- ], FreelancerProfile.prototype, "userId", 2);
783
+ IsOptional8(),
784
+ IsNumber3()
785
+ ], UpdateFreelancerProfileDto.prototype, "countryId", 2);
730
786
  __decorateClass([
731
- ManyToOne4(() => User, (user) => user.freelancerProfile),
732
- JoinColumn4({ name: "user_id" })
733
- ], FreelancerProfile.prototype, "user", 2);
787
+ IsOptional8(),
788
+ IsString14()
789
+ ], UpdateFreelancerProfileDto.prototype, "currency", 2);
734
790
  __decorateClass([
735
- Column5({ name: "resume_url", type: "text", nullable: true })
736
- ], FreelancerProfile.prototype, "resumeUrl", 2);
791
+ IsOptional8(),
792
+ IsString14()
793
+ ], UpdateFreelancerProfileDto.prototype, "expectedHourlyCompensation", 2);
737
794
  __decorateClass([
738
- Column5({ name: "resume_data", type: "jsonb", nullable: true })
739
- ], FreelancerProfile.prototype, "resumeData", 2);
795
+ IsOptional8(),
796
+ IsEnum7(NatureOfWorkDto, {
797
+ message: `Engagement Type must be one of: ${Object.values(NatureOfWorkDto).join(", ")}`
798
+ })
799
+ ], UpdateFreelancerProfileDto.prototype, "natureOfWork", 2);
740
800
  __decorateClass([
741
- Column5({ name: "is_developer", type: "boolean", default: false })
742
- ], FreelancerProfile.prototype, "isDeveloper", 2);
801
+ IsOptional8(),
802
+ IsString14()
803
+ ], UpdateFreelancerProfileDto.prototype, "portfolioLink", 2);
743
804
  __decorateClass([
744
- Column5({
745
- name: "nature_of_work",
746
- type: "enum",
747
- enum: NatureOfWork,
748
- nullable: true
749
- })
750
- ], FreelancerProfile.prototype, "natureOfWork", 2);
805
+ IsOptional8(),
806
+ IsString14()
807
+ ], UpdateFreelancerProfileDto.prototype, "address", 2);
751
808
  __decorateClass([
752
- Column5({ name: "currency", type: "varchar", default: "USD" })
753
- ], FreelancerProfile.prototype, "currency", 2);
809
+ IsOptional8(),
810
+ IsString14()
811
+ ], UpdateFreelancerProfileDto.prototype, "about", 2);
754
812
  __decorateClass([
755
- Column5({
756
- name: "expected_hourly_compensation",
757
- type: "numeric",
758
- precision: 10,
759
- scale: 2,
760
- nullable: true
761
- })
762
- ], FreelancerProfile.prototype, "expectedHourlyCompensation", 2);
813
+ IsOptional8(),
814
+ IsString14()
815
+ ], UpdateFreelancerProfileDto.prototype, "linkedinProfileLink", 2);
763
816
  __decorateClass([
764
- Column5({
765
- name: "mode_of_work",
766
- type: "enum",
767
- enum: ModeOfWork,
768
- nullable: true
769
- })
770
- ], FreelancerProfile.prototype, "modeOfWork", 2);
817
+ IsOptional8(),
818
+ IsString14()
819
+ ], UpdateFreelancerProfileDto.prototype, "kaggleProfileLink", 2);
771
820
  __decorateClass([
772
- Column5({ name: "availability_to_join", type: "varchar", nullable: true })
773
- ], FreelancerProfile.prototype, "availabilityToJoin", 2);
821
+ IsOptional8(),
822
+ IsString14()
823
+ ], UpdateFreelancerProfileDto.prototype, "githubProfileLink", 2);
774
824
  __decorateClass([
775
- Column5({ name: "is_immediate_joiner", type: "boolean", nullable: true })
776
- ], FreelancerProfile.prototype, "isImmediateJoiner", 2);
825
+ IsOptional8(),
826
+ IsString14()
827
+ ], UpdateFreelancerProfileDto.prototype, "stackOverflowProfileLink", 2);
828
+
829
+ // src/modules/bank/pattern/pattern.ts
830
+ var BANK_PATTERN = {
831
+ addFreelancerBankDetails: "add.freelancer.bankdetails",
832
+ fetchFreelancerBankDetails: "fetch.freelancer.bank.details",
833
+ updateFreelancerBankDetails: "update.freelancer.bank.details"
834
+ };
835
+
836
+ // src/modules/bank/dto/freelancer-bank-details.dto.ts
837
+ import {
838
+ IsEnum as IsEnum8,
839
+ IsNotEmpty as IsNotEmpty22,
840
+ IsOptional as IsOptional9,
841
+ ValidateIf
842
+ } from "class-validator";
843
+ var BankAccountScope = /* @__PURE__ */ ((BankAccountScope2) => {
844
+ BankAccountScope2["DOMESTIC"] = "DOMESTIC";
845
+ BankAccountScope2["INTERNATIONAL"] = "INTERNATIONAL";
846
+ return BankAccountScope2;
847
+ })(BankAccountScope || {});
848
+ var FreelancerBankDetailsDto = class {
849
+ };
777
850
  __decorateClass([
778
- Column5({ name: "linkedin_profile_link", type: "varchar", nullable: true })
779
- ], FreelancerProfile.prototype, "linkedinProfileLink", 2);
851
+ IsNotEmpty22({ message: "Please enter Account Holder Name." })
852
+ ], FreelancerBankDetailsDto.prototype, "name", 2);
780
853
  __decorateClass([
781
- Column5({ name: "kaggle_profile_link", type: "varchar", nullable: true })
782
- ], FreelancerProfile.prototype, "kaggleProfileLink", 2);
854
+ IsNotEmpty22({ message: "Please enter Mobile Number." })
855
+ ], FreelancerBankDetailsDto.prototype, "mobile", 2);
783
856
  __decorateClass([
784
- Column5({ name: "github_profile_link", type: "varchar", nullable: true })
785
- ], FreelancerProfile.prototype, "githubProfileLink", 2);
857
+ IsNotEmpty22({ message: "Please enter Email." })
858
+ ], FreelancerBankDetailsDto.prototype, "email", 2);
786
859
  __decorateClass([
787
- Column5({
788
- name: "stack_overflow_profile_link",
789
- type: "varchar",
790
- nullable: true
791
- })
792
- ], FreelancerProfile.prototype, "stackOverflowProfileLink", 2);
860
+ IsOptional9()
861
+ ], FreelancerBankDetailsDto.prototype, "address", 2);
793
862
  __decorateClass([
794
- Column5({ name: "portfolio_link", type: "varchar", nullable: true })
795
- ], FreelancerProfile.prototype, "portfolioLink", 2);
863
+ IsNotEmpty22({ message: "Please enter Account Number." })
864
+ ], FreelancerBankDetailsDto.prototype, "accountNumber", 2);
796
865
  __decorateClass([
797
- Column5({
798
- name: "onboarding_step_completed",
799
- type: "enum",
800
- enum: OnboardingStepEnum,
801
- nullable: true
802
- })
803
- ], FreelancerProfile.prototype, "onboardingStepCompleted", 2);
866
+ IsNotEmpty22({ message: "Please enter Bank Name." })
867
+ ], FreelancerBankDetailsDto.prototype, "bankName", 2);
804
868
  __decorateClass([
805
- Column5({ name: "country_id", type: "integer", nullable: true })
806
- ], FreelancerProfile.prototype, "countryId", 2);
869
+ IsNotEmpty22({ message: "Please enter Branch Name." })
870
+ ], FreelancerBankDetailsDto.prototype, "branchName", 2);
807
871
  __decorateClass([
808
- Column5({ name: "address", type: "varchar", nullable: true })
809
- ], FreelancerProfile.prototype, "address", 2);
872
+ ValidateIf((dto) => dto.accountScope === "DOMESTIC"),
873
+ IsNotEmpty22({ message: "IFSC Code is required for DOMESTIC accounts." })
874
+ ], FreelancerBankDetailsDto.prototype, "ifscCode", 2);
810
875
  __decorateClass([
811
- Column5({ name: "about", type: "varchar", nullable: true })
812
- ], FreelancerProfile.prototype, "about", 2);
813
- FreelancerProfile = __decorateClass([
814
- Entity4("freelancer_profiles")
815
- ], FreelancerProfile);
816
-
817
- // src/entities/job.entity.ts
818
- import {
819
- Entity as Entity8,
820
- Column as Column9,
821
- Index as Index5,
822
- ManyToOne as ManyToOne7,
823
- JoinColumn as JoinColumn7,
824
- OneToMany as OneToMany4
825
- } from "typeorm";
826
-
827
- // src/entities/job-skill.entity.ts
828
- import { Entity as Entity6, Column as Column7, Index as Index3, ManyToOne as ManyToOne5, JoinColumn as JoinColumn5 } from "typeorm";
829
-
830
- // src/entities/skill.entity.ts
831
- import { Entity as Entity5, Column as Column6, OneToMany as OneToMany2 } from "typeorm";
832
- var Skill = class extends BaseEntity {
833
- };
876
+ ValidateIf((dto) => dto.accountScope === "INTERNATIONAL"),
877
+ IsNotEmpty22({ message: "Routing Number/Sort Code is required for INTERNATIONAL accounts." })
878
+ ], FreelancerBankDetailsDto.prototype, "routingNo", 2);
834
879
  __decorateClass([
835
- Column6({ name: "name", type: "varchar", nullable: true })
836
- ], Skill.prototype, "name", 2);
880
+ ValidateIf((dto) => dto.accountScope === "INTERNATIONAL"),
881
+ IsNotEmpty22({ message: "ABA Number is required for INTERNATIONAL accounts." })
882
+ ], FreelancerBankDetailsDto.prototype, "abaNumber", 2);
837
883
  __decorateClass([
838
- Column6({ name: "slug", type: "varchar", nullable: true, unique: true })
839
- ], Skill.prototype, "slug", 2);
884
+ ValidateIf((dto) => dto.accountScope === "INTERNATIONAL"),
885
+ IsNotEmpty22({ message: "IBAN is required for INTERNATIONAL accounts." })
886
+ ], FreelancerBankDetailsDto.prototype, "iban", 2);
840
887
  __decorateClass([
841
- Column6({ name: "is_active", type: "boolean", default: false })
842
- ], Skill.prototype, "isActive", 2);
888
+ IsOptional9()
889
+ ], FreelancerBankDetailsDto.prototype, "accountType", 2);
843
890
  __decorateClass([
844
- OneToMany2(() => JobSkill, (jobSkill) => jobSkill.skill)
845
- ], Skill.prototype, "jobSkills", 2);
846
- Skill = __decorateClass([
847
- Entity5("skills")
848
- ], Skill);
891
+ IsEnum8(BankAccountScope, {
892
+ message: `Type of Account Scope must be one of: ${Object.values(
893
+ BankAccountScope
894
+ ).join(", ")}`
895
+ })
896
+ ], FreelancerBankDetailsDto.prototype, "accountScope", 2);
849
897
 
850
- // src/entities/job-skill.entity.ts
851
- var JobSkill = class extends BaseEntity {
898
+ // src/modules/plan/pattern/pattern.ts
899
+ var PLAN_PATTERN = {
900
+ fetchPlans: "fetch.plans"
901
+ };
902
+
903
+ // src/modules/system-preference/pattern/pattern.ts
904
+ var SYSTEM_PREFERENCES_PATTERN = {
905
+ fetchSystemPreference: "fetch.system.preferences",
906
+ updateSystemPreference: "update.system.preferences",
907
+ createSystemPreference: "create.system.preferences"
908
+ };
909
+
910
+ // src/modules/system-preference/dto/system-preference.dto.ts
911
+ import {
912
+ IsBoolean as IsBoolean6,
913
+ IsEnum as IsEnum9
914
+ } from "class-validator";
915
+ var SystemPreferenceKey = /* @__PURE__ */ ((SystemPreferenceKey2) => {
916
+ SystemPreferenceKey2["EMAIL_NOTIFICATION"] = "EMAIL_NOTIFICATION";
917
+ SystemPreferenceKey2["DARK_MODE"] = "DARK_MODE";
918
+ return SystemPreferenceKey2;
919
+ })(SystemPreferenceKey || {});
920
+ var SystemPreferenceDto = class {
852
921
  };
853
922
  __decorateClass([
854
- Column7({ name: "job_id", type: "integer" }),
855
- Index3()
856
- ], JobSkill.prototype, "jobId", 2);
857
- __decorateClass([
858
- ManyToOne5(() => Job, (job) => job.jobSkills, { onDelete: "CASCADE" }),
859
- JoinColumn5({ name: "job_id" })
860
- ], JobSkill.prototype, "job", 2);
861
- __decorateClass([
862
- Column7({ name: "skill_id", type: "integer" }),
863
- Index3()
864
- ], JobSkill.prototype, "skillId", 2);
923
+ IsBoolean6()
924
+ ], SystemPreferenceDto.prototype, "value", 2);
865
925
  __decorateClass([
866
- ManyToOne5(() => Skill, (skill) => skill.jobSkills, { onDelete: "CASCADE" }),
867
- JoinColumn5({ name: "skill_id" })
868
- ], JobSkill.prototype, "skill", 2);
869
- JobSkill = __decorateClass([
870
- Entity6("job_skills")
871
- ], JobSkill);
926
+ IsEnum9(SystemPreferenceKey, {
927
+ message: `key must be one of: ${Object.values(
928
+ SystemPreferenceKey
929
+ ).join(", ")}`
930
+ })
931
+ ], SystemPreferenceDto.prototype, "key", 2);
872
932
 
873
- // src/entities/job-application.entity.ts
933
+ // src/modules/notification/pattern/pattern.ts
934
+ var NOTIFICATION_PATTERN = {
935
+ handleAccountVerificationNotification: "handle.account.verification.notification",
936
+ handleResetLinkNotification: "handle.reset.link.notification"
937
+ };
938
+
939
+ // src/modules/rating/pattern/pattern.ts
940
+ var RATING_PATTERN = {
941
+ addRating: "add.rating",
942
+ fetchRating: "fetch.rating"
943
+ };
944
+
945
+ // src/modules/rating/dto/add.rating.dto.ts
946
+ import {
947
+ IsEnum as IsEnum10,
948
+ IsInt,
949
+ IsNotEmpty as IsNotEmpty23,
950
+ IsOptional as IsOptional10,
951
+ IsString as IsString15,
952
+ Max,
953
+ Min as Min2
954
+ } from "class-validator";
955
+
956
+ // src/entities/rating.entity.ts
957
+ import { Entity as Entity15, Column as Column16, ManyToOne as ManyToOne14, JoinColumn as JoinColumn14, Index as Index12 } from "typeorm";
958
+
959
+ // src/entities/user.entity.ts
960
+ import { Entity as Entity14, Column as Column15, OneToMany as OneToMany6, OneToOne, Index as Index11, ManyToOne as ManyToOne13, JoinColumn as JoinColumn13 } from "typeorm";
961
+
962
+ // src/entities/base.entity.ts
874
963
  import {
875
- Entity as Entity7,
876
- Column as Column8,
877
- Index as Index4,
878
- ManyToOne as ManyToOne6,
879
- JoinColumn as JoinColumn6
964
+ CreateDateColumn,
965
+ PrimaryGeneratedColumn,
966
+ UpdateDateColumn,
967
+ Column,
968
+ DeleteDateColumn,
969
+ Generated
880
970
  } from "typeorm";
881
- var ApplicationStatusEnum = /* @__PURE__ */ ((ApplicationStatusEnum2) => {
882
- ApplicationStatusEnum2["PENDING"] = "PENDING";
883
- ApplicationStatusEnum2["SHORTLISTED"] = "SHORTLISTED";
884
- ApplicationStatusEnum2["INTERVIEW_IN_PROGRESS"] = "INTERVIEW_IN_PROGRESS";
885
- ApplicationStatusEnum2["INTERVIEWED"] = "INTERVIEWED";
886
- ApplicationStatusEnum2["OFFERED"] = "OFFERED";
887
- ApplicationStatusEnum2["HIRED"] = "HIRED";
888
- ApplicationStatusEnum2["REJECTED_BEFORE_INTERVIEW"] = "REJECTED_BEFORE_INTERVIEW";
889
- ApplicationStatusEnum2["REJECTED_IN_INTERVIEW"] = "REJECTED_IN_INTERVIEW";
890
- ApplicationStatusEnum2["REJECTED_AFTER_INTERVIEW"] = "REJECTED_AFTER_INTERVIEW";
891
- ApplicationStatusEnum2["NOT_SUITABLE"] = "NOT_SUITABLE";
892
- ApplicationStatusEnum2["WITHDRAWN"] = "WITHDRAWN";
893
- return ApplicationStatusEnum2;
894
- })(ApplicationStatusEnum || {});
895
- var JobApplication = class extends BaseEntity {
971
+ var BaseEntity = class {
896
972
  };
897
973
  __decorateClass([
898
- Column8({
899
- name: "job_application_id",
900
- type: "varchar",
901
- unique: true,
902
- nullable: true
903
- })
904
- ], JobApplication.prototype, "jobApplicationId", 2);
905
- __decorateClass([
906
- Column8({ name: "job_id", type: "integer" }),
907
- Index4()
908
- ], JobApplication.prototype, "jobId", 2);
974
+ PrimaryGeneratedColumn("increment", { type: "integer" })
975
+ ], BaseEntity.prototype, "id", 2);
909
976
  __decorateClass([
910
- ManyToOne6(() => Job, (job) => job.jobApplications, { onDelete: "CASCADE" }),
911
- JoinColumn6({ name: "job_id" })
912
- ], JobApplication.prototype, "job", 2);
977
+ Column({ type: "uuid" }),
978
+ Generated("uuid")
979
+ ], BaseEntity.prototype, "uuid", 2);
913
980
  __decorateClass([
914
- Column8({ name: "user_id", type: "integer" }),
915
- Index4()
916
- ], JobApplication.prototype, "userId", 2);
981
+ CreateDateColumn({ name: "created_at", type: "timestamp with time zone" })
982
+ ], BaseEntity.prototype, "createdAt", 2);
917
983
  __decorateClass([
918
- ManyToOne6(() => User, (user) => user.jobApplications),
919
- JoinColumn6({ name: "user_id" })
920
- ], JobApplication.prototype, "user", 2);
984
+ Column({ name: "created_by", type: "integer", nullable: true })
985
+ ], BaseEntity.prototype, "createdBy", 2);
921
986
  __decorateClass([
922
- Column8({
923
- name: "status",
924
- type: "enum",
925
- enum: ApplicationStatusEnum,
926
- default: "PENDING" /* PENDING */
927
- })
928
- ], JobApplication.prototype, "status", 2);
987
+ UpdateDateColumn({ name: "updated_at", type: "timestamp with time zone" })
988
+ ], BaseEntity.prototype, "updatedAt", 2);
929
989
  __decorateClass([
930
- Column8({
931
- name: "applied_at",
932
- type: "timestamp with time zone",
933
- default: () => "CURRENT_TIMESTAMP"
934
- })
935
- ], JobApplication.prototype, "appliedAt", 2);
990
+ Column({ name: "updated_by", type: "integer", nullable: true })
991
+ ], BaseEntity.prototype, "updatedBy", 2);
936
992
  __decorateClass([
937
- Column8({
938
- name: "shortlisted_at",
939
- type: "timestamp with time zone",
940
- nullable: true
941
- })
942
- ], JobApplication.prototype, "shortlistedAt", 2);
993
+ Column({ name: "is_deleted", type: "boolean", default: false })
994
+ ], BaseEntity.prototype, "isDeleted", 2);
943
995
  __decorateClass([
944
- Column8({
945
- name: "interview_started_at",
946
- type: "timestamp with time zone",
947
- nullable: true
948
- })
949
- ], JobApplication.prototype, "interviewStartedAt", 2);
996
+ Column({ name: "deleted_by", type: "integer", nullable: true })
997
+ ], BaseEntity.prototype, "deletedBy", 2);
950
998
  __decorateClass([
951
- Column8({
952
- name: "interview_completed_at",
999
+ DeleteDateColumn({
1000
+ name: "deleted_at",
953
1001
  type: "timestamp with time zone",
954
1002
  nullable: true
955
1003
  })
956
- ], JobApplication.prototype, "interviewCompletedAt", 2);
1004
+ ], BaseEntity.prototype, "deletedAt", 2);
1005
+
1006
+ // src/entities/refresh-token.entity.ts
1007
+ import {
1008
+ Entity,
1009
+ PrimaryGeneratedColumn as PrimaryGeneratedColumn2,
1010
+ Column as Column2,
1011
+ ManyToOne,
1012
+ JoinColumn,
1013
+ CreateDateColumn as CreateDateColumn2,
1014
+ UpdateDateColumn as UpdateDateColumn2
1015
+ } from "typeorm";
1016
+ var RefreshToken = class {
1017
+ };
957
1018
  __decorateClass([
958
- Column8({
959
- name: "offered_at",
960
- type: "timestamp with time zone",
961
- nullable: true
962
- })
963
- ], JobApplication.prototype, "offeredAt", 2);
1019
+ PrimaryGeneratedColumn2("uuid")
1020
+ ], RefreshToken.prototype, "id", 2);
964
1021
  __decorateClass([
965
- Column8({
966
- name: "hired_at",
967
- type: "timestamp with time zone",
968
- nullable: true
969
- })
970
- ], JobApplication.prototype, "hiredAt", 2);
1022
+ Column2({ name: "user_id", type: "integer" })
1023
+ ], RefreshToken.prototype, "userId", 2);
971
1024
  __decorateClass([
972
- Column8({
973
- name: "rejected_at",
974
- type: "timestamp with time zone",
975
- nullable: true
976
- })
977
- ], JobApplication.prototype, "rejectedAt", 2);
1025
+ Column2({ name: "token_id", type: "varchar" })
1026
+ ], RefreshToken.prototype, "tokenId", 2);
978
1027
  __decorateClass([
979
- Column8({ name: "rejection_reason", type: "varchar", nullable: true })
980
- ], JobApplication.prototype, "rejectionReason", 2);
1028
+ Column2({ name: "device_info", type: "json", nullable: true })
1029
+ ], RefreshToken.prototype, "deviceInfo", 2);
981
1030
  __decorateClass([
982
- Column8({
983
- name: "withdrawn_at",
984
- type: "timestamp with time zone",
985
- nullable: true
986
- })
987
- ], JobApplication.prototype, "withdrawnAt", 2);
988
- __decorateClass([
989
- Column8({ name: "withdrawn_reason", type: "varchar", nullable: true })
990
- ], JobApplication.prototype, "withdrawnReason", 2);
991
- JobApplication = __decorateClass([
992
- Entity7("job_applications")
993
- ], JobApplication);
994
-
995
- // src/entities/job.entity.ts
996
- var JobLocationEnum = /* @__PURE__ */ ((JobLocationEnum2) => {
997
- JobLocationEnum2["ONSITE"] = "ONSITE";
998
- JobLocationEnum2["REMOTE"] = "REMOTE";
999
- JobLocationEnum2["BOTH"] = "BOTH";
1000
- return JobLocationEnum2;
1001
- })(JobLocationEnum || {});
1002
- var TypeOfEmploymentEnum = /* @__PURE__ */ ((TypeOfEmploymentEnum2) => {
1003
- TypeOfEmploymentEnum2["FULLTIME"] = "FULLTIME";
1004
- TypeOfEmploymentEnum2["PARTTIME"] = "PARTTIME";
1005
- TypeOfEmploymentEnum2["BOTH"] = "BOTH";
1006
- return TypeOfEmploymentEnum2;
1007
- })(TypeOfEmploymentEnum || {});
1008
- var Step = /* @__PURE__ */ ((Step2) => {
1009
- Step2["BASIC_INFORMATION"] = "BASIC_INFORMATION";
1010
- Step2["ADDITIONAL_COMMENTS"] = "ADDITIONAL_COMMENTS";
1011
- Step2["JOB_DESCRIPTION"] = "JOB_DESCRIPTION";
1012
- return Step2;
1013
- })(Step || {});
1014
- var JobStatusEnum = /* @__PURE__ */ ((JobStatusEnum2) => {
1015
- JobStatusEnum2["ACTIVE"] = "ACTIVE";
1016
- JobStatusEnum2["OPEN"] = "OPEN";
1017
- JobStatusEnum2["DRAFT"] = "DRAFT";
1018
- JobStatusEnum2["ONHOLD"] = "ONHOLD";
1019
- JobStatusEnum2["CLOSED"] = "CLOSED";
1020
- return JobStatusEnum2;
1021
- })(JobStatusEnum || {});
1022
- var DurationTypeEnum = /* @__PURE__ */ ((DurationTypeEnum2) => {
1023
- DurationTypeEnum2["DAY"] = "DAY";
1024
- DurationTypeEnum2["WEEK"] = "WEEK";
1025
- DurationTypeEnum2["MONTH"] = "MONTH";
1026
- DurationTypeEnum2["YEAR"] = "YEAR";
1027
- return DurationTypeEnum2;
1028
- })(DurationTypeEnum || {});
1029
- var Job = class extends BaseEntity {
1030
- };
1031
- __decorateClass([
1032
- Column9({ name: "job_id", type: "varchar", unique: true, nullable: true })
1033
- ], Job.prototype, "jobId", 2);
1034
- // individual index to find jobs by user
1035
- __decorateClass([
1036
- Column9({ name: "user_id", type: "integer", nullable: true }),
1037
- Index5()
1038
- ], Job.prototype, "userId", 2);
1039
- __decorateClass([
1040
- ManyToOne7(() => User, (user) => user.jobs),
1041
- JoinColumn7({ name: "user_id" })
1042
- ], Job.prototype, "user", 2);
1043
- __decorateClass([
1044
- Column9({ name: "job_role", type: "varchar", nullable: true })
1045
- ], Job.prototype, "jobRole", 2);
1046
- __decorateClass([
1047
- Column9({ name: "note", type: "varchar", nullable: true })
1048
- ], Job.prototype, "note", 2);
1049
- __decorateClass([
1050
- Column9({ name: "openings", type: "integer", default: 0 })
1051
- ], Job.prototype, "openings", 2);
1052
- __decorateClass([
1053
- Column9({
1054
- name: "location",
1055
- type: "enum",
1056
- enum: JobLocationEnum,
1057
- nullable: true
1058
- })
1059
- ], Job.prototype, "location", 2);
1031
+ Column2({ name: "is_revoked", type: "boolean", default: false })
1032
+ ], RefreshToken.prototype, "isRevoked", 2);
1060
1033
  __decorateClass([
1061
- Column9({
1062
- name: "type_of_employment",
1063
- type: "enum",
1064
- enum: TypeOfEmploymentEnum,
1065
- nullable: true
1066
- })
1067
- ], Job.prototype, "typeOfEmployment", 2);
1034
+ Column2({ name: "expires_at", type: "timestamp with time zone" })
1035
+ ], RefreshToken.prototype, "expiresAt", 2);
1068
1036
  __decorateClass([
1069
- Column9({ name: "currency", type: "varchar", default: "USD" })
1070
- ], Job.prototype, "currency", 2);
1037
+ CreateDateColumn2({ name: "created_at", type: "timestamp with time zone" })
1038
+ ], RefreshToken.prototype, "createdAt", 2);
1071
1039
  __decorateClass([
1072
- Column9({
1073
- name: "expected_salary_from",
1074
- type: "decimal",
1075
- precision: 10,
1076
- scale: 2,
1077
- default: 0
1078
- })
1079
- ], Job.prototype, "expectedSalaryFrom", 2);
1040
+ UpdateDateColumn2({ name: "updated_at", type: "timestamp with time zone" })
1041
+ ], RefreshToken.prototype, "updatedAt", 2);
1080
1042
  __decorateClass([
1081
- Column9({
1082
- name: "expected_salary_to",
1083
- type: "decimal",
1084
- precision: 10,
1085
- scale: 2,
1086
- default: 0
1087
- })
1088
- ], Job.prototype, "expectedSalaryTo", 2);
1043
+ ManyToOne(() => User, (user) => user.refreshTokens),
1044
+ JoinColumn({ name: "user_id" })
1045
+ ], RefreshToken.prototype, "user", 2);
1046
+ RefreshToken = __decorateClass([
1047
+ Entity("refresh_tokens")
1048
+ ], RefreshToken);
1049
+
1050
+ // src/entities/senseloaf-log.entity.ts
1051
+ import {
1052
+ Entity as Entity2,
1053
+ PrimaryGeneratedColumn as PrimaryGeneratedColumn3,
1054
+ Column as Column3,
1055
+ CreateDateColumn as CreateDateColumn3,
1056
+ ManyToOne as ManyToOne2,
1057
+ JoinColumn as JoinColumn2
1058
+ } from "typeorm";
1059
+ var SenseloafLog = class {
1060
+ };
1089
1061
  __decorateClass([
1090
- Column9({ name: "tentative_start_date", type: "date", nullable: true })
1091
- ], Job.prototype, "tentativeStartDate", 2);
1062
+ PrimaryGeneratedColumn3("increment", { type: "integer" })
1063
+ ], SenseloafLog.prototype, "id", 2);
1092
1064
  __decorateClass([
1093
- Column9({ name: "duration", type: "varchar", nullable: true })
1094
- ], Job.prototype, "duration", 2);
1065
+ Column3({ name: "user_id", type: "integer", nullable: true })
1066
+ ], SenseloafLog.prototype, "userId", 2);
1095
1067
  __decorateClass([
1096
- Column9({
1097
- name: "duration_type",
1098
- type: "enum",
1099
- enum: DurationTypeEnum,
1100
- nullable: true
1101
- })
1102
- ], Job.prototype, "durationType", 2);
1068
+ Column3({ name: "type", type: "varchar", nullable: true })
1069
+ ], SenseloafLog.prototype, "type", 2);
1103
1070
  __decorateClass([
1104
- Column9({ name: "description", type: "varchar", nullable: true })
1105
- ], Job.prototype, "description", 2);
1071
+ Column3({ name: "end_point", type: "varchar" })
1072
+ ], SenseloafLog.prototype, "endpoint", 2);
1106
1073
  __decorateClass([
1107
- Column9({ name: "additional_comment", type: "varchar", nullable: true })
1108
- ], Job.prototype, "additionalComment", 2);
1074
+ Column3({ name: "success", type: "boolean" })
1075
+ ], SenseloafLog.prototype, "success", 2);
1109
1076
  __decorateClass([
1110
- Column9({
1111
- name: "onboarding_tat",
1112
- type: "varchar",
1113
- length: 50,
1114
- nullable: true
1115
- })
1116
- ], Job.prototype, "onboardingTat", 2);
1077
+ Column3({ name: "request", type: "jsonb", nullable: true })
1078
+ ], SenseloafLog.prototype, "request", 2);
1117
1079
  __decorateClass([
1118
- Column9({
1119
- name: "candidate_communication_skills",
1120
- type: "varchar",
1121
- nullable: true
1122
- })
1123
- ], Job.prototype, "candidateCommunicationSkills", 2);
1080
+ Column3({ name: "response", type: "jsonb", nullable: true })
1081
+ ], SenseloafLog.prototype, "response", 2);
1124
1082
  __decorateClass([
1125
- Column9({
1126
- name: "step_completed",
1127
- type: "enum",
1128
- enum: Step,
1129
- nullable: true
1130
- })
1131
- ], Job.prototype, "stepCompleted", 2);
1083
+ Column3({ name: "error_message", type: "text", nullable: true })
1084
+ ], SenseloafLog.prototype, "errorMessage", 2);
1132
1085
  __decorateClass([
1133
- Column9({
1134
- name: "status",
1135
- type: "enum",
1136
- enum: JobStatusEnum,
1137
- default: "DRAFT" /* DRAFT */
1138
- })
1139
- ], Job.prototype, "status", 2);
1086
+ Column3({ name: "scope", type: "varchar", nullable: true })
1087
+ ], SenseloafLog.prototype, "scope", 2);
1140
1088
  __decorateClass([
1141
- OneToMany4(() => JobSkill, (jobSkill) => jobSkill.job, { cascade: true })
1142
- ], Job.prototype, "jobSkills", 2);
1089
+ CreateDateColumn3({ name: "created_at", type: "timestamp with time zone" })
1090
+ ], SenseloafLog.prototype, "createdAt", 2);
1143
1091
  __decorateClass([
1144
- OneToMany4(() => JobApplication, (jobApplication) => jobApplication.job, {
1145
- cascade: true
1146
- })
1147
- ], Job.prototype, "jobApplications", 2);
1148
- Job = __decorateClass([
1149
- Entity8("jobs")
1150
- ], Job);
1092
+ ManyToOne2(() => User, (user) => user.senseloafLogs),
1093
+ JoinColumn2({ name: "user_id" })
1094
+ ], SenseloafLog.prototype, "user", 2);
1095
+ SenseloafLog = __decorateClass([
1096
+ Entity2("senseloaf_logs")
1097
+ ], SenseloafLog);
1151
1098
 
1152
- // src/entities/bank-details.entity.ts
1099
+ // src/entities/otp.entity.ts
1153
1100
  import {
1154
- Entity as Entity9,
1155
- Column as Column10,
1156
- Index as Index6,
1157
- ManyToOne as ManyToOne8,
1158
- JoinColumn as JoinColumn8
1101
+ Entity as Entity3,
1102
+ PrimaryGeneratedColumn as PrimaryGeneratedColumn4,
1103
+ Column as Column4,
1104
+ CreateDateColumn as CreateDateColumn4,
1105
+ ManyToOne as ManyToOne3,
1106
+ JoinColumn as JoinColumn3,
1107
+ Index
1159
1108
  } from "typeorm";
1160
- var BankAccountTypeEnum = /* @__PURE__ */ ((BankAccountTypeEnum2) => {
1161
- BankAccountTypeEnum2["PRIMARY"] = "PRIMARY";
1162
- BankAccountTypeEnum2["SECONDARY"] = "SECONDARY";
1163
- return BankAccountTypeEnum2;
1164
- })(BankAccountTypeEnum || {});
1165
- var BankAccountScopeEnum = /* @__PURE__ */ ((BankAccountScopeEnum2) => {
1166
- BankAccountScopeEnum2["DOMESTIC"] = "DOMESTIC";
1167
- BankAccountScopeEnum2["INTERNATIONAL"] = "INTERNATIONAL";
1168
- return BankAccountScopeEnum2;
1169
- })(BankAccountScopeEnum || {});
1170
- var BankDetail = class extends BaseEntity {
1109
+ var Otp = class {
1171
1110
  };
1172
- // individual index to find bank details by user
1173
- __decorateClass([
1174
- Column10({ name: "user_id", type: "integer", nullable: true }),
1175
- Index6()
1176
- ], BankDetail.prototype, "userId", 2);
1177
1111
  __decorateClass([
1178
- ManyToOne8(() => User, (user) => user.bankDetail),
1179
- JoinColumn8({ name: "user_id" })
1180
- ], BankDetail.prototype, "user", 2);
1112
+ PrimaryGeneratedColumn4("increment", { type: "integer" })
1113
+ ], Otp.prototype, "id", 2);
1114
+ // individual index to find OTPs by user
1181
1115
  __decorateClass([
1182
- Column10({ name: "name", type: "varchar", nullable: true })
1183
- ], BankDetail.prototype, "name", 2);
1116
+ Column4({ name: "user_id", type: "integer", nullable: true }),
1117
+ Index()
1118
+ ], Otp.prototype, "userId", 2);
1184
1119
  __decorateClass([
1185
- Column10({ name: "mobile", type: "varchar", unique: true, nullable: true })
1186
- ], BankDetail.prototype, "mobile", 2);
1120
+ Column4({ name: "otp", type: "varchar", length: 4 }),
1121
+ Index()
1122
+ ], Otp.prototype, "otp", 2);
1187
1123
  __decorateClass([
1188
- Column10({ name: "email", type: "varchar", unique: true })
1189
- ], BankDetail.prototype, "email", 2);
1124
+ Column4({ name: "otp_purpose", type: "varchar", length: 50 })
1125
+ ], Otp.prototype, "otpPurpose", 2);
1190
1126
  __decorateClass([
1191
- Column10({ name: "address", type: "varchar", nullable: true })
1192
- ], BankDetail.prototype, "address", 2);
1127
+ Column4({ name: "target", type: "varchar", nullable: true }),
1128
+ Index()
1129
+ ], Otp.prototype, "target", 2);
1130
+ // support expiration checks
1193
1131
  __decorateClass([
1194
- Column10({ name: "account_number", type: "varchar", unique: true, nullable: true })
1195
- ], BankDetail.prototype, "accountNumber", 2);
1132
+ Column4({ name: "expire_at", type: "timestamp" }),
1133
+ Index()
1134
+ ], Otp.prototype, "expiresAt", 2);
1196
1135
  __decorateClass([
1197
- Column10({ name: "bank_name", type: "varchar", nullable: true })
1198
- ], BankDetail.prototype, "bankName", 2);
1136
+ Column4({ name: "is_used", type: "boolean", default: false }),
1137
+ Index()
1138
+ ], Otp.prototype, "isUsed", 2);
1199
1139
  __decorateClass([
1200
- Column10({ name: "ifsc_code", type: "varchar", nullable: true })
1201
- ], BankDetail.prototype, "ifscCode", 2);
1140
+ Column4({ name: "resend_count", type: "int", default: 0 })
1141
+ ], Otp.prototype, "resendCount", 2);
1202
1142
  __decorateClass([
1203
- Column10({ name: "branch_name", type: "varchar", nullable: true })
1204
- ], BankDetail.prototype, "branchName", 2);
1143
+ CreateDateColumn4({ name: "created_at", type: "timestamp with time zone" })
1144
+ ], Otp.prototype, "createdAt", 2);
1205
1145
  __decorateClass([
1206
- Column10({ name: "routing_no", type: "varchar", nullable: true })
1207
- ], BankDetail.prototype, "routingNo", 2);
1146
+ ManyToOne3(() => User, (user) => user.otps),
1147
+ JoinColumn3({ name: "user_id" })
1148
+ ], Otp.prototype, "user", 2);
1149
+ Otp = __decorateClass([
1150
+ Entity3("otps"),
1151
+ Index(["userId", "otp", "otpPurpose", "isUsed"])
1152
+ ], Otp);
1153
+
1154
+ // src/entities/freelancer-profile.entity.ts
1155
+ import {
1156
+ Entity as Entity4,
1157
+ Column as Column5,
1158
+ Index as Index2,
1159
+ ManyToOne as ManyToOne4,
1160
+ JoinColumn as JoinColumn4
1161
+ } from "typeorm";
1162
+ var NatureOfWork = /* @__PURE__ */ ((NatureOfWork2) => {
1163
+ NatureOfWork2["FULLTIME"] = "FULLTIME";
1164
+ NatureOfWork2["PARTTIME"] = "PARTTIME";
1165
+ NatureOfWork2["BOTH"] = "BOTH";
1166
+ return NatureOfWork2;
1167
+ })(NatureOfWork || {});
1168
+ var ModeOfWork = /* @__PURE__ */ ((ModeOfWork2) => {
1169
+ ModeOfWork2["ONSITE"] = "ONSITE";
1170
+ ModeOfWork2["REMOTE"] = "REMOTE";
1171
+ ModeOfWork2["BOTH"] = "BOTH";
1172
+ return ModeOfWork2;
1173
+ })(ModeOfWork || {});
1174
+ var OnboardingStepEnum = /* @__PURE__ */ ((OnboardingStepEnum2) => {
1175
+ OnboardingStepEnum2["SIGN_UP"] = "SIGN_UP";
1176
+ OnboardingStepEnum2["OTP_VERIFIED"] = "OTP_VERIFIED";
1177
+ OnboardingStepEnum2["UPLOAD_RESUME"] = "UPLOAD_RESUME";
1178
+ OnboardingStepEnum2["AI_VIDEO_ASSESMENT"] = "AI_VIDEO_ASSESMENT";
1179
+ OnboardingStepEnum2["CODING_CHALLENGE"] = "CODING_CHALLENGE";
1180
+ OnboardingStepEnum2["PROFILE_COMPLETION"] = "PROFILE_COMPLETION";
1181
+ return OnboardingStepEnum2;
1182
+ })(OnboardingStepEnum || {});
1183
+ var FreelancerProfile = class extends BaseEntity {
1184
+ };
1185
+ // individual index to find profile by user
1208
1186
  __decorateClass([
1209
- Column10({ name: "aba_no", type: "varchar", nullable: true })
1210
- ], BankDetail.prototype, "abaNumber", 2);
1187
+ Column5({ name: "user_id", type: "integer", nullable: true }),
1188
+ Index2()
1189
+ ], FreelancerProfile.prototype, "userId", 2);
1211
1190
  __decorateClass([
1212
- Column10({ name: "iban", type: "varchar", nullable: true })
1213
- ], BankDetail.prototype, "iban", 2);
1191
+ ManyToOne4(() => User, (user) => user.freelancerProfile),
1192
+ JoinColumn4({ name: "user_id" })
1193
+ ], FreelancerProfile.prototype, "user", 2);
1214
1194
  __decorateClass([
1215
- Column10({
1216
- name: "account_type",
1195
+ Column5({ name: "resume_url", type: "text", nullable: true })
1196
+ ], FreelancerProfile.prototype, "resumeUrl", 2);
1197
+ __decorateClass([
1198
+ Column5({ name: "resume_data", type: "jsonb", nullable: true })
1199
+ ], FreelancerProfile.prototype, "resumeData", 2);
1200
+ __decorateClass([
1201
+ Column5({ name: "is_developer", type: "boolean", default: false })
1202
+ ], FreelancerProfile.prototype, "isDeveloper", 2);
1203
+ __decorateClass([
1204
+ Column5({
1205
+ name: "nature_of_work",
1217
1206
  type: "enum",
1218
- enum: BankAccountTypeEnum,
1219
- default: "PRIMARY" /* PRIMARY */
1207
+ enum: NatureOfWork,
1208
+ nullable: true
1220
1209
  })
1221
- ], BankDetail.prototype, "accountType", 2);
1210
+ ], FreelancerProfile.prototype, "natureOfWork", 2);
1222
1211
  __decorateClass([
1223
- Column10({
1224
- name: "account_scope",
1225
- type: "enum",
1226
- enum: BankAccountScopeEnum,
1227
- default: "DOMESTIC" /* DOMESTIC */
1212
+ Column5({ name: "currency", type: "varchar", default: "USD" })
1213
+ ], FreelancerProfile.prototype, "currency", 2);
1214
+ __decorateClass([
1215
+ Column5({
1216
+ name: "expected_hourly_compensation",
1217
+ type: "numeric",
1218
+ precision: 10,
1219
+ scale: 2,
1220
+ nullable: true
1228
1221
  })
1229
- ], BankDetail.prototype, "accountScope", 2);
1230
- BankDetail = __decorateClass([
1231
- Entity9("bank_details")
1232
- ], BankDetail);
1233
-
1234
- // src/entities/system-preference.entity.ts
1235
- import {
1236
- Entity as Entity10,
1237
- Column as Column11,
1238
- Index as Index7,
1239
- ManyToOne as ManyToOne9,
1240
- JoinColumn as JoinColumn9
1241
- } from "typeorm";
1242
- var SystemPreference = class extends BaseEntity {
1243
- };
1244
- // individual index to find system preference by user
1222
+ ], FreelancerProfile.prototype, "expectedHourlyCompensation", 2);
1245
1223
  __decorateClass([
1246
- Column11({ name: "user_id", type: "integer", nullable: true }),
1247
- Index7()
1248
- ], SystemPreference.prototype, "userId", 2);
1224
+ Column5({
1225
+ name: "mode_of_work",
1226
+ type: "enum",
1227
+ enum: ModeOfWork,
1228
+ nullable: true
1229
+ })
1230
+ ], FreelancerProfile.prototype, "modeOfWork", 2);
1249
1231
  __decorateClass([
1250
- ManyToOne9(() => User, (user) => user.systemPreference),
1251
- JoinColumn9({ name: "user_id" })
1252
- ], SystemPreference.prototype, "user", 2);
1232
+ Column5({ name: "availability_to_join", type: "varchar", nullable: true })
1233
+ ], FreelancerProfile.prototype, "availabilityToJoin", 2);
1253
1234
  __decorateClass([
1254
- Column11({ name: "key", type: "varchar", unique: true, nullable: false })
1255
- ], SystemPreference.prototype, "key", 2);
1235
+ Column5({ name: "is_immediate_joiner", type: "boolean", nullable: true })
1236
+ ], FreelancerProfile.prototype, "isImmediateJoiner", 2);
1256
1237
  __decorateClass([
1257
- Column11({ name: "value", type: "boolean", default: false })
1258
- ], SystemPreference.prototype, "value", 2);
1259
- SystemPreference = __decorateClass([
1260
- Entity10("system_preferences")
1261
- ], SystemPreference);
1262
-
1263
- // src/entities/rating.entity.ts
1264
- import { Entity as Entity11, Column as Column12, ManyToOne as ManyToOne10, JoinColumn as JoinColumn10, Index as Index8 } from "typeorm";
1265
- var RatingTypeEnum = /* @__PURE__ */ ((RatingTypeEnum2) => {
1266
- RatingTypeEnum2["FREELANCER_TO_CLIENT"] = "FREELANCER_TO_CLIENT";
1267
- RatingTypeEnum2["CLIENT_TO_FREELANCER"] = "CLIENT_TO_FREELANCER";
1268
- return RatingTypeEnum2;
1269
- })(RatingTypeEnum || {});
1270
- var Rating = class extends BaseEntity {
1271
- };
1238
+ Column5({ name: "linkedin_profile_link", type: "varchar", nullable: true })
1239
+ ], FreelancerProfile.prototype, "linkedinProfileLink", 2);
1272
1240
  __decorateClass([
1273
- Column12({ name: "reviewer_id", type: "integer" }),
1274
- Index8()
1275
- ], Rating.prototype, "reviewer_id", 2);
1241
+ Column5({ name: "kaggle_profile_link", type: "varchar", nullable: true })
1242
+ ], FreelancerProfile.prototype, "kaggleProfileLink", 2);
1276
1243
  __decorateClass([
1277
- ManyToOne10(() => User, { onDelete: "CASCADE" }),
1278
- JoinColumn10({ name: "reviewer_id" })
1279
- ], Rating.prototype, "reviewer", 2);
1244
+ Column5({ name: "github_profile_link", type: "varchar", nullable: true })
1245
+ ], FreelancerProfile.prototype, "githubProfileLink", 2);
1280
1246
  __decorateClass([
1281
- Column12({ name: "reviewee_id", type: "integer" }),
1282
- Index8()
1283
- ], Rating.prototype, "reviewee_id", 2);
1247
+ Column5({
1248
+ name: "stack_overflow_profile_link",
1249
+ type: "varchar",
1250
+ nullable: true
1251
+ })
1252
+ ], FreelancerProfile.prototype, "stackOverflowProfileLink", 2);
1284
1253
  __decorateClass([
1285
- ManyToOne10(() => User, { onDelete: "CASCADE" }),
1286
- JoinColumn10({ name: "reviewee_id" })
1287
- ], Rating.prototype, "reviewee", 2);
1254
+ Column5({ name: "portfolio_link", type: "varchar", nullable: true })
1255
+ ], FreelancerProfile.prototype, "portfolioLink", 2);
1288
1256
  __decorateClass([
1289
- Column12({
1257
+ Column5({
1258
+ name: "onboarding_step_completed",
1290
1259
  type: "enum",
1291
- enum: RatingTypeEnum,
1260
+ enum: OnboardingStepEnum,
1292
1261
  nullable: true
1293
1262
  })
1294
- ], Rating.prototype, "ratingType", 2);
1263
+ ], FreelancerProfile.prototype, "onboardingStepCompleted", 2);
1295
1264
  __decorateClass([
1296
- Column12({ type: "integer", nullable: true })
1297
- ], Rating.prototype, "rating", 2);
1265
+ Column5({ name: "country_id", type: "integer", nullable: true })
1266
+ ], FreelancerProfile.prototype, "countryId", 2);
1298
1267
  __decorateClass([
1299
- Column12({ type: "text", nullable: true })
1300
- ], Rating.prototype, "review", 2);
1301
- Rating = __decorateClass([
1302
- Entity11("ratings")
1303
- ], Rating);
1268
+ Column5({ name: "address", type: "varchar", nullable: true })
1269
+ ], FreelancerProfile.prototype, "address", 2);
1270
+ __decorateClass([
1271
+ Column5({ name: "about", type: "varchar", nullable: true })
1272
+ ], FreelancerProfile.prototype, "about", 2);
1273
+ FreelancerProfile = __decorateClass([
1274
+ Entity4("freelancer_profiles")
1275
+ ], FreelancerProfile);
1304
1276
 
1305
- // src/entities/company-role.entity.ts
1306
- import { Column as Column13, Entity as Entity12, Index as Index9, JoinColumn as JoinColumn11, ManyToOne as ManyToOne11 } from "typeorm";
1307
- var CompanyRole = class extends BaseEntity {
1277
+ // src/entities/company-profile.entity.ts
1278
+ import {
1279
+ Entity as Entity5,
1280
+ Column as Column6,
1281
+ ManyToOne as ManyToOne5,
1282
+ JoinColumn as JoinColumn5,
1283
+ Index as Index3
1284
+ } from "typeorm";
1285
+ var KindOfHire = /* @__PURE__ */ ((KindOfHire2) => {
1286
+ KindOfHire2["FULLTIME"] = "FULLTIME";
1287
+ KindOfHire2["SHORTTIME"] = "SHORTTIME";
1288
+ KindOfHire2["BOTH"] = "BOTH";
1289
+ return KindOfHire2;
1290
+ })(KindOfHire || {});
1291
+ var ModeOfHire = /* @__PURE__ */ ((ModeOfHire2) => {
1292
+ ModeOfHire2["ONSITE"] = "ONSITE";
1293
+ ModeOfHire2["REMOTE"] = "REMOTE";
1294
+ ModeOfHire2["BOTH"] = "BOTH";
1295
+ return ModeOfHire2;
1296
+ })(ModeOfHire || {});
1297
+ var FromUsOn = /* @__PURE__ */ ((FromUsOn2) => {
1298
+ FromUsOn2["LINKEDIN"] = "LINKEDIN";
1299
+ FromUsOn2["GOOGLE"] = "GOOGLE";
1300
+ FromUsOn2["REFERRAL"] = "REFERRAL";
1301
+ FromUsOn2["OTHER"] = "OTHER";
1302
+ return FromUsOn2;
1303
+ })(FromUsOn || {});
1304
+ var CompanyProfile = class extends BaseEntity {
1308
1305
  };
1309
- // individual index to find company roles by user
1306
+ // individual index to find company profile by user
1310
1307
  __decorateClass([
1311
- Column13({ name: "user_id", type: "integer", nullable: true }),
1312
- Index9()
1313
- ], CompanyRole.prototype, "userId", 2);
1308
+ Column6({ name: "user_id", type: "integer", nullable: true }),
1309
+ Index3()
1310
+ ], CompanyProfile.prototype, "userId", 2);
1314
1311
  __decorateClass([
1315
- ManyToOne11(() => User, (user) => user.companyRole),
1316
- JoinColumn11({ name: "user_id" })
1317
- ], CompanyRole.prototype, "user", 2);
1312
+ ManyToOne5(() => User, (user) => user.otps),
1313
+ JoinColumn5({ name: "user_id" })
1314
+ ], CompanyProfile.prototype, "user", 2);
1318
1315
  __decorateClass([
1319
- Column13({ name: "name", type: "varchar" })
1320
- ], CompanyRole.prototype, "name", 2);
1316
+ Column6({ name: "company_name", type: "varchar", nullable: true })
1317
+ ], CompanyProfile.prototype, "companyName", 2);
1321
1318
  __decorateClass([
1322
- Column13({ name: "slug", type: "varchar", nullable: true, unique: true }),
1323
- Index9()
1324
- ], CompanyRole.prototype, "slug", 2);
1319
+ Column6({ name: "bio", type: "varchar", nullable: true })
1320
+ ], CompanyProfile.prototype, "bio", 2);
1325
1321
  __decorateClass([
1326
- Column13({ name: "description", type: "text", nullable: true })
1327
- ], CompanyRole.prototype, "description", 2);
1322
+ Column6({ name: "website", type: "varchar", nullable: true })
1323
+ ], CompanyProfile.prototype, "webSite", 2);
1328
1324
  __decorateClass([
1329
- Column13({ name: "is_active", type: "boolean", default: true })
1330
- ], CompanyRole.prototype, "isActive", 2);
1331
- CompanyRole = __decorateClass([
1332
- Entity12("company_roles")
1333
- ], CompanyRole);
1334
-
1335
- // src/entities/freelancer-experience.entity.ts
1336
- import {
1337
- Entity as Entity13,
1338
- Column as Column14,
1339
- Index as Index10,
1340
- ManyToOne as ManyToOne12,
1341
- JoinColumn as JoinColumn12
1342
- } from "typeorm";
1343
- var FreelancerExperience = class extends BaseEntity {
1344
- };
1345
- // individual index to find experence by user
1325
+ Column6({ name: "about_company", type: "varchar", nullable: true })
1326
+ ], CompanyProfile.prototype, "aboutCompany", 2);
1346
1327
  __decorateClass([
1347
- Column14({ name: "user_id", type: "integer", nullable: true }),
1348
- Index10()
1349
- ], FreelancerExperience.prototype, "userId", 2);
1328
+ Column6({ name: "is_service_aggrement_signed", type: "boolean", default: false })
1329
+ ], CompanyProfile.prototype, "isServiceAgreementSigned", 2);
1350
1330
  __decorateClass([
1351
- ManyToOne12(() => User, (user) => user.freelancerExperience),
1352
- JoinColumn12({ name: "user_id" })
1353
- ], FreelancerExperience.prototype, "user", 2);
1331
+ Column6({ name: "company_address", type: "varchar", nullable: true })
1332
+ ], CompanyProfile.prototype, "companyAddress", 2);
1354
1333
  __decorateClass([
1355
- Column14({ name: "company_name", type: "varchar", nullable: true })
1356
- ], FreelancerExperience.prototype, "companyName", 2);
1334
+ Column6({ name: "phone_number", type: "varchar", nullable: true })
1335
+ ], CompanyProfile.prototype, "phoneNumber", 2);
1357
1336
  __decorateClass([
1358
- Column14({ name: "designation", type: "varchar", nullable: true })
1359
- ], FreelancerExperience.prototype, "designation", 2);
1337
+ Column6({ name: "skills", type: "text", nullable: true })
1338
+ ], CompanyProfile.prototype, "skills", 2);
1360
1339
  __decorateClass([
1361
- Column14({ name: "job_duration", type: "varchar", nullable: true })
1362
- ], FreelancerExperience.prototype, "jobDuration", 2);
1340
+ Column6({ name: "required_freelancer", type: "varchar", nullable: true })
1341
+ ], CompanyProfile.prototype, "requiredFreelancer", 2);
1363
1342
  __decorateClass([
1364
- Column14({ name: "description", type: "varchar", nullable: true })
1365
- ], FreelancerExperience.prototype, "description", 2);
1366
- FreelancerExperience = __decorateClass([
1367
- Entity13("freelancer_experiences")
1368
- ], FreelancerExperience);
1369
-
1370
- // src/entities/user.entity.ts
1371
- var AccountType = /* @__PURE__ */ ((AccountType2) => {
1372
- AccountType2["ADMIN"] = "ADMIN";
1373
- AccountType2["SUB_ADMIN"] = "SUB_ADMIN";
1374
- AccountType2["CLIENT"] = "CLIENT";
1375
- AccountType2["FREELANCER"] = "FREELANCER";
1376
- return AccountType2;
1377
- })(AccountType || {});
1378
- var AccountStatus = /* @__PURE__ */ ((AccountStatus2) => {
1379
- AccountStatus2["INACTIVE"] = "INACTIVE";
1380
- AccountStatus2["ACTIVE"] = "ACTIVE";
1381
- AccountStatus2["SUSPENDED"] = "SUSPENDED";
1382
- AccountStatus2["BLOCKED"] = "BLOCKED";
1383
- return AccountStatus2;
1384
- })(AccountStatus || {});
1385
- var Provider = /* @__PURE__ */ ((Provider2) => {
1386
- Provider2["LINKEDIN"] = "LINKEDIN";
1387
- Provider2["GOOGLE"] = "GOOGLE";
1388
- Provider2["GITLABS"] = "GITLABS";
1389
- return Provider2;
1390
- })(Provider || {});
1391
- var User = class extends BaseEntity {
1392
- };
1343
+ Column6({
1344
+ name: "kind_of_hiring",
1345
+ type: "enum",
1346
+ enum: KindOfHire,
1347
+ nullable: true
1348
+ })
1349
+ ], CompanyProfile.prototype, "kindOfHiring", 2);
1393
1350
  __decorateClass([
1394
- Column15({ name: "unique_id", type: "varchar", unique: true })
1395
- ], User.prototype, "uniqueId", 2);
1351
+ Column6({
1352
+ name: "mode_of_hire",
1353
+ type: "enum",
1354
+ enum: ModeOfHire,
1355
+ nullable: true
1356
+ })
1357
+ ], CompanyProfile.prototype, "modeOfHire", 2);
1396
1358
  __decorateClass([
1397
- Column15({ name: "parent_id", type: "integer", nullable: true }),
1398
- Index11()
1399
- ], User.prototype, "parentId", 2);
1359
+ Column6({
1360
+ name: "found_us_on",
1361
+ type: "enum",
1362
+ enum: FromUsOn,
1363
+ nullable: true
1364
+ })
1365
+ ], CompanyProfile.prototype, "foundUsOn", 2);
1366
+ CompanyProfile = __decorateClass([
1367
+ Entity5("company_profiles")
1368
+ ], CompanyProfile);
1369
+
1370
+ // src/entities/job.entity.ts
1371
+ import {
1372
+ Entity as Entity9,
1373
+ Column as Column10,
1374
+ Index as Index6,
1375
+ ManyToOne as ManyToOne8,
1376
+ JoinColumn as JoinColumn8,
1377
+ OneToMany as OneToMany4
1378
+ } from "typeorm";
1379
+
1380
+ // src/entities/job-skill.entity.ts
1381
+ import { Entity as Entity7, Column as Column8, Index as Index4, ManyToOne as ManyToOne6, JoinColumn as JoinColumn6 } from "typeorm";
1382
+
1383
+ // src/entities/skill.entity.ts
1384
+ import { Entity as Entity6, Column as Column7, OneToMany as OneToMany2 } from "typeorm";
1385
+ var Skill = class extends BaseEntity {
1386
+ };
1400
1387
  __decorateClass([
1401
- ManyToOne13(() => User, (user) => user.children, { nullable: true }),
1402
- JoinColumn13({ name: "parent_id" })
1403
- ], User.prototype, "parent", 2);
1388
+ Column7({ name: "name", type: "varchar", nullable: true })
1389
+ ], Skill.prototype, "name", 2);
1404
1390
  __decorateClass([
1405
- OneToMany6(() => User, (user) => user.parent)
1406
- ], User.prototype, "children", 2);
1391
+ Column7({ name: "slug", type: "varchar", nullable: true, unique: true })
1392
+ ], Skill.prototype, "slug", 2);
1407
1393
  __decorateClass([
1408
- Column15({ name: "username", type: "varchar", unique: true, nullable: true })
1409
- ], User.prototype, "username", 2);
1394
+ Column7({ name: "is_active", type: "boolean", default: false })
1395
+ ], Skill.prototype, "isActive", 2);
1410
1396
  __decorateClass([
1411
- Column15({ name: "first_name", type: "varchar", length: 100, nullable: true })
1412
- ], User.prototype, "firstName", 2);
1397
+ OneToMany2(() => JobSkill, (jobSkill) => jobSkill.skill)
1398
+ ], Skill.prototype, "jobSkills", 2);
1399
+ Skill = __decorateClass([
1400
+ Entity6("skills")
1401
+ ], Skill);
1402
+
1403
+ // src/entities/job-skill.entity.ts
1404
+ var JobSkill = class extends BaseEntity {
1405
+ };
1413
1406
  __decorateClass([
1414
- Column15({ name: "last_name", type: "varchar", length: 100, nullable: true })
1415
- ], User.prototype, "lastName", 2);
1407
+ Column8({ name: "job_id", type: "integer" }),
1408
+ Index4()
1409
+ ], JobSkill.prototype, "jobId", 2);
1416
1410
  __decorateClass([
1417
- Column15({ name: "date_of_birth", type: "date", nullable: true })
1418
- ], User.prototype, "dateOfBirth", 2);
1411
+ ManyToOne6(() => Job, (job) => job.jobSkills, { onDelete: "CASCADE" }),
1412
+ JoinColumn6({ name: "job_id" })
1413
+ ], JobSkill.prototype, "job", 2);
1419
1414
  __decorateClass([
1420
- Column15({ name: "gender", type: "varchar", length: 10, nullable: true })
1421
- ], User.prototype, "gender", 2);
1415
+ Column8({ name: "skill_id", type: "integer" }),
1416
+ Index4()
1417
+ ], JobSkill.prototype, "skillId", 2);
1422
1418
  __decorateClass([
1423
- Column15({ name: "profile_picture_url", type: "text", nullable: true })
1424
- ], User.prototype, "profilePictureUrl", 2);
1419
+ ManyToOne6(() => Skill, (skill) => skill.jobSkills, { onDelete: "CASCADE" }),
1420
+ JoinColumn6({ name: "skill_id" })
1421
+ ], JobSkill.prototype, "skill", 2);
1422
+ JobSkill = __decorateClass([
1423
+ Entity7("job_skills")
1424
+ ], JobSkill);
1425
+
1426
+ // src/entities/job-application.entity.ts
1427
+ import {
1428
+ Entity as Entity8,
1429
+ Column as Column9,
1430
+ Index as Index5,
1431
+ ManyToOne as ManyToOne7,
1432
+ JoinColumn as JoinColumn7
1433
+ } from "typeorm";
1434
+ var ApplicationStatusEnum = /* @__PURE__ */ ((ApplicationStatusEnum2) => {
1435
+ ApplicationStatusEnum2["PENDING"] = "PENDING";
1436
+ ApplicationStatusEnum2["SHORTLISTED"] = "SHORTLISTED";
1437
+ ApplicationStatusEnum2["INTERVIEW_IN_PROGRESS"] = "INTERVIEW_IN_PROGRESS";
1438
+ ApplicationStatusEnum2["INTERVIEWED"] = "INTERVIEWED";
1439
+ ApplicationStatusEnum2["OFFERED"] = "OFFERED";
1440
+ ApplicationStatusEnum2["HIRED"] = "HIRED";
1441
+ ApplicationStatusEnum2["REJECTED_BEFORE_INTERVIEW"] = "REJECTED_BEFORE_INTERVIEW";
1442
+ ApplicationStatusEnum2["REJECTED_IN_INTERVIEW"] = "REJECTED_IN_INTERVIEW";
1443
+ ApplicationStatusEnum2["REJECTED_AFTER_INTERVIEW"] = "REJECTED_AFTER_INTERVIEW";
1444
+ ApplicationStatusEnum2["NOT_SUITABLE"] = "NOT_SUITABLE";
1445
+ ApplicationStatusEnum2["WITHDRAWN"] = "WITHDRAWN";
1446
+ return ApplicationStatusEnum2;
1447
+ })(ApplicationStatusEnum || {});
1448
+ var JobApplication = class extends BaseEntity {
1449
+ };
1425
1450
  __decorateClass([
1426
- Column15({ name: "email", type: "varchar", unique: true })
1427
- ], User.prototype, "email", 2);
1451
+ Column9({
1452
+ name: "job_application_id",
1453
+ type: "varchar",
1454
+ unique: true,
1455
+ nullable: true
1456
+ })
1457
+ ], JobApplication.prototype, "jobApplicationId", 2);
1428
1458
  __decorateClass([
1429
- Column15({ name: "mobile_code", type: "varchar", nullable: true })
1430
- ], User.prototype, "mobileCode", 2);
1459
+ Column9({ name: "job_id", type: "integer" }),
1460
+ Index5()
1461
+ ], JobApplication.prototype, "jobId", 2);
1431
1462
  __decorateClass([
1432
- Column15({ name: "mobile", type: "varchar", unique: true, nullable: true })
1433
- ], User.prototype, "mobile", 2);
1463
+ ManyToOne7(() => Job, (job) => job.jobApplications, { onDelete: "CASCADE" }),
1464
+ JoinColumn7({ name: "job_id" })
1465
+ ], JobApplication.prototype, "job", 2);
1434
1466
  __decorateClass([
1435
- Column15({ name: "password", type: "varchar" })
1436
- ], User.prototype, "password", 2);
1467
+ Column9({ name: "user_id", type: "integer" }),
1468
+ Index5()
1469
+ ], JobApplication.prototype, "userId", 2);
1437
1470
  __decorateClass([
1438
- Column15({
1439
- name: "account_type",
1440
- type: "enum",
1441
- enum: AccountType,
1442
- default: "FREELANCER" /* FREELANCER */
1443
- })
1444
- ], User.prototype, "accountType", 2);
1471
+ ManyToOne7(() => User, (user) => user.jobApplications),
1472
+ JoinColumn7({ name: "user_id" })
1473
+ ], JobApplication.prototype, "user", 2);
1445
1474
  __decorateClass([
1446
- Column15({
1447
- name: "account_status",
1475
+ Column9({
1476
+ name: "status",
1448
1477
  type: "enum",
1449
- enum: AccountStatus,
1450
- default: "INACTIVE" /* INACTIVE */
1478
+ enum: ApplicationStatusEnum,
1479
+ default: "PENDING" /* PENDING */
1451
1480
  })
1452
- ], User.prototype, "accountStatus", 2);
1453
- __decorateClass([
1454
- Column15({ name: "is_email_verified", type: "boolean", default: false })
1455
- ], User.prototype, "isEmailVerified", 2);
1481
+ ], JobApplication.prototype, "status", 2);
1456
1482
  __decorateClass([
1457
- Column15({ name: "is_mobile_verified", type: "boolean", default: false })
1458
- ], User.prototype, "isMobileVerified", 2);
1483
+ Column9({
1484
+ name: "applied_at",
1485
+ type: "timestamp with time zone",
1486
+ default: () => "CURRENT_TIMESTAMP"
1487
+ })
1488
+ ], JobApplication.prototype, "appliedAt", 2);
1459
1489
  __decorateClass([
1460
- Column15({
1461
- name: "last_login_at",
1490
+ Column9({
1491
+ name: "shortlisted_at",
1462
1492
  type: "timestamp with time zone",
1463
1493
  nullable: true
1464
1494
  })
1465
- ], User.prototype, "lastLoginAt", 2);
1466
- __decorateClass([
1467
- Column15({ name: "last_login_ip", type: "varchar", nullable: true })
1468
- ], User.prototype, "lastLoginIp", 2);
1469
- __decorateClass([
1470
- Column15({ name: "reset_token", type: "varchar", nullable: true })
1471
- ], User.prototype, "resetToken", 2);
1495
+ ], JobApplication.prototype, "shortlistedAt", 2);
1472
1496
  __decorateClass([
1473
- Column15({
1474
- name: "reset_token_expire_at",
1497
+ Column9({
1498
+ name: "interview_started_at",
1475
1499
  type: "timestamp with time zone",
1476
1500
  nullable: true
1477
1501
  })
1478
- ], User.prototype, "resetTokenExpireAt", 2);
1479
- __decorateClass([
1480
- OneToMany6(() => RefreshToken, (token) => token.user)
1481
- ], User.prototype, "refreshTokens", 2);
1502
+ ], JobApplication.prototype, "interviewStartedAt", 2);
1482
1503
  __decorateClass([
1483
- Column15({
1484
- name: "provider",
1485
- type: "enum",
1486
- enum: Provider,
1487
- default: null,
1504
+ Column9({
1505
+ name: "interview_completed_at",
1506
+ type: "timestamp with time zone",
1488
1507
  nullable: true
1489
1508
  })
1490
- ], User.prototype, "provider", 2);
1491
- __decorateClass([
1492
- Column15({ name: "provider_token", type: "varchar", nullable: true })
1493
- ], User.prototype, "providerToken", 2);
1494
- __decorateClass([
1495
- Column15({ name: "linkedin_id", type: "varchar", nullable: true })
1496
- ], User.prototype, "linkedInId", 2);
1497
- __decorateClass([
1498
- Column15({ name: "google_id", type: "varchar", nullable: true })
1499
- ], User.prototype, "googleId", 2);
1500
- __decorateClass([
1501
- Column15({ name: "gitlabs_id", type: "varchar", nullable: true })
1502
- ], User.prototype, "gitLabsId", 2);
1509
+ ], JobApplication.prototype, "interviewCompletedAt", 2);
1503
1510
  __decorateClass([
1504
- OneToMany6(() => Otp, (otp) => otp.user)
1505
- ], User.prototype, "otps", 2);
1511
+ Column9({
1512
+ name: "offered_at",
1513
+ type: "timestamp with time zone",
1514
+ nullable: true
1515
+ })
1516
+ ], JobApplication.prototype, "offeredAt", 2);
1506
1517
  __decorateClass([
1507
- OneToMany6(() => SenseloafLog, (senseloafLog) => senseloafLog.user)
1508
- ], User.prototype, "senseloafLogs", 2);
1518
+ Column9({
1519
+ name: "hired_at",
1520
+ type: "timestamp with time zone",
1521
+ nullable: true
1522
+ })
1523
+ ], JobApplication.prototype, "hiredAt", 2);
1509
1524
  __decorateClass([
1510
- OneToOne(
1511
- () => FreelancerProfile,
1512
- (freelancerProfile) => freelancerProfile.user
1513
- )
1514
- ], User.prototype, "freelancerProfile", 2);
1525
+ Column9({
1526
+ name: "rejected_at",
1527
+ type: "timestamp with time zone",
1528
+ nullable: true
1529
+ })
1530
+ ], JobApplication.prototype, "rejectedAt", 2);
1515
1531
  __decorateClass([
1516
- OneToOne(() => CompanyProfile, (companyProfile) => companyProfile.user)
1517
- ], User.prototype, "companyProfile", 2);
1532
+ Column9({ name: "rejection_reason", type: "varchar", nullable: true })
1533
+ ], JobApplication.prototype, "rejectionReason", 2);
1518
1534
  __decorateClass([
1519
- OneToMany6(() => Job, (job) => job.user)
1520
- ], User.prototype, "jobs", 2);
1535
+ Column9({
1536
+ name: "withdrawn_at",
1537
+ type: "timestamp with time zone",
1538
+ nullable: true
1539
+ })
1540
+ ], JobApplication.prototype, "withdrawnAt", 2);
1521
1541
  __decorateClass([
1522
- OneToMany6(() => BankDetail, (bankDetail) => bankDetail.user)
1523
- ], User.prototype, "bankDetail", 2);
1542
+ Column9({ name: "withdrawn_reason", type: "varchar", nullable: true })
1543
+ ], JobApplication.prototype, "withdrawnReason", 2);
1544
+ JobApplication = __decorateClass([
1545
+ Entity8("job_applications")
1546
+ ], JobApplication);
1547
+
1548
+ // src/entities/job.entity.ts
1549
+ var JobLocationEnum = /* @__PURE__ */ ((JobLocationEnum2) => {
1550
+ JobLocationEnum2["ONSITE"] = "ONSITE";
1551
+ JobLocationEnum2["REMOTE"] = "REMOTE";
1552
+ JobLocationEnum2["BOTH"] = "BOTH";
1553
+ return JobLocationEnum2;
1554
+ })(JobLocationEnum || {});
1555
+ var TypeOfEmploymentEnum = /* @__PURE__ */ ((TypeOfEmploymentEnum2) => {
1556
+ TypeOfEmploymentEnum2["FULLTIME"] = "FULLTIME";
1557
+ TypeOfEmploymentEnum2["PARTTIME"] = "PARTTIME";
1558
+ TypeOfEmploymentEnum2["BOTH"] = "BOTH";
1559
+ return TypeOfEmploymentEnum2;
1560
+ })(TypeOfEmploymentEnum || {});
1561
+ var Step = /* @__PURE__ */ ((Step2) => {
1562
+ Step2["BASIC_INFORMATION"] = "BASIC_INFORMATION";
1563
+ Step2["ADDITIONAL_COMMENTS"] = "ADDITIONAL_COMMENTS";
1564
+ Step2["JOB_DESCRIPTION"] = "JOB_DESCRIPTION";
1565
+ return Step2;
1566
+ })(Step || {});
1567
+ var JobStatusEnum = /* @__PURE__ */ ((JobStatusEnum2) => {
1568
+ JobStatusEnum2["ACTIVE"] = "ACTIVE";
1569
+ JobStatusEnum2["OPEN"] = "OPEN";
1570
+ JobStatusEnum2["DRAFT"] = "DRAFT";
1571
+ JobStatusEnum2["ONHOLD"] = "ONHOLD";
1572
+ JobStatusEnum2["CLOSED"] = "CLOSED";
1573
+ return JobStatusEnum2;
1574
+ })(JobStatusEnum || {});
1575
+ var DurationTypeEnum = /* @__PURE__ */ ((DurationTypeEnum2) => {
1576
+ DurationTypeEnum2["DAY"] = "DAY";
1577
+ DurationTypeEnum2["WEEK"] = "WEEK";
1578
+ DurationTypeEnum2["MONTH"] = "MONTH";
1579
+ DurationTypeEnum2["YEAR"] = "YEAR";
1580
+ return DurationTypeEnum2;
1581
+ })(DurationTypeEnum || {});
1582
+ var Job = class extends BaseEntity {
1583
+ };
1524
1584
  __decorateClass([
1525
- OneToMany6(
1526
- () => SystemPreference,
1527
- (systemPreference) => systemPreference.user
1528
- )
1529
- ], User.prototype, "systemPreference", 2);
1585
+ Column10({ name: "job_id", type: "varchar", unique: true, nullable: true })
1586
+ ], Job.prototype, "jobId", 2);
1587
+ // individual index to find jobs by user
1530
1588
  __decorateClass([
1531
- OneToMany6(() => Rating, (rating) => rating.reviewer)
1532
- ], User.prototype, "givenRatings", 2);
1589
+ Column10({ name: "user_id", type: "integer", nullable: true }),
1590
+ Index6()
1591
+ ], Job.prototype, "userId", 2);
1533
1592
  __decorateClass([
1534
- OneToMany6(() => Rating, (rating) => rating.reviewee)
1535
- ], User.prototype, "receivedRatings", 2);
1593
+ ManyToOne8(() => User, (user) => user.jobs),
1594
+ JoinColumn8({ name: "user_id" })
1595
+ ], Job.prototype, "user", 2);
1536
1596
  __decorateClass([
1537
- OneToMany6(() => JobApplication, (jobApplication) => jobApplication.user)
1538
- ], User.prototype, "jobApplications", 2);
1597
+ Column10({ name: "job_role", type: "varchar", nullable: true })
1598
+ ], Job.prototype, "jobRole", 2);
1539
1599
  __decorateClass([
1540
- OneToMany6(() => CompanyRole, (companyRole) => companyRole.user)
1541
- ], User.prototype, "companyRole", 2);
1600
+ Column10({ name: "note", type: "varchar", nullable: true })
1601
+ ], Job.prototype, "note", 2);
1542
1602
  __decorateClass([
1543
- OneToOne(() => FreelancerExperience, (freelancerExperience) => freelancerExperience.user)
1544
- ], User.prototype, "freelancerExperience", 2);
1545
- User = __decorateClass([
1546
- Entity14("users")
1547
- ], User);
1548
-
1549
- // src/entities/company-profile.entity.ts
1550
- var KindOfHire = /* @__PURE__ */ ((KindOfHire2) => {
1551
- KindOfHire2["FULLTIME"] = "FULLTIME";
1552
- KindOfHire2["SHORTTIME"] = "SHORTTIME";
1553
- KindOfHire2["BOTH"] = "BOTH";
1554
- return KindOfHire2;
1555
- })(KindOfHire || {});
1556
- var ModeOfHire = /* @__PURE__ */ ((ModeOfHire2) => {
1557
- ModeOfHire2["ONSITE"] = "ONSITE";
1558
- ModeOfHire2["REMOTE"] = "REMOTE";
1559
- ModeOfHire2["BOTH"] = "BOTH";
1560
- return ModeOfHire2;
1561
- })(ModeOfHire || {});
1562
- var FromUsOn = /* @__PURE__ */ ((FromUsOn2) => {
1563
- FromUsOn2["LINKEDIN"] = "LINKEDIN";
1564
- FromUsOn2["GOOGLE"] = "GOOGLE";
1565
- FromUsOn2["REFERRAL"] = "REFERRAL";
1566
- FromUsOn2["OTHER"] = "OTHER";
1567
- return FromUsOn2;
1568
- })(FromUsOn || {});
1569
- var CompanyProfile = class extends BaseEntity {
1570
- };
1571
- // individual index to find company profile by user
1603
+ Column10({ name: "openings", type: "integer", default: 0 })
1604
+ ], Job.prototype, "openings", 2);
1572
1605
  __decorateClass([
1573
- Column16({ name: "user_id", type: "integer", nullable: true }),
1574
- Index12()
1575
- ], CompanyProfile.prototype, "userId", 2);
1606
+ Column10({
1607
+ name: "location",
1608
+ type: "enum",
1609
+ enum: JobLocationEnum,
1610
+ nullable: true
1611
+ })
1612
+ ], Job.prototype, "location", 2);
1576
1613
  __decorateClass([
1577
- ManyToOne14(() => User, (user) => user.otps),
1578
- JoinColumn14({ name: "user_id" })
1579
- ], CompanyProfile.prototype, "user", 2);
1614
+ Column10({
1615
+ name: "type_of_employment",
1616
+ type: "enum",
1617
+ enum: TypeOfEmploymentEnum,
1618
+ nullable: true
1619
+ })
1620
+ ], Job.prototype, "typeOfEmployment", 2);
1580
1621
  __decorateClass([
1581
- Column16({ name: "company_name", type: "varchar", nullable: true })
1582
- ], CompanyProfile.prototype, "companyName", 2);
1622
+ Column10({ name: "currency", type: "varchar", default: "USD" })
1623
+ ], Job.prototype, "currency", 2);
1583
1624
  __decorateClass([
1584
- Column16({ name: "bio", type: "varchar", nullable: true })
1585
- ], CompanyProfile.prototype, "bio", 2);
1625
+ Column10({
1626
+ name: "expected_salary_from",
1627
+ type: "decimal",
1628
+ precision: 10,
1629
+ scale: 2,
1630
+ default: 0
1631
+ })
1632
+ ], Job.prototype, "expectedSalaryFrom", 2);
1586
1633
  __decorateClass([
1587
- Column16({ name: "website", type: "varchar", nullable: true })
1588
- ], CompanyProfile.prototype, "webSite", 2);
1634
+ Column10({
1635
+ name: "expected_salary_to",
1636
+ type: "decimal",
1637
+ precision: 10,
1638
+ scale: 2,
1639
+ default: 0
1640
+ })
1641
+ ], Job.prototype, "expectedSalaryTo", 2);
1589
1642
  __decorateClass([
1590
- Column16({ name: "about_company", type: "varchar", nullable: true })
1591
- ], CompanyProfile.prototype, "aboutCompany", 2);
1643
+ Column10({ name: "tentative_start_date", type: "date", nullable: true })
1644
+ ], Job.prototype, "tentativeStartDate", 2);
1592
1645
  __decorateClass([
1593
- Column16({ name: "is_service_aggrement_signed", type: "boolean", default: false })
1594
- ], CompanyProfile.prototype, "isServiceAgreementSigned", 2);
1646
+ Column10({ name: "duration", type: "varchar", nullable: true })
1647
+ ], Job.prototype, "duration", 2);
1595
1648
  __decorateClass([
1596
- Column16({ name: "company_address", type: "varchar", nullable: true })
1597
- ], CompanyProfile.prototype, "companyAddress", 2);
1649
+ Column10({
1650
+ name: "duration_type",
1651
+ type: "enum",
1652
+ enum: DurationTypeEnum,
1653
+ nullable: true
1654
+ })
1655
+ ], Job.prototype, "durationType", 2);
1598
1656
  __decorateClass([
1599
- Column16({ name: "phone_number", type: "varchar", nullable: true })
1600
- ], CompanyProfile.prototype, "phoneNumber", 2);
1657
+ Column10({ name: "description", type: "varchar", nullable: true })
1658
+ ], Job.prototype, "description", 2);
1601
1659
  __decorateClass([
1602
- Column16({ name: "skills", type: "text", nullable: true })
1603
- ], CompanyProfile.prototype, "skills", 2);
1660
+ Column10({ name: "additional_comment", type: "varchar", nullable: true })
1661
+ ], Job.prototype, "additionalComment", 2);
1604
1662
  __decorateClass([
1605
- Column16({ name: "required_freelancer", type: "varchar", nullable: true })
1606
- ], CompanyProfile.prototype, "requiredFreelancer", 2);
1663
+ Column10({
1664
+ name: "onboarding_tat",
1665
+ type: "varchar",
1666
+ length: 50,
1667
+ nullable: true
1668
+ })
1669
+ ], Job.prototype, "onboardingTat", 2);
1607
1670
  __decorateClass([
1608
- Column16({
1609
- name: "kind_of_hiring",
1610
- type: "enum",
1611
- enum: KindOfHire,
1671
+ Column10({
1672
+ name: "candidate_communication_skills",
1673
+ type: "varchar",
1612
1674
  nullable: true
1613
1675
  })
1614
- ], CompanyProfile.prototype, "kindOfHiring", 2);
1676
+ ], Job.prototype, "candidateCommunicationSkills", 2);
1615
1677
  __decorateClass([
1616
- Column16({
1617
- name: "mode_of_hire",
1678
+ Column10({
1679
+ name: "step_completed",
1618
1680
  type: "enum",
1619
- enum: ModeOfHire,
1681
+ enum: Step,
1620
1682
  nullable: true
1621
1683
  })
1622
- ], CompanyProfile.prototype, "modeOfHire", 2);
1684
+ ], Job.prototype, "stepCompleted", 2);
1623
1685
  __decorateClass([
1624
- Column16({
1625
- name: "found_us_on",
1686
+ Column10({
1687
+ name: "status",
1626
1688
  type: "enum",
1627
- enum: FromUsOn,
1628
- nullable: true
1689
+ enum: JobStatusEnum,
1690
+ default: "DRAFT" /* DRAFT */
1629
1691
  })
1630
- ], CompanyProfile.prototype, "foundUsOn", 2);
1631
- CompanyProfile = __decorateClass([
1632
- Entity15("company_profiles")
1633
- ], CompanyProfile);
1692
+ ], Job.prototype, "status", 2);
1693
+ __decorateClass([
1694
+ OneToMany4(() => JobSkill, (jobSkill) => jobSkill.job, { cascade: true })
1695
+ ], Job.prototype, "jobSkills", 2);
1696
+ __decorateClass([
1697
+ OneToMany4(() => JobApplication, (jobApplication) => jobApplication.job, {
1698
+ cascade: true
1699
+ })
1700
+ ], Job.prototype, "jobApplications", 2);
1701
+ Job = __decorateClass([
1702
+ Entity9("jobs")
1703
+ ], Job);
1634
1704
 
1635
- // src/modules/user/client-profile/dto/update-client-profile.dto.ts
1636
- var UpdateCompanyProfileDto = class {
1705
+ // src/entities/bank-details.entity.ts
1706
+ import {
1707
+ Entity as Entity10,
1708
+ Column as Column11,
1709
+ Index as Index7,
1710
+ ManyToOne as ManyToOne9,
1711
+ JoinColumn as JoinColumn9
1712
+ } from "typeorm";
1713
+ var BankAccountTypeEnum = /* @__PURE__ */ ((BankAccountTypeEnum2) => {
1714
+ BankAccountTypeEnum2["PRIMARY"] = "PRIMARY";
1715
+ BankAccountTypeEnum2["SECONDARY"] = "SECONDARY";
1716
+ return BankAccountTypeEnum2;
1717
+ })(BankAccountTypeEnum || {});
1718
+ var BankAccountScopeEnum = /* @__PURE__ */ ((BankAccountScopeEnum2) => {
1719
+ BankAccountScopeEnum2["DOMESTIC"] = "DOMESTIC";
1720
+ BankAccountScopeEnum2["INTERNATIONAL"] = "INTERNATIONAL";
1721
+ return BankAccountScopeEnum2;
1722
+ })(BankAccountScopeEnum || {});
1723
+ var BankDetail = class extends BaseEntity {
1637
1724
  };
1725
+ // individual index to find bank details by user
1638
1726
  __decorateClass([
1639
- IsString8({ message: "Company name must be a string." })
1640
- ], UpdateCompanyProfileDto.prototype, "companyName", 2);
1727
+ Column11({ name: "user_id", type: "integer", nullable: true }),
1728
+ Index7()
1729
+ ], BankDetail.prototype, "userId", 2);
1641
1730
  __decorateClass([
1642
- IsOptional4(),
1643
- IsString8({ message: "Company bio must be a string." })
1644
- ], UpdateCompanyProfileDto.prototype, "bio", 2);
1731
+ ManyToOne9(() => User, (user) => user.bankDetail),
1732
+ JoinColumn9({ name: "user_id" })
1733
+ ], BankDetail.prototype, "user", 2);
1645
1734
  __decorateClass([
1646
- IsOptional4(),
1647
- IsString8({ message: "Company website url must be a string." })
1648
- ], UpdateCompanyProfileDto.prototype, "webSite", 2);
1735
+ Column11({ name: "name", type: "varchar", nullable: true })
1736
+ ], BankDetail.prototype, "name", 2);
1649
1737
  __decorateClass([
1650
- IsOptional4(),
1651
- IsString8({ message: "About company must be a string." })
1652
- ], UpdateCompanyProfileDto.prototype, "aboutCompany", 2);
1738
+ Column11({ name: "mobile", type: "varchar", unique: true, nullable: true })
1739
+ ], BankDetail.prototype, "mobile", 2);
1653
1740
  __decorateClass([
1654
- IsBoolean4({ message: "Service agreement must be boolean" })
1655
- ], UpdateCompanyProfileDto.prototype, "isServiceAgreementSigned", 2);
1741
+ Column11({ name: "email", type: "varchar", unique: true })
1742
+ ], BankDetail.prototype, "email", 2);
1656
1743
  __decorateClass([
1657
- IsOptional4(),
1658
- IsString8({ message: "Company address must be a string." })
1659
- ], UpdateCompanyProfileDto.prototype, "companyAddress", 2);
1744
+ Column11({ name: "address", type: "varchar", nullable: true })
1745
+ ], BankDetail.prototype, "address", 2);
1660
1746
  __decorateClass([
1661
- IsOptional4(),
1662
- IsString8({ message: "Phone number must be a string." })
1663
- ], UpdateCompanyProfileDto.prototype, "phoneNumber", 2);
1747
+ Column11({ name: "account_number", type: "varchar", unique: true, nullable: true })
1748
+ ], BankDetail.prototype, "accountNumber", 2);
1664
1749
  __decorateClass([
1665
- IsOptional4(),
1666
- IsArray({ message: "Skills must be an array of strings." }),
1667
- IsString8({ each: true, message: "Each skill must be a string." })
1668
- ], UpdateCompanyProfileDto.prototype, "skills", 2);
1750
+ Column11({ name: "bank_name", type: "varchar", nullable: true })
1751
+ ], BankDetail.prototype, "bankName", 2);
1669
1752
  __decorateClass([
1670
- IsOptional4(),
1671
- IsString8({ message: "Required freelancer must be a string." })
1672
- ], UpdateCompanyProfileDto.prototype, "requiredFreelancer", 2);
1753
+ Column11({ name: "ifsc_code", type: "varchar", nullable: true })
1754
+ ], BankDetail.prototype, "ifscCode", 2);
1673
1755
  __decorateClass([
1674
- IsOptional4(),
1675
- IsEnum4(KindOfHire, {
1676
- message: `Kind of hiring must be one of: ${Object.values(KindOfHire).join(", ")}`
1677
- })
1678
- ], UpdateCompanyProfileDto.prototype, "kindOfHiring", 2);
1756
+ Column11({ name: "branch_name", type: "varchar", nullable: true })
1757
+ ], BankDetail.prototype, "branchName", 2);
1679
1758
  __decorateClass([
1680
- IsOptional4(),
1681
- IsEnum4(ModeOfHire, {
1682
- message: `Mode of hire must be one of: ${Object.values(ModeOfHire).join(", ")}`
1683
- })
1684
- ], UpdateCompanyProfileDto.prototype, "modeOfHire", 2);
1759
+ Column11({ name: "routing_no", type: "varchar", nullable: true })
1760
+ ], BankDetail.prototype, "routingNo", 2);
1685
1761
  __decorateClass([
1686
- IsOptional4(),
1687
- IsEnum4(FromUsOn, {
1688
- message: `Found us on must be one of: ${Object.values(FromUsOn).join(", ")}`
1762
+ Column11({ name: "aba_no", type: "varchar", nullable: true })
1763
+ ], BankDetail.prototype, "abaNumber", 2);
1764
+ __decorateClass([
1765
+ Column11({ name: "iban", type: "varchar", nullable: true })
1766
+ ], BankDetail.prototype, "iban", 2);
1767
+ __decorateClass([
1768
+ Column11({
1769
+ name: "account_type",
1770
+ type: "enum",
1771
+ enum: BankAccountTypeEnum,
1772
+ default: "PRIMARY" /* PRIMARY */
1689
1773
  })
1690
- ], UpdateCompanyProfileDto.prototype, "foundUsOn", 2);
1691
-
1692
- // src/modules/user/client-profile/dto/client-change-password.dto.ts
1774
+ ], BankDetail.prototype, "accountType", 2);
1775
+ __decorateClass([
1776
+ Column11({
1777
+ name: "account_scope",
1778
+ type: "enum",
1779
+ enum: BankAccountScopeEnum,
1780
+ default: "DOMESTIC" /* DOMESTIC */
1781
+ })
1782
+ ], BankDetail.prototype, "accountScope", 2);
1783
+ BankDetail = __decorateClass([
1784
+ Entity10("bank_details")
1785
+ ], BankDetail);
1786
+
1787
+ // src/entities/system-preference.entity.ts
1693
1788
  import {
1694
- IsString as IsString9,
1695
- IsNotEmpty as IsNotEmpty15,
1696
- MaxLength as MaxLength5,
1697
- MinLength as MinLength5,
1698
- Matches as Matches4
1699
- } from "class-validator";
1700
- var ClientChangePasswordDto = class {
1789
+ Entity as Entity11,
1790
+ Column as Column12,
1791
+ Index as Index8,
1792
+ ManyToOne as ManyToOne10,
1793
+ JoinColumn as JoinColumn10
1794
+ } from "typeorm";
1795
+ var SystemPreference = class extends BaseEntity {
1701
1796
  };
1797
+ // individual index to find system preference by user
1702
1798
  __decorateClass([
1703
- IsNotEmpty15({ message: "Please enter Old Password." }),
1704
- IsString9()
1705
- ], ClientChangePasswordDto.prototype, "oldPassword", 2);
1799
+ Column12({ name: "user_id", type: "integer", nullable: true }),
1800
+ Index8()
1801
+ ], SystemPreference.prototype, "userId", 2);
1706
1802
  __decorateClass([
1707
- IsNotEmpty15({ message: "Please enter New Password." }),
1708
- IsString9(),
1709
- MinLength5(6),
1710
- MaxLength5(32),
1711
- Matches4(/^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*?&])/, {
1712
- message: "New Password must include letters, numbers and symbols."
1713
- })
1714
- ], ClientChangePasswordDto.prototype, "newPassword", 2);
1803
+ ManyToOne10(() => User, (user) => user.systemPreference),
1804
+ JoinColumn10({ name: "user_id" })
1805
+ ], SystemPreference.prototype, "user", 2);
1806
+ __decorateClass([
1807
+ Column12({ name: "key", type: "varchar", unique: true, nullable: false })
1808
+ ], SystemPreference.prototype, "key", 2);
1809
+ __decorateClass([
1810
+ Column12({ name: "value", type: "boolean", default: false })
1811
+ ], SystemPreference.prototype, "value", 2);
1812
+ SystemPreference = __decorateClass([
1813
+ Entity11("system_preferences")
1814
+ ], SystemPreference);
1715
1815
 
1716
- // src/modules/question/pattern/pattern.ts
1717
- var QUESTION_PATTERN = {
1718
- fetchQuestions: "fetch.questions"
1816
+ // src/entities/company-role.entity.ts
1817
+ import { Column as Column13, Entity as Entity12, Index as Index9, JoinColumn as JoinColumn11, ManyToOne as ManyToOne11 } from "typeorm";
1818
+ var CompanyRole = class extends BaseEntity {
1719
1819
  };
1820
+ // individual index to find company roles by user
1821
+ __decorateClass([
1822
+ Column13({ name: "user_id", type: "integer", nullable: true }),
1823
+ Index9()
1824
+ ], CompanyRole.prototype, "userId", 2);
1825
+ __decorateClass([
1826
+ ManyToOne11(() => User, (user) => user.companyRole),
1827
+ JoinColumn11({ name: "user_id" })
1828
+ ], CompanyRole.prototype, "user", 2);
1829
+ __decorateClass([
1830
+ Column13({ name: "name", type: "varchar" })
1831
+ ], CompanyRole.prototype, "name", 2);
1832
+ __decorateClass([
1833
+ Column13({ name: "slug", type: "varchar", nullable: true, unique: true }),
1834
+ Index9()
1835
+ ], CompanyRole.prototype, "slug", 2);
1836
+ __decorateClass([
1837
+ Column13({ name: "description", type: "text", nullable: true })
1838
+ ], CompanyRole.prototype, "description", 2);
1839
+ __decorateClass([
1840
+ Column13({ name: "is_active", type: "boolean", default: true })
1841
+ ], CompanyRole.prototype, "isActive", 2);
1842
+ CompanyRole = __decorateClass([
1843
+ Entity12("company_roles")
1844
+ ], CompanyRole);
1720
1845
 
1721
- // src/modules/question/dto/create-question.dto.ts
1846
+ // src/entities/freelancer-experience.entity.ts
1722
1847
  import {
1723
- IsNotEmpty as IsNotEmpty16,
1724
- IsOptional as IsOptional5,
1725
- IsBoolean as IsBoolean5
1726
- } from "class-validator";
1727
- var CreateQuestionDto = class {
1848
+ Entity as Entity13,
1849
+ Column as Column14,
1850
+ Index as Index10,
1851
+ ManyToOne as ManyToOne12,
1852
+ JoinColumn as JoinColumn12
1853
+ } from "typeorm";
1854
+ var FreelancerExperience = class extends BaseEntity {
1728
1855
  };
1856
+ // individual index to find experence by user
1729
1857
  __decorateClass([
1730
- IsNotEmpty16({ message: "Please enter unique id." })
1731
- ], CreateQuestionDto.prototype, "questionId", 2);
1858
+ Column14({ name: "user_id", type: "integer", nullable: true }),
1859
+ Index10()
1860
+ ], FreelancerExperience.prototype, "userId", 2);
1732
1861
  __decorateClass([
1733
- IsNotEmpty16({ message: "Please enter question." })
1734
- ], CreateQuestionDto.prototype, "question", 2);
1862
+ ManyToOne12(() => User, (user) => user.freelancerExperience),
1863
+ JoinColumn12({ name: "user_id" })
1864
+ ], FreelancerExperience.prototype, "user", 2);
1735
1865
  __decorateClass([
1736
- IsNotEmpty16({ message: "Please enter for whom the question is." })
1737
- ], CreateQuestionDto.prototype, "questionFor", 2);
1866
+ Column14({ name: "company_name", type: "varchar", nullable: true })
1867
+ ], FreelancerExperience.prototype, "companyName", 2);
1738
1868
  __decorateClass([
1739
- IsNotEmpty16({ message: "Please enter options." })
1740
- ], CreateQuestionDto.prototype, "options", 2);
1869
+ Column14({ name: "designation", type: "varchar", nullable: true })
1870
+ ], FreelancerExperience.prototype, "designation", 2);
1741
1871
  __decorateClass([
1742
- IsOptional5(),
1743
- IsBoolean5({ message: "Whether the question status active" })
1744
- ], CreateQuestionDto.prototype, "isActive", 2);
1745
-
1746
- // src/modules/job/pattern/pattern.ts
1747
- var JOB_ROLE_PATTERN = {
1748
- fetchJobRolesForDropdown: "fetch.job.roles.for.dropdown"
1749
- };
1750
- var JOB_PATTERN = {
1751
- fetchJobs: "fetch.jobs",
1752
- fetchJobCountAsPerStatus: "fetch.job.count.as.per.status",
1753
- fetchJobsDropdown: "fetch.jobs.dropdown",
1754
- fetchJobDetail: "fetch.job.details",
1755
- handleJdUpload: "handle.jd.upload",
1756
- fetchJobBasicInformation: "fetch.job.basic.information",
1757
- createJobBasicInformation: "create.job.basic.information",
1758
- updateJobBasicInformation: "update.job.basic.information",
1759
- fetchJobAdditionalComments: "fetch.job.additional.comments",
1760
- updateJobAdditionalComments: "update.job.additional.comments",
1761
- fetchJobDescription: "fetch.job.description",
1762
- updateJobDescription: "update.job.description",
1763
- updateJobStatus: "update.job.status",
1764
- searchJobsByRoleAndSkills: "search.jobs.by.role.and.skills"
1765
- };
1872
+ Column14({ name: "job_duration", type: "varchar", nullable: true })
1873
+ ], FreelancerExperience.prototype, "jobDuration", 2);
1874
+ __decorateClass([
1875
+ Column14({ name: "description", type: "varchar", nullable: true })
1876
+ ], FreelancerExperience.prototype, "description", 2);
1877
+ FreelancerExperience = __decorateClass([
1878
+ Entity13("freelancer_experiences")
1879
+ ], FreelancerExperience);
1766
1880
 
1767
- // src/modules/job/dto/job-basic-information.dto.ts
1768
- import {
1769
- IsString as IsString10,
1770
- IsNotEmpty as IsNotEmpty17,
1771
- IsArray as IsArray2,
1772
- ArrayNotEmpty,
1773
- IsNumber as IsNumber2,
1774
- IsOptional as IsOptional6,
1775
- IsEnum as IsEnum5,
1776
- Min
1777
- } from "class-validator";
1778
- import { Type } from "class-transformer";
1779
- var JobLocation = /* @__PURE__ */ ((JobLocation2) => {
1780
- JobLocation2["ONSITE"] = "ONSITE";
1781
- JobLocation2["REMOTE"] = "REMOTE";
1782
- JobLocation2["BOTH"] = "BOTH";
1783
- return JobLocation2;
1784
- })(JobLocation || {});
1785
- var EmploymentType = /* @__PURE__ */ ((EmploymentType2) => {
1786
- EmploymentType2["FULLTIME"] = "FULLTIME";
1787
- EmploymentType2["PARTTIME"] = "PARTTIME";
1788
- EmploymentType2["BOTH"] = "BOTH";
1789
- return EmploymentType2;
1790
- })(EmploymentType || {});
1791
- var JobBasicInformationDto = class {
1881
+ // src/entities/user.entity.ts
1882
+ var AccountType = /* @__PURE__ */ ((AccountType2) => {
1883
+ AccountType2["ADMIN"] = "ADMIN";
1884
+ AccountType2["SUB_ADMIN"] = "SUB_ADMIN";
1885
+ AccountType2["CLIENT"] = "CLIENT";
1886
+ AccountType2["FREELANCER"] = "FREELANCER";
1887
+ return AccountType2;
1888
+ })(AccountType || {});
1889
+ var AccountStatus = /* @__PURE__ */ ((AccountStatus2) => {
1890
+ AccountStatus2["INACTIVE"] = "INACTIVE";
1891
+ AccountStatus2["ACTIVE"] = "ACTIVE";
1892
+ AccountStatus2["SUSPENDED"] = "SUSPENDED";
1893
+ AccountStatus2["BLOCKED"] = "BLOCKED";
1894
+ return AccountStatus2;
1895
+ })(AccountStatus || {});
1896
+ var Provider = /* @__PURE__ */ ((Provider2) => {
1897
+ Provider2["LINKEDIN"] = "LINKEDIN";
1898
+ Provider2["GOOGLE"] = "GOOGLE";
1899
+ Provider2["GITLABS"] = "GITLABS";
1900
+ return Provider2;
1901
+ })(Provider || {});
1902
+ var User = class extends BaseEntity {
1792
1903
  };
1793
1904
  __decorateClass([
1794
- IsNotEmpty17({ message: "Please enter job role" }),
1795
- IsString10({ message: "Job role must be a string" })
1796
- ], JobBasicInformationDto.prototype, "jobRole", 2);
1797
- __decorateClass([
1798
- IsOptional6(),
1799
- IsString10({ message: "Note must be a string" })
1800
- ], JobBasicInformationDto.prototype, "note", 2);
1905
+ Column15({ name: "unique_id", type: "varchar", unique: true })
1906
+ ], User.prototype, "uniqueId", 2);
1801
1907
  __decorateClass([
1802
- IsArray2({ message: "Skills must be an array" }),
1803
- ArrayNotEmpty({ message: "Please select at least one skill" }),
1804
- IsNumber2({}, { each: true, message: "Each skill must be a number" }),
1805
- Type(() => Number)
1806
- ], JobBasicInformationDto.prototype, "skills", 2);
1908
+ Column15({ name: "parent_id", type: "integer", nullable: true }),
1909
+ Index11()
1910
+ ], User.prototype, "parentId", 2);
1807
1911
  __decorateClass([
1808
- IsNumber2({}, { message: "Openings must be a number" }),
1809
- Min(1, { message: "There must be at least 1 opening" }),
1810
- Type(() => Number)
1811
- ], JobBasicInformationDto.prototype, "openings", 2);
1912
+ ManyToOne13(() => User, (user) => user.children, { nullable: true }),
1913
+ JoinColumn13({ name: "parent_id" })
1914
+ ], User.prototype, "parent", 2);
1812
1915
  __decorateClass([
1813
- IsEnum5(JobLocation, {
1814
- message: `Location must be one of: ${Object.values(JobLocation).join(
1815
- ", "
1816
- )}`
1817
- })
1818
- ], JobBasicInformationDto.prototype, "location", 2);
1916
+ OneToMany6(() => User, (user) => user.parent)
1917
+ ], User.prototype, "children", 2);
1819
1918
  __decorateClass([
1820
- IsEnum5(EmploymentType, {
1821
- message: `Type of employment must be one of: ${Object.values(
1822
- EmploymentType
1823
- ).join(", ")}`
1824
- })
1825
- ], JobBasicInformationDto.prototype, "typeOfEmployment", 2);
1919
+ Column15({ name: "username", type: "varchar", unique: true, nullable: true })
1920
+ ], User.prototype, "username", 2);
1826
1921
  __decorateClass([
1827
- IsNumber2({}, { message: "Expected salary (from) must be a number" }),
1828
- Min(0, { message: "Expected salary (from) cannot be negative" }),
1829
- Type(() => Number)
1830
- ], JobBasicInformationDto.prototype, "expectedSalaryFrom", 2);
1922
+ Column15({ name: "first_name", type: "varchar", length: 100, nullable: true })
1923
+ ], User.prototype, "firstName", 2);
1831
1924
  __decorateClass([
1832
- IsNumber2({}, { message: "Expected salary (to) must be a number" }),
1833
- Min(0, { message: "Expected salary (to) cannot be negative" }),
1834
- Type(() => Number)
1835
- ], JobBasicInformationDto.prototype, "expectedSalaryTo", 2);
1925
+ Column15({ name: "last_name", type: "varchar", length: 100, nullable: true })
1926
+ ], User.prototype, "lastName", 2);
1836
1927
  __decorateClass([
1837
- IsString10({ message: "Onboarding TAT must be a string" }),
1838
- IsOptional6()
1839
- ], JobBasicInformationDto.prototype, "onboardingTat", 2);
1928
+ Column15({ name: "date_of_birth", type: "date", nullable: true })
1929
+ ], User.prototype, "dateOfBirth", 2);
1840
1930
  __decorateClass([
1841
- IsString10({ message: "Candidate communication skills must be a string" }),
1842
- IsOptional6()
1843
- ], JobBasicInformationDto.prototype, "candidateCommunicationSkills", 2);
1844
-
1845
- // src/modules/job/dto/job-additional-comment.dto.ts
1846
- import { IsOptional as IsOptional7, IsString as IsString11, MaxLength as MaxLength6 } from "class-validator";
1847
- var JobAdditionalCommentDto = class {
1848
- };
1931
+ Column15({ name: "gender", type: "varchar", length: 10, nullable: true })
1932
+ ], User.prototype, "gender", 2);
1849
1933
  __decorateClass([
1850
- IsOptional7(),
1851
- IsString11({ message: "Additional comment must be a string" }),
1852
- MaxLength6(500, { message: "Additional comment must not exceed 500 characters" })
1853
- ], JobAdditionalCommentDto.prototype, "additionalComment", 2);
1854
-
1855
- // src/modules/job/dto/job-description.dto.ts
1856
- import { IsString as IsString12, IsNotEmpty as IsNotEmpty18, MaxLength as MaxLength7 } from "class-validator";
1857
- var JobDescriptionDto = class {
1858
- };
1934
+ Column15({ name: "profile_picture_url", type: "text", nullable: true })
1935
+ ], User.prototype, "profilePictureUrl", 2);
1859
1936
  __decorateClass([
1860
- IsNotEmpty18({ message: "Please enter job description" }),
1861
- IsString12({ message: "Description must be a string" }),
1862
- MaxLength7(5e3, { message: "Description must not exceed 5000 characters" })
1863
- ], JobDescriptionDto.prototype, "description", 2);
1864
-
1865
- // src/modules/job/dto/job-status.dto.ts
1866
- import { IsEnum as IsEnum6, IsNotEmpty as IsNotEmpty19 } from "class-validator";
1867
- var JobStatus = /* @__PURE__ */ ((JobStatus2) => {
1868
- JobStatus2["ACTIVE"] = "ACTIVE";
1869
- JobStatus2["OPEN"] = "OPEN";
1870
- JobStatus2["DRAFT"] = "DRAFT";
1871
- JobStatus2["ONHOLD"] = "ONHOLD";
1872
- JobStatus2["CLOSED"] = "CLOSED";
1873
- return JobStatus2;
1874
- })(JobStatus || {});
1875
- var JobStatusDto = class {
1876
- };
1937
+ Column15({ name: "email", type: "varchar", unique: true })
1938
+ ], User.prototype, "email", 2);
1877
1939
  __decorateClass([
1878
- IsNotEmpty19({ message: "Please provide a job status" }),
1879
- IsEnum6(JobStatus, {
1880
- message: `Status must be one of: ${Object.values(JobStatus).join(", ")}`
1881
- })
1882
- ], JobStatusDto.prototype, "status", 2);
1883
-
1884
- // src/modules/job/dto/job-id-param.dto.ts
1885
- import { IsUUID as IsUUID6 } from "class-validator";
1886
- var JobIdParamDto = class {
1887
- };
1940
+ Column15({ name: "mobile_code", type: "varchar", nullable: true })
1941
+ ], User.prototype, "mobileCode", 2);
1888
1942
  __decorateClass([
1889
- IsUUID6("4", {
1890
- message: "Invalid job ID. It must be a valid UUID version 4."
1891
- })
1892
- ], JobIdParamDto.prototype, "id", 2);
1893
-
1894
- // src/modules/user/freelancer-profile/pattern/pattern.ts
1895
- var PROFILE_PATTERN = {
1896
- fetchFreelancerProfile: "fetch.freelancer.profile",
1897
- changeFreelancerPassword: "change.freelancer.password",
1898
- uploadFreelancerProfilePic: "upload.freelancer.profilepic",
1899
- updateFreelancerProfile: "update.freelancer.profile"
1900
- };
1901
-
1902
- // src/modules/user/freelancer-profile/dto/freelancer-change-password.dto.ts
1903
- import {
1904
- IsString as IsString13,
1905
- IsNotEmpty as IsNotEmpty20,
1906
- MaxLength as MaxLength8,
1907
- MinLength as MinLength6,
1908
- Matches as Matches5
1909
- } from "class-validator";
1910
- var FreelancerChangePasswordDto = class {
1911
- };
1943
+ Column15({ name: "mobile", type: "varchar", unique: true, nullable: true })
1944
+ ], User.prototype, "mobile", 2);
1912
1945
  __decorateClass([
1913
- IsNotEmpty20({ message: "Please enter Old Password." }),
1914
- IsString13()
1915
- ], FreelancerChangePasswordDto.prototype, "oldPassword", 2);
1946
+ Column15({ name: "password", type: "varchar" })
1947
+ ], User.prototype, "password", 2);
1916
1948
  __decorateClass([
1917
- IsNotEmpty20({ message: "Please enter New Password." }),
1918
- IsString13(),
1919
- MinLength6(6),
1920
- MaxLength8(32),
1921
- Matches5(/^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*?&])/, {
1922
- message: "New Password must include letters, numbers and symbols."
1949
+ Column15({
1950
+ name: "account_type",
1951
+ type: "enum",
1952
+ enum: AccountType,
1953
+ default: "FREELANCER" /* FREELANCER */
1923
1954
  })
1924
- ], FreelancerChangePasswordDto.prototype, "newPassword", 2);
1925
-
1926
- // src/modules/user/freelancer-profile/dto/update-freelancer-profile.dto.ts
1927
- import { IsOptional as IsOptional8, IsString as IsString14, IsEmail as IsEmail5, IsNumber as IsNumber3, IsEnum as IsEnum7 } from "class-validator";
1928
- var NatureOfWorkDto = /* @__PURE__ */ ((NatureOfWorkDto2) => {
1929
- NatureOfWorkDto2["FULLTIME"] = "FULLTIME";
1930
- NatureOfWorkDto2["PARTTIME"] = "PARTTIME";
1931
- NatureOfWorkDto2["BOTH"] = "BOTH";
1932
- return NatureOfWorkDto2;
1933
- })(NatureOfWorkDto || {});
1934
- var UpdateFreelancerProfileDto = class {
1935
- };
1955
+ ], User.prototype, "accountType", 2);
1936
1956
  __decorateClass([
1937
- IsOptional8(),
1938
- IsString14()
1939
- ], UpdateFreelancerProfileDto.prototype, "firstName", 2);
1957
+ Column15({
1958
+ name: "account_status",
1959
+ type: "enum",
1960
+ enum: AccountStatus,
1961
+ default: "INACTIVE" /* INACTIVE */
1962
+ })
1963
+ ], User.prototype, "accountStatus", 2);
1940
1964
  __decorateClass([
1941
- IsOptional8(),
1942
- IsString14()
1943
- ], UpdateFreelancerProfileDto.prototype, "lastName", 2);
1965
+ Column15({ name: "is_email_verified", type: "boolean", default: false })
1966
+ ], User.prototype, "isEmailVerified", 2);
1944
1967
  __decorateClass([
1945
- IsOptional8(),
1946
- IsEmail5()
1947
- ], UpdateFreelancerProfileDto.prototype, "email", 2);
1968
+ Column15({ name: "is_mobile_verified", type: "boolean", default: false })
1969
+ ], User.prototype, "isMobileVerified", 2);
1948
1970
  __decorateClass([
1949
- IsOptional8(),
1950
- IsString14()
1951
- ], UpdateFreelancerProfileDto.prototype, "mobile", 2);
1971
+ Column15({
1972
+ name: "last_login_at",
1973
+ type: "timestamp with time zone",
1974
+ nullable: true
1975
+ })
1976
+ ], User.prototype, "lastLoginAt", 2);
1952
1977
  __decorateClass([
1953
- IsOptional8(),
1954
- IsNumber3()
1955
- ], UpdateFreelancerProfileDto.prototype, "countryId", 2);
1978
+ Column15({ name: "last_login_ip", type: "varchar", nullable: true })
1979
+ ], User.prototype, "lastLoginIp", 2);
1956
1980
  __decorateClass([
1957
- IsOptional8(),
1958
- IsString14()
1959
- ], UpdateFreelancerProfileDto.prototype, "currency", 2);
1981
+ Column15({ name: "reset_token", type: "varchar", nullable: true })
1982
+ ], User.prototype, "resetToken", 2);
1960
1983
  __decorateClass([
1961
- IsOptional8(),
1962
- IsString14()
1963
- ], UpdateFreelancerProfileDto.prototype, "expectedHourlyCompensation", 2);
1984
+ Column15({
1985
+ name: "reset_token_expire_at",
1986
+ type: "timestamp with time zone",
1987
+ nullable: true
1988
+ })
1989
+ ], User.prototype, "resetTokenExpireAt", 2);
1964
1990
  __decorateClass([
1965
- IsOptional8(),
1966
- IsEnum7(NatureOfWorkDto, {
1967
- message: `Engagement Type must be one of: ${Object.values(NatureOfWorkDto).join(", ")}`
1991
+ OneToMany6(() => RefreshToken, (token) => token.user)
1992
+ ], User.prototype, "refreshTokens", 2);
1993
+ __decorateClass([
1994
+ Column15({
1995
+ name: "provider",
1996
+ type: "enum",
1997
+ enum: Provider,
1998
+ default: null,
1999
+ nullable: true
1968
2000
  })
1969
- ], UpdateFreelancerProfileDto.prototype, "natureOfWork", 2);
2001
+ ], User.prototype, "provider", 2);
1970
2002
  __decorateClass([
1971
- IsOptional8(),
1972
- IsString14()
1973
- ], UpdateFreelancerProfileDto.prototype, "portfolioLink", 2);
2003
+ Column15({ name: "provider_token", type: "varchar", nullable: true })
2004
+ ], User.prototype, "providerToken", 2);
1974
2005
  __decorateClass([
1975
- IsOptional8(),
1976
- IsString14()
1977
- ], UpdateFreelancerProfileDto.prototype, "address", 2);
2006
+ Column15({ name: "linkedin_id", type: "varchar", nullable: true })
2007
+ ], User.prototype, "linkedInId", 2);
1978
2008
  __decorateClass([
1979
- IsOptional8(),
1980
- IsString14()
1981
- ], UpdateFreelancerProfileDto.prototype, "about", 2);
2009
+ Column15({ name: "google_id", type: "varchar", nullable: true })
2010
+ ], User.prototype, "googleId", 2);
1982
2011
  __decorateClass([
1983
- IsOptional8(),
1984
- IsString14()
1985
- ], UpdateFreelancerProfileDto.prototype, "linkedinProfileLink", 2);
2012
+ Column15({ name: "gitlabs_id", type: "varchar", nullable: true })
2013
+ ], User.prototype, "gitLabsId", 2);
1986
2014
  __decorateClass([
1987
- IsOptional8(),
1988
- IsString14()
1989
- ], UpdateFreelancerProfileDto.prototype, "kaggleProfileLink", 2);
2015
+ OneToMany6(() => Otp, (otp) => otp.user)
2016
+ ], User.prototype, "otps", 2);
1990
2017
  __decorateClass([
1991
- IsOptional8(),
1992
- IsString14()
1993
- ], UpdateFreelancerProfileDto.prototype, "githubProfileLink", 2);
2018
+ OneToMany6(() => SenseloafLog, (senseloafLog) => senseloafLog.user)
2019
+ ], User.prototype, "senseloafLogs", 2);
1994
2020
  __decorateClass([
1995
- IsOptional8(),
1996
- IsString14()
1997
- ], UpdateFreelancerProfileDto.prototype, "stackOverflowProfileLink", 2);
1998
-
1999
- // src/modules/bank/pattern/pattern.ts
2000
- var BANK_PATTERN = {
2001
- addFreelancerBankDetails: "add.freelancer.bankdetails",
2002
- fetchFreelancerBankDetails: "fetch.freelancer.bank.details",
2003
- updateFreelancerBankDetails: "update.freelancer.bank.details"
2004
- };
2005
-
2006
- // src/modules/bank/dto/freelancer-bank-details.dto.ts
2007
- import {
2008
- IsEnum as IsEnum8,
2009
- IsNotEmpty as IsNotEmpty21,
2010
- IsOptional as IsOptional9,
2011
- ValidateIf
2012
- } from "class-validator";
2013
- var BankAccountScope = /* @__PURE__ */ ((BankAccountScope2) => {
2014
- BankAccountScope2["DOMESTIC"] = "DOMESTIC";
2015
- BankAccountScope2["INTERNATIONAL"] = "INTERNATIONAL";
2016
- return BankAccountScope2;
2017
- })(BankAccountScope || {});
2018
- var FreelancerBankDetailsDto = class {
2019
- };
2021
+ OneToOne(
2022
+ () => FreelancerProfile,
2023
+ (freelancerProfile) => freelancerProfile.user
2024
+ )
2025
+ ], User.prototype, "freelancerProfile", 2);
2020
2026
  __decorateClass([
2021
- IsNotEmpty21({ message: "Please enter Account Holder Name." })
2022
- ], FreelancerBankDetailsDto.prototype, "name", 2);
2027
+ OneToOne(() => CompanyProfile, (companyProfile) => companyProfile.user, { cascade: true })
2028
+ ], User.prototype, "companyProfile", 2);
2023
2029
  __decorateClass([
2024
- IsNotEmpty21({ message: "Please enter Mobile Number." })
2025
- ], FreelancerBankDetailsDto.prototype, "mobile", 2);
2030
+ OneToMany6(() => Job, (job) => job.user)
2031
+ ], User.prototype, "jobs", 2);
2026
2032
  __decorateClass([
2027
- IsNotEmpty21({ message: "Please enter Email." })
2028
- ], FreelancerBankDetailsDto.prototype, "email", 2);
2033
+ OneToMany6(() => BankDetail, (bankDetail) => bankDetail.user)
2034
+ ], User.prototype, "bankDetail", 2);
2029
2035
  __decorateClass([
2030
- IsOptional9()
2031
- ], FreelancerBankDetailsDto.prototype, "address", 2);
2036
+ OneToMany6(
2037
+ () => SystemPreference,
2038
+ (systemPreference) => systemPreference.user
2039
+ )
2040
+ ], User.prototype, "systemPreference", 2);
2032
2041
  __decorateClass([
2033
- IsNotEmpty21({ message: "Please enter Account Number." })
2034
- ], FreelancerBankDetailsDto.prototype, "accountNumber", 2);
2042
+ OneToMany6(() => Rating, (rating) => rating.reviewer)
2043
+ ], User.prototype, "givenRatings", 2);
2035
2044
  __decorateClass([
2036
- IsNotEmpty21({ message: "Please enter Bank Name." })
2037
- ], FreelancerBankDetailsDto.prototype, "bankName", 2);
2045
+ OneToMany6(() => Rating, (rating) => rating.reviewee)
2046
+ ], User.prototype, "receivedRatings", 2);
2038
2047
  __decorateClass([
2039
- IsNotEmpty21({ message: "Please enter Branch Name." })
2040
- ], FreelancerBankDetailsDto.prototype, "branchName", 2);
2048
+ OneToMany6(() => JobApplication, (jobApplication) => jobApplication.user)
2049
+ ], User.prototype, "jobApplications", 2);
2041
2050
  __decorateClass([
2042
- ValidateIf((dto) => dto.accountScope === "DOMESTIC"),
2043
- IsNotEmpty21({ message: "IFSC Code is required for DOMESTIC accounts." })
2044
- ], FreelancerBankDetailsDto.prototype, "ifscCode", 2);
2051
+ OneToMany6(() => CompanyRole, (companyRole) => companyRole.user)
2052
+ ], User.prototype, "companyRole", 2);
2045
2053
  __decorateClass([
2046
- ValidateIf((dto) => dto.accountScope === "INTERNATIONAL"),
2047
- IsNotEmpty21({ message: "Routing Number/Sort Code is required for INTERNATIONAL accounts." })
2048
- ], FreelancerBankDetailsDto.prototype, "routingNo", 2);
2054
+ OneToOne(() => FreelancerExperience, (freelancerExperience) => freelancerExperience.user)
2055
+ ], User.prototype, "freelancerExperience", 2);
2056
+ User = __decorateClass([
2057
+ Entity14("users")
2058
+ ], User);
2059
+
2060
+ // src/entities/rating.entity.ts
2061
+ var RatingTypeEnum = /* @__PURE__ */ ((RatingTypeEnum2) => {
2062
+ RatingTypeEnum2["FREELANCER_TO_CLIENT"] = "FREELANCER_TO_CLIENT";
2063
+ RatingTypeEnum2["CLIENT_TO_FREELANCER"] = "CLIENT_TO_FREELANCER";
2064
+ return RatingTypeEnum2;
2065
+ })(RatingTypeEnum || {});
2066
+ var Rating = class extends BaseEntity {
2067
+ };
2049
2068
  __decorateClass([
2050
- ValidateIf((dto) => dto.accountScope === "INTERNATIONAL"),
2051
- IsNotEmpty21({ message: "ABA Number is required for INTERNATIONAL accounts." })
2052
- ], FreelancerBankDetailsDto.prototype, "abaNumber", 2);
2069
+ Column16({ name: "reviewer_id", type: "integer" }),
2070
+ Index12()
2071
+ ], Rating.prototype, "reviewer_id", 2);
2053
2072
  __decorateClass([
2054
- ValidateIf((dto) => dto.accountScope === "INTERNATIONAL"),
2055
- IsNotEmpty21({ message: "IBAN is required for INTERNATIONAL accounts." })
2056
- ], FreelancerBankDetailsDto.prototype, "iban", 2);
2073
+ ManyToOne14(() => User, { onDelete: "CASCADE" }),
2074
+ JoinColumn14({ name: "reviewer_id" })
2075
+ ], Rating.prototype, "reviewer", 2);
2057
2076
  __decorateClass([
2058
- IsOptional9()
2059
- ], FreelancerBankDetailsDto.prototype, "accountType", 2);
2077
+ Column16({ name: "reviewee_id", type: "integer" }),
2078
+ Index12()
2079
+ ], Rating.prototype, "reviewee_id", 2);
2060
2080
  __decorateClass([
2061
- IsEnum8(BankAccountScope, {
2062
- message: `Type of Account Scope must be one of: ${Object.values(
2063
- BankAccountScope
2064
- ).join(", ")}`
2081
+ ManyToOne14(() => User, { onDelete: "CASCADE" }),
2082
+ JoinColumn14({ name: "reviewee_id" })
2083
+ ], Rating.prototype, "reviewee", 2);
2084
+ __decorateClass([
2085
+ Column16({
2086
+ type: "enum",
2087
+ enum: RatingTypeEnum,
2088
+ nullable: true
2065
2089
  })
2066
- ], FreelancerBankDetailsDto.prototype, "accountScope", 2);
2067
-
2068
- // src/modules/plan/pattern/pattern.ts
2069
- var PLAN_PATTERN = {
2070
- fetchPlans: "fetch.plans"
2071
- };
2072
-
2073
- // src/modules/system-preference/pattern/pattern.ts
2074
- var SYSTEM_PREFERENCES_PATTERN = {
2075
- fetchSystemPreference: "fetch.system.preferences",
2076
- updateSystemPreference: "update.system.preferences",
2077
- createSystemPreference: "create.system.preferences"
2078
- };
2079
-
2080
- // src/modules/system-preference/dto/system-preference.dto.ts
2081
- import {
2082
- IsBoolean as IsBoolean6,
2083
- IsEnum as IsEnum9
2084
- } from "class-validator";
2085
- var SystemPreferenceKey = /* @__PURE__ */ ((SystemPreferenceKey2) => {
2086
- SystemPreferenceKey2["EMAIL_NOTIFICATION"] = "EMAIL_NOTIFICATION";
2087
- SystemPreferenceKey2["DARK_MODE"] = "DARK_MODE";
2088
- return SystemPreferenceKey2;
2089
- })(SystemPreferenceKey || {});
2090
- var SystemPreferenceDto = class {
2091
- };
2090
+ ], Rating.prototype, "ratingType", 2);
2092
2091
  __decorateClass([
2093
- IsBoolean6()
2094
- ], SystemPreferenceDto.prototype, "value", 2);
2092
+ Column16({ type: "integer", nullable: true })
2093
+ ], Rating.prototype, "rating", 2);
2095
2094
  __decorateClass([
2096
- IsEnum9(SystemPreferenceKey, {
2097
- message: `key must be one of: ${Object.values(
2098
- SystemPreferenceKey
2099
- ).join(", ")}`
2100
- })
2101
- ], SystemPreferenceDto.prototype, "key", 2);
2102
-
2103
- // src/modules/notification/pattern/pattern.ts
2104
- var NOTIFICATION_PATTERN = {
2105
- handleAccountVerificationNotification: "handle.account.verification.notification",
2106
- handleResetLinkNotification: "handle.reset.link.notification"
2107
- };
2108
-
2109
- // src/modules/rating/pattern/pattern.ts
2110
- var RATING_PATTERN = {
2111
- addRating: "add.rating",
2112
- fetchRating: "fetch.rating"
2113
- };
2095
+ Column16({ type: "text", nullable: true })
2096
+ ], Rating.prototype, "review", 2);
2097
+ Rating = __decorateClass([
2098
+ Entity15("ratings")
2099
+ ], Rating);
2114
2100
 
2115
2101
  // src/modules/rating/dto/add.rating.dto.ts
2116
- import {
2117
- IsEnum as IsEnum10,
2118
- IsInt,
2119
- IsNotEmpty as IsNotEmpty22,
2120
- IsOptional as IsOptional10,
2121
- IsString as IsString15,
2122
- Max,
2123
- Min as Min2
2124
- } from "class-validator";
2125
2102
  var CreateRatingDto = class {
2126
2103
  };
2127
2104
  __decorateClass([
2128
2105
  IsInt({ message: "Reviewee ID must be a valid integer" }),
2129
- IsNotEmpty22({ message: "Reviewee ID is required" })
2106
+ IsNotEmpty23({ message: "Reviewee ID is required" })
2130
2107
  ], CreateRatingDto.prototype, "revieweeId", 2);
2131
2108
  __decorateClass([
2132
2109
  IsEnum10(RatingTypeEnum, {
@@ -2156,17 +2133,17 @@ var COMPANY_ROLES_PATTERNS = {
2156
2133
  };
2157
2134
 
2158
2135
  // src/modules/company-role/dto/create-company-role.dto.ts
2159
- import { IsBoolean as IsBoolean7, IsNotEmpty as IsNotEmpty23, IsOptional as IsOptional11 } from "class-validator";
2136
+ import { IsBoolean as IsBoolean7, IsNotEmpty as IsNotEmpty24, IsOptional as IsOptional11 } from "class-validator";
2160
2137
  var CreateCompanyRoleDto = class {
2161
2138
  };
2162
2139
  __decorateClass([
2163
- IsNotEmpty23({ message: "Please enter company role name." })
2140
+ IsNotEmpty24({ message: "Please enter company role name." })
2164
2141
  ], CreateCompanyRoleDto.prototype, "name", 2);
2165
2142
  __decorateClass([
2166
- IsNotEmpty23({ message: "Please enter company role slug" })
2143
+ IsNotEmpty24({ message: "Please enter company role slug" })
2167
2144
  ], CreateCompanyRoleDto.prototype, "slug", 2);
2168
2145
  __decorateClass([
2169
- IsNotEmpty23({ message: "Please enter description" })
2146
+ IsNotEmpty24({ message: "Please enter description" })
2170
2147
  ], CreateCompanyRoleDto.prototype, "description", 2);
2171
2148
  __decorateClass([
2172
2149
  IsOptional11(),
@@ -2174,17 +2151,17 @@ __decorateClass([
2174
2151
  ], CreateCompanyRoleDto.prototype, "isActive", 2);
2175
2152
 
2176
2153
  // src/modules/company-role/dto/update-company-role.dto.ts
2177
- import { IsBoolean as IsBoolean8, IsNotEmpty as IsNotEmpty24, IsOptional as IsOptional12 } from "class-validator";
2154
+ import { IsBoolean as IsBoolean8, IsNotEmpty as IsNotEmpty25, IsOptional as IsOptional12 } from "class-validator";
2178
2155
  var UpdateCompanyRoleDto = class {
2179
2156
  };
2180
2157
  __decorateClass([
2181
- IsNotEmpty24({ message: "Please enter company name." })
2158
+ IsNotEmpty25({ message: "Please enter company name." })
2182
2159
  ], UpdateCompanyRoleDto.prototype, "name", 2);
2183
2160
  __decorateClass([
2184
- IsNotEmpty24({ message: "Please enter slug" })
2161
+ IsNotEmpty25({ message: "Please enter slug" })
2185
2162
  ], UpdateCompanyRoleDto.prototype, "slug", 2);
2186
2163
  __decorateClass([
2187
- IsNotEmpty24({ message: "Please enter description" })
2164
+ IsNotEmpty25({ message: "Please enter description" })
2188
2165
  ], UpdateCompanyRoleDto.prototype, "description", 2);
2189
2166
  __decorateClass([
2190
2167
  IsOptional12(),
@@ -2207,21 +2184,21 @@ var FREELANCER_EXPERIENCE_PATTERN = {
2207
2184
  };
2208
2185
 
2209
2186
  // src/modules/user/freelancer-experience/dto/create-freelancer-experience.dto.ts
2210
- import { IsArray as IsArray3, ValidateNested, IsString as IsString18, IsNotEmpty as IsNotEmpty25 } from "class-validator";
2187
+ import { IsArray as IsArray3, ValidateNested, IsString as IsString18, IsNotEmpty as IsNotEmpty26 } from "class-validator";
2211
2188
  import { Type as Type2 } from "class-transformer";
2212
2189
  var CreateExperienceDto = class {
2213
2190
  };
2214
2191
  __decorateClass([
2215
2192
  IsString18(),
2216
- IsNotEmpty25()
2193
+ IsNotEmpty26()
2217
2194
  ], CreateExperienceDto.prototype, "companyName", 2);
2218
2195
  __decorateClass([
2219
2196
  IsString18(),
2220
- IsNotEmpty25()
2197
+ IsNotEmpty26()
2221
2198
  ], CreateExperienceDto.prototype, "designation", 2);
2222
2199
  __decorateClass([
2223
2200
  IsString18(),
2224
- IsNotEmpty25()
2201
+ IsNotEmpty26()
2225
2202
  ], CreateExperienceDto.prototype, "jobDuration", 2);
2226
2203
  __decorateClass([
2227
2204
  IsString18()
@@ -2235,7 +2212,7 @@ __decorateClass([
2235
2212
  ], CreateFreelancerExperienceDto.prototype, "experience", 2);
2236
2213
 
2237
2214
  // src/modules/user/freelancer-experience/dto/update-freelancer-experience.dto.ts
2238
- import { IsArray as IsArray4, ValidateNested as ValidateNested2, IsString as IsString19, IsNotEmpty as IsNotEmpty26, IsOptional as IsOptional13 } from "class-validator";
2215
+ import { IsArray as IsArray4, ValidateNested as ValidateNested2, IsString as IsString19, IsNotEmpty as IsNotEmpty27, IsOptional as IsOptional13 } from "class-validator";
2239
2216
  import { Type as Type3 } from "class-transformer";
2240
2217
  var UpdateExperienceDto = class {
2241
2218
  };
@@ -2243,15 +2220,15 @@ __decorateClass([
2243
2220
  IsOptional13()
2244
2221
  ], UpdateExperienceDto.prototype, "uuid", 2);
2245
2222
  __decorateClass([
2246
- IsNotEmpty26(),
2223
+ IsNotEmpty27(),
2247
2224
  IsString19()
2248
2225
  ], UpdateExperienceDto.prototype, "companyName", 2);
2249
2226
  __decorateClass([
2250
- IsNotEmpty26(),
2227
+ IsNotEmpty27(),
2251
2228
  IsString19()
2252
2229
  ], UpdateExperienceDto.prototype, "designation", 2);
2253
2230
  __decorateClass([
2254
- IsNotEmpty26(),
2231
+ IsNotEmpty27(),
2255
2232
  IsString19()
2256
2233
  ], UpdateExperienceDto.prototype, "jobDuration", 2);
2257
2234
  __decorateClass([
@@ -2278,25 +2255,25 @@ var COMPANY_MEMBERS_PATTERNS = {
2278
2255
  };
2279
2256
 
2280
2257
  // src/modules/company-member/dto/create-company-member.dto.ts
2281
- import { IsNotEmpty as IsNotEmpty27 } from "class-validator";
2258
+ import { IsNotEmpty as IsNotEmpty28 } from "class-validator";
2282
2259
  var CreateCompanyMemberDto = class {
2283
2260
  };
2284
2261
  __decorateClass([
2285
- IsNotEmpty27({ message: "Please enter name." })
2262
+ IsNotEmpty28({ message: "Please enter name." })
2286
2263
  ], CreateCompanyMemberDto.prototype, "name", 2);
2287
2264
  __decorateClass([
2288
- IsNotEmpty27({ message: "Please enter email" })
2265
+ IsNotEmpty28({ message: "Please enter email" })
2289
2266
  ], CreateCompanyMemberDto.prototype, "email", 2);
2290
2267
 
2291
2268
  // src/modules/company-member/dto/update-company-member.dto.ts
2292
- import { IsNotEmpty as IsNotEmpty28 } from "class-validator";
2269
+ import { IsNotEmpty as IsNotEmpty29 } from "class-validator";
2293
2270
  var UpdateCompanyMemberDto = class {
2294
2271
  };
2295
2272
  __decorateClass([
2296
- IsNotEmpty28({ message: "Please enter name." })
2273
+ IsNotEmpty29({ message: "Please enter name." })
2297
2274
  ], UpdateCompanyMemberDto.prototype, "name", 2);
2298
2275
  __decorateClass([
2299
- IsNotEmpty28({ message: "Please enter email" })
2276
+ IsNotEmpty29({ message: "Please enter email" })
2300
2277
  ], UpdateCompanyMemberDto.prototype, "email", 2);
2301
2278
 
2302
2279
  // src/modules/company-member/dto/toggle-company-member-visibility.dto.ts