@thejob/schema 1.0.5 → 1.0.7
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/cjs/interfaces.index.d.ts +11 -5
- package/dist/cjs/interfaces.index.d.ts.map +1 -1
- package/dist/cjs/job/job.schema.d.ts +17 -5
- package/dist/cjs/job/job.schema.d.ts.map +1 -1
- package/dist/cjs/job/job.schema.js +204 -30
- package/dist/cjs/job-role-template/job-role-template.schema.d.ts +8 -2
- package/dist/cjs/job-role-template/job-role-template.schema.d.ts.map +1 -1
- package/dist/cjs/resume/resume.schema.d.ts +2 -2
- package/dist/cjs/user/user.schema.d.ts +2 -2
- package/dist/cjs/user/user.schema.d.ts.map +1 -1
- package/dist/cjs/user/user.schema.js +5 -1
- package/dist/esm/interfaces.index.d.ts +11 -5
- package/dist/esm/interfaces.index.d.ts.map +1 -1
- package/dist/esm/job/job.schema.d.ts +17 -5
- package/dist/esm/job/job.schema.d.ts.map +1 -1
- package/dist/esm/job/job.schema.js +204 -30
- package/dist/esm/job-role-template/job-role-template.schema.d.ts +8 -2
- package/dist/esm/job-role-template/job-role-template.schema.d.ts.map +1 -1
- package/dist/esm/resume/resume.schema.d.ts +2 -2
- package/dist/esm/user/user.schema.d.ts +2 -2
- package/dist/esm/user/user.schema.d.ts.map +1 -1
- package/dist/esm/user/user.schema.js +6 -2
- package/package.json +1 -1
|
@@ -9,11 +9,25 @@ const job_constant_1 = require("./job.constant");
|
|
|
9
9
|
const utils_1 = require("./utils");
|
|
10
10
|
exports.JobSchema = (0, yup_extended_1.object)()
|
|
11
11
|
.shape({
|
|
12
|
-
|
|
12
|
+
/*
|
|
13
|
+
* Job headline defines the title of the job post.
|
|
14
|
+
* It is required and should be a string with a minimum length of 10 characters and a maximum length of 100 characters.
|
|
15
|
+
* This field is used to display the job title in job listings and search results.
|
|
16
|
+
*/
|
|
13
17
|
headline: (0, yup_extended_1.string)().required().min(10).max(150).label("Headline"),
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
18
|
+
/*
|
|
19
|
+
* Job slug is a unique identifier for the job post.
|
|
20
|
+
* It is required and should be a string with a maximum length of 250 characters.
|
|
21
|
+
* This field is used to create a user-friendly URL for the job post.
|
|
22
|
+
*/
|
|
23
|
+
slug: (0, yup_extended_1.string)().required().max(250).label("Slug"),
|
|
24
|
+
/*
|
|
25
|
+
* Application receive preference defines how the job applications are received.
|
|
26
|
+
* It is required and should be one of the following values:
|
|
27
|
+
* - Inbox: Applications are received in the job portal's inbox.
|
|
28
|
+
* - ExternalWebsite: Applications are received on an external website.
|
|
29
|
+
* This field is used to determine how the job applications are processed.
|
|
30
|
+
*/
|
|
17
31
|
applicationReceivePreference: (0, yup_extended_1.mixed)()
|
|
18
32
|
.oneOf([
|
|
19
33
|
common_1.ApplicationReceivePreference.Inbox,
|
|
@@ -21,27 +35,54 @@ exports.JobSchema = (0, yup_extended_1.object)()
|
|
|
21
35
|
])
|
|
22
36
|
.required()
|
|
23
37
|
.label("Preference"),
|
|
24
|
-
|
|
38
|
+
/*
|
|
39
|
+
* External apply link is the link to the external website where the job applications are received.
|
|
40
|
+
* It is required if the application receive preference is set to ExternalWebsite.
|
|
41
|
+
* It should be a valid URL.
|
|
42
|
+
* This field is used to redirect users to the external website for job applications.
|
|
43
|
+
*/
|
|
25
44
|
externalApplyLink: (0, yup_extended_1.string)().when("applicationReceivePreference", {
|
|
26
45
|
is: (value) => value === common_1.ApplicationReceivePreference.ExternalWebsite,
|
|
27
46
|
then: (schema) => schema.url().required().label("Apply for Job link"),
|
|
28
47
|
otherwise: (schema) => schema.optional(),
|
|
29
48
|
}),
|
|
30
|
-
|
|
49
|
+
/*
|
|
50
|
+
* This property is required and can be used to specify the company associated with the job post.
|
|
51
|
+
* It can be a predefined company (NameIdLogoSchema) or an other value (OtherValueSchema).
|
|
52
|
+
* The value should be an object with name, id, and logo properties.
|
|
53
|
+
*/
|
|
31
54
|
company: (0, yup_extended_1.mixed)()
|
|
32
55
|
.oneOfSchema([common_1.NameIdLogoSchema, common_1.OtherValueSchema])
|
|
33
56
|
.required()
|
|
34
57
|
.label("Company"),
|
|
35
|
-
|
|
58
|
+
/*
|
|
59
|
+
* This property is required and can be used to specify the designation associated with the job post.
|
|
60
|
+
* It can be a predefined designation (NameIdLogoSchema) or an other value (OtherValueSchema).
|
|
61
|
+
* The value should be an object with name, id, and logo properties.
|
|
62
|
+
*/
|
|
36
63
|
designation: (0, yup_extended_1.mixed)()
|
|
37
64
|
.oneOfSchema([common_1.NameIdLogoSchema, common_1.OtherValueSchema])
|
|
38
65
|
.required()
|
|
39
66
|
.label("Designation"),
|
|
40
|
-
|
|
67
|
+
/*
|
|
68
|
+
* Employment type defines the type of employment for the job post.
|
|
69
|
+
* It is required and should be a string with a maximum length of 50 characters.
|
|
70
|
+
* This field is used to categorize the job based on employment type, such as full-time, part-time, contract, etc.
|
|
71
|
+
*/
|
|
41
72
|
employmentType: (0, yup_extended_1.string)().required().label("Employment type"),
|
|
42
|
-
|
|
73
|
+
/*
|
|
74
|
+
* Work mode defines the mode of work for the job post.
|
|
75
|
+
* It is required and should be a string with a maximum length of 50 characters.
|
|
76
|
+
* This field is used to categorize the job based on work mode, such as remote, on-site, or hybrid.
|
|
77
|
+
*/
|
|
43
78
|
workMode: (0, yup_extended_1.string)().required().label("Work mode"),
|
|
44
|
-
|
|
79
|
+
/*
|
|
80
|
+
* This section is optional and can be used to specify the skills required for the job.
|
|
81
|
+
* It is useful for jobs that require specific skills, such as programming languages, frameworks, etc.
|
|
82
|
+
* The value should be an array of skills, each skill can be a predefined skill (NameIdLogoSchema) or an other value (OtherValueSchema).
|
|
83
|
+
*
|
|
84
|
+
* TODO: Add knockout skills that if not present in the application should immediately disqualify the application.
|
|
85
|
+
*/
|
|
45
86
|
skills: (0, yup_extended_1.array)()
|
|
46
87
|
.of((0, yup_extended_1.mixed)().oneOfSchema([
|
|
47
88
|
common_1.NameIdLogoSchema,
|
|
@@ -50,7 +91,10 @@ exports.JobSchema = (0, yup_extended_1.object)()
|
|
|
50
91
|
.optional()
|
|
51
92
|
.max(20)
|
|
52
93
|
.label("Skills"),
|
|
53
|
-
|
|
94
|
+
/*
|
|
95
|
+
* This field will store the information about users who have bookmarked the job post.
|
|
96
|
+
* It is optional and can be used to track the users who are interested in the job
|
|
97
|
+
*/
|
|
54
98
|
bookmarks: (0, yup_extended_1.array)()
|
|
55
99
|
.of((0, yup_extended_1.object)().shape({
|
|
56
100
|
userId: (0, yup_extended_1.string)().required().label("Use Id"),
|
|
@@ -58,6 +102,12 @@ exports.JobSchema = (0, yup_extended_1.object)()
|
|
|
58
102
|
}))
|
|
59
103
|
.optional()
|
|
60
104
|
.label("Bookmarks"),
|
|
105
|
+
/*
|
|
106
|
+
* This field will store the information about users who have applied for the job post using Direct/Quick Apply feature.
|
|
107
|
+
* It is optional and can be used to track the users who have applied for the job.
|
|
108
|
+
* It includes the user ID and the date when the application was made.
|
|
109
|
+
* It is also useful for analytics and reporting purposes.
|
|
110
|
+
*/
|
|
61
111
|
applicants: (0, yup_extended_1.array)()
|
|
62
112
|
.of((0, yup_extended_1.object)({
|
|
63
113
|
userId: (0, yup_extended_1.string)().required().label("User Id"),
|
|
@@ -65,6 +115,11 @@ exports.JobSchema = (0, yup_extended_1.object)()
|
|
|
65
115
|
}))
|
|
66
116
|
.optional()
|
|
67
117
|
.label("Applicants"),
|
|
118
|
+
/*
|
|
119
|
+
* This field is optional and can be used to track the users who have applied for the job through an external website.
|
|
120
|
+
* It includes the user ID and the date when the application was made.
|
|
121
|
+
* It is also useful for analytics and reporting purposes.
|
|
122
|
+
*/
|
|
68
123
|
externalApplicants: (0, yup_extended_1.array)()
|
|
69
124
|
.of((0, yup_extended_1.object)({
|
|
70
125
|
userId: (0, yup_extended_1.string)().required().label("User Id"),
|
|
@@ -72,57 +127,123 @@ exports.JobSchema = (0, yup_extended_1.object)()
|
|
|
72
127
|
}))
|
|
73
128
|
.optional()
|
|
74
129
|
.label("External Applicants"),
|
|
75
|
-
|
|
130
|
+
/*
|
|
131
|
+
* This field is required and should be used to store the job description.
|
|
132
|
+
* It is useful for providing detailed information about the job responsibilities, requirements, and other relevant details.
|
|
133
|
+
* It is recommended to use a Markdown editor to write the job description.
|
|
134
|
+
*/
|
|
76
135
|
description: (0, yup_extended_1.string)().required().min(250).max(10000).label("Description"),
|
|
77
|
-
|
|
136
|
+
/*
|
|
137
|
+
* This field is required and can be used to specify the job description.
|
|
138
|
+
* It is useful for providing detailed information about the job responsibilities, requirements, and other relevant details.
|
|
139
|
+
*/
|
|
78
140
|
descriptionMarkdown: (0, yup_extended_1.string)().optional().label("Description Markdown"),
|
|
79
|
-
|
|
80
|
-
|
|
141
|
+
/*
|
|
142
|
+
* This field is require and should be used to store generated HTML string after parsing Markdown description.
|
|
143
|
+
* The value should be a string in HTML format.
|
|
144
|
+
* It is recommended to use a Markdown editor to convert the Markdown description to HTML.
|
|
145
|
+
*
|
|
146
|
+
* Note: This field is required to ensure that the job description is always available in HTML format for rendering.
|
|
147
|
+
* It is important to keep this field in sync with the Markdown description field.
|
|
148
|
+
* If the Markdown description is updated, the HTML description should also be updated accordingly.
|
|
149
|
+
* This can be done using a Markdown parser library that converts Markdown to HTML.
|
|
150
|
+
* For example, you can use libraries like `marked`, `markdown-it`, or `showdown` to convert Markdown to HTML.
|
|
151
|
+
* Ensure that the HTML is sanitized to prevent XSS attacks and other security vulnerabilities.
|
|
152
|
+
*/
|
|
153
|
+
descriptionHTML: (0, yup_extended_1.string)().required().label("Description Markup"),
|
|
154
|
+
/*
|
|
155
|
+
* Location section
|
|
156
|
+
* This section is required and can be used to specify the location of the job.
|
|
157
|
+
* It is useful for jobs that are location-specific, such as on-site jobs.
|
|
158
|
+
* The value should be an array of locations.
|
|
159
|
+
*
|
|
160
|
+
* NOTE: Location is also required even if the job is remote, This is to comply with compliance and legal requirements.
|
|
161
|
+
*/
|
|
81
162
|
locations: (0, yup_extended_1.array)()
|
|
82
163
|
.of(location_1.LocationSchema)
|
|
83
164
|
.required()
|
|
84
165
|
.min(1)
|
|
85
166
|
.label("Location"),
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
167
|
+
/*
|
|
168
|
+
* Educational level section
|
|
169
|
+
* This section is optional and can be used to specify the educational level required for the job.
|
|
170
|
+
* It is useful for jobs that require specific educational qualifications, such as Bachelor's, Master's, etc.
|
|
171
|
+
* The value should be an array of supported education levels.
|
|
172
|
+
*/
|
|
89
173
|
educationLevel: (0, yup_extended_1.array)((0, yup_extended_1.string)().oneOf(common_1.SupportedEducationLevels))
|
|
90
174
|
.required()
|
|
91
175
|
.min(1)
|
|
92
176
|
.label("Educational level"),
|
|
93
|
-
|
|
177
|
+
/*
|
|
178
|
+
* Validity section
|
|
179
|
+
* This section is optional and can be used to specify the validity of the job post.
|
|
180
|
+
* This can be useful for jobs that have a specific duration or deadline.
|
|
181
|
+
* The value should be an object with start and end dates.
|
|
182
|
+
*/
|
|
94
183
|
validity: (0, duration_1.DurationSchema)({
|
|
95
184
|
format: common_1.SystemDateFormat,
|
|
96
185
|
startLabel: "Start Date",
|
|
97
186
|
endLabel: "Expiry Date",
|
|
98
187
|
}).label("Validity"),
|
|
99
|
-
|
|
188
|
+
/*
|
|
189
|
+
* Experience level section
|
|
190
|
+
* This section is optional and can be used to specify the experience level required for the job.
|
|
191
|
+
* It is useful for jobs that require specific levels of experience, such as entry-level, mid-level, or senior-level positions.
|
|
192
|
+
* The value should be one of the supported experience levels.
|
|
193
|
+
*/
|
|
100
194
|
experienceLevel: (0, yup_extended_1.string)()
|
|
101
195
|
.oneOf(common_1.SupportedExperienceLevels)
|
|
102
196
|
.optional()
|
|
103
197
|
.label("Experience level"),
|
|
104
|
-
|
|
198
|
+
/*
|
|
199
|
+
* Contact email section
|
|
200
|
+
* This section is optional and can be used to specify the contact email for the job post.
|
|
201
|
+
* It is useful for jobs that require direct communication with the employer.
|
|
202
|
+
*/
|
|
105
203
|
contactEmail: (0, yup_extended_1.string)().email().optional().label("Contact email"),
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
204
|
+
/*
|
|
205
|
+
* Working hours per week section
|
|
206
|
+
* This section is optional and can be used to specify the number of working hours per week for the job.
|
|
207
|
+
* It is useful for jobs that have a fixed number of hours per week, such as part-time or full-time jobs.
|
|
208
|
+
* The value should be a number between 1 and 168 (24 hours * 7 days).
|
|
209
|
+
*/
|
|
112
210
|
workingHoursPerWeek: (0, yup_extended_1.number)()
|
|
113
211
|
.optional()
|
|
114
212
|
.min(1)
|
|
115
213
|
.max(24 * 7)
|
|
116
214
|
.label("Working hours per week"),
|
|
117
|
-
|
|
215
|
+
/*
|
|
216
|
+
* Tags are used to categorize the job post.
|
|
217
|
+
* They are optional and can be used to filter job posts.
|
|
218
|
+
*/
|
|
118
219
|
tags: (0, yup_extended_1.array)().max(50).optional().label("Tags"),
|
|
119
|
-
|
|
220
|
+
/*
|
|
221
|
+
* Questionnaire section
|
|
222
|
+
* This section contains a list of questions that the user must answer when applying for the job through Direct/Quick Apply.
|
|
223
|
+
* It is optional and can be used to gather additional information from the applicants.
|
|
224
|
+
*/
|
|
120
225
|
questionnaire: (0, yup_extended_1.array)().of((0, yup_extended_1.lazy)((question) => (0, utils_1.getSchemaByQuestion)(question.type))),
|
|
226
|
+
/**
|
|
227
|
+
* Status of the job post.
|
|
228
|
+
* This is required and can be one of the supported job statuses.
|
|
229
|
+
* It defaults to 'Draft' if not provided.
|
|
230
|
+
* This field is used to track the current state of the job post.
|
|
231
|
+
* Possible values include:
|
|
232
|
+
* - Draft: The job post is in draft mode and not yet published.
|
|
233
|
+
* - Published: The job post is live and visible to users.
|
|
234
|
+
* - Closed: The job post is closed and no longer accepting applications.
|
|
235
|
+
* - Deleted: The job post has been deleted and is no longer available.
|
|
236
|
+
*/
|
|
121
237
|
status: (0, yup_extended_1.string)()
|
|
122
238
|
.oneOf(job_constant_1.SupportedJobStatuses)
|
|
123
239
|
.default(job_constant_1.JobStatus.Draft)
|
|
124
240
|
.required()
|
|
125
241
|
.label("Status"),
|
|
242
|
+
/**
|
|
243
|
+
* SEO tags for the job post.
|
|
244
|
+
* This is optional and can be used to improve the visibility of the job post in search engines.
|
|
245
|
+
* It includes meta tags for description and keywords.
|
|
246
|
+
*/
|
|
126
247
|
seoTags: (0, yup_extended_1.object)()
|
|
127
248
|
.shape({
|
|
128
249
|
meta: (0, yup_extended_1.object)().shape({
|
|
@@ -132,17 +253,70 @@ exports.JobSchema = (0, yup_extended_1.object)()
|
|
|
132
253
|
})
|
|
133
254
|
.optional()
|
|
134
255
|
.label("SEO Tags"),
|
|
256
|
+
/**
|
|
257
|
+
* Short job summary.
|
|
258
|
+
* This is optional and can be used to provide a brief overview of the job post.
|
|
259
|
+
* It is displayed in job listings and search results.
|
|
260
|
+
*/
|
|
135
261
|
jdSummary: (0, yup_extended_1.string)().optional().label("JD Summary"),
|
|
136
|
-
|
|
262
|
+
/*
|
|
263
|
+
* Indicates if the job can be bookmarked by the user.
|
|
264
|
+
* This is optional and can be used to determine if the job supports bookmarking.
|
|
265
|
+
*/
|
|
137
266
|
canCreateAlert: (0, yup_extended_1.boolean)().optional().label("Can create alert"),
|
|
267
|
+
/*
|
|
268
|
+
* Indicates if the job can be directly applied to without going through an external website.
|
|
269
|
+
* This is optional and can be used to determine if the job supports direct applications.
|
|
270
|
+
*/
|
|
138
271
|
canDirectApply: (0, yup_extended_1.boolean)().optional().label("Can direct apply"),
|
|
272
|
+
/*
|
|
273
|
+
* Indicates if the user has applied for the job.
|
|
274
|
+
* This is optional and can be used to determine if the user has already applied.
|
|
275
|
+
*/
|
|
139
276
|
hasApplied: (0, yup_extended_1.boolean)().optional().label("Has applied"),
|
|
277
|
+
/**
|
|
278
|
+
* Indicates if the user is the owner of the job.
|
|
279
|
+
* This is optional and can be used to determine if the user has permissions to edit/delete the job.
|
|
280
|
+
*/
|
|
140
281
|
isOwner: (0, yup_extended_1.boolean)().optional().label("Is owner"),
|
|
282
|
+
/**
|
|
283
|
+
* Has the job been bookmarked by the user.
|
|
284
|
+
*/
|
|
141
285
|
hasBookmarked: (0, yup_extended_1.boolean)().optional().label("Has bookmarked"),
|
|
286
|
+
/**
|
|
287
|
+
* Number of applicants for the job (Direct Apply/Quick Apply).
|
|
288
|
+
* This is optional and can be used to track the number of applicants.
|
|
289
|
+
*/
|
|
142
290
|
applicantCount: (0, yup_extended_1.number)().optional().label("Applicant count"),
|
|
291
|
+
/**
|
|
292
|
+
* Rate per hour for the job.
|
|
293
|
+
* This is optional and can be used for freelance or contract jobs.
|
|
294
|
+
*/
|
|
295
|
+
ratePerHour: (0, yup_extended_1.number)().optional().min(0).label("Rate per hour"),
|
|
296
|
+
/**
|
|
297
|
+
* Number of external applicants for the job.
|
|
298
|
+
*/
|
|
143
299
|
externalApplicantCount: (0, yup_extended_1.number)()
|
|
144
300
|
.optional()
|
|
145
301
|
.label("External applicant count"),
|
|
302
|
+
/**
|
|
303
|
+
* Indicates if the job is promoted.
|
|
304
|
+
* This is optional and can be used to determine if the job is featured or highlighted.
|
|
305
|
+
*/
|
|
306
|
+
isPromoted: (0, yup_extended_1.boolean)().optional().label("Is promoted"),
|
|
307
|
+
/**
|
|
308
|
+
* Salary range for the job.
|
|
309
|
+
* This is optional and can be used to specify the salary range for the job.
|
|
310
|
+
* It includes currency, minimum, and maximum salary.
|
|
311
|
+
*/
|
|
312
|
+
salaryRange: (0, yup_extended_1.object)()
|
|
313
|
+
.shape({
|
|
314
|
+
currency: (0, yup_extended_1.string)().required().label("Currency").default("USD"), // Default to USD if not provided
|
|
315
|
+
min: (0, yup_extended_1.number)().optional().min(0).label("Minimum Salary"),
|
|
316
|
+
max: (0, yup_extended_1.number)().optional().min(0).label("Maximum Salary"),
|
|
317
|
+
})
|
|
318
|
+
.optional()
|
|
319
|
+
.label("Salary Range"),
|
|
146
320
|
// TODO: Add termsAccepted section to the schema
|
|
147
321
|
// termsAccepted: boolean()
|
|
148
322
|
// .oneOf([true], "Accept terms before proceeding")
|
|
@@ -56,9 +56,8 @@ export declare const JobRoleTemplateSchema: import("yup").ObjectSchema<{
|
|
|
56
56
|
applicants: "";
|
|
57
57
|
externalApplicants: "";
|
|
58
58
|
description: undefined;
|
|
59
|
-
descriptionHTML: undefined;
|
|
60
59
|
descriptionMarkdown: undefined;
|
|
61
|
-
|
|
60
|
+
descriptionHTML: undefined;
|
|
62
61
|
locations: "";
|
|
63
62
|
educationLevel: undefined;
|
|
64
63
|
validity: any;
|
|
@@ -81,7 +80,14 @@ export declare const JobRoleTemplateSchema: import("yup").ObjectSchema<{
|
|
|
81
80
|
isOwner: undefined;
|
|
82
81
|
hasBookmarked: undefined;
|
|
83
82
|
applicantCount: undefined;
|
|
83
|
+
ratePerHour: undefined;
|
|
84
84
|
externalApplicantCount: undefined;
|
|
85
|
+
isPromoted: undefined;
|
|
86
|
+
salaryRange: {
|
|
87
|
+
currency: "USD";
|
|
88
|
+
min: undefined;
|
|
89
|
+
max: undefined;
|
|
90
|
+
};
|
|
85
91
|
id: undefined;
|
|
86
92
|
shortId: undefined;
|
|
87
93
|
createdBy: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-role-template.schema.d.ts","sourceRoot":"","sources":["../../../src/job-role-template/job-role-template.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,eAAO,MAAM,qBAAqB
|
|
1
|
+
{"version":3,"file":"job-role-template.schema.d.ts","sourceRoot":"","sources":["../../../src/job-role-template/job-role-template.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAQhC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,SAAS,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
|
|
@@ -270,7 +270,6 @@ export declare const NewResumePromptSchema: (host?: string) => import("yup").Obj
|
|
|
270
270
|
image?: string | undefined;
|
|
271
271
|
aboutMe?: string | undefined;
|
|
272
272
|
emailVerified?: string | null | undefined;
|
|
273
|
-
roles?: (import("../common").UserRole | undefined)[] | undefined;
|
|
274
273
|
email: string;
|
|
275
274
|
name: {
|
|
276
275
|
first: string;
|
|
@@ -445,6 +444,7 @@ export declare const NewResumePromptSchema: (host?: string) => import("yup").Obj
|
|
|
445
444
|
};
|
|
446
445
|
};
|
|
447
446
|
status: NonNullable<import("../common").UserStatus | undefined>;
|
|
447
|
+
roles: (import("../common").UserRole | undefined)[];
|
|
448
448
|
};
|
|
449
449
|
title: string;
|
|
450
450
|
jobUrl: string | undefined;
|
|
@@ -461,7 +461,7 @@ export declare const NewResumePromptSchema: (host?: string) => import("yup").Obj
|
|
|
461
461
|
languages: never[];
|
|
462
462
|
additionalInfo: never[];
|
|
463
463
|
status: undefined;
|
|
464
|
-
roles: "";
|
|
464
|
+
roles: import("../common").UserRole[];
|
|
465
465
|
id: undefined;
|
|
466
466
|
name: {
|
|
467
467
|
first: undefined;
|
|
@@ -146,7 +146,7 @@ export declare const UserSchema: import("yup").ObjectSchema<{
|
|
|
146
146
|
title: string;
|
|
147
147
|
}[];
|
|
148
148
|
status: NonNullable<import("../common").UserStatus | undefined>;
|
|
149
|
-
roles: (import("../common").UserRole | undefined)[]
|
|
149
|
+
roles: (import("../common").UserRole | undefined)[];
|
|
150
150
|
} & {
|
|
151
151
|
id: string | undefined;
|
|
152
152
|
name: {
|
|
@@ -192,7 +192,7 @@ export declare const UserSchema: import("yup").ObjectSchema<{
|
|
|
192
192
|
languages: never[];
|
|
193
193
|
additionalInfo: never[];
|
|
194
194
|
status: undefined;
|
|
195
|
-
roles: "";
|
|
195
|
+
roles: import("../common").UserRole[];
|
|
196
196
|
id: undefined;
|
|
197
197
|
name: {
|
|
198
198
|
first: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.schema.d.ts","sourceRoot":"","sources":["../../../src/user/user.schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"user.schema.d.ts","sourceRoot":"","sources":["../../../src/user/user.schema.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAyB,MAAM,iBAAiB,CAAC;AAWnE,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAiFA,CAAC;AAExB,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,UAAU,CAAC,CAAC"}
|
|
@@ -83,7 +83,11 @@ exports.UserSchema = (0, yup_extended_1.object)()
|
|
|
83
83
|
/**
|
|
84
84
|
* Roles assigned to the user
|
|
85
85
|
*/
|
|
86
|
-
roles: (0, yup_extended_1.array)()
|
|
86
|
+
roles: (0, yup_extended_1.array)()
|
|
87
|
+
.of((0, yup_extended_1.string)().oneOf(common_1.SupportedUserRoles))
|
|
88
|
+
.required()
|
|
89
|
+
.default(common_1.DefaultUserRoles)
|
|
90
|
+
.label("Roles"),
|
|
87
91
|
})
|
|
88
92
|
.concat(general_detail_schema_1.UserGeneralDetailSchema)
|
|
89
93
|
.noUnknown()
|
|
@@ -124,7 +124,6 @@ export interface IGroupSchema {
|
|
|
124
124
|
export interface IJobSchema {
|
|
125
125
|
updatedBy?: string | undefined;
|
|
126
126
|
updatedAt?: string | undefined;
|
|
127
|
-
slug?: string | undefined;
|
|
128
127
|
seoTags?: {
|
|
129
128
|
meta: {
|
|
130
129
|
description?: string | undefined;
|
|
@@ -152,9 +151,7 @@ export interface IJobSchema {
|
|
|
152
151
|
userId: string;
|
|
153
152
|
appliedOn: Date;
|
|
154
153
|
}[] | undefined;
|
|
155
|
-
descriptionHTML?: string | undefined;
|
|
156
154
|
descriptionMarkdown?: string | undefined;
|
|
157
|
-
promoted?: boolean | undefined;
|
|
158
155
|
experienceLevel?: import("/Users/nadeem.ahmad/Documents/GitHub/thejob-yup-schema/src/common/constants").ExperienceLevel | undefined;
|
|
159
156
|
contactEmail?: string | undefined;
|
|
160
157
|
workingHoursPerWeek?: number | undefined;
|
|
@@ -188,12 +185,20 @@ export interface IJobSchema {
|
|
|
188
185
|
isOwner?: boolean | undefined;
|
|
189
186
|
hasBookmarked?: boolean | undefined;
|
|
190
187
|
applicantCount?: number | undefined;
|
|
188
|
+
ratePerHour?: number | undefined;
|
|
191
189
|
externalApplicantCount?: number | undefined;
|
|
190
|
+
isPromoted?: boolean | undefined;
|
|
191
|
+
salaryRange?: {
|
|
192
|
+
min?: number | undefined;
|
|
193
|
+
max?: number | undefined;
|
|
194
|
+
currency: string;
|
|
195
|
+
} | undefined;
|
|
192
196
|
id: string;
|
|
193
197
|
shortId: string;
|
|
194
198
|
createdBy: string;
|
|
195
199
|
createdAt: string;
|
|
196
200
|
description: string;
|
|
201
|
+
slug: string;
|
|
197
202
|
headline: string;
|
|
198
203
|
applicationReceivePreference: NonNullable<import("/Users/nadeem.ahmad/Documents/GitHub/thejob-yup-schema/src/common/constants").ApplicationReceivePreference | undefined>;
|
|
199
204
|
company: NonNullable<{
|
|
@@ -214,6 +219,7 @@ export interface IJobSchema {
|
|
|
214
219
|
} | undefined>;
|
|
215
220
|
employmentType: string;
|
|
216
221
|
workMode: string;
|
|
222
|
+
descriptionHTML: string;
|
|
217
223
|
locations: {
|
|
218
224
|
state?: string | undefined;
|
|
219
225
|
stateCode?: string | undefined;
|
|
@@ -895,7 +901,6 @@ export interface INewResumePromptSchema {
|
|
|
895
901
|
id?: string | undefined;
|
|
896
902
|
headline?: string | undefined;
|
|
897
903
|
emailVerified?: string | null | undefined;
|
|
898
|
-
roles?: (import("/Users/nadeem.ahmad/Documents/GitHub/thejob-yup-schema/src/common/constants").UserRole | undefined)[] | undefined;
|
|
899
904
|
image?: string | undefined;
|
|
900
905
|
aboutMe?: string | undefined;
|
|
901
906
|
name: {
|
|
@@ -1072,6 +1077,7 @@ export interface INewResumePromptSchema {
|
|
|
1072
1077
|
title: string;
|
|
1073
1078
|
isNew: boolean;
|
|
1074
1079
|
}[];
|
|
1080
|
+
roles: (import("/Users/nadeem.ahmad/Documents/GitHub/thejob-yup-schema/src/common/constants").UserRole | undefined)[];
|
|
1075
1081
|
};
|
|
1076
1082
|
jobUrl?: string | undefined;
|
|
1077
1083
|
instructions?: string | undefined;
|
|
@@ -1329,7 +1335,6 @@ export interface IUserSchema {
|
|
|
1329
1335
|
id?: string | undefined;
|
|
1330
1336
|
headline?: string | undefined;
|
|
1331
1337
|
emailVerified?: string | null | undefined;
|
|
1332
|
-
roles?: (import("/Users/nadeem.ahmad/Documents/GitHub/thejob-yup-schema/src/common/constants").UserRole | undefined)[] | undefined;
|
|
1333
1338
|
image?: string | undefined;
|
|
1334
1339
|
aboutMe?: string | undefined;
|
|
1335
1340
|
name: {
|
|
@@ -1506,6 +1511,7 @@ export interface IUserSchema {
|
|
|
1506
1511
|
title: string;
|
|
1507
1512
|
isNew: boolean;
|
|
1508
1513
|
}[];
|
|
1514
|
+
roles: (import("/Users/nadeem.ahmad/Documents/GitHub/thejob-yup-schema/src/common/constants").UserRole | undefined)[];
|
|
1509
1515
|
}
|
|
1510
1516
|
export interface IserProfileOverview {
|
|
1511
1517
|
name: {
|