@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
|
-
|
|
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
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
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
|
@@ -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
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
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
|
+
>;
|