@jobsearch-works/firestore-models 4.2.7 → 4.2.9
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 +43 -2
- package/dist/index.d.ts +43 -2
- package/dist/index.js +5 -0
- package/dist/index.mjs +5 -0
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -880,6 +880,43 @@ interface ApplicationRun {
|
|
|
880
880
|
updatedAt?: Date | string;
|
|
881
881
|
}
|
|
882
882
|
|
|
883
|
+
/**
|
|
884
|
+
* Daily statistics for application submissions and archivals
|
|
885
|
+
* Stored in a single document per client for efficient querying
|
|
886
|
+
*/
|
|
887
|
+
interface DailyApplicationStats {
|
|
888
|
+
/** Number of applications applied (submitted) on this day */
|
|
889
|
+
applied: number;
|
|
890
|
+
/** Number of applications archived (rejected or withdrawn) on this day */
|
|
891
|
+
archived: number;
|
|
892
|
+
}
|
|
893
|
+
/**
|
|
894
|
+
* Application statistics aggregated by day
|
|
895
|
+
* Path: stats/{clientId}
|
|
896
|
+
*
|
|
897
|
+
* One document per client containing all application statistics.
|
|
898
|
+
* The dailyStats object uses date strings (YYYY-MM-DD format) as keys
|
|
899
|
+
* for efficient daily aggregation and querying.
|
|
900
|
+
*/
|
|
901
|
+
interface ApplicationStats {
|
|
902
|
+
/** Document ID is the clientId */
|
|
903
|
+
id?: string;
|
|
904
|
+
clientId: string;
|
|
905
|
+
/**
|
|
906
|
+
* Daily statistics keyed by date string (YYYY-MM-DD format)
|
|
907
|
+
* Example: { "2025-01-15": { applied: 3, archived: 1 } }
|
|
908
|
+
*/
|
|
909
|
+
dailyStats: Record<string, DailyApplicationStats>;
|
|
910
|
+
/** Total count of all applications applied (ever) */
|
|
911
|
+
totalApplied: number;
|
|
912
|
+
/** Total count of all applications archived (ever) */
|
|
913
|
+
totalArchived: number;
|
|
914
|
+
/** Last time stats were updated */
|
|
915
|
+
updatedAt?: Date | string;
|
|
916
|
+
/** When this stats document was created */
|
|
917
|
+
createdAt?: Date | string;
|
|
918
|
+
}
|
|
919
|
+
|
|
883
920
|
/**
|
|
884
921
|
* Embedded sub-object within Client document
|
|
885
922
|
* @see Client - Parent document interface
|
|
@@ -1087,7 +1124,7 @@ interface ClientAccessToken {
|
|
|
1087
1124
|
* Subcollection document under clients/{userId}/emails/{emailId}
|
|
1088
1125
|
* For new email structure
|
|
1089
1126
|
*/
|
|
1090
|
-
type EmailCategory = "One Time Pin" | "Spam" | "Job Submitted" | "Job Interview" | "Job Accepted" | "Job Rejection" | "Require More Info" | "Job Suggestions" | "Uncategorised";
|
|
1127
|
+
type EmailCategory = "One Time Pin" | "Spam" | "Job Submitted" | "Job Interview" | "Job Accepted" | "Job Rejection" | "Vacancy Closed" | "Require More Info" | "Job Suggestions" | "Uncategorised";
|
|
1091
1128
|
/**
|
|
1092
1129
|
* Array of all valid EmailCategory values for validation and iteration
|
|
1093
1130
|
* This ensures consistency across the system
|
|
@@ -1197,6 +1234,10 @@ declare const firestorePaths: {
|
|
|
1197
1234
|
readonly collection: () => string;
|
|
1198
1235
|
readonly doc: (authEmail: string) => string;
|
|
1199
1236
|
};
|
|
1237
|
+
readonly stats: {
|
|
1238
|
+
readonly collection: () => string;
|
|
1239
|
+
readonly doc: (clientId: string) => string;
|
|
1240
|
+
};
|
|
1200
1241
|
};
|
|
1201
1242
|
|
|
1202
|
-
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 };
|
|
1243
|
+
export { Address, AdminReport, Agent, AgentStatus, Application, ApplicationQuestion, ApplicationQuestionType, ApplicationQuestionTypeOptions, ApplicationRun, ApplicationRunMetadata, ApplicationRunOutcome, ApplicationRunStatus, ApplicationRunTrigger, ApplicationStats, ApplicationStatus, AuthEmail, AuthUser, Certification, Client, ClientAccessToken, ClientCompanyPreferences, ClientEmail, ClientGmailToken, ClientInitialQuestion, ClientJobPreferences, ClientLogin, ClientPersonalData, ClientQuestion, ClientResume, ClientStatus, ClientStatusEnum, ClientVirtualInterview, Companies, DailyApplicationStats, 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
|
@@ -880,6 +880,43 @@ interface ApplicationRun {
|
|
|
880
880
|
updatedAt?: Date | string;
|
|
881
881
|
}
|
|
882
882
|
|
|
883
|
+
/**
|
|
884
|
+
* Daily statistics for application submissions and archivals
|
|
885
|
+
* Stored in a single document per client for efficient querying
|
|
886
|
+
*/
|
|
887
|
+
interface DailyApplicationStats {
|
|
888
|
+
/** Number of applications applied (submitted) on this day */
|
|
889
|
+
applied: number;
|
|
890
|
+
/** Number of applications archived (rejected or withdrawn) on this day */
|
|
891
|
+
archived: number;
|
|
892
|
+
}
|
|
893
|
+
/**
|
|
894
|
+
* Application statistics aggregated by day
|
|
895
|
+
* Path: stats/{clientId}
|
|
896
|
+
*
|
|
897
|
+
* One document per client containing all application statistics.
|
|
898
|
+
* The dailyStats object uses date strings (YYYY-MM-DD format) as keys
|
|
899
|
+
* for efficient daily aggregation and querying.
|
|
900
|
+
*/
|
|
901
|
+
interface ApplicationStats {
|
|
902
|
+
/** Document ID is the clientId */
|
|
903
|
+
id?: string;
|
|
904
|
+
clientId: string;
|
|
905
|
+
/**
|
|
906
|
+
* Daily statistics keyed by date string (YYYY-MM-DD format)
|
|
907
|
+
* Example: { "2025-01-15": { applied: 3, archived: 1 } }
|
|
908
|
+
*/
|
|
909
|
+
dailyStats: Record<string, DailyApplicationStats>;
|
|
910
|
+
/** Total count of all applications applied (ever) */
|
|
911
|
+
totalApplied: number;
|
|
912
|
+
/** Total count of all applications archived (ever) */
|
|
913
|
+
totalArchived: number;
|
|
914
|
+
/** Last time stats were updated */
|
|
915
|
+
updatedAt?: Date | string;
|
|
916
|
+
/** When this stats document was created */
|
|
917
|
+
createdAt?: Date | string;
|
|
918
|
+
}
|
|
919
|
+
|
|
883
920
|
/**
|
|
884
921
|
* Embedded sub-object within Client document
|
|
885
922
|
* @see Client - Parent document interface
|
|
@@ -1087,7 +1124,7 @@ interface ClientAccessToken {
|
|
|
1087
1124
|
* Subcollection document under clients/{userId}/emails/{emailId}
|
|
1088
1125
|
* For new email structure
|
|
1089
1126
|
*/
|
|
1090
|
-
type EmailCategory = "One Time Pin" | "Spam" | "Job Submitted" | "Job Interview" | "Job Accepted" | "Job Rejection" | "Require More Info" | "Job Suggestions" | "Uncategorised";
|
|
1127
|
+
type EmailCategory = "One Time Pin" | "Spam" | "Job Submitted" | "Job Interview" | "Job Accepted" | "Job Rejection" | "Vacancy Closed" | "Require More Info" | "Job Suggestions" | "Uncategorised";
|
|
1091
1128
|
/**
|
|
1092
1129
|
* Array of all valid EmailCategory values for validation and iteration
|
|
1093
1130
|
* This ensures consistency across the system
|
|
@@ -1197,6 +1234,10 @@ declare const firestorePaths: {
|
|
|
1197
1234
|
readonly collection: () => string;
|
|
1198
1235
|
readonly doc: (authEmail: string) => string;
|
|
1199
1236
|
};
|
|
1237
|
+
readonly stats: {
|
|
1238
|
+
readonly collection: () => string;
|
|
1239
|
+
readonly doc: (clientId: string) => string;
|
|
1240
|
+
};
|
|
1200
1241
|
};
|
|
1201
1242
|
|
|
1202
|
-
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 };
|
|
1243
|
+
export { Address, AdminReport, Agent, AgentStatus, Application, ApplicationQuestion, ApplicationQuestionType, ApplicationQuestionTypeOptions, ApplicationRun, ApplicationRunMetadata, ApplicationRunOutcome, ApplicationRunStatus, ApplicationRunTrigger, ApplicationStats, ApplicationStatus, AuthEmail, AuthUser, Certification, Client, ClientAccessToken, ClientCompanyPreferences, ClientEmail, ClientGmailToken, ClientInitialQuestion, ClientJobPreferences, ClientLogin, ClientPersonalData, ClientQuestion, ClientResume, ClientStatus, ClientStatusEnum, ClientVirtualInterview, Companies, DailyApplicationStats, 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
|
@@ -1443,6 +1443,7 @@ var EMAIL_CATEGORIES = [
|
|
|
1443
1443
|
"Job Interview",
|
|
1444
1444
|
"Job Accepted",
|
|
1445
1445
|
"Job Rejection",
|
|
1446
|
+
"Vacancy Closed",
|
|
1446
1447
|
"Require More Info",
|
|
1447
1448
|
"Job Suggestions",
|
|
1448
1449
|
"Uncategorised"
|
|
@@ -1521,6 +1522,10 @@ var firestorePaths = {
|
|
|
1521
1522
|
authEmails: {
|
|
1522
1523
|
collection: () => "authEmails",
|
|
1523
1524
|
doc: (authEmail) => `authEmails/${authEmail}`
|
|
1525
|
+
},
|
|
1526
|
+
stats: {
|
|
1527
|
+
collection: () => "stats",
|
|
1528
|
+
doc: (clientId) => `stats/${clientId}`
|
|
1524
1529
|
}
|
|
1525
1530
|
};
|
|
1526
1531
|
// Annotate the CommonJS export names for ESM import in node:
|
package/dist/index.mjs
CHANGED
|
@@ -1405,6 +1405,7 @@ var EMAIL_CATEGORIES = [
|
|
|
1405
1405
|
"Job Interview",
|
|
1406
1406
|
"Job Accepted",
|
|
1407
1407
|
"Job Rejection",
|
|
1408
|
+
"Vacancy Closed",
|
|
1408
1409
|
"Require More Info",
|
|
1409
1410
|
"Job Suggestions",
|
|
1410
1411
|
"Uncategorised"
|
|
@@ -1483,6 +1484,10 @@ var firestorePaths = {
|
|
|
1483
1484
|
authEmails: {
|
|
1484
1485
|
collection: () => "authEmails",
|
|
1485
1486
|
doc: (authEmail) => `authEmails/${authEmail}`
|
|
1487
|
+
},
|
|
1488
|
+
stats: {
|
|
1489
|
+
collection: () => "stats",
|
|
1490
|
+
doc: (clientId) => `stats/${clientId}`
|
|
1486
1491
|
}
|
|
1487
1492
|
};
|
|
1488
1493
|
export {
|
package/package.json
CHANGED