@jobsearch-works/firestore-models 4.2.2 → 4.2.4

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/README.md CHANGED
@@ -212,3 +212,20 @@ type LocationId = (typeof locations)[number]["id"];
212
212
  ```bash
213
213
  npm install @jobsearch-works/firestore-models
214
214
  ```
215
+
216
+ ## Consumption Policy (Important)
217
+
218
+ - Always consume this library via the published npm package (semver), e.g. `^4.x`.
219
+ - Do not link it via local file paths (e.g. `"file:../firestore-models"`) in downstream projects.
220
+ - Reason: CI/CD and remote environments cannot resolve local file links; using the registry guarantees consistent, reproducible builds.
221
+ - If you need changes, bump the version here and update dependents to that version.
222
+
223
+ Example in a consumer project's `package.json`:
224
+
225
+ ```json
226
+ {
227
+ "dependencies": {
228
+ "@jobsearch-works/firestore-models": "^4.2.3"
229
+ }
230
+ }
231
+ ```
package/dist/index.d.mts CHANGED
@@ -669,6 +669,23 @@ interface AdminReport {
669
669
  readonly applications: WeeklyApplication;
670
670
  }
671
671
 
672
+ /**
673
+ * Gmail OAuth session document for PKCE flow
674
+ * Path: gmailOAuthSessions/{sessionId}
675
+ * Used for secure OAuth state management with PKCE support
676
+ */
677
+ interface GmailOAuthSession {
678
+ readonly id?: string;
679
+ userId: string;
680
+ state: string;
681
+ codeVerifier: string;
682
+ redirectUri: string;
683
+ createdAt: Date | string;
684
+ expiresAt: Date | string;
685
+ status: "pending" | "completed" | "expired";
686
+ completedAt?: Date | string;
687
+ }
688
+
672
689
  /**
673
690
  * Address interface for client resume
674
691
  */
