@jobsearch-works/firestore-models 4.0.3 → 4.1.0

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.d.mts CHANGED
@@ -583,6 +583,18 @@ interface UserPublic {
583
583
  updatedAt?: Date | string;
584
584
  }
585
585
 
586
+ type ApplicationQuestionType = "text" | "select" | "radio" | "checkbox" | "textarea" | "file";
587
+ declare const ApplicationQuestionTypeOptions: readonly ApplicationQuestionType[];
588
+ interface ApplicationQuestion {
589
+ id?: string;
590
+ questionText: string;
591
+ answerText?: string;
592
+ type: ApplicationQuestionType;
593
+ selector?: string;
594
+ action?: string;
595
+ options?: string[];
596
+ }
597
+
586
598
  declare const VacancyCategory: {
587
599
  readonly Accounting: "Accounting";
588
600
  readonly AdministrationAndOfficeSupport: "Administration & Office Support";
@@ -631,6 +643,7 @@ interface Vacancy {
631
643
  category: VacancyCategory;
632
644
  suggestedTo?: string[];
633
645
  embeddedValue?: number[];
646
+ questions?: Omit<ApplicationQuestion, "answerText">[];
634
647
  createdAt?: Date | string;
635
648
  updatedAt?: Date | string;
636
649
  }
@@ -653,7 +666,7 @@ interface WeeklyApplication {
653
666
 
654
667
  interface AdminReport {
655
668
  readonly agentName: string;
656
- readonly applications: WeeklyApplication[];
669
+ readonly applications: WeeklyApplication;
657
670
  }
658
671
 
659
672
  /**
@@ -753,6 +766,7 @@ interface Application {
753
766
  assignedTo?: string;
754
767
  coverLetter?: string;
755
768
  resume?: ClientResume;
769
+ questions?: ApplicationQuestion[];
756
770
  submittedAt?: Date | string;
757
771
  interviewingAt?: Date | string;
758
772
  acceptedAt?: Date | string;
@@ -775,20 +789,6 @@ interface Application {
775
789
  updatedAt?: Date | string;
776
790
  }
777
791
 
778
- type ApplicationQuestionType = "text" | "select";
779
- declare const ApplicationQuestionTypeOptions: readonly ApplicationQuestionType[];
780
- interface ApplicationQuestion {
781
- id?: string;
782
- questionText: string;
783
- answerText?: string;
784
- clientId: string;
785
- type: ApplicationQuestionType;
786
- createdAt?: Date | string;
787
- updatedAt?: Date | string;
788
- selector?: string;
789
- action?: string;
790
- }
791
-
792
792
  /**
793
793
  * Embedded sub-object within Client document
794
794
  * @see Client - Parent document interface
@@ -814,6 +814,15 @@ interface ClientPersonalData {
814
814
  ethnicity?: string;
815
815
  disabilityStatus?: string;
816
816
  securityClearance?: string;
817
+ workEligibility?: 'Australian Citizen' | 'Permanent Resident' | 'Temporary Visa' | 'Student Visa' | 'Working Holiday Visa' | 'Other';
818
+ visaType?: string;
819
+ workRestrictions?: string;
820
+ emergencyContactName?: string;
821
+ emergencyContactPhone?: string;
822
+ emergencyContactRelationship?: string;
823
+ backgroundCheckConsent?: 'Yes' | 'No';
824
+ drugTestConsent?: 'Yes' | 'No';
825
+ travelWillingness?: 'Yes' | 'No' | 'Sometimes';
817
826
  createdAt?: Date | string;
818
827
  updatedAt?: Date | string;
819
828
  photoUrl?: string;
@@ -837,8 +846,15 @@ interface ClientJobPreferences {
837
846
  jobCategories: JobCategory[];
838
847
  locations: LocationId[];
839
848
  salaryExpectation?: number;
849
+ minSalary?: number;
850
+ maxSalary?: number;
840
851
  employmentTypes: string[];
841
852
  remotePreference: 'remote' | 'hybrid' | 'office';
853
+ earliestStartDate?: string;
854
+ workAvailability?: 'full-time' | 'part-time' | 'casual' | 'contract' | 'flexible';
855
+ weekendWork?: 'yes' | 'no' | 'sometimes';
856
+ shiftWork?: 'yes' | 'no' | 'sometimes';
857
+ travelWillingness?: 'yes' | 'no' | 'sometimes';
842
858
  visaSponsorshipRequired: boolean;
843
859
  createdAt?: Date | string;
844
860
  updatedAt?: Date | string;
@@ -1037,14 +1053,6 @@ declare const firestorePaths: {
1037
1053
  readonly applications: {
1038
1054
  readonly collection: (clientId: string) => string;
1039
1055
  readonly doc: (clientId: string, applicationId: string) => string;
1040
- readonly virtualInterview: {
1041
- readonly collection: (clientId: string, applicationId: string) => string;
1042
- readonly doc: (clientId: string, applicationId: string, interviewId: string) => string;
1043
- };
1044
- readonly questions: {
1045
- readonly collection: (clientId: string, applicationId: string) => string;
1046
- readonly doc: (clientId: string, applicationId: string, questionId: string) => string;
1047
- };
1048
1056
  readonly notes: {
1049
1057
  readonly collection: (clientId: string, applicationId: string) => string;
1050
1058
  readonly doc: (clientId: string, applicationId: string, noteId: string) => string;
package/dist/index.d.ts CHANGED
@@ -583,6 +583,18 @@ interface UserPublic {
583
583
  updatedAt?: Date | string;
584
584
  }
585
585
 
586
+ type ApplicationQuestionType = "text" | "select" | "radio" | "checkbox" | "textarea" | "file";
587
+ declare const ApplicationQuestionTypeOptions: readonly ApplicationQuestionType[];
588
+ interface ApplicationQuestion {
589
+ id?: string;
590
+ questionText: string;
591
+ answerText?: string;
592
+ type: ApplicationQuestionType;
593
+ selector?: string;
594
+ action?: string;
595
+ options?: string[];
596
+ }
597
+
586
598
  declare const VacancyCategory: {
587
599
  readonly Accounting: "Accounting";
588
600
  readonly AdministrationAndOfficeSupport: "Administration & Office Support";
@@ -631,6 +643,7 @@ interface Vacancy {
631
643
  category: VacancyCategory;
632
644
  suggestedTo?: string[];
633
645
  embeddedValue?: number[];
646
+ questions?: Omit<ApplicationQuestion, "answerText">[];
634
647
  createdAt?: Date | string;
635
648
  updatedAt?: Date | string;
636
649
  }
@@ -653,7 +666,7 @@ interface WeeklyApplication {
653
666
 
654
667
  interface AdminReport {
655
668
  readonly agentName: string;
656
- readonly applications: WeeklyApplication[];
669
+ readonly applications: WeeklyApplication;
657
670
  }
658
671
 
659
672
  /**
@@ -753,6 +766,7 @@ interface Application {
753
766
  assignedTo?: string;
754
767
  coverLetter?: string;
755
768
  resume?: ClientResume;
769
+ questions?: ApplicationQuestion[];
756
770
  submittedAt?: Date | string;
757
771
  interviewingAt?: Date | string;
758
772
  acceptedAt?: Date | string;
@@ -775,20 +789,6 @@ interface Application {
775
789
  updatedAt?: Date | string;
776
790
  }
777
791
 
778
- type ApplicationQuestionType = "text" | "select";
779
- declare const ApplicationQuestionTypeOptions: readonly ApplicationQuestionType[];
780
- interface ApplicationQuestion {
781
- id?: string;
782
- questionText: string;
783
- answerText?: string;
784
- clientId: string;
785
- type: ApplicationQuestionType;
786
- createdAt?: Date | string;
787
- updatedAt?: Date | string;
788
- selector?: string;
789
- action?: string;
790
- }
791
-
792
792
  /**
793
793
  * Embedded sub-object within Client document
794
794
  * @see Client - Parent document interface
@@ -814,6 +814,15 @@ interface ClientPersonalData {
814
814
  ethnicity?: string;
815
815
  disabilityStatus?: string;
816
816
  securityClearance?: string;
817
+ workEligibility?: 'Australian Citizen' | 'Permanent Resident' | 'Temporary Visa' | 'Student Visa' | 'Working Holiday Visa' | 'Other';
818
+ visaType?: string;
819
+ workRestrictions?: string;
820
+ emergencyContactName?: string;
821
+ emergencyContactPhone?: string;
822
+ emergencyContactRelationship?: string;
823
+ backgroundCheckConsent?: 'Yes' | 'No';
824
+ drugTestConsent?: 'Yes' | 'No';
825
+ travelWillingness?: 'Yes' | 'No' | 'Sometimes';
817
826
  createdAt?: Date | string;
818
827
  updatedAt?: Date | string;
819
828
  photoUrl?: string;
@@ -837,8 +846,15 @@ interface ClientJobPreferences {
837
846
  jobCategories: JobCategory[];
838
847
  locations: LocationId[];
839
848
  salaryExpectation?: number;
849
+ minSalary?: number;
850
+ maxSalary?: number;
840
851
  employmentTypes: string[];
841
852
  remotePreference: 'remote' | 'hybrid' | 'office';
853
+ earliestStartDate?: string;
854
+ workAvailability?: 'full-time' | 'part-time' | 'casual' | 'contract' | 'flexible';
855
+ weekendWork?: 'yes' | 'no' | 'sometimes';
856
+ shiftWork?: 'yes' | 'no' | 'sometimes';
857
+ travelWillingness?: 'yes' | 'no' | 'sometimes';
842
858
  visaSponsorshipRequired: boolean;
843
859
  createdAt?: Date | string;
844
860
  updatedAt?: Date | string;
@@ -1037,14 +1053,6 @@ declare const firestorePaths: {
1037
1053
  readonly applications: {
1038
1054
  readonly collection: (clientId: string) => string;
1039
1055
  readonly doc: (clientId: string, applicationId: string) => string;
1040
- readonly virtualInterview: {
1041
- readonly collection: (clientId: string, applicationId: string) => string;
1042
- readonly doc: (clientId: string, applicationId: string, interviewId: string) => string;
1043
- };
1044
- readonly questions: {
1045
- readonly collection: (clientId: string, applicationId: string) => string;
1046
- readonly doc: (clientId: string, applicationId: string, questionId: string) => string;
1047
- };
1048
1056
  readonly notes: {
1049
1057
  readonly collection: (clientId: string, applicationId: string) => string;
1050
1058
  readonly doc: (clientId: string, applicationId: string, noteId: string) => string;
package/dist/index.js CHANGED
@@ -1282,7 +1282,7 @@ var ApplicationStatus = {
1282
1282
  };
1283
1283
 
1284
1284
  // src/types/clients/ApplicationQuestion.ts
1285
- var ApplicationQuestionTypeOptions = ["text", "select"];
1285
+ var ApplicationQuestionTypeOptions = ["text", "select", "radio", "checkbox", "textarea", "file"];
1286
1286
 
1287
1287
  // src/paths/firestorePaths.ts
1288
1288
  var firestorePaths = {
@@ -1312,14 +1312,6 @@ var firestorePaths = {
1312
1312
  applications: {
1313
1313
  collection: (clientId) => `clients/${clientId}/applications`,
1314
1314
  doc: (clientId, applicationId) => `clients/${clientId}/applications/${applicationId}`,
1315
- virtualInterview: {
1316
- collection: (clientId, applicationId) => `clients/${clientId}/applications/${applicationId}/virtualInterview`,
1317
- doc: (clientId, applicationId, interviewId) => `clients/${clientId}/applications/${applicationId}/virtualInterview/${interviewId}`
1318
- },
1319
- questions: {
1320
- collection: (clientId, applicationId) => `clients/${clientId}/applications/${applicationId}/questions`,
1321
- doc: (clientId, applicationId, questionId) => `clients/${clientId}/applications/${applicationId}/questions/${questionId}`
1322
- },
1323
1315
  notes: {
1324
1316
  collection: (clientId, applicationId) => `clients/${clientId}/applications/${applicationId}/notes`,
1325
1317
  doc: (clientId, applicationId, noteId) => `clients/${clientId}/applications/${applicationId}/notes/${noteId}`
package/dist/index.mjs CHANGED
@@ -1248,7 +1248,7 @@ var ApplicationStatus = {
1248
1248
  };
1249
1249
 
1250
1250
  // src/types/clients/ApplicationQuestion.ts
1251
- var ApplicationQuestionTypeOptions = ["text", "select"];
1251
+ var ApplicationQuestionTypeOptions = ["text", "select", "radio", "checkbox", "textarea", "file"];
1252
1252
 
1253
1253
  // src/paths/firestorePaths.ts
1254
1254
  var firestorePaths = {
@@ -1278,14 +1278,6 @@ var firestorePaths = {
1278
1278
  applications: {
1279
1279
  collection: (clientId) => `clients/${clientId}/applications`,
1280
1280
  doc: (clientId, applicationId) => `clients/${clientId}/applications/${applicationId}`,
1281
- virtualInterview: {
1282
- collection: (clientId, applicationId) => `clients/${clientId}/applications/${applicationId}/virtualInterview`,
1283
- doc: (clientId, applicationId, interviewId) => `clients/${clientId}/applications/${applicationId}/virtualInterview/${interviewId}`
1284
- },
1285
- questions: {
1286
- collection: (clientId, applicationId) => `clients/${clientId}/applications/${applicationId}/questions`,
1287
- doc: (clientId, applicationId, questionId) => `clients/${clientId}/applications/${applicationId}/questions/${questionId}`
1288
- },
1289
1281
  notes: {
1290
1282
  collection: (clientId, applicationId) => `clients/${clientId}/applications/${applicationId}/notes`,
1291
1283
  doc: (clientId, applicationId, noteId) => `clients/${clientId}/applications/${applicationId}/notes/${noteId}`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobsearch-works/firestore-models",
3
- "version": "4.0.3",
3
+ "version": "4.1.0",
4
4
  "description": "A shared library for standardizing Firestore document schemas and paths across multiple projects",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",