@zyacreatives/shared 2.1.13 → 2.1.15

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.
@@ -29,37 +29,37 @@ export declare const BaseJobApplicationEntitySchema: z.ZodObject<{
29
29
  id: z.ZodString;
30
30
  createdAt: z.ZodCoercedDate<unknown>;
31
31
  updatedAt: z.ZodCoercedDate<unknown>;
32
- availability: z.ZodEnum<{
32
+ availability: z.ZodOptional<z.ZodEnum<{
33
33
  readonly IMMEDIATE: "Immediate (Within 1 week)";
34
34
  readonly TWO_WEEKS_NOTICE: "2 weeks notice";
35
35
  readonly ONE_MONTH_NOTICE: "1 month notice";
36
36
  readonly FLEXIBLE: "Flexible";
37
- }>;
38
- experienceLevel: z.ZodEnum<{
37
+ }>>;
38
+ experienceLevel: z.ZodOptional<z.ZodEnum<{
39
39
  readonly YEAR_0_1: "0-1 year";
40
40
  readonly YEAR_1_3: "1-3 years";
41
41
  readonly YEAR_3_5: "3-5 years";
42
42
  readonly YEAR_5_PLUS: "5+ years";
43
- }>;
43
+ }>>;
44
44
  jobId: z.ZodString;
45
45
  applicantId: z.ZodString;
46
- firstName: z.ZodString;
47
- lastName: z.ZodString;
48
- emailAddress: z.ZodString;
46
+ firstName: z.ZodOptional<z.ZodString>;
47
+ lastName: z.ZodOptional<z.ZodString>;
48
+ emailAddress: z.ZodOptional<z.ZodString>;
49
49
  phoneNumber: z.ZodNullable<z.ZodString>;
50
50
  currentRole: z.ZodString;
51
51
  resumeUrl: z.ZodURL;
52
- workSampleUrls: z.ZodArray<z.ZodObject<{
52
+ workSampleUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{
53
53
  url: z.ZodURL;
54
54
  name: z.ZodOptional<z.ZodString>;
55
55
  mimeType: z.ZodOptional<z.ZodString>;
56
- }, z.core.$strip>>;
57
- zyaProjects: z.ZodArray<z.ZodObject<{
56
+ }, z.core.$strip>>>;
57
+ zyaProjects: z.ZodOptional<z.ZodArray<z.ZodObject<{
58
58
  projectName: z.ZodString;
59
- projectImgUrl: z.ZodURL;
59
+ projectImgUrl: z.ZodOptional<z.ZodURL>;
60
60
  projectId: z.ZodString;
61
- tags: z.ZodArray<z.ZodString>;
62
- }, z.core.$strip>>;
61
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
62
+ }, z.core.$strip>>>;
63
63
  applicationStatus: z.ZodEnum<{
64
64
  readonly SENT: "Application Sent";
65
65
  readonly OPENED: "Opened";
@@ -67,10 +67,10 @@ export declare const BaseJobApplicationEntitySchema: z.ZodObject<{
67
67
  readonly OFFERED: "Offered";
68
68
  readonly HIRED: "Hired";
69
69
  }>;
70
- linkUrls: z.ZodArray<z.ZodObject<{
70
+ linkUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{
71
71
  url: z.ZodURL;
72
72
  isPortfolioUrl: z.ZodOptional<z.ZodBoolean>;
73
- }, z.core.$strip>>;
73
+ }, z.core.$strip>>>;
74
74
  coverLetter: z.ZodNullable<z.ZodString>;
75
75
  receiveEmailUpdates: z.ZodBoolean;
76
76
  wagesAmount: z.ZodNullable<z.ZodNumber>;
@@ -138,19 +138,8 @@ export declare const JobApplicationEntitySchema: z.ZodObject<{
138
138
  updatedAt: z.ZodCoercedDate<unknown>;
139
139
  }, z.core.$strip>;
140
140
  export declare const CreateJobApplicationInputSchema: z.ZodObject<{
141
- firstName: z.ZodString;
142
- lastName: z.ZodString;
143
141
  jobId: z.ZodCUID2;
144
142
  applicantId: z.ZodCUID2;
145
- emailAddress: z.ZodEmail;
146
- phoneNumber: z.ZodOptional<z.ZodString>;
147
- currentRole: z.ZodString;
148
- experienceLevel: z.ZodEnum<{
149
- "0-1 year": "0-1 year";
150
- "1-3 years": "1-3 years";
151
- "3-5 years": "3-5 years";
152
- "5+ years": "5+ years";
153
- }>;
154
143
  jobSections: z.ZodOptional<z.ZodArray<z.ZodEnum<{
155
144
  readonly PERSONAL_INFORMATION: "PERSONAL_INFORMATION";
156
145
  readonly PHONE_NO: "PHONE_NO";
@@ -161,31 +150,206 @@ export declare const CreateJobApplicationInputSchema: z.ZodObject<{
161
150
  readonly AVAILABILITY: "AVAILABILITY";
162
151
  readonly WAGES: "WAGES";
163
152
  }>>>;
164
- resumeUrl: z.ZodURL;
153
+ firstName: z.ZodOptional<z.ZodString>;
154
+ lastName: z.ZodOptional<z.ZodString>;
155
+ emailAddress: z.ZodOptional<z.ZodEmail>;
156
+ phoneNumber: z.ZodOptional<z.ZodString>;
157
+ currentRole: z.ZodOptional<z.ZodString>;
158
+ experienceLevel: z.ZodOptional<z.ZodEnum<{
159
+ "0-1 year": "0-1 year";
160
+ "1-3 years": "1-3 years";
161
+ "3-5 years": "3-5 years";
162
+ "5+ years": "5+ years";
163
+ }>>;
164
+ resumeUrl: z.ZodOptional<z.ZodURL>;
165
+ coverLetter: z.ZodOptional<z.ZodString>;
166
+ availability: z.ZodOptional<z.ZodEnum<{
167
+ readonly IMMEDIATE: "Immediate (Within 1 week)";
168
+ readonly TWO_WEEKS_NOTICE: "2 weeks notice";
169
+ readonly ONE_MONTH_NOTICE: "1 month notice";
170
+ readonly FLEXIBLE: "Flexible";
171
+ }>>;
172
+ wagesAmount: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
173
+ receiveEmailUpdates: z.ZodDefault<z.ZodBoolean>;
165
174
  workSampleUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{
166
175
  url: z.ZodURL;
167
176
  name: z.ZodOptional<z.ZodString>;
168
177
  mimeType: z.ZodOptional<z.ZodString>;
169
178
  }, z.core.$strip>>>;
179
+ linkUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{
180
+ url: z.ZodURL;
181
+ isPortfolioUrl: z.ZodBoolean;
182
+ }, z.core.$strip>>>;
170
183
  zyaProjects: z.ZodOptional<z.ZodArray<z.ZodObject<{
171
184
  projectName: z.ZodString;
172
185
  projectId: z.ZodCUID2;
173
186
  projectImgUrl: z.ZodURL;
174
187
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
175
188
  }, z.core.$strip>>>;
176
- linkUrls: z.ZodOptional<z.ZodArray<z.ZodObject<{
177
- url: z.ZodURL;
178
- isPortfolioUrl: z.ZodBoolean;
179
- }, z.core.$strip>>>;
180
- coverLetter: z.ZodString;
181
- receiveEmailUpdates: z.ZodBoolean;
182
- wagesAmount: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
183
- availability: z.ZodOptional<z.ZodEnum<{
184
- readonly IMMEDIATE: "Immediate (Within 1 week)";
185
- readonly TWO_WEEKS_NOTICE: "2 weeks notice";
186
- readonly ONE_MONTH_NOTICE: "1 month notice";
187
- readonly FLEXIBLE: "Flexible";
188
- }>>;
189
+ }, z.core.$strip>;
190
+ export declare const TrackedJobApplicationEntitySchema: z.ZodObject<{
191
+ id: z.ZodCUID2;
192
+ createdAt: z.ZodCoercedDate<unknown>;
193
+ applicationStatus: z.ZodEnum<{
194
+ "Application Sent": "Application Sent";
195
+ Opened: "Opened";
196
+ Rejected: "Rejected";
197
+ Offered: "Offered";
198
+ Hired: "Hired";
199
+ }>;
200
+ job: z.ZodDiscriminatedUnion<[z.ZodObject<{
201
+ title: z.ZodString;
202
+ brandId: z.ZodCUID2;
203
+ brandName: z.ZodCUID2;
204
+ brandImgUrl: z.ZodOptional<z.ZodCUID2>;
205
+ status: z.ZodEnum<{
206
+ ACTIVE: "ACTIVE";
207
+ DELETED: "DELETED";
208
+ DRAFT: "DRAFT";
209
+ ARCHIVED: "ARCHIVED";
210
+ }>;
211
+ employmentType: z.ZodOptional<z.ZodEnum<{
212
+ "Full Time": "Full Time";
213
+ "Part Time": "Part Time";
214
+ Freelance: "Freelance";
215
+ Internship: "Internship";
216
+ }>>;
217
+ workMode: z.ZodEnum<{
218
+ Remote: "Remote";
219
+ Hybrid: "Hybrid";
220
+ "On Site": "On Site";
221
+ }>;
222
+ gigType: z.ZodOptional<z.ZodEnum<{
223
+ "One Time": "One Time";
224
+ Recurring: "Recurring";
225
+ }>>;
226
+ location: z.ZodEnum<{
227
+ Africa: "Africa";
228
+ Asia: "Asia";
229
+ Europe: "Europe";
230
+ "North America": "North America";
231
+ "South America": "South America";
232
+ "Middle East": "Middle East";
233
+ Oceania: "Oceania";
234
+ Global: "Global";
235
+ Other: "Other";
236
+ Remote: "Remote";
237
+ EMEA: "EMEA";
238
+ "Asia Pacific": "Asia Pacific";
239
+ }>;
240
+ jobSections: z.ZodDefault<z.ZodArray<z.ZodEnum<{
241
+ [x: string]: string;
242
+ }>>>;
243
+ createdAt: z.ZodDate;
244
+ updatedAt: z.ZodDate;
245
+ id: z.ZodCUID2;
246
+ jobType: z.ZodLiteral<"GIG">;
247
+ overview: z.ZodString;
248
+ deliverables: z.ZodString;
249
+ employeeRequirements: z.ZodOptional<z.ZodString>;
250
+ aboutCompany: z.ZodOptional<z.ZodString>;
251
+ requiredSkills: z.ZodArray<z.ZodString>;
252
+ wagesMin: z.ZodOptional<z.ZodNumber>;
253
+ wagesMax: z.ZodOptional<z.ZodNumber>;
254
+ wagesCurrency: z.ZodOptional<z.ZodEnum<{
255
+ "USD (United States Dollar)": "USD (United States Dollar)";
256
+ "EUR (Euro)": "EUR (Euro)";
257
+ "GBP (British Pound Sterling)": "GBP (British Pound Sterling)";
258
+ "NGN (Nigerian Naira)": "NGN (Nigerian Naira)";
259
+ "CAD (Canadian Dollar)": "CAD (Canadian Dollar)";
260
+ "AUD (Australian Dollar)": "AUD (Australian Dollar)";
261
+ "JPY (Japanese Yen)": "JPY (Japanese Yen)";
262
+ "CHF (Swiss Franc)": "CHF (Swiss Franc)";
263
+ "INR (Indian Rupee)": "INR (Indian Rupee)";
264
+ "ZAR (South African Rand)": "ZAR (South African Rand)";
265
+ }>>;
266
+ wagesType: z.ZodOptional<z.ZodEnum<{
267
+ Hourly: "Hourly";
268
+ Daily: "Daily";
269
+ Weekly: "Weekly";
270
+ Monthly: "Monthly";
271
+ "Project Based": "Project Based";
272
+ }>>;
273
+ }, z.core.$strip>, z.ZodObject<{
274
+ title: z.ZodString;
275
+ brandId: z.ZodCUID2;
276
+ brandName: z.ZodCUID2;
277
+ brandImgUrl: z.ZodOptional<z.ZodCUID2>;
278
+ status: z.ZodEnum<{
279
+ ACTIVE: "ACTIVE";
280
+ DELETED: "DELETED";
281
+ DRAFT: "DRAFT";
282
+ ARCHIVED: "ARCHIVED";
283
+ }>;
284
+ employmentType: z.ZodOptional<z.ZodEnum<{
285
+ "Full Time": "Full Time";
286
+ "Part Time": "Part Time";
287
+ Freelance: "Freelance";
288
+ Internship: "Internship";
289
+ }>>;
290
+ workMode: z.ZodEnum<{
291
+ Remote: "Remote";
292
+ Hybrid: "Hybrid";
293
+ "On Site": "On Site";
294
+ }>;
295
+ gigType: z.ZodOptional<z.ZodEnum<{
296
+ "One Time": "One Time";
297
+ Recurring: "Recurring";
298
+ }>>;
299
+ location: z.ZodEnum<{
300
+ Africa: "Africa";
301
+ Asia: "Asia";
302
+ Europe: "Europe";
303
+ "North America": "North America";
304
+ "South America": "South America";
305
+ "Middle East": "Middle East";
306
+ Oceania: "Oceania";
307
+ Global: "Global";
308
+ Other: "Other";
309
+ Remote: "Remote";
310
+ EMEA: "EMEA";
311
+ "Asia Pacific": "Asia Pacific";
312
+ }>;
313
+ jobSections: z.ZodDefault<z.ZodArray<z.ZodEnum<{
314
+ [x: string]: string;
315
+ }>>>;
316
+ createdAt: z.ZodDate;
317
+ updatedAt: z.ZodDate;
318
+ id: z.ZodCUID2;
319
+ jobType: z.ZodLiteral<"ROLE">;
320
+ experienceLevel: z.ZodEnum<{
321
+ "0-1 year": "0-1 year";
322
+ "1-3 years": "1-3 years";
323
+ "3-5 years": "3-5 years";
324
+ "5+ years": "5+ years";
325
+ }>;
326
+ overview: z.ZodString;
327
+ keyResponsibilities: z.ZodString;
328
+ requiredSkills: z.ZodArray<z.ZodString>;
329
+ employeeRequirements: z.ZodOptional<z.ZodString>;
330
+ companyBenefits: z.ZodOptional<z.ZodString>;
331
+ wagesMin: z.ZodOptional<z.ZodNumber>;
332
+ wagesMax: z.ZodOptional<z.ZodNumber>;
333
+ wagesCurrency: z.ZodOptional<z.ZodEnum<{
334
+ "USD (United States Dollar)": "USD (United States Dollar)";
335
+ "EUR (Euro)": "EUR (Euro)";
336
+ "GBP (British Pound Sterling)": "GBP (British Pound Sterling)";
337
+ "NGN (Nigerian Naira)": "NGN (Nigerian Naira)";
338
+ "CAD (Canadian Dollar)": "CAD (Canadian Dollar)";
339
+ "AUD (Australian Dollar)": "AUD (Australian Dollar)";
340
+ "JPY (Japanese Yen)": "JPY (Japanese Yen)";
341
+ "CHF (Swiss Franc)": "CHF (Swiss Franc)";
342
+ "INR (Indian Rupee)": "INR (Indian Rupee)";
343
+ "ZAR (South African Rand)": "ZAR (South African Rand)";
344
+ }>>;
345
+ wagesType: z.ZodOptional<z.ZodEnum<{
346
+ Hourly: "Hourly";
347
+ Daily: "Daily";
348
+ Weekly: "Weekly";
349
+ Monthly: "Monthly";
350
+ "Project Based": "Project Based";
351
+ }>>;
352
+ }, z.core.$strip>], "jobType">;
189
353
  }, z.core.$strip>;
190
354
  export declare const UpdateJobApplicationStatusSchema: z.ZodObject<{
191
355
  applicationStatus: z.ZodEnum<{
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UpdateJobApplicationStatusSchema = exports.CreateJobApplicationInputSchema = exports.JobApplicationEntitySchema = exports.BaseJobApplicationEntitySchema = exports.MinimalJobApplicationEntitySchema = void 0;
3
+ exports.UpdateJobApplicationStatusSchema = exports.TrackedJobApplicationEntitySchema = exports.CreateJobApplicationInputSchema = exports.JobApplicationEntitySchema = exports.BaseJobApplicationEntitySchema = exports.MinimalJobApplicationEntitySchema = void 0;
4
4
  const zod_openapi_1 = require("@hono/zod-openapi");
5
5
  const constants_1 = require("../constants");
6
6
  const user_1 = require("./user");
7
+ const job_1 = require("./job");
7
8
  exports.MinimalJobApplicationEntitySchema = zod_openapi_1.z.object({
8
9
  user: user_1.MinimalUserSchema,
9
10
  jobId: zod_openapi_1.z.cuid2(),
@@ -16,32 +17,38 @@ exports.BaseJobApplicationEntitySchema = zod_openapi_1.z.object({
16
17
  id: zod_openapi_1.z.string(),
17
18
  createdAt: zod_openapi_1.z.coerce.date(),
18
19
  updatedAt: zod_openapi_1.z.coerce.date(),
19
- availability: zod_openapi_1.z.enum(constants_1.JOB_AVAILABILITY_TYPES),
20
- experienceLevel: zod_openapi_1.z.enum(constants_1.EXPERIENCE_LEVELS),
20
+ availability: zod_openapi_1.z.enum(constants_1.JOB_AVAILABILITY_TYPES).optional(),
21
+ experienceLevel: zod_openapi_1.z.enum(constants_1.EXPERIENCE_LEVELS).optional(),
21
22
  jobId: zod_openapi_1.z.string(),
22
23
  applicantId: zod_openapi_1.z.string(),
23
- firstName: zod_openapi_1.z.string(),
24
- lastName: zod_openapi_1.z.string(),
25
- emailAddress: zod_openapi_1.z.string(),
24
+ firstName: zod_openapi_1.z.string().optional(),
25
+ lastName: zod_openapi_1.z.string().optional(),
26
+ emailAddress: zod_openapi_1.z.string().optional(),
26
27
  phoneNumber: zod_openapi_1.z.string().nullable(),
27
28
  currentRole: zod_openapi_1.z.string(),
28
29
  resumeUrl: zod_openapi_1.z.url(),
29
- workSampleUrls: zod_openapi_1.z.array(zod_openapi_1.z.object({
30
+ workSampleUrls: zod_openapi_1.z
31
+ .array(zod_openapi_1.z.object({
30
32
  url: zod_openapi_1.z.url(),
31
33
  name: zod_openapi_1.z.string().optional(),
32
34
  mimeType: zod_openapi_1.z.string().optional(),
33
- })),
34
- zyaProjects: zod_openapi_1.z.array(zod_openapi_1.z.object({
35
+ }))
36
+ .optional(),
37
+ zyaProjects: zod_openapi_1.z
38
+ .array(zod_openapi_1.z.object({
35
39
  projectName: zod_openapi_1.z.string(),
36
- projectImgUrl: zod_openapi_1.z.url(),
40
+ projectImgUrl: zod_openapi_1.z.url().optional(),
37
41
  projectId: zod_openapi_1.z.string(),
38
- tags: zod_openapi_1.z.array(zod_openapi_1.z.string()),
39
- })),
42
+ tags: zod_openapi_1.z.array(zod_openapi_1.z.string()).optional(),
43
+ }))
44
+ .optional(),
40
45
  applicationStatus: zod_openapi_1.z.enum(constants_1.APPLICATION_STATUS),
41
- linkUrls: zod_openapi_1.z.array(zod_openapi_1.z.object({
46
+ linkUrls: zod_openapi_1.z
47
+ .array(zod_openapi_1.z.object({
42
48
  url: zod_openapi_1.z.url(),
43
49
  isPortfolioUrl: zod_openapi_1.z.boolean().optional(),
44
- })),
50
+ }))
51
+ .optional(),
45
52
  coverLetter: zod_openapi_1.z.string().nullable(),
46
53
  receiveEmailUpdates: zod_openapi_1.z.boolean(),
47
54
  wagesAmount: zod_openapi_1.z.number().nullable(),
@@ -87,16 +94,22 @@ exports.JobApplicationEntitySchema = zod_openapi_1.z.object({
87
94
  updatedAt: zod_openapi_1.z.coerce.date().openapi({ example: "2025-10-13T09:00:00.000Z" }),
88
95
  });
89
96
  exports.CreateJobApplicationInputSchema = zod_openapi_1.z.object({
90
- firstName: zod_openapi_1.z.string(),
91
- lastName: zod_openapi_1.z.string(),
92
97
  jobId: zod_openapi_1.z.cuid2(),
93
98
  applicantId: zod_openapi_1.z.cuid2(),
94
- emailAddress: zod_openapi_1.z.email(),
95
- phoneNumber: zod_openapi_1.z.string().optional(),
96
- currentRole: zod_openapi_1.z.string(),
97
- experienceLevel: zod_openapi_1.z.enum(Object.values(constants_1.EXPERIENCE_LEVELS)),
98
99
  jobSections: zod_openapi_1.z.array(zod_openapi_1.z.enum(constants_1.JOB_SECTIONS)).optional(),
99
- resumeUrl: zod_openapi_1.z.url(),
100
+ firstName: zod_openapi_1.z.string().optional(),
101
+ lastName: zod_openapi_1.z.string().optional(),
102
+ emailAddress: zod_openapi_1.z.email().optional(),
103
+ phoneNumber: zod_openapi_1.z.string().optional(),
104
+ currentRole: zod_openapi_1.z.string().optional(),
105
+ experienceLevel: zod_openapi_1.z
106
+ .enum(Object.values(constants_1.EXPERIENCE_LEVELS))
107
+ .optional(),
108
+ resumeUrl: zod_openapi_1.z.url().optional(),
109
+ coverLetter: zod_openapi_1.z.string().optional(),
110
+ availability: zod_openapi_1.z.enum(constants_1.JOB_AVAILABILITY_TYPES).optional(),
111
+ wagesAmount: zod_openapi_1.z.coerce.number().optional(),
112
+ receiveEmailUpdates: zod_openapi_1.z.boolean().default(false),
100
113
  workSampleUrls: zod_openapi_1.z
101
114
  .array(zod_openapi_1.z.object({
102
115
  url: zod_openapi_1.z.url(),
@@ -104,6 +117,9 @@ exports.CreateJobApplicationInputSchema = zod_openapi_1.z.object({
104
117
  mimeType: zod_openapi_1.z.string().optional(),
105
118
  }))
106
119
  .optional(),
120
+ linkUrls: zod_openapi_1.z
121
+ .array(zod_openapi_1.z.object({ url: zod_openapi_1.z.url(), isPortfolioUrl: zod_openapi_1.z.boolean() }))
122
+ .optional(),
107
123
  zyaProjects: zod_openapi_1.z
108
124
  .array(zod_openapi_1.z.object({
109
125
  projectName: zod_openapi_1.z.string(),
@@ -112,13 +128,12 @@ exports.CreateJobApplicationInputSchema = zod_openapi_1.z.object({
112
128
  tags: zod_openapi_1.z.array(zod_openapi_1.z.string()).optional(),
113
129
  }))
114
130
  .optional(),
115
- linkUrls: zod_openapi_1.z
116
- .array(zod_openapi_1.z.object({ url: zod_openapi_1.z.url(), isPortfolioUrl: zod_openapi_1.z.boolean() }))
117
- .optional(),
118
- coverLetter: zod_openapi_1.z.string(),
119
- receiveEmailUpdates: zod_openapi_1.z.boolean(),
120
- wagesAmount: zod_openapi_1.z.coerce.number().optional(),
121
- availability: zod_openapi_1.z.enum(constants_1.JOB_AVAILABILITY_TYPES).optional(),
131
+ });
132
+ exports.TrackedJobApplicationEntitySchema = zod_openapi_1.z.object({
133
+ id: zod_openapi_1.z.cuid2(),
134
+ createdAt: zod_openapi_1.z.coerce.date(),
135
+ applicationStatus: zod_openapi_1.z.enum(Object.values(constants_1.APPLICATION_STATUS)),
136
+ job: job_1.NormalizedJobOutputSchema,
122
137
  });
123
138
  exports.UpdateJobApplicationStatusSchema = zod_openapi_1.z.object({
124
139
  applicationStatus: zod_openapi_1.z.enum(constants_1.APPLICATION_STATUS),
@@ -1,7 +1,8 @@
1
1
  import z from "zod";
2
- import { JobApplicationEntitySchema, CreateJobApplicationInputSchema, UpdateJobApplicationStatusSchema, MinimalJobApplicationEntitySchema, BaseJobApplicationEntitySchema } from "../schemas/job-application";
2
+ import { JobApplicationEntitySchema, CreateJobApplicationInputSchema, UpdateJobApplicationStatusSchema, MinimalJobApplicationEntitySchema, BaseJobApplicationEntitySchema, TrackedJobApplicationEntitySchema } from "../schemas/job-application";
3
3
  export type CreateJobApplicationInput = z.infer<typeof CreateJobApplicationInputSchema>;
4
4
  export type UpdateJobApplicationStatusInput = z.infer<typeof UpdateJobApplicationStatusSchema>;
5
5
  export type JobApplicationEntity = z.infer<typeof JobApplicationEntitySchema>;
6
6
  export type MinimalJobApplicationEntity = z.infer<typeof MinimalJobApplicationEntitySchema>;
7
7
  export type BaseJobApplicationEntity = z.infer<typeof BaseJobApplicationEntitySchema>;
8
+ export type TrackedJobApplicationEntity = z.infer<typeof TrackedJobApplicationEntitySchema>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zyacreatives/shared",
3
- "version": "2.1.13",
3
+ "version": "2.1.15",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -7,9 +7,9 @@ import {
7
7
  JOB_AVAILABILITY_TYPES,
8
8
  JOB_SECTIONS,
9
9
  JobAvailabilityTypes,
10
- JobSections,
11
10
  } from "../constants";
12
11
  import { MinimalUserSchema } from "./user";
12
+ import { NormalizedJobOutputSchema } from "./job";
13
13
 
14
14
  export const MinimalJobApplicationEntitySchema = z.object({
15
15
  user: MinimalUserSchema,
@@ -29,49 +29,54 @@ export const BaseJobApplicationEntitySchema = z.object({
29
29
  id: z.string(),
30
30
  createdAt: z.coerce.date(),
31
31
  updatedAt: z.coerce.date(),
32
- availability: z.enum(JOB_AVAILABILITY_TYPES),
33
- experienceLevel: z.enum(EXPERIENCE_LEVELS),
32
+ availability: z.enum(JOB_AVAILABILITY_TYPES).optional(),
33
+ experienceLevel: z.enum(EXPERIENCE_LEVELS).optional(),
34
34
 
35
35
  jobId: z.string(),
36
36
  applicantId: z.string(),
37
37
 
38
- firstName: z.string(),
39
- lastName: z.string(),
40
- emailAddress: z.string(),
38
+ firstName: z.string().optional(),
39
+ lastName: z.string().optional(),
40
+ emailAddress: z.string().optional(),
41
41
  phoneNumber: z.string().nullable(),
42
42
 
43
43
  currentRole: z.string(),
44
44
  resumeUrl: z.url(),
45
45
 
46
- workSampleUrls: z.array(
47
- z.object({
48
- url: z.url(),
49
- name: z.string().optional(),
50
- mimeType: z.string().optional(),
51
- })
52
- ),
46
+ workSampleUrls: z
47
+ .array(
48
+ z.object({
49
+ url: z.url(),
50
+ name: z.string().optional(),
51
+ mimeType: z.string().optional(),
52
+ })
53
+ )
54
+ .optional(),
53
55
 
54
- zyaProjects: z.array(
55
- z.object({
56
- projectName: z.string(),
57
- projectImgUrl: z.url(),
58
- projectId: z.string(),
59
- tags: z.array(z.string()),
60
- })
61
- ),
56
+ zyaProjects: z
57
+ .array(
58
+ z.object({
59
+ projectName: z.string(),
60
+ projectImgUrl: z.url().optional(),
61
+ projectId: z.string(),
62
+ tags: z.array(z.string()).optional(),
63
+ })
64
+ )
65
+ .optional(),
62
66
 
63
67
  applicationStatus: z.enum(APPLICATION_STATUS),
64
68
 
65
- linkUrls: z.array(
66
- z.object({
67
- url: z.url(),
68
- isPortfolioUrl: z.boolean().optional(),
69
- })
70
- ),
69
+ linkUrls: z
70
+ .array(
71
+ z.object({
72
+ url: z.url(),
73
+ isPortfolioUrl: z.boolean().optional(),
74
+ })
75
+ )
76
+ .optional(),
71
77
 
72
78
  coverLetter: z.string().nullable(),
73
79
  receiveEmailUpdates: z.boolean(),
74
-
75
80
  wagesAmount: z.number().nullable(),
76
81
  });
77
82
 
@@ -135,19 +140,30 @@ export const JobApplicationEntitySchema = z.object({
135
140
  });
136
141
 
137
142
  export const CreateJobApplicationInputSchema = z.object({
138
- firstName: z.string(),
139
- lastName: z.string(),
140
143
  jobId: z.cuid2(),
141
144
  applicantId: z.cuid2(),
142
- emailAddress: z.email(),
143
- phoneNumber: z.string().optional(),
144
- currentRole: z.string(),
145
- experienceLevel: z.enum(
146
- Object.values(EXPERIENCE_LEVELS) as [ExperienceLevel, ...ExperienceLevel[]]
147
- ),
148
145
  jobSections: z.array(z.enum(JOB_SECTIONS)).optional(),
146
+ firstName: z.string().optional(),
147
+ lastName: z.string().optional(),
148
+ emailAddress: z.email().optional(),
149
+ phoneNumber: z.string().optional(),
150
+ currentRole: z.string().optional(),
151
+ experienceLevel: z
152
+ .enum(
153
+ Object.values(EXPERIENCE_LEVELS) as [
154
+ ExperienceLevel,
155
+ ...ExperienceLevel[]
156
+ ]
157
+ )
158
+ .optional(),
159
+
160
+ resumeUrl: z.url().optional(),
161
+ coverLetter: z.string().optional(),
162
+
163
+ availability: z.enum(JOB_AVAILABILITY_TYPES).optional(),
164
+ wagesAmount: z.coerce.number().optional(),
165
+ receiveEmailUpdates: z.boolean().default(false),
149
166
 
150
- resumeUrl: z.url(),
151
167
  workSampleUrls: z
152
168
  .array(
153
169
  z.object({
@@ -157,6 +173,9 @@ export const CreateJobApplicationInputSchema = z.object({
157
173
  })
158
174
  )
159
175
  .optional(),
176
+ linkUrls: z
177
+ .array(z.object({ url: z.url(), isPortfolioUrl: z.boolean() }))
178
+ .optional(),
160
179
  zyaProjects: z
161
180
  .array(
162
181
  z.object({
@@ -167,13 +186,18 @@ export const CreateJobApplicationInputSchema = z.object({
167
186
  })
168
187
  )
169
188
  .optional(),
170
- linkUrls: z
171
- .array(z.object({ url: z.url(), isPortfolioUrl: z.boolean() }))
172
- .optional(),
173
- coverLetter: z.string(),
174
- receiveEmailUpdates: z.boolean(),
175
- wagesAmount: z.coerce.number().optional(),
176
- availability: z.enum(JOB_AVAILABILITY_TYPES).optional(),
189
+ });
190
+
191
+ export const TrackedJobApplicationEntitySchema = z.object({
192
+ id: z.cuid2(),
193
+ createdAt: z.coerce.date(),
194
+ applicationStatus: z.enum(
195
+ Object.values(APPLICATION_STATUS) as [
196
+ ApplicationStatus,
197
+ ...ApplicationStatus[]
198
+ ]
199
+ ),
200
+ job: NormalizedJobOutputSchema,
177
201
  });
178
202
 
179
203
  export const UpdateJobApplicationStatusSchema = z.object({
@@ -5,6 +5,7 @@ import {
5
5
  UpdateJobApplicationStatusSchema,
6
6
  MinimalJobApplicationEntitySchema,
7
7
  BaseJobApplicationEntitySchema,
8
+ TrackedJobApplicationEntitySchema,
8
9
  } from "../schemas/job-application";
9
10
 
10
11
  export type CreateJobApplicationInput = z.infer<
@@ -24,3 +25,7 @@ export type MinimalJobApplicationEntity = z.infer<
24
25
  export type BaseJobApplicationEntity = z.infer<
25
26
  typeof BaseJobApplicationEntitySchema
26
27
  >;
28
+
29
+ export type TrackedJobApplicationEntity = z.infer<
30
+ typeof TrackedJobApplicationEntitySchema
31
+ >;