@jobsearch-works/firestore-models 2.0.5 → 2.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
@@ -643,14 +643,118 @@ interface VacancySuggestion {
643
643
  createdAt?: Date | string;
644
644
  }
645
645
 
646
- type ClientStatus = "active" | "inactive";
646
+ /**
647
+ * Embedded sub-object within Client document
648
+ * @see Client - Parent document interface
649
+ */
650
+ interface ClientWebsitePreferences {
651
+ readonly id?: string;
652
+ theme: string;
653
+ notifications: string;
654
+ }
655
+
656
+ declare const jobClassifications: {
657
+ readonly Accounting: readonly ["Accounts Officers/Clerks", "Analysis & Reporting", "Assistant Accountants", "Audit - External", "Audit - Internal", "Bookkeeping & Small Practice Accounting", "Business Services & Corporate Advisory", "Company Secretaries", "Cost Accounting", "Financial Accounting & Reporting", "Financial Managers & Controllers", "Forensic Accounting & Investigation", "Insolvency & Corporate Recovery", "Management Accounting & Budgeting", "Payroll", "Strategy & Planning", "Systems Accounting", "Taxation", "Other"];
658
+ readonly "Administration & Office Support": readonly ["Administrative Assistants", "Client & Sales Administration", "Contracts Administration", "Data Entry & Word Processing", "Office Management", "PA, EA & Secretarial", "Receptionists", "Records Management & Document Control", "Other"];
659
+ readonly "Advertising, Arts & Media": readonly ["Agency Account Management", "Art Direction", "Copywriting", "Editing & Publishing", "Event Management", "Journalism & Writing", "Media Buying, Planning & Strategy", "Photography", "Programming & Production", "Promotions", "Sales & Account Management", "Other"];
660
+ readonly "Banking & Financial Services": readonly ["Analysis & Reporting", "Banking - Business", "Banking - Corporate & Institutional", "Banking - Retail/Branch", "Client Services", "Compliance & Risk", "Corporate Finance & Investment Banking", "Financial Planning", "Funds Management", "Investments", "Mortgages", "Settlements", "Stockbroking & Trading", "Treasury", "Other"];
661
+ readonly "Call Centre & Customer Service": readonly ["Customer Service - Call Centre", "Customer Service - Customer Facing", "Customer Service - Manager", "Customer Service - Supervisor", "Customer Service - Team Leader", "Other"];
662
+ readonly "Community Services & Development": readonly ["Aged & Disability Support", "Child Welfare, Youth & Family Services", "Community Development", "Employment Services", "Housing & Homelessness Services", "Indigenous & Multicultural Services", "Management", "Volunteer Coordination & Support", "Other"];
663
+ readonly Construction: readonly ["Contracts Management", "Estimating", "Foreperson/Supervisors", "Health & Safety", "Project Management", "Site Management", "Surveying", "Other"];
664
+ readonly "Consulting & Strategy": readonly ["Corporate Development", "Management & Change Consulting", "Policy & Planning", "Strategy & Planning", "Other"];
665
+ readonly "Design & Architecture": readonly ["Architecture", "Fashion & Textile Design", "Graphic Design", "Illustration & Animation", "Industrial Design", "Interior Design", "Landscape Architecture", "Urban Design & Planning", "Other"];
666
+ readonly "Education & Training": readonly ["Childcare & Outside School Hours Care", "Library Services & Information Management", "Management - Schools", "Management - Universities", "Management - Vocational", "Research & Fellowships", "Student Services", "Teaching - Early Childhood", "Teaching - Primary", "Teaching - Secondary", "Teaching - Tertiary", "Teaching - Vocational", "Teaching Aides & Special Needs", "Tutoring", "Workplace Training & Assessment", "Other"];
667
+ readonly Engineering: readonly ["Aerospace Engineering", "Automotive Engineering", "Chemical Engineering", "Civil/Structural Engineering", "Electrical/Electronic Engineering", "Engineering Drafting", "Environmental Engineering", "Field Engineering", "Industrial Engineering", "Maintenance", "Mechanical Engineering", "Mining - Engineering & Maintenance", "Project Engineering", "Systems Engineering", "Other"];
668
+ readonly "Farming, Animals & Conservation": readonly ["Agronomy & Farm Services", "Animal Welfare", "Conservation, Parks & Wildlife", "Farm Labour", "Fishing & Aquaculture", "Forestry & Logging", "Horticulture", "Veterinary Services & Animal Welfare", "Other"];
669
+ readonly "Government & Defence": readonly ["Air Force", "Army", "Emergency Services", "Federal Government", "Government - Local", "Government - State", "Navy", "Police & Corrections", "Policy, Planning & Regulation", "Security & Intelligence", "Other"];
670
+ readonly "Healthcare & Medical": readonly ["Aged Care Nursing", "Ambulance/Paramedics", "Chiropractic & Osteopathic", "Dental", "General Practitioners", "Medical Imaging", "Nursing - Aged Care", "Nursing - General Medical & Surgical", "Nursing - High Acuity", "Nursing - Management", "Nursing - Midwifery, Neo-Natal, SCN & NICU", "Nursing - Paediatric", "Nursing - Psych, Forensic & Correctional Health", "Nursing - Theatre & Recovery", "Nursing - Other", "Pharmacy", "Physiotherapy, OT & Rehabilitation", "Psychology, Counselling & Social Work", "Speech Therapy", "Other"];
671
+ readonly "Hospitality & Tourism": readonly ["Bar & Beverage Staff", "Chefs/Cooks", "Front Office & Guest Services", "Gaming", "Housekeeping", "Kitchen & Sandwich Hands", "Management", "Reservations", "Tour Guides", "Travel Agents/Consultants", "Waiting Staff", "Other"];
672
+ readonly "Human Resources & Recruitment": readonly ["Consulting & Generalist HR", "Industrial & Employee Relations", "Management - Agency", "Management - Internal", "Occupational Health & Safety", "Organisational Development", "Recruitment - Agency", "Recruitment - Internal", "Remuneration & Benefits", "Training & Development", "Other"];
673
+ readonly "Information & Communication Technology": readonly ["Architects", "Business/Systems Analysts", "Consultants", "Database Development & Administration", "Developers/Programmers", "Engineering - Hardware", "Engineering - Network", "Help Desk & IT Support", "Management", "Networks & Systems Administration", "Product Management & Development", "Project Management", "Security", "Software Engineering", "Team Leaders", "Technical Writers", "Testing & Quality Assurance", "Web Development & Production", "Other"];
674
+ readonly "Insurance & Superannuation": readonly ["Actuarial", "Brokerage", "Claims", "Fund Administration", "Investments", "Risk Consulting", "Superannuation", "Underwriting", "Other"];
675
+ readonly Legal: readonly ["Generalists - In-house", "Generalists - Private Practice", "Law Clerks & Paralegals", "Legal Secretaries", "Litigation & Dispute Resolution", "Other"];
676
+ readonly "Manufacturing, Transport & Logistics": readonly ["Assembly & Process Work", "Couriers, Drivers & Postal Services", "Fleet Management", "Import/Export & Customs", "Machine Operators", "Maintenance", "Pickers & Packers", "Plant & Machinery Operators", "Production, Planning & Scheduling", "Purchasing, Procurement & Inventory", "Rail & Maritime Transport", "Road Transport", "Warehousing, Storage & Distribution", "Other"];
677
+ readonly "Marketing & Communications": readonly ["Brand Management", "Digital & Search Marketing", "Event Management", "Internal Communications", "Market Research & Analysis", "Marketing Assistants/Coordinators", "Marketing Communications", "Marketing Management", "Product Management & Development", "Public Relations & Corporate Affairs", "Other"];
678
+ readonly "Mining, Resources & Energy": readonly ["Analysis & Reporting", "Engineering", "Health, Safety & Environment", "Maintenance", "Management", "Mining - Operations", "Oil & Gas - Engineering & Maintenance", "Oil & Gas - Operations", "Power Generation & Distribution", "Surveying", "Other"];
679
+ readonly "Real Estate & Property": readonly ["Analysts", "Body Corporate & Facilities Management", "Commercial Sales, Leasing & Property Mgmt", "Residential Leasing & Property Management", "Residential Sales", "Retail & Property Development", "Valuation", "Other"];
680
+ readonly "Retail & Consumer Products": readonly ["Buying", "Management - Department/Assistant", "Management - Store", "Merchandisers", "Retail Assistants", "Sales Representatives/Consultants", "Supervisors/Team Leaders", "Other"];
681
+ readonly Sales: readonly ["Account & Relationship Management", "Business Development", "Direct Sales", "Sales Coordinators", "Sales Management", "Sales Representatives/Consultants", "Telesales & Internal Sales", "Other"];
682
+ readonly "Science & Technology": readonly ["Biological & Biomedical Sciences", "Chemistry & Physics", "Environmental, Earth & Geosciences", "Food Technology & Safety", "Laboratory & Technical Services", "Mathematics, Statistics & Information Sciences", "Quality Assurance & Control", "Other"];
683
+ readonly "Self Employment": readonly ["Contract/Temp", "Franchise", "Home Business", "Other"];
684
+ readonly "Sport & Recreation": readonly ["Coaching & Instruction", "Fitness & Personal Training", "Management", "Other"];
685
+ readonly "Trades & Services": readonly ["Air Conditioning & Refrigeration", "Automotive Trades", "Bakers & Pastry Chefs", "Building Trades", "Butchers", "Carpentry & Cabinet Making", "Cleaning Services", "Electricians", "Fitters, Turners & Machinists", "Floristry", "Gardening & Landscaping", "Hair & Beauty Services", "Labourers", "Locksmiths", "Maintenance & Handyperson Services", "Nannies & Babysitters", "Painters & Sign Writers", "Plumbers", "Printing & Publishing Services", "Security Services", "Tailors & Dressmakers", "Technicians", "Welders & Boilermakers", "Other"];
686
+ };
687
+
688
+ /**
689
+ * Embedded sub-object within Client document
690
+ * @see Client - Parent document interface
691
+ */
692
+
693
+ type JobCategory = keyof typeof jobClassifications;
694
+ type JobTitle = (typeof jobClassifications)[JobCategory][number];
695
+ type LocationId = (typeof locations)[number]["id"];
696
+ interface ClientJobPreferences {
697
+ readonly id?: string;
698
+ clientId: string;
699
+ jobTitles: JobTitle[];
700
+ jobCategories: JobCategory[];
701
+ locations: LocationId[];
702
+ salaryExpectation?: number;
703
+ employmentTypes: string[];
704
+ remotePreference: 'remote' | 'hybrid' | 'office';
705
+ visaSponsorshipRequired: boolean;
706
+ createdAt?: Date | string;
707
+ updatedAt?: Date | string;
708
+ }
709
+
710
+ /**
711
+ * Embedded sub-object within Client document
712
+ * @see Client - Parent document interface
713
+ */
714
+ interface ClientPersonalData {
715
+ id?: string;
716
+ firstName: string;
717
+ lastName: string;
718
+ middleName?: string;
719
+ preferredName?: string;
720
+ email: string;
721
+ phone: string;
722
+ address: string;
723
+ city: string;
724
+ suburb: string;
725
+ state: string;
726
+ zip: string;
727
+ country: string;
728
+ linkedIn?: string;
729
+ countryPhoneCode: string;
730
+ nationality: string;
731
+ dateOfBirth?: Date | string;
732
+ createdAt?: Date | string;
733
+ updatedAt?: Date | string;
734
+ }
735
+
736
+ type ClientStatus = 'active' | 'inactive';
737
+ /**
738
+ * Root Client document
739
+ * Path: clients/{clientId}
740
+ * Contains embedded sub-objects and references subcollections
741
+ * @see MODELS.md for complete relationship diagram
742
+ */
647
743
  interface Client {
648
744
  readonly id?: string;
649
745
  readonly name: string;
650
746
  readonly status: ClientStatus;
747
+ readonly personalData?: ClientPersonalData;
748
+ readonly jobPreferences?: ClientJobPreferences;
749
+ readonly websitePreferences?: ClientWebsitePreferences;
651
750
  readonly createdAt?: Date | string;
652
751
  }
