@zyacreatives/shared 2.5.69 → 2.5.70
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/schemas/job-application.d.ts +496 -352
- package/dist/schemas/job-application.js +63 -25
- package/dist/schemas/job.d.ts +1132 -954
- package/dist/schemas/job.js +59 -70
- package/dist/schemas/user.d.ts +56 -9
- package/package.json +1 -1
- package/src/schemas/job-application.ts +98 -44
- package/src/schemas/job.ts +88 -130
|
@@ -1,24 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
// job-application.schemas.ts
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
+
exports.GetBrandUnansweredApplicationsOutputSchema = exports.GetApplicationStatusUpdatesCountOutputSchema = exports.GetTrackedJobApplicationsOutputSchema = exports.GetTrackedJobApplicationsInputSchema = exports.UpdateJobApplicationInputSchema = exports.CreateJobApplicationInputSchema = exports.ApplicationIdInputSchema = exports.TrackedJobApplicationEntitySchema = exports.MinimalJobApplicationEntitySchema = exports.BaseJobApplicationEntitySchema = exports.JobApplicationEntitySchema = exports.JobApplicationResponseSchema = exports.JobApplicationShape = void 0;
|
|
4
5
|
const zod_openapi_1 = require("@hono/zod-openapi");
|
|
5
6
|
const constants_1 = require("../constants");
|
|
6
7
|
const job_1 = require("./job");
|
|
7
8
|
const minimal_user_1 = require("./minimal-user");
|
|
8
|
-
/**
|
|
9
|
-
* --------------------------------
|
|
10
|
-
* ENUMS
|
|
11
|
-
* --------------------------------
|
|
12
|
-
*/
|
|
13
|
-
const ApplicationStatusSchema = zod_openapi_1.z.enum(Object.values(constants_1.APPLICATION_STATUS));
|
|
14
|
-
const ExperienceLevelSchema = zod_openapi_1.z.enum(Object.values(constants_1.EXPERIENCE_LEVELS));
|
|
15
|
-
const JobAvailabilitySchema = zod_openapi_1.z.enum(Object.values(constants_1.JOB_AVAILABILITY_TYPES));
|
|
16
9
|
/**
|
|
17
10
|
* --------------------------------
|
|
18
11
|
* SHAPE
|
|
19
12
|
* --------------------------------
|
|
20
13
|
*/
|
|
21
|
-
|
|
14
|
+
exports.JobApplicationShape = zod_openapi_1.z.object({
|
|
22
15
|
jobId: zod_openapi_1.z.cuid2(),
|
|
23
16
|
firstName: zod_openapi_1.z.string().optional(),
|
|
24
17
|
lastName: zod_openapi_1.z.string().optional(),
|
|
@@ -26,8 +19,8 @@ const JobApplicationShape = zod_openapi_1.z.object({
|
|
|
26
19
|
phoneNumber: zod_openapi_1.z.string().nullable(),
|
|
27
20
|
currentRole: zod_openapi_1.z.string(),
|
|
28
21
|
resumeUrl: zod_openapi_1.z.url(),
|
|
29
|
-
experienceLevel:
|
|
30
|
-
availability:
|
|
22
|
+
experienceLevel: zod_openapi_1.z.enum(constants_1.EXPERIENCE_LEVELS).optional(),
|
|
23
|
+
availability: zod_openapi_1.z.enum(constants_1.JOB_AVAILABILITY_TYPES).optional(),
|
|
31
24
|
coverLetter: zod_openapi_1.z.string().nullable(),
|
|
32
25
|
receiveEmailUpdates: zod_openapi_1.z.boolean(),
|
|
33
26
|
wagesAmount: zod_openapi_1.z.number().nullable(),
|
|
@@ -53,6 +46,24 @@ const JobApplicationShape = zod_openapi_1.z.object({
|
|
|
53
46
|
}))
|
|
54
47
|
.optional(),
|
|
55
48
|
});
|
|
49
|
+
/**
|
|
50
|
+
* --------------------------------
|
|
51
|
+
* RESPONSE / OFFER / STATUS TRACKING
|
|
52
|
+
* --------------------------------
|
|
53
|
+
*/
|
|
54
|
+
exports.JobApplicationResponseSchema = zod_openapi_1.z.object({
|
|
55
|
+
brandResponseMessage: zod_openapi_1.z.string().max(3000).nullable().optional(),
|
|
56
|
+
meetingLink: zod_openapi_1.z.url().nullable().optional(),
|
|
57
|
+
offerAcceptedAt: zod_openapi_1.z.iso.datetime().nullable().optional(),
|
|
58
|
+
offerDeclinedAt: zod_openapi_1.z.iso.datetime().nullable().optional(),
|
|
59
|
+
hiredAt: zod_openapi_1.z.iso.datetime().nullable().optional(),
|
|
60
|
+
rejectedAt: zod_openapi_1.z.iso.datetime().nullable().optional(),
|
|
61
|
+
lastStatusChangedAt: zod_openapi_1.z.iso.datetime().nullable().optional(),
|
|
62
|
+
lastStatusViewedByApplicantAt: zod_openapi_1.z.iso.datetime().nullable().optional(),
|
|
63
|
+
lastStatusViewedByBrandAt: zod_openapi_1.z.iso.datetime().nullable().optional(),
|
|
64
|
+
lastUpdatedByUserId: zod_openapi_1.z.cuid2().nullable().optional(),
|
|
65
|
+
hasUnreadStatusUpdate: zod_openapi_1.z.boolean().default(false).optional(),
|
|
66
|
+
});
|
|
56
67
|
/**
|
|
57
68
|
* --------------------------------
|
|
58
69
|
* BASE ENTITY
|
|
@@ -63,12 +74,16 @@ exports.JobApplicationEntitySchema = zod_openapi_1.z
|
|
|
63
74
|
id: zod_openapi_1.z.cuid2(),
|
|
64
75
|
applicantId: zod_openapi_1.z.cuid2(),
|
|
65
76
|
user: minimal_user_1.MinimalUserSchema,
|
|
66
|
-
...JobApplicationShape.shape,
|
|
67
|
-
|
|
77
|
+
...exports.JobApplicationShape.shape,
|
|
78
|
+
...exports.JobApplicationResponseSchema.shape,
|
|
79
|
+
applicationStatus: zod_openapi_1.z.enum(constants_1.APPLICATION_STATUS),
|
|
68
80
|
createdAt: zod_openapi_1.z.iso.datetime(),
|
|
69
81
|
updatedAt: zod_openapi_1.z.iso.datetime(),
|
|
70
82
|
})
|
|
71
83
|
.openapi("JobApplication");
|
|
84
|
+
exports.BaseJobApplicationEntitySchema = exports.JobApplicationEntitySchema.omit({
|
|
85
|
+
user: true,
|
|
86
|
+
});
|
|
72
87
|
/**
|
|
73
88
|
* --------------------------------
|
|
74
89
|
* DERIVED ENTITIES
|
|
@@ -78,14 +93,27 @@ exports.MinimalJobApplicationEntitySchema = zod_openapi_1.z.object({
|
|
|
78
93
|
id: zod_openapi_1.z.cuid2(),
|
|
79
94
|
jobId: zod_openapi_1.z.cuid2(),
|
|
80
95
|
user: minimal_user_1.MinimalUserSchema,
|
|
81
|
-
coverLetter: zod_openapi_1.z.string(),
|
|
82
|
-
applicationStatus:
|
|
96
|
+
coverLetter: zod_openapi_1.z.string().nullable(),
|
|
97
|
+
applicationStatus: zod_openapi_1.z.enum(constants_1.APPLICATION_STATUS),
|
|
98
|
+
brandResponseMessage: zod_openapi_1.z.string().nullable().optional(),
|
|
99
|
+
meetingLink: zod_openapi_1.z.url().nullable().optional(),
|
|
100
|
+
offerAcceptedAt: zod_openapi_1.z.iso.datetime().nullable().optional(),
|
|
101
|
+
offerDeclinedAt: zod_openapi_1.z.iso.datetime().nullable().optional(),
|
|
102
|
+
lastStatusChangedAt: zod_openapi_1.z.iso.datetime().nullable().optional(),
|
|
103
|
+
hasUnreadStatusUpdate: zod_openapi_1.z.boolean().default(false).optional(),
|
|
83
104
|
createdAt: zod_openapi_1.z.iso.datetime(),
|
|
84
105
|
});
|
|
85
106
|
exports.TrackedJobApplicationEntitySchema = zod_openapi_1.z.object({
|
|
86
107
|
id: zod_openapi_1.z.cuid2(),
|
|
87
|
-
applicationStatus:
|
|
108
|
+
applicationStatus: zod_openapi_1.z.enum(constants_1.APPLICATION_STATUS),
|
|
109
|
+
brandResponseMessage: zod_openapi_1.z.string().nullable().optional(),
|
|
110
|
+
meetingLink: zod_openapi_1.z.url().nullable().optional(),
|
|
111
|
+
offerAcceptedAt: zod_openapi_1.z.iso.datetime().nullable().optional(),
|
|
112
|
+
offerDeclinedAt: zod_openapi_1.z.iso.datetime().nullable().optional(),
|
|
113
|
+
lastStatusChangedAt: zod_openapi_1.z.iso.datetime().nullable().optional(),
|
|
114
|
+
hasUnreadStatusUpdate: zod_openapi_1.z.boolean().default(false).optional(),
|
|
88
115
|
createdAt: zod_openapi_1.z.iso.datetime(),
|
|
116
|
+
updatedAt: zod_openapi_1.z.iso.datetime().optional(),
|
|
89
117
|
job: job_1.NormalizedJobSchema,
|
|
90
118
|
});
|
|
91
119
|
/**
|
|
@@ -93,19 +121,26 @@ exports.TrackedJobApplicationEntitySchema = zod_openapi_1.z.object({
|
|
|
93
121
|
* INPUTS
|
|
94
122
|
* --------------------------------
|
|
95
123
|
*/
|
|
96
|
-
exports.
|
|
124
|
+
exports.ApplicationIdInputSchema = zod_openapi_1.z.object({
|
|
125
|
+
id: zod_openapi_1.z.cuid2(),
|
|
126
|
+
});
|
|
127
|
+
exports.CreateJobApplicationInputSchema = exports.JobApplicationShape.extend({
|
|
97
128
|
jobSections: zod_openapi_1.z.array(zod_openapi_1.z.enum(constants_1.JOB_SECTIONS)).optional(),
|
|
98
129
|
});
|
|
99
130
|
exports.UpdateJobApplicationInputSchema = exports.CreateJobApplicationInputSchema.partial().extend({
|
|
100
131
|
id: zod_openapi_1.z.cuid2(),
|
|
101
|
-
applicationStatus:
|
|
132
|
+
applicationStatus: zod_openapi_1.z.enum(constants_1.APPLICATION_STATUS).optional(),
|
|
133
|
+
brandResponseMessage: zod_openapi_1.z.string().max(3000).nullable().optional(),
|
|
134
|
+
meetingLink: zod_openapi_1.z.url().nullable().optional(),
|
|
135
|
+
offerAcceptedAt: zod_openapi_1.z.iso.datetime().nullable().optional(),
|
|
136
|
+
offerDeclinedAt: zod_openapi_1.z.iso.datetime().nullable().optional(),
|
|
137
|
+
lastStatusViewedByApplicantAt: zod_openapi_1.z.iso.datetime().nullable().optional(),
|
|
138
|
+
lastStatusViewedByBrandAt: zod_openapi_1.z.iso.datetime().nullable().optional(),
|
|
102
139
|
});
|
|
103
140
|
exports.GetTrackedJobApplicationsInputSchema = zod_openapi_1.z.object({
|
|
104
141
|
query: zod_openapi_1.z.string().optional(),
|
|
105
|
-
status:
|
|
106
|
-
jobType: zod_openapi_1.z
|
|
107
|
-
.enum(Object.values(constants_1.JOB_TYPE))
|
|
108
|
-
.optional(),
|
|
142
|
+
status: zod_openapi_1.z.enum(constants_1.APPLICATION_STATUS).optional(),
|
|
143
|
+
jobType: zod_openapi_1.z.enum(constants_1.JOB_TYPE).optional(),
|
|
109
144
|
page: zod_openapi_1.z.coerce.number().min(1).default(1),
|
|
110
145
|
limit: zod_openapi_1.z.coerce.number().min(1).max(100).default(20),
|
|
111
146
|
});
|
|
@@ -122,6 +157,9 @@ exports.GetTrackedJobApplicationsOutputSchema = zod_openapi_1.z.object({
|
|
|
122
157
|
hasNextPage: zod_openapi_1.z.boolean(),
|
|
123
158
|
hasPrevPage: zod_openapi_1.z.boolean(),
|
|
124
159
|
});
|
|
125
|
-
exports.
|
|
126
|
-
|
|
160
|
+
exports.GetApplicationStatusUpdatesCountOutputSchema = zod_openapi_1.z.object({
|
|
161
|
+
unreadCount: zod_openapi_1.z.number(),
|
|
162
|
+
});
|
|
163
|
+
exports.GetBrandUnansweredApplicationsOutputSchema = zod_openapi_1.z.object({
|
|
164
|
+
unansweredCount: zod_openapi_1.z.number(),
|
|
127
165
|
});
|