@jobsearch-works/firestore-models 1.0.21 → 1.0.23

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
@@ -157,9 +157,47 @@ declare namespace ClientQuestion {
157
157
 
158
158
  declare namespace Vacancy {
159
159
  /**
160
- * Represents a job vacancy
160
+ * Runtime constant object representing all categories.
161
+ */
162
+ const Category: {
163
+ readonly Accounting: "Accounting";
164
+ readonly AdministrationAndOfficeSupport: "Administration & Office Support";
165
+ readonly AdvertisingArtsAndMedia: "Advertising, Arts & Media";
166
+ readonly BankingAndFinancialServices: "Banking & Financial Services";
167
+ readonly CallCentreAndCustomerService: "Call Centre & Customer Service";
168
+ readonly CEOAndGeneralManagement: "CEO & General Management";
169
+ readonly CommunityServicesAndDevelopment: "Community Services & Development";
170
+ readonly Construction: "Construction";
171
+ readonly ConsultingAndStrategy: "Consulting & Strategy";
172
+ readonly DesignAndArchitecture: "Design & Architecture";
173
+ readonly EducationAndTraining: "Education & Training";
174
+ readonly Engineering: "Engineering";
175
+ readonly FarmingAnimalsAndConservation: "Farming, Animals & Conservation";
176
+ readonly GovernmentAndDefence: "Government & Defence";
177
+ readonly HealthcareAndMedical: "Healthcare & Medical";
178
+ readonly HospitalityAndTourism: "Hospitality & Tourism";
179
+ readonly HumanResourcesAndRecruitment: "Human Resources & Recruitment";
180
+ readonly InformationAndCommunicationTechnology: "Information & Communication Technology";
181
+ readonly InsuranceAndSuperannuation: "Insurance & Superannuation";
182
+ readonly Legal: "Legal";
183
+ readonly ManufacturingTransportAndLogistics: "Manufacturing, Transport & Logistics";
184
+ readonly MarketingAndCommunications: "Marketing & Communications";
185
+ readonly MiningResourcesAndEnergy: "Mining, Resources & Energy";
186
+ readonly RealEstateAndProperty: "Real Estate & Property";
187
+ readonly RetailAndConsumerProducts: "Retail & Consumer Products";
188
+ readonly Sales: "Sales";
189
+ readonly ScienceAndTechnology: "Science & Technology";
190
+ readonly SelfEmployment: "Self Employment";
191
+ readonly SportAndRecreation: "Sport & Recreation";
192
+ readonly TradesAndServices: "Trades & Services";
193
+ };
194
+ /**
195
+ * Type representing a valid category value.
196
+ */
197
+ type Category = (typeof Category)[keyof typeof Category];
198
+ /**
199
+ * Vacancy model definition.
161
200
  */
162
- type Category = "Accounting" | "Administration & Office Support" | "Advertising, Arts & Media" | "Banking & Financial Services" | "Call Centre & Customer Service" | "CEO & General Management" | "Community Services & Development" | "Construction" | "Consulting & Strategy" | "Design & Architecture" | "Education & Training" | "Engineering" | "Farming, Animals & Conservation" | "Government & Defence" | "Healthcare & Medical" | "Hospitality & Tourism" | "Human Resources & Recruitment" | "Information & Communication Technology" | "Insurance & Superannuation" | "Legal" | "Manufacturing, Transport & Logistics" | "Marketing & Communications" | "Mining, Resources & Energy" | "Real Estate & Property" | "Retail & Consumer Products" | "Sales" | "Science & Technology" | "Self Employment" | "Sport & Recreation" | "Trades & Services";
163
201
  interface Model extends BaseModel {
164
202
  company: string;
165
203
  position: string;
@@ -174,10 +212,25 @@ declare namespace Vacancy {
174
212
  category: Category;
175
213
  suggestedTo?: string[];
176
214
  }
215
+ /**
216
+ * Returns the Firestore collection path for vacancies.
217
+ */
177
218
  const collection: () => string;
219
+ /**
220
+ * Returns the Firestore document path for a specific vacancy.
221
+ */
178
222
  const document: (vacancyId: string) => string;
223
+ /**
224
+ * Formats a short summary of a vacancy.
225
+ */
179
226
  const formatSummary: (vacancy: Vacancy.Model) => string;
227
+ /**
228
+ * Formats a date into a localized string.
229
+ */
180
230
  const formatDate: (date: Date | string) => string;
231
+ /**
232
+ * Creates a new Vacancy.Model with the given data.
233
+ */
181
234
  const createNew: (company: string, position: string, location: string, description: string, advertisingUrl: string, applicationUrl: string, applicationDomain: string, advertisingDomain: string, fullPageText: string, jobId: string, category: Category) => Vacancy.Model;
182
235
  }
183
236
 
package/dist/index.d.ts CHANGED
@@ -157,9 +157,47 @@ declare namespace ClientQuestion {
157
157
 
158
158
  declare namespace Vacancy {
159
159
  /**
160
- * Represents a job vacancy
160
+ * Runtime constant object representing all categories.
161
+ */
162
+ const Category: {
163
+ readonly Accounting: "Accounting";
164
+ readonly AdministrationAndOfficeSupport: "Administration & Office Support";
165
+ readonly AdvertisingArtsAndMedia: "Advertising, Arts & Media";
166
+ readonly BankingAndFinancialServices: "Banking & Financial Services";
167
+ readonly CallCentreAndCustomerService: "Call Centre & Customer Service";
168
+ readonly CEOAndGeneralManagement: "CEO & General Management";
169
+ readonly CommunityServicesAndDevelopment: "Community Services & Development";
170
+ readonly Construction: "Construction";
171
+ readonly ConsultingAndStrategy: "Consulting & Strategy";
172
+ readonly DesignAndArchitecture: "Design & Architecture";
173
+ readonly EducationAndTraining: "Education & Training";
174
+ readonly Engineering: "Engineering";
175
+ readonly FarmingAnimalsAndConservation: "Farming, Animals & Conservation";
176
+ readonly GovernmentAndDefence: "Government & Defence";
177
+ readonly HealthcareAndMedical: "Healthcare & Medical";
178
+ readonly HospitalityAndTourism: "Hospitality & Tourism";
179
+ readonly HumanResourcesAndRecruitment: "Human Resources & Recruitment";
180
+ readonly InformationAndCommunicationTechnology: "Information & Communication Technology";
181
+ readonly InsuranceAndSuperannuation: "Insurance & Superannuation";
182
+ readonly Legal: "Legal";
183
+ readonly ManufacturingTransportAndLogistics: "Manufacturing, Transport & Logistics";
184
+ readonly MarketingAndCommunications: "Marketing & Communications";
185
+ readonly MiningResourcesAndEnergy: "Mining, Resources & Energy";
186
+ readonly RealEstateAndProperty: "Real Estate & Property";
187
+ readonly RetailAndConsumerProducts: "Retail & Consumer Products";
188
+ readonly Sales: "Sales";
189
+ readonly ScienceAndTechnology: "Science & Technology";
190
+ readonly SelfEmployment: "Self Employment";
191
+ readonly SportAndRecreation: "Sport & Recreation";
192
+ readonly TradesAndServices: "Trades & Services";
193
+ };
194
+ /**
195
+ * Type representing a valid category value.
196
+ */
197
+ type Category = (typeof Category)[keyof typeof Category];
198
+ /**
199
+ * Vacancy model definition.
161
200
  */
162
- type Category = "Accounting" | "Administration & Office Support" | "Advertising, Arts & Media" | "Banking & Financial Services" | "Call Centre & Customer Service" | "CEO & General Management" | "Community Services & Development" | "Construction" | "Consulting & Strategy" | "Design & Architecture" | "Education & Training" | "Engineering" | "Farming, Animals & Conservation" | "Government & Defence" | "Healthcare & Medical" | "Hospitality & Tourism" | "Human Resources & Recruitment" | "Information & Communication Technology" | "Insurance & Superannuation" | "Legal" | "Manufacturing, Transport & Logistics" | "Marketing & Communications" | "Mining, Resources & Energy" | "Real Estate & Property" | "Retail & Consumer Products" | "Sales" | "Science & Technology" | "Self Employment" | "Sport & Recreation" | "Trades & Services";
163
201
  interface Model extends BaseModel {
164
202
  company: string;
165
203
  position: string;
@@ -174,10 +212,25 @@ declare namespace Vacancy {
174
212
  category: Category;
175
213
  suggestedTo?: string[];
176
214
  }
215
+ /**
216
+ * Returns the Firestore collection path for vacancies.
217
+ */
177
218
  const collection: () => string;
219
+ /**
220
+ * Returns the Firestore document path for a specific vacancy.
221
+ */
178
222
  const document: (vacancyId: string) => string;
223
+ /**
224
+ * Formats a short summary of a vacancy.
225
+ */
179
226
  const formatSummary: (vacancy: Vacancy.Model) => string;
227
+ /**
228
+ * Formats a date into a localized string.
229
+ */
180
230
  const formatDate: (date: Date | string) => string;
231
+ /**
232
+ * Creates a new Vacancy.Model with the given data.
233
+ */
181
234
  const createNew: (company: string, position: string, location: string, description: string, advertisingUrl: string, applicationUrl: string, applicationDomain: string, advertisingDomain: string, fullPageText: string, jobId: string, category: Category) => Vacancy.Model;
182
235
  }
183
236
 
package/dist/index.js CHANGED
@@ -243,11 +243,41 @@ var ClientQuestion;
243
243
  // src/models/Vacancy.ts
244
244
  var Vacancy;
245
245
  ((Vacancy2) => {
246
+ Vacancy2.Category = {
247
+ Accounting: "Accounting",
248
+ AdministrationAndOfficeSupport: "Administration & Office Support",
249
+ AdvertisingArtsAndMedia: "Advertising, Arts & Media",
250
+ BankingAndFinancialServices: "Banking & Financial Services",
251
+ CallCentreAndCustomerService: "Call Centre & Customer Service",
252
+ CEOAndGeneralManagement: "CEO & General Management",
253
+ CommunityServicesAndDevelopment: "Community Services & Development",
254
+ Construction: "Construction",
255
+ ConsultingAndStrategy: "Consulting & Strategy",
256
+ DesignAndArchitecture: "Design & Architecture",
257
+ EducationAndTraining: "Education & Training",
258
+ Engineering: "Engineering",
259
+ FarmingAnimalsAndConservation: "Farming, Animals & Conservation",
260
+ GovernmentAndDefence: "Government & Defence",
261
+ HealthcareAndMedical: "Healthcare & Medical",
262
+ HospitalityAndTourism: "Hospitality & Tourism",
263
+ HumanResourcesAndRecruitment: "Human Resources & Recruitment",
264
+ InformationAndCommunicationTechnology: "Information & Communication Technology",
265
+ InsuranceAndSuperannuation: "Insurance & Superannuation",
266
+ Legal: "Legal",
267
+ ManufacturingTransportAndLogistics: "Manufacturing, Transport & Logistics",
268
+ MarketingAndCommunications: "Marketing & Communications",
269
+ MiningResourcesAndEnergy: "Mining, Resources & Energy",
270
+ RealEstateAndProperty: "Real Estate & Property",
271
+ RetailAndConsumerProducts: "Retail & Consumer Products",
272
+ Sales: "Sales",
273
+ ScienceAndTechnology: "Science & Technology",
274
+ SelfEmployment: "Self Employment",
275
+ SportAndRecreation: "Sport & Recreation",
276
+ TradesAndServices: "Trades & Services"
277
+ };
246
278
  Vacancy2.collection = () => "vacancies";
247
279
  Vacancy2.document = (vacancyId) => `vacancies/${vacancyId}`;
248
- Vacancy2.formatSummary = (vacancy) => {
249
- return `${vacancy.position} at ${vacancy.company} (${vacancy.location})`;
250
- };
280
+ Vacancy2.formatSummary = (vacancy) => `${vacancy.position} at ${vacancy.company} (${vacancy.location})`;
251
281
  Vacancy2.formatDate = (date) => {
252
282
  const dateObj = date instanceof Date ? date : new Date(date);
253
283
  return dateObj.toLocaleDateString();
package/dist/index.mjs CHANGED
@@ -208,11 +208,41 @@ var ClientQuestion;
208
208
  // src/models/Vacancy.ts
209
209
  var Vacancy;
210
210
  ((Vacancy2) => {
211
+ Vacancy2.Category = {
212
+ Accounting: "Accounting",
213
+ AdministrationAndOfficeSupport: "Administration & Office Support",
214
+ AdvertisingArtsAndMedia: "Advertising, Arts & Media",
215
+ BankingAndFinancialServices: "Banking & Financial Services",
216
+ CallCentreAndCustomerService: "Call Centre & Customer Service",
217
+ CEOAndGeneralManagement: "CEO & General Management",
218
+ CommunityServicesAndDevelopment: "Community Services & Development",
219
+ Construction: "Construction",
220
+ ConsultingAndStrategy: "Consulting & Strategy",
221
+ DesignAndArchitecture: "Design & Architecture",
222
+ EducationAndTraining: "Education & Training",
223
+ Engineering: "Engineering",
224
+ FarmingAnimalsAndConservation: "Farming, Animals & Conservation",
225
+ GovernmentAndDefence: "Government & Defence",
226
+ HealthcareAndMedical: "Healthcare & Medical",
227
+ HospitalityAndTourism: "Hospitality & Tourism",
228
+ HumanResourcesAndRecruitment: "Human Resources & Recruitment",
229
+ InformationAndCommunicationTechnology: "Information & Communication Technology",
230
+ InsuranceAndSuperannuation: "Insurance & Superannuation",
231
+ Legal: "Legal",
232
+ ManufacturingTransportAndLogistics: "Manufacturing, Transport & Logistics",
233
+ MarketingAndCommunications: "Marketing & Communications",
234
+ MiningResourcesAndEnergy: "Mining, Resources & Energy",
235
+ RealEstateAndProperty: "Real Estate & Property",
236
+ RetailAndConsumerProducts: "Retail & Consumer Products",
237
+ Sales: "Sales",
238
+ ScienceAndTechnology: "Science & Technology",
239
+ SelfEmployment: "Self Employment",
240
+ SportAndRecreation: "Sport & Recreation",
241
+ TradesAndServices: "Trades & Services"
242
+ };
211
243
  Vacancy2.collection = () => "vacancies";
212
244
  Vacancy2.document = (vacancyId) => `vacancies/${vacancyId}`;
213
- Vacancy2.formatSummary = (vacancy) => {
214
- return `${vacancy.position} at ${vacancy.company} (${vacancy.location})`;
215
- };
245
+ Vacancy2.formatSummary = (vacancy) => `${vacancy.position} at ${vacancy.company} (${vacancy.location})`;
216
246
  Vacancy2.formatDate = (date) => {
217
247
  const dateObj = date instanceof Date ? date : new Date(date);
218
248
  return dateObj.toLocaleDateString();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobsearch-works/firestore-models",
3
- "version": "1.0.21",
3
+ "version": "1.0.23",
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",