@jobsearch-works/firestore-models 2.2.4 → 2.3.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
@@ -556,6 +556,24 @@ interface UserPublic {
556
556
  updatedAt?: Date | string;
557
557
  }
558
558
 
559
+ interface VacancyExtractedForm {
560
+ fields: VacancyExtractedField[];
561
+ formSelector: string;
562
+ submitButtonSelector: string;
563
+ url: string;
564
+ extractedAt: Date | string;
565
+ }
566
+ interface VacancyExtractedField {
567
+ id?: string;
568
+ type: string;
569
+ name: string;
570
+ label: string;
571
+ selector: string;
572
+ options: string[] | null;
573
+ required: boolean;
574
+ value?: string;
575
+ }
576
+
559
577
  declare const VacancyCategory: {
560
578
  readonly Accounting: "Accounting";
561
579
  readonly AdministrationAndOfficeSupport: "Administration & Office Support";
@@ -603,29 +621,11 @@ interface Vacancy {
603
621
  jobId: string;
604
622
  category: VacancyCategory;
605
623
  suggestedTo?: string[];
606
- extractedAt: number;
624
+ extractedForm?: VacancyExtractedForm;
607
625
  createdAt?: Date | string;
608
626
  updatedAt?: Date | string;
609
627
  }
610
628
 
611
- interface VacancyExtractedForm {
612
- fields: VacancyExtractedField[];
613
- formSelector: string;
614
- submitButtonSelector: string;
615
- url: string;
616
- extractedAt: Date | string;
617
- }
618
- interface VacancyExtractedField {
619
- id?: string;
620
- type: string;
621
- name: string;
622
- label: string;
623
- selector: string;
624
- options: string[] | null;
625
- required: boolean;
626
- value?: string;
627
- }
628
-
629
629
  interface VacancySuggestion {
630
630
  readonly id?: string;
631
631
  clientId: string;
@@ -634,6 +634,34 @@ interface VacancySuggestion {
634
634
  createdAt?: Date | string;
635
635
  }
636
636
 
637
+ /**
638
+ * Document under authEmails/{authEmail}
639
+ */
640
+ interface AuthEmail {
641
+ UID: string;
642
+ }
643
+
644
+ interface ApplicationEnrichedForm {
645
+ fields: ApplicationEnrichedField[];
646
+ formSelector: string;
647
+ submitButtonSelector: string;
648
+ url: string;
649
+ enrichedAt: Date | string;
650
+ }
651
+ interface ApplicationEnrichedField {
652
+ id: string;
653
+ name: string;
654
+ label: string;
655
+ type: string;
656
+ value: string;
657
+ confidence: number;
658
+ response?: string;
659
+ selector?: string;
660
+ required?: boolean;
661
+ options?: string[] | null;
662
+ needsClientReview?: boolean;
663
+ }
664
+
637
665
  declare const ApplicationStatus: {
638
666
  readonly New: "new";
639
667
  readonly Submitted: "submitted";
@@ -662,6 +690,7 @@ interface Application {
662
690
  applyingAt?: Date | string;
663
691
  suggestedAt?: Date | string;
664
692
  approvedAt?: Date | string;
693
+ enrichedForm?: ApplicationEnrichedForm;
665
694
  company?: string;
666
695
  position?: string;
667
696
  location?: string;
@@ -676,27 +705,6 @@ interface Application {
676
705
  updatedAt?: Date | string;
677
706
  }
678
707
 
679
- interface ApplicationEnrichedForm {
680
- fields: ApplicationEnrichedField[];
681
- formSelector: string;
682
- submitButtonSelector: string;
683
- url: string;
684
- enrichedAt: Date | string;
685
- }
686
- interface ApplicationEnrichedField {
687
- id: string;
688
- name: string;
689
- label: string;
690
- type: string;
691
- value: string;
692
- confidence: number;
693
- response?: string;
694
- selector?: string;
695
- required?: boolean;
696
- options?: string[] | null;
697
- needsClientReview?: boolean;
698
- }
699
-
700
708
  type ApplicationQuestionType = "text" | "select";
701
709
  declare const ApplicationQuestionTypeOptions: readonly ApplicationQuestionType[];
702
710
  interface ApplicationQuestion {
@@ -819,37 +827,6 @@ interface Client {
819
827
  readonly createdAt?: Date | string;
820
828
  }
821
829
 
822
- /**
823
- * Subcollection document under Client
824
- * Path: clients/{clientId}/emails/{docId}
825
- * @see Client - Parent document
826
- */
827
- interface ClientEmail {
828
- id?: string;
829
- messageId: string;
830
- threadId?: string;
831
- labelIds?: string[];
832
- snippet?: string;
833
- internalDate?: string;
834
- payload?: {
835
- headers?: Array<{
836
- name: string;
837
- value: string;
838
- }>;
839
- body?: {
840
- data?: string;
841
- };
842
- parts?: Array<{
843
- mimeType?: string;
844
- body?: {
845
- data?: string;
846
- };
847
- }>;
848
- };
849
- createdAt?: Date | string;
850
- updatedAt?: Date | string;
851
- }
852
-
853
830
  /**
854
831
  * Subcollection document under Client
855
832
  * Path: clients/{clientId}/gmailTokens/{docId}
@@ -876,7 +853,7 @@ interface ClientInitialQuestion {
876
853
 
877
854
  /**
878
855
  * Subcollection document under Client
879
- * Path: clients/{clientId}/applications/{applicationId}/virtualinterview/{interviewId}
856
+ * Path: clients/{clientId}/applications/{applicationId}/virtualInterview/{interviewId}
880
857
  * @see Client - Parent document
881
858
  * @see Application - Related application
882
859
  */
@@ -972,6 +949,57 @@ interface ClientResume {
972
949
  }>;
973
950
  }
974
951
 
952
+ /**
953
+ * Subcollection document under clients/{userId}/access_tokens/{provider}
954
+ */
955
+ interface ClientAccessToken {
956
+ access_token: string;
957
+ auth_email: string;
958
+ created_at: Date | string;
959
+ gmail_watch_history_id: number;
960
+ refresh_token: string;
961
+ scope: string[];
962
+ token_type: string;
963
+ }
964
+
965
+ /**
966
+ * Subcollection document under clients/{userId}/emails/{emailId}
967
+ * For new email structure
968
+ */
969
+ interface ClientEmailV2 {
970
+ bcc: string[];
971
+ cc: string[];
972
+ to: string[];
973
+ from: string[];
974
+ date: string;
975
+ "html-content": string;
976
+ "text-content": string;
977
+ message_id: string;
978
+ snippet: string;
979
+ subject: string;
980
+ thread_id: string;
981
+ timestamp: number;
982
+ labels: string[];
983
+ }
984
+
985
+ /**
986
+ * Subcollection document under clients/{userId}/emails/{emailId}/analysed/general
987
+ */
988
+ interface EmailAnalysedGeneral {
989
+ category: string;
990
+ date: string;
991
+ job_response: boolean;
992
+ suggested_action: string;
993
+ }
994
+
995
+ /**
996
+ * Subcollection document under clients/{userId}/emails/{emailId}/analysed/classified
997
+ * All fields are dynamic.
998
+ */
999
+ interface EmailAnalysedClassified {
1000
+ [key: string]: any;
1001
+ }
1002
+
975
1003
  type FirestoreTimestamp = {
976
1004
  seconds: number;
977
1005
  nanoseconds: number;
@@ -981,10 +1009,17 @@ declare const firestorePaths: {
981
1009
  readonly clients: {
982
1010
  readonly collection: () => string;
983
1011
  readonly doc: (id: string) => string;
984
- readonly gmailTokens: (id: string) => string;
1012
+ readonly accessTokens: {
1013
+ readonly collection: (clientId: string) => string;
1014
+ readonly doc: (clientId: string, providerName: string) => string;
1015
+ };
985
1016
  readonly emails: {
986
1017
  readonly collection: (clientId: string) => string;
987
1018
  readonly doc: (clientId: string, emailId: string) => string;
1019
+ readonly analysed: {
1020
+ readonly collection: (clientId: string, emailId: string) => string;
1021
+ readonly doc: (clientId: string, emailId: string, analysedType: "general" | "classified") => string;
1022
+ };
988
1023
  };
989
1024
  readonly questions: {
990
1025
  readonly collection: (clientId: string) => string;
@@ -1005,7 +1040,7 @@ declare const firestorePaths: {
1005
1040
  readonly applications: {
1006
1041
  readonly collection: (clientId: string) => string;
1007
1042
  readonly doc: (clientId: string, applicationId: string) => string;
1008
- readonly virtualinterview: {
1043
+ readonly virtualInterview: {
1009
1044
  readonly collection: (clientId: string, applicationId: string) => string;
1010
1045
  readonly doc: (clientId: string, applicationId: string, interviewId: string) => string;
1011
1046
  };
@@ -1043,6 +1078,10 @@ declare const firestorePaths: {
1043
1078
  readonly collection: () => string;
1044
1079
  readonly doc: (id: string) => string;
1045
1080
  };
1081
+ readonly authEmails: {
1082
+ readonly collection: () => string;
1083
+ readonly doc: (authEmail: string) => string;
1084
+ };
1046
1085
  };
1047
1086
 
1048
- export { Agent, AgentStatus, Application, ApplicationEnrichedField, ApplicationEnrichedForm, ApplicationQuestion, ApplicationQuestionType, ApplicationQuestionTypeOptions, ApplicationStatus, AuthUser, Client, ClientCertifications, ClientEducation, ClientEmail, ClientGmailToken, ClientInitialQuestion, ClientJobPreferences, ClientLanguage, ClientLogin, ClientPersonalData, ClientQuestion, ClientResume, ClientSkill, ClientStatus, ClientVirtualInterview, ClientWebsitePreferences, ClientWorkExperience, FirestoreTimestamp, JobCategory, JobTitle, LocationId, UserPublic, Vacancy, VacancyCategory, VacancyExtractedField, VacancyExtractedForm, VacancySuggestion, firestorePaths, jobClassifications, locations };
1087
+ export { Agent, AgentStatus, Application, ApplicationEnrichedField, ApplicationEnrichedForm, ApplicationQuestion, ApplicationQuestionType, ApplicationQuestionTypeOptions, ApplicationStatus, AuthEmail, AuthUser, Client, ClientAccessToken, ClientCertifications, ClientEducation, ClientEmailV2, ClientGmailToken, ClientInitialQuestion, ClientJobPreferences, ClientLanguage, ClientLogin, ClientPersonalData, ClientQuestion, ClientResume, ClientSkill, ClientStatus, ClientVirtualInterview, ClientWebsitePreferences, ClientWorkExperience, EmailAnalysedClassified, EmailAnalysedGeneral, FirestoreTimestamp, JobCategory, JobTitle, LocationId, UserPublic, Vacancy, VacancyCategory, VacancyExtractedField, VacancyExtractedForm, VacancySuggestion, firestorePaths, jobClassifications, locations };
package/dist/index.d.ts CHANGED
@@ -556,6 +556,24 @@ interface UserPublic {
556
556
  updatedAt?: Date | string;
557
557
  }
558
558
 
559
+ interface VacancyExtractedForm {
560
+ fields: VacancyExtractedField[];
561
+ formSelector: string;
562
+ submitButtonSelector: string;
563
+ url: string;
564
+ extractedAt: Date | string;
565
+ }
566
+ interface VacancyExtractedField {
567
+ id?: string;
568
+ type: string;
569
+ name: string;
570
+ label: string;
571
+ selector: string;
572
+ options: string[] | null;
573
+ required: boolean;
574
+ value?: string;
575
+ }
576
+
559
577
  declare const VacancyCategory: {
560
578
  readonly Accounting: "Accounting";
561
579
  readonly AdministrationAndOfficeSupport: "Administration & Office Support";
@@ -603,29 +621,11 @@ interface Vacancy {
603
621
  jobId: string;
604
622
  category: VacancyCategory;
605
623
  suggestedTo?: string[];
606
- extractedAt: number;
624
+ extractedForm?: VacancyExtractedForm;
607
625
  createdAt?: Date | string;
608
626
  updatedAt?: Date | string;
609
627
  }
610
628
 
611
- interface VacancyExtractedForm {
612
- fields: VacancyExtractedField[];
613
- formSelector: string;
614
- submitButtonSelector: string;
615
- url: string;
616
- extractedAt: Date | string;
617
- }
618
- interface VacancyExtractedField {
619
- id?: string;
620
- type: string;
621
- name: string;
622
- label: string;
623
- selector: string;
624
- options: string[] | null;
625
- required: boolean;
626
- value?: string;
627
- }
628
-
629
629
  interface VacancySuggestion {
630
630
  readonly id?: string;
631
631
  clientId: string;
@@ -634,6 +634,34 @@ interface VacancySuggestion {
634
634
  createdAt?: Date | string;
635
635
  }
636
636
 
637
+ /**
638
+ * Document under authEmails/{authEmail}
639
+ */
640
+ interface AuthEmail {
641
+ UID: string;
642
+ }
643
+
644
+ interface ApplicationEnrichedForm {
645
+ fields: ApplicationEnrichedField[];
646
+ formSelector: string;
647
+ submitButtonSelector: string;
648
+ url: string;
649
+ enrichedAt: Date | string;
650
+ }
651
+ interface ApplicationEnrichedField {
652
+ id: string;
653
+ name: string;
654
+ label: string;
655
+ type: string;
656
+ value: string;
657
+ confidence: number;
658
+ response?: string;
659
+ selector?: string;
660
+ required?: boolean;
661
+ options?: string[] | null;
662
+ needsClientReview?: boolean;
663
+ }
664
+
637
665
  declare const ApplicationStatus: {
638
666
  readonly New: "new";
639
667
  readonly Submitted: "submitted";
@@ -662,6 +690,7 @@ interface Application {
662
690
  applyingAt?: Date | string;
663
691
  suggestedAt?: Date | string;
664
692
  approvedAt?: Date | string;
693
+ enrichedForm?: ApplicationEnrichedForm;
665
694
  company?: string;
666
695
  position?: string;
667
696
  location?: string;
@@ -676,27 +705,6 @@ interface Application {
676
705
  updatedAt?: Date | string;
677
706
  }
678
707
 
679
- interface ApplicationEnrichedForm {
680
- fields: ApplicationEnrichedField[];
681
- formSelector: string;
682
- submitButtonSelector: string;
683
- url: string;
684
- enrichedAt: Date | string;
685
- }
686
- interface ApplicationEnrichedField {
687
- id: string;
688
- name: string;
689
- label: string;
690
- type: string;
691
- value: string;
692
- confidence: number;
693
- response?: string;
694
- selector?: string;
695
- required?: boolean;
696
- options?: string[] | null;
697
- needsClientReview?: boolean;
698
- }
699
-
700
708
  type ApplicationQuestionType = "text" | "select";
701
709
  declare const ApplicationQuestionTypeOptions: readonly ApplicationQuestionType[];
702
710
  interface ApplicationQuestion {
@@ -819,37 +827,6 @@ interface Client {
819
827
  readonly createdAt?: Date | string;
820
828
  }
821
829
 
822
- /**
823
- * Subcollection document under Client
824
- * Path: clients/{clientId}/emails/{docId}
825
- * @see Client - Parent document
826
- */
827
- interface ClientEmail {
828
- id?: string;
829
- messageId: string;
830
- threadId?: string;
831
- labelIds?: string[];
832
- snippet?: string;
833
- internalDate?: string;
834
- payload?: {
835
- headers?: Array<{
836
- name: string;
837
- value: string;
838
- }>;
839
- body?: {
840
- data?: string;
841
- };
842
- parts?: Array<{
843
- mimeType?: string;
844
- body?: {
845
- data?: string;
846
- };
847
- }>;
848
- };
849
- createdAt?: Date | string;
850
- updatedAt?: Date | string;
851
- }
852
-
853
830
  /**
854
831
  * Subcollection document under Client
855
832
  * Path: clients/{clientId}/gmailTokens/{docId}
@@ -876,7 +853,7 @@ interface ClientInitialQuestion {
876
853
 
877
854
  /**
878
855
  * Subcollection document under Client
879
- * Path: clients/{clientId}/applications/{applicationId}/virtualinterview/{interviewId}
856
+ * Path: clients/{clientId}/applications/{applicationId}/virtualInterview/{interviewId}
880
857
  * @see Client - Parent document
881
858
  * @see Application - Related application
882
859
  */
@@ -972,6 +949,57 @@ interface ClientResume {
972
949
  }>;
973
950
  }
974
951
 
952
+ /**
953
+ * Subcollection document under clients/{userId}/access_tokens/{provider}
954
+ */
955
+ interface ClientAccessToken {
956
+ access_token: string;
957
+ auth_email: string;
958
+ created_at: Date | string;
959
+ gmail_watch_history_id: number;
960
+ refresh_token: string;
961
+ scope: string[];
962
+ token_type: string;
963
+ }
964
+
965
+ /**
966
+ * Subcollection document under clients/{userId}/emails/{emailId}
967
+ * For new email structure
968
+ */
969
+ interface ClientEmailV2 {
970
+ bcc: string[];
971
+ cc: string[];
972
+ to: string[];
973
+ from: string[];
974
+ date: string;
975
+ "html-content": string;
976
+ "text-content": string;
977
+ message_id: string;
978
+ snippet: string;
979
+ subject: string;
980
+ thread_id: string;
981
+ timestamp: number;
982
+ labels: string[];
983
+ }
984
+
985
+ /**
986
+ * Subcollection document under clients/{userId}/emails/{emailId}/analysed/general
987
+ */
988
+ interface EmailAnalysedGeneral {
989
+ category: string;
990
+ date: string;
991
+ job_response: boolean;
992
+ suggested_action: string;
993
+ }
994
+
995
+ /**
996
+ * Subcollection document under clients/{userId}/emails/{emailId}/analysed/classified
997
+ * All fields are dynamic.
998
+ */
999
+ interface EmailAnalysedClassified {
1000
+ [key: string]: any;
1001
+ }
1002
+
975
1003
  type FirestoreTimestamp = {
976
1004
  seconds: number;
977
1005
  nanoseconds: number;
@@ -981,10 +1009,17 @@ declare const firestorePaths: {
981
1009
  readonly clients: {
982
1010
  readonly collection: () => string;
983
1011
  readonly doc: (id: string) => string;
984
- readonly gmailTokens: (id: string) => string;
1012
+ readonly accessTokens: {
1013
+ readonly collection: (clientId: string) => string;
1014
+ readonly doc: (clientId: string, providerName: string) => string;
1015
+ };
985
1016
  readonly emails: {
986
1017
  readonly collection: (clientId: string) => string;
987
1018
  readonly doc: (clientId: string, emailId: string) => string;
1019
+ readonly analysed: {
1020
+ readonly collection: (clientId: string, emailId: string) => string;
1021
+ readonly doc: (clientId: string, emailId: string, analysedType: "general" | "classified") => string;
1022
+ };
988
1023
  };
989
1024
  readonly questions: {
990
1025
  readonly collection: (clientId: string) => string;
@@ -1005,7 +1040,7 @@ declare const firestorePaths: {
1005
1040
  readonly applications: {
1006
1041
  readonly collection: (clientId: string) => string;
1007
1042
  readonly doc: (clientId: string, applicationId: string) => string;
1008
- readonly virtualinterview: {
1043
+ readonly virtualInterview: {
1009
1044
  readonly collection: (clientId: string, applicationId: string) => string;
1010
1045
  readonly doc: (clientId: string, applicationId: string, interviewId: string) => string;
1011
1046
  };
@@ -1043,6 +1078,10 @@ declare const firestorePaths: {
1043
1078
  readonly collection: () => string;
1044
1079
  readonly doc: (id: string) => string;
1045
1080
  };
1081
+ readonly authEmails: {
1082
+ readonly collection: () => string;
1083
+ readonly doc: (authEmail: string) => string;
1084
+ };
1046
1085
  };
1047
1086
 
1048
- export { Agent, AgentStatus, Application, ApplicationEnrichedField, ApplicationEnrichedForm, ApplicationQuestion, ApplicationQuestionType, ApplicationQuestionTypeOptions, ApplicationStatus, AuthUser, Client, ClientCertifications, ClientEducation, ClientEmail, ClientGmailToken, ClientInitialQuestion, ClientJobPreferences, ClientLanguage, ClientLogin, ClientPersonalData, ClientQuestion, ClientResume, ClientSkill, ClientStatus, ClientVirtualInterview, ClientWebsitePreferences, ClientWorkExperience, FirestoreTimestamp, JobCategory, JobTitle, LocationId, UserPublic, Vacancy, VacancyCategory, VacancyExtractedField, VacancyExtractedForm, VacancySuggestion, firestorePaths, jobClassifications, locations };
1087
+ export { Agent, AgentStatus, Application, ApplicationEnrichedField, ApplicationEnrichedForm, ApplicationQuestion, ApplicationQuestionType, ApplicationQuestionTypeOptions, ApplicationStatus, AuthEmail, AuthUser, Client, ClientAccessToken, ClientCertifications, ClientEducation, ClientEmailV2, ClientGmailToken, ClientInitialQuestion, ClientJobPreferences, ClientLanguage, ClientLogin, ClientPersonalData, ClientQuestion, ClientResume, ClientSkill, ClientStatus, ClientVirtualInterview, ClientWebsitePreferences, ClientWorkExperience, EmailAnalysedClassified, EmailAnalysedGeneral, FirestoreTimestamp, JobCategory, JobTitle, LocationId, UserPublic, Vacancy, VacancyCategory, VacancyExtractedField, VacancyExtractedForm, VacancySuggestion, firestorePaths, jobClassifications, locations };
package/dist/index.js CHANGED
@@ -1065,10 +1065,17 @@ var firestorePaths = {
1065
1065
  clients: {
1066
1066
  collection: () => "clients",
1067
1067
  doc: (id) => `clients/${id}`,
1068
- gmailTokens: (id) => `clients/${id}/gmailTokens`,
1068
+ accessTokens: {
1069
+ collection: (clientId) => `clients/${clientId}/access_tokens`,
1070
+ doc: (clientId, providerName) => `clients/${clientId}/access_tokens/${providerName}`
1071
+ },
1069
1072
  emails: {
1070
1073
  collection: (clientId) => `clients/${clientId}/emails`,
1071
- doc: (clientId, emailId) => `clients/${clientId}/emails/${emailId}`
1074
+ doc: (clientId, emailId) => `clients/${clientId}/emails/${emailId}`,
1075
+ analysed: {
1076
+ collection: (clientId, emailId) => `clients/${clientId}/emails/${emailId}/analysed`,
1077
+ doc: (clientId, emailId, analysedType) => `clients/${clientId}/emails/${emailId}/analysed/${analysedType}`
1078
+ }
1072
1079
  },
1073
1080
  questions: {
1074
1081
  collection: (clientId) => `clients/${clientId}/questions`,
@@ -1089,9 +1096,9 @@ var firestorePaths = {
1089
1096
  applications: {
1090
1097
  collection: (clientId) => `clients/${clientId}/applications`,
1091
1098
  doc: (clientId, applicationId) => `clients/${clientId}/applications/${applicationId}`,
1092
- virtualinterview: {
1093
- collection: (clientId, applicationId) => `clients/${clientId}/applications/${applicationId}/virtualinterview`,
1094
- doc: (clientId, applicationId, interviewId) => `clients/${clientId}/applications/${applicationId}/virtualinterview/${interviewId}`
1099
+ virtualInterview: {
1100
+ collection: (clientId, applicationId) => `clients/${clientId}/applications/${applicationId}/virtualInterview`,
1101
+ doc: (clientId, applicationId, interviewId) => `clients/${clientId}/applications/${applicationId}/virtualInterview/${interviewId}`
1095
1102
  },
1096
1103
  questions: {
1097
1104
  collection: (clientId, applicationId) => `clients/${clientId}/applications/${applicationId}/questions`,
@@ -1126,6 +1133,10 @@ var firestorePaths = {
1126
1133
  agents: {
1127
1134
  collection: () => "agents",
1128
1135
  doc: (id) => `agents/${id}`
1136
+ },
1137
+ authEmails: {
1138
+ collection: () => "authEmails",
1139
+ doc: (authEmail) => `authEmails/${authEmail}`
1129
1140
  }
1130
1141
  };
1131
1142
  // Annotate the CommonJS export names for ESM import in node:
package/dist/index.mjs CHANGED
@@ -1034,10 +1034,17 @@ var firestorePaths = {
1034
1034
  clients: {
1035
1035
  collection: () => "clients",
1036
1036
  doc: (id) => `clients/${id}`,
1037
- gmailTokens: (id) => `clients/${id}/gmailTokens`,
1037
+ accessTokens: {
1038
+ collection: (clientId) => `clients/${clientId}/access_tokens`,
1039
+ doc: (clientId, providerName) => `clients/${clientId}/access_tokens/${providerName}`
1040
+ },
1038
1041
  emails: {
1039
1042
  collection: (clientId) => `clients/${clientId}/emails`,
1040
- doc: (clientId, emailId) => `clients/${clientId}/emails/${emailId}`
1043
+ doc: (clientId, emailId) => `clients/${clientId}/emails/${emailId}`,
1044
+ analysed: {
1045
+ collection: (clientId, emailId) => `clients/${clientId}/emails/${emailId}/analysed`,
1046
+ doc: (clientId, emailId, analysedType) => `clients/${clientId}/emails/${emailId}/analysed/${analysedType}`
1047
+ }
1041
1048
  },
1042
1049
  questions: {
1043
1050
  collection: (clientId) => `clients/${clientId}/questions`,
@@ -1058,9 +1065,9 @@ var firestorePaths = {
1058
1065
  applications: {
1059
1066
  collection: (clientId) => `clients/${clientId}/applications`,
1060
1067
  doc: (clientId, applicationId) => `clients/${clientId}/applications/${applicationId}`,
1061
- virtualinterview: {
1062
- collection: (clientId, applicationId) => `clients/${clientId}/applications/${applicationId}/virtualinterview`,
1063
- doc: (clientId, applicationId, interviewId) => `clients/${clientId}/applications/${applicationId}/virtualinterview/${interviewId}`
1068
+ virtualInterview: {
1069
+ collection: (clientId, applicationId) => `clients/${clientId}/applications/${applicationId}/virtualInterview`,
1070
+ doc: (clientId, applicationId, interviewId) => `clients/${clientId}/applications/${applicationId}/virtualInterview/${interviewId}`
1064
1071
  },
1065
1072
  questions: {
1066
1073
  collection: (clientId, applicationId) => `clients/${clientId}/applications/${applicationId}/questions`,
@@ -1095,6 +1102,10 @@ var firestorePaths = {
1095
1102
  agents: {
1096
1103
  collection: () => "agents",
1097
1104
  doc: (id) => `agents/${id}`
1105
+ },
1106
+ authEmails: {
1107
+ collection: () => "authEmails",
1108
+ doc: (authEmail) => `authEmails/${authEmail}`
1098
1109
  }
1099
1110
  };
1100
1111
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobsearch-works/firestore-models",
3
- "version": "2.2.4",
3
+ "version": "2.3.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",