653
752
 
753
+ /**
754
+ * Subcollection document under Client
755
+ * Path: clients/{clientId}/emails/{docId}
756
+ * @see Client - Parent document
757
+ */
654
758
  interface ClientEmail {
655
759
  id?: string;
656
760
  messageId: string;
@@ -677,6 +781,11 @@ interface ClientEmail {
677
781
  updatedAt?: Date | string;
678
782
  }
679
783
 
784
+ /**
785
+ * Subcollection document under Client
786
+ * Path: clients/{clientId}/gmailTokens/{docId}
787
+ * @see Client - Parent document
788
+ */
680
789
  interface ClientGmailToken {
681
790
  readonly id?: string;
682
791
  accessToken: string;
@@ -685,12 +794,23 @@ interface ClientGmailToken {
685
794
  useThisEmail: boolean;
686
795
  }
687
796
 
797
+ /**
798
+ * Subcollection document under Client
799
+ * Path: clients/{clientId}/initialQuestions/{docId}
800
+ * @see Client - Parent document
801
+ */
688
802
  interface ClientInitialQuestion {
689
803
  readonly id?: string;
690
804
  questionText: string;
691
805
  answerText: string;
692
806
  }
693
807
 
808
+ /**
809
+ * Subcollection document under Client
810
+ * Path: clients/{clientId}/interviews/{docId}
811
+ * @see Client - Parent document
812
+ * @see Application - Related application
813
+ */
694
814
  interface ClientInterview {
695
815
  readonly id?: string;
696
816
  company: string;
@@ -702,55 +822,11 @@ interface ClientInterview {
702
822
  summary: string;
703
823
  }
704
824
 
705
- declare const jobClassifications: {
706
- readonly Accounting: readonly ["Accounts Officers/Clerks", "Analysis & Reporting", "Assistant Accountants", "Audit - External", "Audit - Internal", "Bookkeeping & Small Practice Accounting", "Business Services & Corporate Advisory", "Company Secretaries", "Cost Accounting", "Financial Accounting & Reporting", "Financial Managers & Controllers", "Forensic Accounting & Investigation", "Insolvency & Corporate Recovery", "Management Accounting & Budgeting", "Payroll", "Strategy & Planning", "Systems Accounting", "Taxation", "Other"];
707
- readonly "Administration & Office Support": readonly ["Administrative Assistants", "Client & Sales Administration", "Contracts Administration", "Data Entry & Word Processing", "Office Management", "PA, EA & Secretarial", "Receptionists", "Records Management & Document Control", "Other"];
708
- readonly "Advertising, Arts & Media": readonly ["Agency Account Management", "Art Direction", "Copywriting", "Editing & Publishing", "Event Management", "Journalism & Writing", "Media Buying, Planning & Strategy", "Photography", "Programming & Production", "Promotions", "Sales & Account Management", "Other"];
709
- readonly "Banking & Financial Services": readonly ["Analysis & Reporting", "Banking - Business", "Banking - Corporate & Institutional", "Banking - Retail/Branch", "Client Services", "Compliance & Risk", "Corporate Finance & Investment Banking", "Financial Planning", "Funds Management", "Investments", "Mortgages", "Settlements", "Stockbroking & Trading", "Treasury", "Other"];
710
- readonly "Call Centre & Customer Service": readonly ["Customer Service - Call Centre", "Customer Service - Customer Facing", "Customer Service - Manager", "Customer Service - Supervisor", "Customer Service - Team Leader", "Other"];
711
- readonly "Community Services & Development": readonly ["Aged & Disability Support", "Child Welfare, Youth & Family Services", "Community Development", "Employment Services", "Housing & Homelessness Services", "Indigenous & Multicultural Services", "Management", "Volunteer Coordination & Support", "Other"];
712
- readonly Construction: readonly ["Contracts Management", "Estimating", "Foreperson/Supervisors", "Health & Safety", "Project Management", "Site Management", "Surveying", "Other"];
713
- readonly "Consulting & Strategy": readonly ["Corporate Development", "Management & Change Consulting", "Policy & Planning", "Strategy & Planning", "Other"];
714
- readonly "Design & Architecture": readonly ["Architecture", "Fashion & Textile Design", "Graphic Design", "Illustration & Animation", "Industrial Design", "Interior Design", "Landscape Architecture", "Urban Design & Planning", "Other"];
715
- readonly "Education & Training": readonly ["Childcare & Outside School Hours Care", "Library Services & Information Management", "Management - Schools", "Management - Universities", "Management - Vocational", "Research & Fellowships", "Student Services", "Teaching - Early Childhood", "Teaching - Primary", "Teaching - Secondary", "Teaching - Tertiary", "Teaching - Vocational", "Teaching Aides & Special Needs", "Tutoring", "Workplace Training & Assessment", "Other"];
716
- readonly Engineering: readonly ["Aerospace Engineering", "Automotive Engineering", "Chemical Engineering", "Civil/Structural Engineering", "Electrical/Electronic Engineering", "Engineering Drafting", "Environmental Engineering", "Field Engineering", "Industrial Engineering", "Maintenance", "Mechanical Engineering", "Mining - Engineering & Maintenance", "Project Engineering", "Systems Engineering", "Other"];
717
- readonly "Farming, Animals & Conservation": readonly ["Agronomy & Farm Services", "Animal Welfare", "Conservation, Parks & Wildlife", "Farm Labour", "Fishing & Aquaculture", "Forestry & Logging", "Horticulture", "Veterinary Services & Animal Welfare", "Other"];
718
- readonly "Government & Defence": readonly ["Air Force", "Army", "Emergency Services", "Federal Government", "Government - Local", "Government - State", "Navy", "Police & Corrections", "Policy, Planning & Regulation", "Security & Intelligence", "Other"];
719
- readonly "Healthcare & Medical": readonly ["Aged Care Nursing", "Ambulance/Paramedics", "Chiropractic & Osteopathic", "Dental", "General Practitioners", "Medical Imaging", "Nursing - Aged Care", "Nursing - General Medical & Surgical", "Nursing - High Acuity", "Nursing - Management", "Nursing - Midwifery, Neo-Natal, SCN & NICU", "Nursing - Paediatric", "Nursing - Psych, Forensic & Correctional Health", "Nursing - Theatre & Recovery", "Nursing - Other", "Pharmacy", "Physiotherapy, OT & Rehabilitation", "Psychology, Counselling & Social Work", "Speech Therapy", "Other"];
720
- readonly "Hospitality & Tourism": readonly ["Bar & Beverage Staff", "Chefs/Cooks", "Front Office & Guest Services", "Gaming", "Housekeeping", "Kitchen & Sandwich Hands", "Management", "Reservations", "Tour Guides", "Travel Agents/Consultants", "Waiting Staff", "Other"];
721
- readonly "Human Resources & Recruitment": readonly ["Consulting & Generalist HR", "Industrial & Employee Relations", "Management - Agency", "Management - Internal", "Occupational Health & Safety", "Organisational Development", "Recruitment - Agency", "Recruitment - Internal", "Remuneration & Benefits", "Training & Development", "Other"];
722
- readonly "Information & Communication Technology": readonly ["Architects", "Business/Systems Analysts", "Consultants", "Database Development & Administration", "Developers/Programmers", "Engineering - Hardware", "Engineering - Network", "Help Desk & IT Support", "Management", "Networks & Systems Administration", "Product Management & Development", "Project Management", "Security", "Software Engineering", "Team Leaders", "Technical Writers", "Testing & Quality Assurance", "Web Development & Production", "Other"];
723
- readonly "Insurance & Superannuation": readonly ["Actuarial", "Brokerage", "Claims", "Fund Administration", "Investments", "Risk Consulting", "Superannuation", "Underwriting", "Other"];
724
- readonly Legal: readonly ["Generalists - In-house", "Generalists - Private Practice", "Law Clerks & Paralegals", "Legal Secretaries", "Litigation & Dispute Resolution", "Other"];
725
- readonly "Manufacturing, Transport & Logistics": readonly ["Assembly & Process Work", "Couriers, Drivers & Postal Services", "Fleet Management", "Import/Export & Customs", "Machine Operators", "Maintenance", "Pickers & Packers", "Plant & Machinery Operators", "Production, Planning & Scheduling", "Purchasing, Procurement & Inventory", "Rail & Maritime Transport", "Road Transport", "Warehousing, Storage & Distribution", "Other"];
726
- readonly "Marketing & Communications": readonly ["Brand Management", "Digital & Search Marketing", "Event Management", "Internal Communications", "Market Research & Analysis", "Marketing Assistants/Coordinators", "Marketing Communications", "Marketing Management", "Product Management & Development", "Public Relations & Corporate Affairs", "Other"];
727
- readonly "Mining, Resources & Energy": readonly ["Analysis & Reporting", "Engineering", "Health, Safety & Environment", "Maintenance", "Management", "Mining - Operations", "Oil & Gas - Engineering & Maintenance", "Oil & Gas - Operations", "Power Generation & Distribution", "Surveying", "Other"];
728
- readonly "Real Estate & Property": readonly ["Analysts", "Body Corporate & Facilities Management", "Commercial Sales, Leasing & Property Mgmt", "Residential Leasing & Property Management", "Residential Sales", "Retail & Property Development", "Valuation", "Other"];
729
- readonly "Retail & Consumer Products": readonly ["Buying", "Management - Department/Assistant", "Management - Store", "Merchandisers", "Retail Assistants", "Sales Representatives/Consultants", "Supervisors/Team Leaders", "Other"];
730
- readonly Sales: readonly ["Account & Relationship Management", "Business Development", "Direct Sales", "Sales Coordinators", "Sales Management", "Sales Representatives/Consultants", "Telesales & Internal Sales", "Other"];
731
- readonly "Science & Technology": readonly ["Biological & Biomedical Sciences", "Chemistry & Physics", "Environmental, Earth & Geosciences", "Food Technology & Safety", "Laboratory & Technical Services", "Mathematics, Statistics & Information Sciences", "Quality Assurance & Control", "Other"];
732
- readonly "Self Employment": readonly ["Contract/Temp", "Franchise", "Home Business", "Other"];
733
- readonly "Sport & Recreation": readonly ["Coaching & Instruction", "Fitness & Personal Training", "Management", "Other"];
734
- readonly "Trades & Services": readonly ["Air Conditioning & Refrigeration", "Automotive Trades", "Bakers & Pastry Chefs", "Building Trades", "Butchers", "Carpentry & Cabinet Making", "Cleaning Services", "Electricians", "Fitters, Turners & Machinists", "Floristry", "Gardening & Landscaping", "Hair & Beauty Services", "Labourers", "Locksmiths", "Maintenance & Handyperson Services", "Nannies & Babysitters", "Painters & Sign Writers", "Plumbers", "Printing & Publishing Services", "Security Services", "Tailors & Dressmakers", "Technicians", "Welders & Boilermakers", "Other"];
735
- };
736
-
737
- type JobCategory = keyof typeof jobClassifications;
738
- type JobTitle = (typeof jobClassifications)[JobCategory][number];
739
- type LocationId = (typeof locations)[number]["id"];
740
- interface ClientJobPreferences {
741
- readonly id?: string;
742
- clientId: string;
743
- desiredPositions: JobTitle[];
744
- categories: JobCategory[];
745
- locations: LocationId[];
746
- minSalary: number;
747
- maxSalary?: number;
748
- currency: string;
749
- industries: string[];
750
- createdAt: Date;
751
- updatedAt: Date;
752
- }
753
-
825
+ /**
826
+ * Subcollection document under Client
827
+ * Path: clients/{clientId}/logins/{docId}
828
+ * @see Client - Parent document
829
+ */
754
830
  interface ClientLogin {
755
831
  readonly id?: string;
756
832
  userId: string;
@@ -763,28 +839,11 @@ interface ClientLogin {
763
839
  updatedAt?: Date | string;
764
840
  }
765
841
 
766
- interface ClientPersonalData {
767
- id?: string;
768
- firstName: string;
769
- lastName: string;
770
- middleName?: string;
771
- preferredName?: string;
772
- email: string;
773
- phone: string;
774
- address: string;
775
- city: string;
776
- suburb: string;
777
- state: string;
778
- zip: string;
779
- country: string;
780
- linkedIn?: string;
781
- countryPhoneCode: string;
782
- nationality: string;
783
- dateOfBirth?: Date | string;
784
- createdAt?: Date | string;
785
- updatedAt?: Date | string;
786
- }
787
-
842
+ /**
843
+ * Subcollection document under Client
844
+ * Path: clients/{clientId}/questions/{docId}
845
+ * @see Client - Parent document
846
+ */
788
847
  interface ClientQuestion {
789
848
  id?: string;
790
849
  questionText: string;
@@ -795,6 +854,16 @@ interface ClientQuestion {
795
854
  updatedAt?: Date | string;
796
855
  }
797
856
 
857
+ /**
858
+ * Subcollection document under Client
859
+ * Path: clients/{clientId}/resumes/{docId}
860
+ * @see Client - Parent document
861
+ *
862
+ * @description Represents a client's resume document.
863
+ * @author [Your Name]
864
+ * @version 1.0.0
865
+ * @since [Date]
866
+ */
798
867
  interface ClientResume {
799
868
  readonly id?: string;
800
869
  title: string;
@@ -823,19 +892,10 @@ interface ClientResume {
823
892
  }>;
824
893
  }
825
894
 
826
- interface ClientWebsitePreferences {
827
- readonly id?: string;
828
- theme: string;
829
- notifications: string;
830
- }
831
-
832
895
  declare const firestorePaths: {
833
896
  readonly clients: {
834
897
  readonly collection: () => string;
835
898
  readonly doc: (id: string) => string;
836
- readonly personalData: (id: string) => string;
837
- readonly jobPreferences: (id: string) => string;
838
- readonly websitePreferences: (id: string) => string;
839
899
  readonly gmailTokens: (id: string) => string;
840
900
  readonly emails: {
841
901
  readonly collection: (clientId: string) => string;
package/dist/index.d.ts CHANGED
@@ -643,14 +643,118 @@ interface VacancySuggestion {
643
643
  createdAt?: Date | string;
644
644
  }
645
645
 
646
- type ClientStatus = "active" | "inactive";
646
+ /**
647
+ * Embedded sub-object within Client document
648
+ * @see Client - Parent document interface
649
+ */
650
+ interface ClientWebsitePreferences {
651
+ readonly id?: string;
652
+ theme: string;
653
+ notifications: string;
654
+ }
655
+
656
+ declare const jobClassifications: {
657
+ readonly Accounting: readonly ["Accounts Officers/Clerks", "Analysis & Reporting", "Assistant Accountants", "Audit - External", "Audit - Internal", "Bookkeeping & Small Practice Accounting", "Business Services & Corporate Advisory", "Company Secretaries", "Cost Accounting", "Financial Accounting & Reporting", "Financial Managers & Controllers", "Forensic Accounting & Investigation", "Insolvency & Corporate Recovery", "Management Accounting & Budgeting", "Payroll", "Strategy & Planning", "Systems Accounting", "Taxation", "Other"];
658
+ readonly "Administration & Office Support": readonly ["Administrative Assistants", "Client & Sales Administration", "Contracts Administration", "Data Entry & Word Processing", "Office Management", "PA, EA & Secretarial", "Receptionists", "Records Management & Document Control", "Other"];
659
+ readonly "Advertising, Arts & Media": readonly ["Agency Account Management", "Art Direction", "Copywriting", "Editing & Publishing", "Event Management", "Journalism & Writing", "Media Buying, Planning & Strategy", "Photography", "Programming & Production", "Promotions", "Sales & Account Management", "Other"];
660
+ readonly "Banking & Financial Services": readonly ["Analysis & Reporting", "Banking - Business", "Banking - Corporate & Institutional", "Banking - Retail/Branch", "Client Services", "Compliance & Risk", "Corporate Finance & Investment Banking", "Financial Planning", "Funds Management", "Investments", "Mortgages", "Settlements", "Stockbroking & Trading", "Treasury", "Other"];
661
+ readonly "Call Centre & Customer Service": readonly ["Customer Service - Call Centre", "Customer Service - Customer Facing", "Customer Service - Manager", "Customer Service - Supervisor", "Customer Service - Team Leader", "Other"];
662
+ readonly "Community Services & Development": readonly ["Aged & Disability Support", "Child Welfare, Youth & Family Services", "Community Development", "Employment Services", "Housing & Homelessness Services", "Indigenous & Multicultural Services", "Management", "Volunteer Coordination & Support", "Other"];
663
+ readonly Construction: readonly ["Contracts Management", "Estimating", "Foreperson/Supervisors", "Health & Safety", "Project Management", "Site Management", "Surveying", "Other"];
664
+ readonly "Consulting & Strategy": readonly ["Corporate Development", "Management & Change Consulting", "Policy & Planning", "Strategy & Planning", "Other"];
665
+ readonly "Design & Architecture": readonly ["Architecture", "Fashion & Textile Design", "Graphic Design", "Illustration & Animation", "Industrial Design", "Interior Design", "Landscape Architecture", "Urban Design & Planning", "Other"];
666
+ readonly "Education & Training": readonly ["Childcare & Outside School Hours Care", "Library Services & Information Management", "Management - Schools", "Management - Universities", "Management - Vocational", "Research & Fellowships", "Student Services", "Teaching - Early Childhood", "Teaching - Primary", "Teaching - Secondary", "Teaching - Tertiary", "Teaching - Vocational", "Teaching Aides & Special Needs", "Tutoring", "Workplace Training & Assessment", "Other"];
667
+ readonly Engineering: readonly ["Aerospace Engineering", "Automotive Engineering", "Chemical Engineering", "Civil/Structural Engineering", "Electrical/Electronic Engineering", "Engineering Drafting", "Environmental Engineering", "Field Engineering", "Industrial Engineering", "Maintenance", "Mechanical Engineering", "Mining - Engineering & Maintenance", "Project Engineering", "Systems Engineering", "Other"];
668
+ readonly "Farming, Animals & Conservation": readonly ["Agronomy & Farm Services", "Animal Welfare", "Conservation, Parks & Wildlife", "Farm Labour", "Fishing & Aquaculture", "Forestry & Logging", "Horticulture", "Veterinary Services & Animal Welfare", "Other"];
669
+ readonly "Government & Defence": readonly ["Air Force", "Army", "Emergency Services", "Federal Government", "Government - Local", "Government - State", "Navy", "Police & Corrections", "Policy, Planning & Regulation", "Security & Intelligence", "Other"];
670
+ readonly "Healthcare & Medical": readonly ["Aged Care Nursing", "Ambulance/Paramedics", "Chiropractic & Osteopathic", "Dental", "General Practitioners", "Medical Imaging", "Nursing - Aged Care", "Nursing - General Medical & Surgical", "Nursing - High Acuity", "Nursing - Management", "Nursing - Midwifery, Neo-Natal, SCN & NICU", "Nursing - Paediatric", "Nursing - Psych, Forensic & Correctional Health", "Nursing - Theatre & Recovery", "Nursing - Other", "Pharmacy", "Physiotherapy, OT & Rehabilitation", "Psychology, Counselling & Social Work", "Speech Therapy", "Other"];
671
+ readonly "Hospitality & Tourism": readonly ["Bar & Beverage Staff", "Chefs/Cooks", "Front Office & Guest Services", "Gaming", "Housekeeping", "Kitchen & Sandwich Hands", "Management", "Reservations", "Tour Guides", "Travel Agents/Consultants", "Waiting Staff", "Other"];
672
+ readonly "Human Resources & Recruitment": readonly ["Consulting & Generalist HR", "Industrial & Employee Relations", "Management - Agency", "Management - Internal", "Occupational Health & Safety", "Organisational Development", "Recruitment - Agency", "Recruitment - Internal", "Remuneration & Benefits", "Training & Development", "Other"];
673
+ readonly "Information & Communication Technology": readonly ["Architects", "Business/Systems Analysts", "Consultants", "Database Development & Administration", "Developers/Programmers", "Engineering - Hardware", "Engineering - Network", "Help Desk & IT Support", "Management", "Networks & Systems Administration", "Product Management & Development", "Project Management", "Security", "Software Engineering", "Team Leaders", "Technical Writers", "Testing & Quality Assurance", "Web Development & Production", "Other"];
674
+ readonly "Insurance & Superannuation": readonly ["Actuarial", "Brokerage", "Claims", "Fund Administration", "Investments", "Risk Consulting", "Superannuation", "Underwriting", "Other"];
675
+ readonly Legal: readonly ["Generalists - In-house", "Generalists - Private Practice", "Law Clerks & Paralegals", "Legal Secretaries", "Litigation & Dispute Resolution", "Other"];
676
+ readonly "Manufacturing, Transport & Logistics": readonly ["Assembly & Process Work", "Couriers, Drivers & Postal Services", "Fleet Management", "Import/Export & Customs", "Machine Operators", "Maintenance", "Pickers & Packers", "Plant & Machinery Operators", "Production, Planning & Scheduling", "Purchasing, Procurement & Inventory", "Rail & Maritime Transport", "Road Transport", "Warehousing, Storage & Distribution", "Other"];
677
+ readonly "Marketing & Communications": readonly ["Brand Management", "Digital & Search Marketing", "Event Management", "Internal Communications", "Market Research & Analysis", "Marketing Assistants/Coordinators", "Marketing Communications", "Marketing Management", "Product Management & Development", "Public Relations & Corporate Affairs", "Other"];
678
+ readonly "Mining, Resources & Energy": readonly ["Analysis & Reporting", "Engineering", "Health, Safety & Environment", "Maintenance", "Management", "Mining - Operations", "Oil & Gas - Engineering & Maintenance", "Oil & Gas - Operations", "Power Generation & Distribution", "Surveying", "Other"];
679
+ readonly "Real Estate & Property": readonly ["Analysts", "Body Corporate & Facilities Management", "Commercial Sales, Leasing & Property Mgmt", "Residential Leasing & Property Management", "Residential Sales", "Retail & Property Development", "Valuation", "Other"];
680
+ readonly "Retail & Consumer Products": readonly ["Buying", "Management - Department/Assistant", "Management - Store", "Merchandisers", "Retail Assistants", "Sales Representatives/Consultants", "Supervisors/Team Leaders", "Other"];
681
+ readonly Sales: readonly ["Account & Relationship Management", "Business Development", "Direct Sales", "Sales Coordinators", "Sales Management", "Sales Representatives/Consultants", "Telesales & Internal Sales", "Other"];
682
+ readonly "Science & Technology": readonly ["Biological & Biomedical Sciences", "Chemistry & Physics", "Environmental, Earth & Geosciences", "Food Technology & Safety", "Laboratory & Technical Services", "Mathematics, Statistics & Information Sciences", "Quality Assurance & Control", "Other"];
683
+ readonly "Self Employment": readonly ["Contract/Temp", "Franchise", "Home Business", "Other"];
684
+ readonly "Sport & Recreation": readonly ["Coaching & Instruction", "Fitness & Personal Training", "Management", "Other"];
685
+ readonly "Trades & Services": readonly ["Air Conditioning & Refrigeration", "Automotive Trades", "Bakers & Pastry Chefs", "Building Trades", "Butchers", "Carpentry & Cabinet Making", "Cleaning Services", "Electricians", "Fitters, Turners & Machinists", "Floristry", "Gardening & Landscaping", "Hair & Beauty Services", "Labourers", "Locksmiths", "Maintenance & Handyperson Services", "Nannies & Babysitters", "Painters & Sign Writers", "Plumbers", "Printing & Publishing Services", "Security Services", "Tailors & Dressmakers", "Technicians", "Welders & Boilermakers", "Other"];
686
+ };
687
+
688
+ /**
689
+ * Embedded sub-object within Client document
690
+ * @see Client - Parent document interface
691
+ */
692
+
693
+ type JobCategory = keyof typeof jobClassifications;
694
+ type JobTitle = (typeof jobClassifications)[JobCategory][number];
695
+ type LocationId = (typeof locations)[number]["id"];
696
+ interface ClientJobPreferences {
697
+ readonly id?: string;
698
+ clientId: string;
699
+ jobTitles: JobTitle[];
700
+ jobCategories: JobCategory[];
701
+ locations: LocationId[];
702
+ salaryExpectation?: number;
703
+ employmentTypes: string[];
704
+ remotePreference: 'remote' | 'hybrid' | 'office';
705
+ visaSponsorshipRequired: boolean;
706
+ createdAt?: Date | string;
707
+ updatedAt?: Date | string;
708
+ }
709
+
710
+ /**
711
+ * Embedded sub-object within Client document
712
+ * @see Client - Parent document interface
713
+ */
714
+ interface ClientPersonalData {
715
+ id?: string;
716
+ firstName: string;
717
+ lastName: string;
718
+ middleName?: string;
719
+ preferredName?: string;
720
+ email: string;
721
+ phone: string;
722
+ address: string;
723
+ city: string;
724
+ suburb: string;
725
+ state: string;
726
+ zip: string;
727
+ country: string;
728
+ linkedIn?: string;
729
+ countryPhoneCode: string;
730
+ nationality: string;
731
+ dateOfBirth?: Date | string;
732
+ createdAt?: Date | string;
733
+ updatedAt?: Date | string;
734
+ }
735
+
736
+ type ClientStatus = 'active' | 'inactive';
737
+ /**
738
+ * Root Client document
739
+ * Path: clients/{clientId}
740
+ * Contains embedded sub-objects and references subcollections
741
+ * @see MODELS.md for complete relationship diagram
742
+ */
647
743
  interface Client {
648
744
  readonly id?: string;
649
745
  readonly name: string;
650
746
  readonly status: ClientStatus;
747
+ readonly personalData?: ClientPersonalData;
748
+ readonly jobPreferences?: ClientJobPreferences;
749
+ readonly websitePreferences?: ClientWebsitePreferences;
651
750
  readonly createdAt?: Date | string;
652
751
  }
653
752
 
753
+ /**
754
+ * Subcollection document under Client
755
+ * Path: clients/{clientId}/emails/{docId}
756
+ * @see Client - Parent document
757
+ */
654
758
  interface ClientEmail {
655
759
  id?: string;
656
760
  messageId: string;
@@ -677,6 +781,11 @@ interface ClientEmail {
677
781
  updatedAt?: Date | string;
678
782
  }
679
783
 
784
+ /**
785
+ * Subcollection document under Client
786
+ * Path: clients/{clientId}/gmailTokens/{docId}
787
+ * @see Client - Parent document
788
+ */
680
789
  interface ClientGmailToken {
681
790
  readonly id?: string;
682
791
  accessToken: string;
@@ -685,12 +794,23 @@ interface ClientGmailToken {
685
794
  useThisEmail: boolean;
686
795
  }
687
796
 
797
+ /**
798
+ * Subcollection document under Client
799
+ * Path: clients/{clientId}/initialQuestions/{docId}
800
+ * @see Client - Parent document
801
+ */
688
802
  interface ClientInitialQuestion {
689
803
  readonly id?: string;
690
804
  questionText: string;
691
805
  answerText: string;
692
806
  }
693
807
 
808
+ /**
809
+ * Subcollection document under Client
810
+ * Path: clients/{clientId}/interviews/{docId}
811
+ * @see Client - Parent document
812
+ * @see Application - Related application
813
+ */
694
814
  interface ClientInterview {
695
815
  readonly id?: string;
696
816
  company: string;
@@ -702,55 +822,11 @@ interface ClientInterview {
702
822
  summary: string;
703
823
  }
704
824
 
705
- declare const jobClassifications: {
706
- readonly Accounting: readonly ["Accounts Officers/Clerks", "Analysis & Reporting", "Assistant Accountants", "Audit - External", "Audit - Internal", "Bookkeeping & Small Practice Accounting", "Business Services & Corporate Advisory", "Company Secretaries", "Cost Accounting", "Financial Accounting & Reporting", "Financial Managers & Controllers", "Forensic Accounting & Investigation", "Insolvency & Corporate Recovery", "Management Accounting & Budgeting", "Payroll", "Strategy & Planning", "Systems Accounting", "Taxation", "Other"];
707
- readonly "Administration & Office Support": readonly ["Administrative Assistants", "Client & Sales Administration", "Contracts Administration", "Data Entry & Word Processing", "Office Management", "PA, EA & Secretarial", "Receptionists", "Records Management & Document Control", "Other"];
708
- readonly "Advertising, Arts & Media": readonly ["Agency Account Management", "Art Direction", "Copywriting", "Editing & Publishing", "Event Management", "Journalism & Writing", "Media Buying, Planning & Strategy", "Photography", "Programming & Production", "Promotions", "Sales & Account Management", "Other"];
709
- readonly "Banking & Financial Services": readonly ["Analysis & Reporting", "Banking - Business", "Banking - Corporate & Institutional", "Banking - Retail/Branch", "Client Services", "Compliance & Risk", "Corporate Finance & Investment Banking", "Financial Planning", "Funds Management", "Investments", "Mortgages", "Settlements", "Stockbroking & Trading", "Treasury", "Other"];
710
- readonly "Call Centre & Customer Service": readonly ["Customer Service - Call Centre", "Customer Service - Customer Facing", "Customer Service - Manager", "Customer Service - Supervisor", "Customer Service - Team Leader", "Other"];
711
- readonly "Community Services & Development": readonly ["Aged & Disability Support", "Child Welfare, Youth & Family Services", "Community Development", "Employment Services", "Housing & Homelessness Services", "Indigenous & Multicultural Services", "Management", "Volunteer Coordination & Support", "Other"];
712
- readonly Construction: readonly ["Contracts Management", "Estimating", "Foreperson/Supervisors", "Health & Safety", "Project Management", "Site Management", "Surveying", "Other"];
713
- readonly "Consulting & Strategy": readonly ["Corporate Development", "Management & Change Consulting", "Policy & Planning", "Strategy & Planning", "Other"];
714
- readonly "Design & Architecture": readonly ["Architecture", "Fashion & Textile Design", "Graphic Design", "Illustration & Animation", "Industrial Design", "Interior Design", "Landscape Architecture", "Urban Design & Planning", "Other"];
715
- readonly "Education & Training": readonly ["Childcare & Outside School Hours Care", "Library Services & Information Management", "Management - Schools", "Management - Universities", "Management - Vocational", "Research & Fellowships", "Student Services", "Teaching - Early Childhood", "Teaching - Primary", "Teaching - Secondary", "Teaching - Tertiary", "Teaching - Vocational", "Teaching Aides & Special Needs", "Tutoring", "Workplace Training & Assessment", "Other"];
716
- readonly Engineering: readonly ["Aerospace Engineering", "Automotive Engineering", "Chemical Engineering", "Civil/Structural Engineering", "Electrical/Electronic Engineering", "Engineering Drafting", "Environmental Engineering", "Field Engineering", "Industrial Engineering", "Maintenance", "Mechanical Engineering", "Mining - Engineering & Maintenance", "Project Engineering", "Systems Engineering", "Other"];
717
- readonly "Farming, Animals & Conservation": readonly ["Agronomy & Farm Services", "Animal Welfare", "Conservation, Parks & Wildlife", "Farm Labour", "Fishing & Aquaculture", "Forestry & Logging", "Horticulture", "Veterinary Services & Animal Welfare", "Other"];
718
- readonly "Government & Defence": readonly ["Air Force", "Army", "Emergency Services", "Federal Government", "Government - Local", "Government - State", "Navy", "Police & Corrections", "Policy, Planning & Regulation", "Security & Intelligence", "Other"];
719
- readonly "Healthcare & Medical": readonly ["Aged Care Nursing", "Ambulance/Paramedics", "Chiropractic & Osteopathic", "Dental", "General Practitioners", "Medical Imaging", "Nursing - Aged Care", "Nursing - General Medical & Surgical", "Nursing - High Acuity", "Nursing - Management", "Nursing - Midwifery, Neo-Natal, SCN & NICU", "Nursing - Paediatric", "Nursing - Psych, Forensic & Correctional Health", "Nursing - Theatre & Recovery", "Nursing - Other", "Pharmacy", "Physiotherapy, OT & Rehabilitation", "Psychology, Counselling & Social Work", "Speech Therapy", "Other"];
720
- readonly "Hospitality & Tourism": readonly ["Bar & Beverage Staff", "Chefs/Cooks", "Front Office & Guest Services", "Gaming", "Housekeeping", "Kitchen & Sandwich Hands", "Management", "Reservations", "Tour Guides", "Travel Agents/Consultants", "Waiting Staff", "Other"];
721
- readonly "Human Resources & Recruitment": readonly ["Consulting & Generalist HR", "Industrial & Employee Relations", "Management - Agency", "Management - Internal", "Occupational Health & Safety", "Organisational Development", "Recruitment - Agency", "Recruitment - Internal", "Remuneration & Benefits", "Training & Development", "Other"];
722
- readonly "Information & Communication Technology": readonly ["Architects", "Business/Systems Analysts", "Consultants", "Database Development & Administration", "Developers/Programmers", "Engineering - Hardware", "Engineering - Network", "Help Desk & IT Support", "Management", "Networks & Systems Administration", "Product Management & Development", "Project Management", "Security", "Software Engineering", "Team Leaders", "Technical Writers", "Testing & Quality Assurance", "Web Development & Production", "Other"];
723
- readonly "Insurance & Superannuation": readonly ["Actuarial", "Brokerage", "Claims", "Fund Administration", "Investments", "Risk Consulting", "Superannuation", "Underwriting", "Other"];
724
- readonly Legal: readonly ["Generalists - In-house", "Generalists - Private Practice", "Law Clerks & Paralegals", "Legal Secretaries", "Litigation & Dispute Resolution", "Other"];
725
- readonly "Manufacturing, Transport & Logistics": readonly ["Assembly & Process Work", "Couriers, Drivers & Postal Services", "Fleet Management", "Import/Export & Customs", "Machine Operators", "Maintenance", "Pickers & Packers", "Plant & Machinery Operators", "Production, Planning & Scheduling", "Purchasing, Procurement & Inventory", "Rail & Maritime Transport", "Road Transport", "Warehousing, Storage & Distribution", "Other"];
726
- readonly "Marketing & Communications": readonly ["Brand Management", "Digital & Search Marketing", "Event Management", "Internal Communications", "Market Research & Analysis", "Marketing Assistants/Coordinators", "Marketing Communications", "Marketing Management", "Product Management & Development", "Public Relations & Corporate Affairs", "Other"];
727
- readonly "Mining, Resources & Energy": readonly ["Analysis & Reporting", "Engineering", "Health, Safety & Environment", "Maintenance", "Management", "Mining - Operations", "Oil & Gas - Engineering & Maintenance", "Oil & Gas - Operations", "Power Generation & Distribution", "Surveying", "Other"];
728
- readonly "Real Estate & Property": readonly ["Analysts", "Body Corporate & Facilities Management", "Commercial Sales, Leasing & Property Mgmt", "Residential Leasing & Property Management", "Residential Sales", "Retail & Property Development", "Valuation", "Other"];
729
- readonly "Retail & Consumer Products": readonly ["Buying", "Management - Department/Assistant", "Management - Store", "Merchandisers", "Retail Assistants", "Sales Representatives/Consultants", "Supervisors/Team Leaders", "Other"];
730
- readonly Sales: readonly ["Account & Relationship Management", "Business Development", "Direct Sales", "Sales Coordinators", "Sales Management", "Sales Representatives/Consultants", "Telesales & Internal Sales", "Other"];
731
- readonly "Science & Technology": readonly ["Biological & Biomedical Sciences", "Chemistry & Physics", "Environmental, Earth & Geosciences", "Food Technology & Safety", "Laboratory & Technical Services", "Mathematics, Statistics & Information Sciences", "Quality Assurance & Control", "Other"];
732
- readonly "Self Employment": readonly ["Contract/Temp", "Franchise", "Home Business", "Other"];
733
- readonly "Sport & Recreation": readonly ["Coaching & Instruction", "Fitness & Personal Training", "Management", "Other"];
734
- readonly "Trades & Services": readonly ["Air Conditioning & Refrigeration", "Automotive Trades", "Bakers & Pastry Chefs", "Building Trades", "Butchers", "Carpentry & Cabinet Making", "Cleaning Services", "Electricians", "Fitters, Turners & Machinists", "Floristry", "Gardening & Landscaping", "Hair & Beauty Services", "Labourers", "Locksmiths", "Maintenance & Handyperson Services", "Nannies & Babysitters", "Painters & Sign Writers", "Plumbers", "Printing & Publishing Services", "Security Services", "Tailors & Dressmakers", "Technicians", "Welders & Boilermakers", "Other"];
735
- };
736
-
737
- type JobCategory = keyof typeof jobClassifications;
738
- type JobTitle = (typeof jobClassifications)[JobCategory][number];
739
- type LocationId = (typeof locations)[number]["id"];
740
- interface ClientJobPreferences {
741
- readonly id?: string;
742
- clientId: string;
743
- desiredPositions: JobTitle[];
744
- categories: JobCategory[];
745
- locations: LocationId[];
746
- minSalary: number;
747
- maxSalary?: number;
748
- currency: string;
749
- industries: string[];
750
- createdAt: Date;
751
- updatedAt: Date;
752
- }
753
-
825
+ /**
826
+ * Subcollection document under Client
827
+ * Path: clients/{clientId}/logins/{docId}
828
+ * @see Client - Parent document
829
+ */
754
830
  interface ClientLogin {
755
831
  readonly id?: string;
756
832
  userId: string;
@@ -763,28 +839,11 @@ interface ClientLogin {
763
839
  updatedAt?: Date | string;
764
840
  }
765
841
 
766
- interface ClientPersonalData {
767
- id?: string;
768
- firstName: string;
769
- lastName: string;
770
- middleName?: string;
771
- preferredName?: string;
772
- email: string;
773
- phone: string;
774
- address: string;
775
- city: string;
776
- suburb: string;
777
- state: string;
778
- zip: string;
779
- country: string;
780
- linkedIn?: string;
781
- countryPhoneCode: string;
782
- nationality: string;
783
- dateOfBirth?: Date | string;
784
- createdAt?: Date | string;
785
- updatedAt?: Date | string;
786
- }
787
-
842
+ /**
843
+ * Subcollection document under Client
844
+ * Path: clients/{clientId}/questions/{docId}
845
+ * @see Client - Parent document
846
+ */
788
847
  interface ClientQuestion {
789
848
  id?: string;
790
849
  questionText: string;
@@ -795,6 +854,16 @@ interface ClientQuestion {
795
854
  updatedAt?: Date | string;
796
855
  }
797
856
 
857
+ /**
858
+ * Subcollection document under Client
859
+ * Path: clients/{clientId}/resumes/{docId}
860
+ * @see Client - Parent document
861
+ *
862
+ * @description Represents a client's resume document.
863
+ * @author [Your Name]
864
+ * @version 1.0.0
865
+ * @since [Date]
866
+ */
798
867
  interface ClientResume {
799
868
  readonly id?: string;
800
869
  title: string;
@@ -823,19 +892,10 @@ interface ClientResume {
823
892
  }>;
824
893
  }
825
894
 
826
- interface ClientWebsitePreferences {
827
- readonly id?: string;
828
- theme: string;
829
- notifications: string;
830
- }
831
-
832
895
  declare const firestorePaths: {
833
896
  readonly clients: {
834
897
  readonly collection: () => string;
835
898
  readonly doc: (id: string) => string;
836
- readonly personalData: (id: string) => string;
837
- readonly jobPreferences: (id: string) => string;
838
- readonly websitePreferences: (id: string) => string;
839
899
  readonly gmailTokens: (id: string) => string;
840
900
  readonly emails: {
841
901
  readonly collection: (clientId: string) => string;
package/dist/index.js CHANGED
@@ -687,9 +687,6 @@ var firestorePaths = {
687
687
  clients: {
688
688
  collection: () => "clients",
689
689
  doc: (id) => `clients/${id}`,
690
- personalData: (id) => `clients/${id}/personalData`,
691
- jobPreferences: (id) => `clients/${id}/jobPreferences`,
692
- websitePreferences: (id) => `clients/${id}/websitePreferences`,
693
690
  gmailTokens: (id) => `clients/${id}/gmailTokens`,
694
691
  emails: {
695
692
  collection: (clientId) => `clients/${clientId}/emails`,
package/dist/index.mjs CHANGED
@@ -656,9 +656,6 @@ var firestorePaths = {
656
656
  clients: {
657
657
  collection: () => "clients",
658
658
  doc: (id) => `clients/${id}`,
659
- personalData: (id) => `clients/${id}/personalData`,
660
- jobPreferences: (id) => `clients/${id}/jobPreferences`,
661
- websitePreferences: (id) => `clients/${id}/websitePreferences`,
662
659
  gmailTokens: (id) => `clients/${id}/gmailTokens`,
663
660
  emails: {
664
661
  collection: (clientId) => `clients/${clientId}/emails`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobsearch-works/firestore-models",
3
- "version": "2.0.5",
3
+ "version": "2.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",