@@ -767,6 +784,7 @@ interface Application {
767
784
  coverLetter?: string;
768
785
  resume?: ClientResume;
769
786
  questions?: ApplicationQuestion[];
787
+ relatedEmailIds?: string[];
770
788
  automationSummary?: string;
771
789
  automationTokensUsed?: number;
772
790
  automationLog?: string;
@@ -1064,6 +1082,11 @@ interface ClientAccessToken {
1064
1082
  * For new email structure
1065
1083
  */
1066
1084
  type EmailCategory = "One Time Pin" | "Spam" | "Job Submitted" | "Job Interview" | "Job Accepted" | "Job Rejection" | "Require More Info" | "Job Suggestions" | "Uncategorised";
1085
+ /**
1086
+ * Array of all valid EmailCategory values for validation and iteration
1087
+ * This ensures consistency across the system
1088
+ */
1089
+ declare const EMAIL_CATEGORIES: EmailCategory[];
1067
1090
  interface EmailLog {
1068
1091
  outcome: string;
1069
1092
  status: string;
@@ -1169,4 +1192,4 @@ declare const firestorePaths: {
1169
1192
  };
1170
1193
  };
1171
1194
 
1172
- export { Address, AdminReport, Agent, AgentStatus, Application, ApplicationQuestion, ApplicationQuestionType, ApplicationQuestionTypeOptions, ApplicationRun, ApplicationRunMetadata, ApplicationRunOutcome, ApplicationRunStatus, ApplicationRunTrigger, ApplicationStatus, AuthEmail, AuthUser, Certification, Client, ClientAccessToken, ClientCompanyPreferences, ClientEmail, ClientGmailToken, ClientInitialQuestion, ClientJobPreferences, ClientLogin, ClientPersonalData, ClientQuestion, ClientResume, ClientStatus, ClientStatusEnum, ClientVirtualInterview, Companies, Education, EmailCategory, EmailLog, Experience, FirestoreTimestamp, JobCategory, JobTitle, LocationId, Project, UserPublic, Vacancy, VacancyCategory, VacancySuggestion, countries, firestorePaths, initialQuestions, jobClassifications, locations };
1195
+ export { Address, AdminReport, Agent, AgentStatus, Application, ApplicationQuestion, ApplicationQuestionType, ApplicationQuestionTypeOptions, ApplicationRun, ApplicationRunMetadata, ApplicationRunOutcome, ApplicationRunStatus, ApplicationRunTrigger, ApplicationStatus, AuthEmail, AuthUser, Certification, Client, ClientAccessToken, ClientCompanyPreferences, ClientEmail, ClientGmailToken, ClientInitialQuestion, ClientJobPreferences, ClientLogin, ClientPersonalData, ClientQuestion, ClientResume, ClientStatus, ClientStatusEnum, ClientVirtualInterview, Companies, EMAIL_CATEGORIES, Education, EmailCategory, EmailLog, Experience, FirestoreTimestamp, GmailOAuthSession, JobCategory, JobTitle, LocationId, Project, UserPublic, Vacancy, VacancyCategory, VacancySuggestion, countries, firestorePaths, initialQuestions, jobClassifications, locations };
package/dist/index.d.ts CHANGED
@@ -669,6 +669,23 @@ interface AdminReport {
669
669
  readonly applications: WeeklyApplication;
670
670
  }
671
671
 
672
+ /**
673
+ * Gmail OAuth session document for PKCE flow
674
+ * Path: gmailOAuthSessions/{sessionId}
675
+ * Used for secure OAuth state management with PKCE support
676
+ */
677
+ interface GmailOAuthSession {
678
+ readonly id?: string;
679
+ userId: string;
680
+ state: string;
681
+ codeVerifier: string;
682
+ redirectUri: string;
683
+ createdAt: Date | string;
684
+ expiresAt: Date | string;
685
+ status: "pending" | "completed" | "expired";
686
+ completedAt?: Date | string;
687
+ }
688
+
672
689
  /**
673
690
  * Address interface for client resume
674
691
  */
@@ -767,6 +784,7 @@ interface Application {
767
784
  coverLetter?: string;
768
785
  resume?: ClientResume;
769
786
  questions?: ApplicationQuestion[];
787
+ relatedEmailIds?: string[];
770
788
  automationSummary?: string;
771
789
  automationTokensUsed?: number;
772
790
  automationLog?: string;
@@ -1064,6 +1082,11 @@ interface ClientAccessToken {
1064
1082
  * For new email structure
1065
1083
  */
1066
1084
  type EmailCategory = "One Time Pin" | "Spam" | "Job Submitted" | "Job Interview" | "Job Accepted" | "Job Rejection" | "Require More Info" | "Job Suggestions" | "Uncategorised";
1085
+ /**
1086
+ * Array of all valid EmailCategory values for validation and iteration
1087
+ * This ensures consistency across the system
1088
+ */
1089
+ declare const EMAIL_CATEGORIES: EmailCategory[];
1067
1090
  interface EmailLog {
1068
1091
  outcome: string;
1069
1092
  status: string;
@@ -1169,4 +1192,4 @@ declare const firestorePaths: {
1169
1192
  };
1170
1193
  };
1171
1194
 
1172
- export { Address, AdminReport, Agent, AgentStatus, Application, ApplicationQuestion, ApplicationQuestionType, ApplicationQuestionTypeOptions, ApplicationRun, ApplicationRunMetadata, ApplicationRunOutcome, ApplicationRunStatus, ApplicationRunTrigger, ApplicationStatus, AuthEmail, AuthUser, Certification, Client, ClientAccessToken, ClientCompanyPreferences, ClientEmail, ClientGmailToken, ClientInitialQuestion, ClientJobPreferences, ClientLogin, ClientPersonalData, ClientQuestion, ClientResume, ClientStatus, ClientStatusEnum, ClientVirtualInterview, Companies, Education, EmailCategory, EmailLog, Experience, FirestoreTimestamp, JobCategory, JobTitle, LocationId, Project, UserPublic, Vacancy, VacancyCategory, VacancySuggestion, countries, firestorePaths, initialQuestions, jobClassifications, locations };
1195
+ export { Address, AdminReport, Agent, AgentStatus, Application, ApplicationQuestion, ApplicationQuestionType, ApplicationQuestionTypeOptions, ApplicationRun, ApplicationRunMetadata, ApplicationRunOutcome, ApplicationRunStatus, ApplicationRunTrigger, ApplicationStatus, AuthEmail, AuthUser, Certification, Client, ClientAccessToken, ClientCompanyPreferences, ClientEmail, ClientGmailToken, ClientInitialQuestion, ClientJobPreferences, ClientLogin, ClientPersonalData, ClientQuestion, ClientResume, ClientStatus, ClientStatusEnum, ClientVirtualInterview, Companies, EMAIL_CATEGORIES, Education, EmailCategory, EmailLog, Experience, FirestoreTimestamp, GmailOAuthSession, JobCategory, JobTitle, LocationId, Project, UserPublic, Vacancy, VacancyCategory, VacancySuggestion, countries, firestorePaths, initialQuestions, jobClassifications, locations };
package/dist/index.js CHANGED
@@ -26,6 +26,7 @@ __export(src_exports, {
26
26
  ApplicationRunTrigger: () => ApplicationRunTrigger,
27
27
  ApplicationStatus: () => ApplicationStatus,
28
28
  ClientStatusEnum: () => ClientStatusEnum,
29
+ EMAIL_CATEGORIES: () => EMAIL_CATEGORIES,
29
30
  VacancyCategory: () => VacancyCategory,
30
31
  countries: () => countries,
31
32
  firestorePaths: () => firestorePaths,
@@ -1311,6 +1312,19 @@ var ApplicationRunTrigger = {
1311
1312
  AdminIntervention: "admin_intervention"
1312
1313
  };
1313
1314
 
1315
+ // src/types/clients/ClientEmail.ts
1316
+ var EMAIL_CATEGORIES = [
1317
+ "One Time Pin",
1318
+ "Spam",
1319
+ "Job Submitted",
1320
+ "Job Interview",
1321
+ "Job Accepted",
1322
+ "Job Rejection",
1323
+ "Require More Info",
1324
+ "Job Suggestions",
1325
+ "Uncategorised"
1326
+ ];
1327
+
1314
1328
  // src/paths/firestorePaths.ts
1315
1329
  var firestorePaths = {
1316
1330
  clients: {
@@ -1394,6 +1408,7 @@ var firestorePaths = {
1394
1408
  ApplicationRunTrigger,
1395
1409
  ApplicationStatus,
1396
1410
  ClientStatusEnum,
1411
+ EMAIL_CATEGORIES,
1397
1412
  VacancyCategory,
1398
1413
  countries,
1399
1414
  firestorePaths,
package/dist/index.mjs CHANGED
@@ -1274,6 +1274,19 @@ var ApplicationRunTrigger = {
1274
1274
  AdminIntervention: "admin_intervention"
1275
1275
  };
1276
1276
 
1277
+ // src/types/clients/ClientEmail.ts
1278
+ var EMAIL_CATEGORIES = [
1279
+ "One Time Pin",
1280
+ "Spam",
1281
+ "Job Submitted",
1282
+ "Job Interview",
1283
+ "Job Accepted",
1284
+ "Job Rejection",
1285
+ "Require More Info",
1286
+ "Job Suggestions",
1287
+ "Uncategorised"
1288
+ ];
1289
+
1277
1290
  // src/paths/firestorePaths.ts
1278
1291
  var firestorePaths = {
1279
1292
  clients: {
@@ -1356,6 +1369,7 @@ export {
1356
1369
  ApplicationRunTrigger,
1357
1370
  ApplicationStatus,
1358
1371
  ClientStatusEnum,
1372
+ EMAIL_CATEGORIES,
1359
1373
  VacancyCategory,
1360
1374
  countries,
1361
1375
  firestorePaths,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobsearch-works/firestore-models",
3
- "version": "4.2.2",
3
+ "version": "4.2.4",
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",