@thejob/schema 2.0.7 → 2.0.9
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.cjs +293 -169
- package/dist/index.d.cts +199 -1
- package/dist/index.d.ts +199 -1
- package/dist/index.js +285 -168
- package/package.json +1 -1
- package/src/index.ts +6 -0
- package/src/marketing/marketing.constant.ts +8 -0
- package/src/marketing/marketing.schema.ts +130 -0
- package/src/user/user.constant.ts +30 -0
- package/pnpm-workspace.yaml +0 -2
package/dist/index.cjs
CHANGED
|
@@ -32,6 +32,8 @@ var index_exports = {};
|
|
|
32
32
|
__export(index_exports, {
|
|
33
33
|
AnswerChoiceType: () => AnswerChoiceType,
|
|
34
34
|
ApplicationReceivePreference: () => ApplicationReceivePreference,
|
|
35
|
+
CampaignSchema: () => CampaignSchema,
|
|
36
|
+
CampaignStatus: () => CampaignStatus,
|
|
35
37
|
ChoiceQuestionSchema: () => ChoiceQuestionSchema,
|
|
36
38
|
Common: () => Common,
|
|
37
39
|
CompensationType: () => CompensationType,
|
|
@@ -68,9 +70,13 @@ __export(index_exports, {
|
|
|
68
70
|
JobSearchUrgency: () => JobSearchUrgency,
|
|
69
71
|
JobStatus: () => JobStatus,
|
|
70
72
|
JobSubCategory: () => JobSubCategory,
|
|
73
|
+
ListFilterSchema: () => ListFilterSchema,
|
|
71
74
|
LocationSchema: () => LocationSchema,
|
|
72
75
|
MIN_SALARY_LOWER_BOUND: () => MIN_SALARY_LOWER_BOUND,
|
|
73
76
|
MIN_SALARY_UPPER_BOUND: () => MIN_SALARY_UPPER_BOUND,
|
|
77
|
+
MailingListSchema: () => MailingListSchema,
|
|
78
|
+
PREFILL_MIRRORED_KEYS: () => PREFILL_MIRRORED_KEYS,
|
|
79
|
+
PRIVATE_PROFILE_FIELDS: () => PRIVATE_PROFILE_FIELDS,
|
|
74
80
|
PageSchema: () => PageSchema,
|
|
75
81
|
PageStatus: () => PageStatus,
|
|
76
82
|
PageType: () => PageType,
|
|
@@ -95,6 +101,7 @@ __export(index_exports, {
|
|
|
95
101
|
StudyType: () => StudyType,
|
|
96
102
|
SupportedAnswerChoiceTypes: () => SupportedAnswerChoiceTypes,
|
|
97
103
|
SupportedApplicationReceivePreferences: () => SupportedApplicationReceivePreferences,
|
|
104
|
+
SupportedCampaignStatuses: () => SupportedCampaignStatuses,
|
|
98
105
|
SupportedCompensationTypes: () => SupportedCompensationTypes,
|
|
99
106
|
SupportedContactTypes: () => SupportedContactTypes,
|
|
100
107
|
SupportedEducationLevels: () => SupportedEducationLevels,
|
|
@@ -2055,63 +2062,8 @@ var PostSchema = (0, import_yup19.object)({
|
|
|
2055
2062
|
status: (0, import_yup19.string)().oneOf(SupportedPostStatuses).default("draft" /* Draft */).required().label("Status")
|
|
2056
2063
|
}).concat(DbDefaultSchema).noUnknown().label("Post");
|
|
2057
2064
|
|
|
2058
|
-
// src/
|
|
2065
|
+
// src/marketing/marketing.schema.ts
|
|
2059
2066
|
var import_yup20 = require("yup");
|
|
2060
|
-
var PaginationSchema = (0, import_yup20.object)().shape({
|
|
2061
|
-
page: (0, import_yup20.number)().required().min(1).label("Page").default(1),
|
|
2062
|
-
limit: (0, import_yup20.number)().required().min(1).max(100).label("Limit").default(10),
|
|
2063
|
-
sortBy: (0, import_yup20.string)().notOneOf([""]).optional().label("SortBy"),
|
|
2064
|
-
nextPage: (0, import_yup20.string)().optional().label("Next Page Token"),
|
|
2065
|
-
prevPage: (0, import_yup20.string)().optional().label("Previous Page Token"),
|
|
2066
|
-
sortDirection: (0, import_yup20.string)().oneOf(["asc", "desc"]).optional().label("Sort Direction")
|
|
2067
|
-
});
|
|
2068
|
-
|
|
2069
|
-
// src/pagination/pagination.constant.ts
|
|
2070
|
-
var DefaultPaginatedResponse = {
|
|
2071
|
-
results: [],
|
|
2072
|
-
total: 0,
|
|
2073
|
-
page: 1,
|
|
2074
|
-
limit: 10
|
|
2075
|
-
};
|
|
2076
|
-
var DefaultPaginationOptions = {
|
|
2077
|
-
page: 1,
|
|
2078
|
-
limit: 10
|
|
2079
|
-
};
|
|
2080
|
-
|
|
2081
|
-
// src/report/report.schema.ts
|
|
2082
|
-
var import_yup21 = require("yup");
|
|
2083
|
-
|
|
2084
|
-
// src/report/report.constant.ts
|
|
2085
|
-
var ResourceType = /* @__PURE__ */ ((ResourceType3) => {
|
|
2086
|
-
ResourceType3["Job"] = "job";
|
|
2087
|
-
ResourceType3["User"] = "user";
|
|
2088
|
-
ResourceType3["Resume"] = "resume";
|
|
2089
|
-
ResourceType3["Company"] = "company";
|
|
2090
|
-
return ResourceType3;
|
|
2091
|
-
})(ResourceType || {});
|
|
2092
|
-
var SupportedResourceTypes = Object.values(ResourceType);
|
|
2093
|
-
var ReportReason = /* @__PURE__ */ ((ReportReason3) => {
|
|
2094
|
-
ReportReason3["OffensiveOrHarassing"] = "offensive_or_harassing";
|
|
2095
|
-
ReportReason3["JobExpired"] = "job_expired";
|
|
2096
|
-
ReportReason3["AskingMoney"] = "asking_money";
|
|
2097
|
-
ReportReason3["FakeJob"] = "fake_job";
|
|
2098
|
-
ReportReason3["IncorrectJobDetails"] = "incorrect_job_details";
|
|
2099
|
-
ReportReason3["SellingSomething"] = "selling_something";
|
|
2100
|
-
ReportReason3["Other"] = "other";
|
|
2101
|
-
return ReportReason3;
|
|
2102
|
-
})(ReportReason || {});
|
|
2103
|
-
var SupportedReportReasons = Object.values(ReportReason);
|
|
2104
|
-
|
|
2105
|
-
// src/report/report.schema.ts
|
|
2106
|
-
var ReportSchema = (0, import_yup21.object)({
|
|
2107
|
-
type: (0, import_yup21.mixed)().oneOf(SupportedResourceTypes).required().label("Type"),
|
|
2108
|
-
resourceId: (0, import_yup21.string)().required().label("Resource ID"),
|
|
2109
|
-
reason: (0, import_yup21.mixed)().oneOf(SupportedReportReasons).required("Please choose a reason").label("Reason"),
|
|
2110
|
-
comment: (0, import_yup21.string)().max(1e3).optional().label("Comment")
|
|
2111
|
-
}).label("Report Schema");
|
|
2112
|
-
|
|
2113
|
-
// src/user/user.schema.ts
|
|
2114
|
-
var import_yup34 = require("yup");
|
|
2115
2067
|
|
|
2116
2068
|
// src/user/user.constant.ts
|
|
2117
2069
|
var UserRole = /* @__PURE__ */ ((UserRole2) => {
|
|
@@ -2191,53 +2143,218 @@ var SupportedReferralSources = Object.values(ReferralSource);
|
|
|
2191
2143
|
var SupportedSalaryCurrencies = ["USD", "EUR", "GBP", "SEK", "INR"];
|
|
2192
2144
|
var MIN_SALARY_LOWER_BOUND = 0;
|
|
2193
2145
|
var MIN_SALARY_UPPER_BOUND = 1e6;
|
|
2146
|
+
var PREFILL_MIRRORED_KEYS = [
|
|
2147
|
+
"headline",
|
|
2148
|
+
"aboutMe",
|
|
2149
|
+
"mobile",
|
|
2150
|
+
"location",
|
|
2151
|
+
"experienceLevel",
|
|
2152
|
+
"socialAccounts",
|
|
2153
|
+
"workExperiences",
|
|
2154
|
+
"educations"
|
|
2155
|
+
];
|
|
2156
|
+
var PRIVATE_PROFILE_FIELDS = [
|
|
2157
|
+
"email",
|
|
2158
|
+
"emailVerified",
|
|
2159
|
+
"mobile",
|
|
2160
|
+
"additionalInfo"
|
|
2161
|
+
];
|
|
2194
2162
|
|
|
2195
|
-
// src/
|
|
2163
|
+
// src/marketing/marketing.schema.ts
|
|
2164
|
+
var tokens = (label) => (0, import_yup20.array)().of((0, import_yup20.string)().trim().required()).optional().default([]).label(label);
|
|
2165
|
+
var enumFacet = (values, label) => (0, import_yup20.array)().of((0, import_yup20.string)().oneOf(values).required()).optional().default([]).label(label);
|
|
2166
|
+
var ListFilterSchema = (0, import_yup20.object)({
|
|
2167
|
+
// ── Enum facets (closed vocabularies, chip pickers) ─────────────────────────
|
|
2168
|
+
countries: (0, import_yup20.array)().of((0, import_yup20.string)().required()).optional().default([]).label("Countries"),
|
|
2169
|
+
roles: enumFacet(SupportedUserRoles, "Roles"),
|
|
2170
|
+
// The user's own current seniority (UserSchema.experienceLevel).
|
|
2171
|
+
experienceLevels: enumFacet(SupportedExperienceLevels, "Experience Levels"),
|
|
2172
|
+
// Levels the user is *targeting* (distinct from their current experienceLevel).
|
|
2173
|
+
targetExperienceLevels: enumFacet(
|
|
2174
|
+
SupportedExperienceLevels,
|
|
2175
|
+
"Target Experience Levels"
|
|
2176
|
+
),
|
|
2177
|
+
jobSearchUrgencies: enumFacet(SupportedJobSearchUrgencies, "Job Search Urgency"),
|
|
2178
|
+
referralSources: enumFacet(SupportedReferralSources, "Referral Source"),
|
|
2179
|
+
statuses: enumFacet(SupportedUserStatuses, "Account Status"),
|
|
2180
|
+
profileVisibilities: enumFacet(
|
|
2181
|
+
SupportedUserProfileVisibilities,
|
|
2182
|
+
"Profile Visibility"
|
|
2183
|
+
),
|
|
2184
|
+
// Proficiency held on any skill entry (skills[].proficiencyLevel).
|
|
2185
|
+
skillProficiencyLevels: enumFacet(
|
|
2186
|
+
SupportedProficiencyLevels,
|
|
2187
|
+
"Skill Proficiency"
|
|
2188
|
+
),
|
|
2189
|
+
// Proficiency held on any language entry (languages[].proficiencyLevel).
|
|
2190
|
+
languageProficiencyLevels: enumFacet(
|
|
2191
|
+
SupportedProficiencyLevels,
|
|
2192
|
+
"Language Proficiency"
|
|
2193
|
+
),
|
|
2194
|
+
// Mode of any education entry (educations[].studyType).
|
|
2195
|
+
studyTypes: enumFacet(SupportedStudyTypes, "Study Type"),
|
|
2196
|
+
// Platforms the user linked a social account for (socialAccounts[].type).
|
|
2197
|
+
socialAccountTypes: enumFacet(SupportedSocialAccounts, "Social Accounts"),
|
|
2198
|
+
// Currency of the user's salary floor (minSalaryCurrency).
|
|
2199
|
+
salaryCurrencies: enumFacet(SupportedSalaryCurrencies, "Salary Currency"),
|
|
2200
|
+
// ── Free-text token facets (nested profile arrays) ──────────────────────────
|
|
2201
|
+
skills: tokens("Skills"),
|
|
2202
|
+
languages: tokens("Languages"),
|
|
2203
|
+
interests: tokens("Interests"),
|
|
2204
|
+
companies: tokens("Companies"),
|
|
2205
|
+
designations: tokens("Job Titles / Designations"),
|
|
2206
|
+
institutes: tokens("Institutes"),
|
|
2207
|
+
courses: tokens("Courses"),
|
|
2208
|
+
fieldsOfStudy: tokens("Fields of Study"),
|
|
2209
|
+
certifications: tokens("Certifications"),
|
|
2210
|
+
certificationAuthorities: tokens("Certification Authorities"),
|
|
2211
|
+
projects: tokens("Projects"),
|
|
2212
|
+
jobRoles: tokens("Target Roles"),
|
|
2213
|
+
jobLocations: tokens("Preferred Job Locations"),
|
|
2214
|
+
// Companies a recruiter is hiring for (recruiterProfile.hiringFor[].page.name).
|
|
2215
|
+
hiringForCompanies: tokens("Hiring For (Companies)"),
|
|
2216
|
+
// Institutes a coordinator works at (coordinatorProfile.coordinatesAt[].page.name).
|
|
2217
|
+
coordinatesAtInstitutes: tokens("Coordinates At (Institutes)"),
|
|
2218
|
+
// Case-insensitive keyword match against headline + aboutMe.
|
|
2219
|
+
keywords: tokens("Profile Keywords"),
|
|
2220
|
+
// ── Range / boolean facets ──────────────────────────────────────────────────
|
|
2221
|
+
minSalaryFloor: (0, import_yup20.number)().integer().min(0).optional().label("Min Salary \u2265"),
|
|
2222
|
+
minSalaryCeil: (0, import_yup20.number)().integer().min(0).optional().label("Min Salary \u2264"),
|
|
2223
|
+
openToWorkOnly: (0, import_yup20.boolean)().optional().default(false).label("Open to Work Only"),
|
|
2224
|
+
remoteExperienceOnly: (0, import_yup20.boolean)().optional().default(false).label("Has Remote Experience"),
|
|
2225
|
+
hasResumeOnly: (0, import_yup20.boolean)().optional().default(false).label("Has Resume"),
|
|
2226
|
+
onboardingCompletedOnly: (0, import_yup20.boolean)().optional().default(false).label("Onboarding Completed"),
|
|
2227
|
+
emailVerifiedOnly: (0, import_yup20.boolean)().optional().default(false).label("Email Verified Only"),
|
|
2228
|
+
mobileVerifiedOnly: (0, import_yup20.boolean)().optional().default(false).label("Mobile Verified Only")
|
|
2229
|
+
}).label("Audience Filter");
|
|
2230
|
+
var MailingListSchema = (0, import_yup20.object)({
|
|
2231
|
+
name: (0, import_yup20.string)().required().min(1).max(120).label("Name"),
|
|
2232
|
+
description: (0, import_yup20.string)().optional().max(500).label("Description"),
|
|
2233
|
+
filter: ListFilterSchema.default(() => ListFilterSchema.getDefault())
|
|
2234
|
+
}).label("Mailing List");
|
|
2235
|
+
var CampaignSchema = (0, import_yup20.object)({
|
|
2236
|
+
name: (0, import_yup20.string)().required().min(1).max(200).label("Campaign Name"),
|
|
2237
|
+
subject: (0, import_yup20.string)().required().min(1).max(255).label("Subject"),
|
|
2238
|
+
// HTML body; may contain a {{unsubscribe_url}} placeholder.
|
|
2239
|
+
html: (0, import_yup20.string)().required().min(1).label("HTML Body"),
|
|
2240
|
+
text: (0, import_yup20.string)().optional().label("Plain-text Body"),
|
|
2241
|
+
listId: (0, import_yup20.string)().required().label("Mailing List")
|
|
2242
|
+
}).label("Campaign");
|
|
2243
|
+
|
|
2244
|
+
// src/marketing/marketing.constant.ts
|
|
2245
|
+
var CampaignStatus = /* @__PURE__ */ ((CampaignStatus2) => {
|
|
2246
|
+
CampaignStatus2["Draft"] = "draft";
|
|
2247
|
+
CampaignStatus2["Sending"] = "sending";
|
|
2248
|
+
CampaignStatus2["Sent"] = "sent";
|
|
2249
|
+
CampaignStatus2["Failed"] = "failed";
|
|
2250
|
+
return CampaignStatus2;
|
|
2251
|
+
})(CampaignStatus || {});
|
|
2252
|
+
var SupportedCampaignStatuses = Object.values(CampaignStatus);
|
|
2253
|
+
|
|
2254
|
+
// src/pagination/pagination.schema.ts
|
|
2255
|
+
var import_yup21 = require("yup");
|
|
2256
|
+
var PaginationSchema = (0, import_yup21.object)().shape({
|
|
2257
|
+
page: (0, import_yup21.number)().required().min(1).label("Page").default(1),
|
|
2258
|
+
limit: (0, import_yup21.number)().required().min(1).max(100).label("Limit").default(10),
|
|
2259
|
+
sortBy: (0, import_yup21.string)().notOneOf([""]).optional().label("SortBy"),
|
|
2260
|
+
nextPage: (0, import_yup21.string)().optional().label("Next Page Token"),
|
|
2261
|
+
prevPage: (0, import_yup21.string)().optional().label("Previous Page Token"),
|
|
2262
|
+
sortDirection: (0, import_yup21.string)().oneOf(["asc", "desc"]).optional().label("Sort Direction")
|
|
2263
|
+
});
|
|
2264
|
+
|
|
2265
|
+
// src/pagination/pagination.constant.ts
|
|
2266
|
+
var DefaultPaginatedResponse = {
|
|
2267
|
+
results: [],
|
|
2268
|
+
total: 0,
|
|
2269
|
+
page: 1,
|
|
2270
|
+
limit: 10
|
|
2271
|
+
};
|
|
2272
|
+
var DefaultPaginationOptions = {
|
|
2273
|
+
page: 1,
|
|
2274
|
+
limit: 10
|
|
2275
|
+
};
|
|
2276
|
+
|
|
2277
|
+
// src/report/report.schema.ts
|
|
2196
2278
|
var import_yup22 = require("yup");
|
|
2197
|
-
|
|
2279
|
+
|
|
2280
|
+
// src/report/report.constant.ts
|
|
2281
|
+
var ResourceType = /* @__PURE__ */ ((ResourceType3) => {
|
|
2282
|
+
ResourceType3["Job"] = "job";
|
|
2283
|
+
ResourceType3["User"] = "user";
|
|
2284
|
+
ResourceType3["Resume"] = "resume";
|
|
2285
|
+
ResourceType3["Company"] = "company";
|
|
2286
|
+
return ResourceType3;
|
|
2287
|
+
})(ResourceType || {});
|
|
2288
|
+
var SupportedResourceTypes = Object.values(ResourceType);
|
|
2289
|
+
var ReportReason = /* @__PURE__ */ ((ReportReason3) => {
|
|
2290
|
+
ReportReason3["OffensiveOrHarassing"] = "offensive_or_harassing";
|
|
2291
|
+
ReportReason3["JobExpired"] = "job_expired";
|
|
2292
|
+
ReportReason3["AskingMoney"] = "asking_money";
|
|
2293
|
+
ReportReason3["FakeJob"] = "fake_job";
|
|
2294
|
+
ReportReason3["IncorrectJobDetails"] = "incorrect_job_details";
|
|
2295
|
+
ReportReason3["SellingSomething"] = "selling_something";
|
|
2296
|
+
ReportReason3["Other"] = "other";
|
|
2297
|
+
return ReportReason3;
|
|
2298
|
+
})(ReportReason || {});
|
|
2299
|
+
var SupportedReportReasons = Object.values(ReportReason);
|
|
2300
|
+
|
|
2301
|
+
// src/report/report.schema.ts
|
|
2302
|
+
var ReportSchema = (0, import_yup22.object)({
|
|
2303
|
+
type: (0, import_yup22.mixed)().oneOf(SupportedResourceTypes).required().label("Type"),
|
|
2304
|
+
resourceId: (0, import_yup22.string)().required().label("Resource ID"),
|
|
2305
|
+
reason: (0, import_yup22.mixed)().oneOf(SupportedReportReasons).required("Please choose a reason").label("Reason"),
|
|
2306
|
+
comment: (0, import_yup22.string)().max(1e3).optional().label("Comment")
|
|
2307
|
+
}).label("Report Schema");
|
|
2308
|
+
|
|
2309
|
+
// src/user/user.schema.ts
|
|
2310
|
+
var import_yup35 = require("yup");
|
|
2311
|
+
|
|
2312
|
+
// src/user/work-experience.schema.ts
|
|
2313
|
+
var import_yup23 = require("yup");
|
|
2314
|
+
var WorkExperienceSchema = (0, import_yup23.object)().shape({
|
|
2198
2315
|
company: PageSchema.pick(["name", "slug", "type", "logo"]).deepPartial().concat(PageSchema.pick(["name", "type"])).required().label("Company"),
|
|
2199
|
-
designation: (0,
|
|
2316
|
+
designation: (0, import_yup23.string)().trim().required().label("Designation"),
|
|
2200
2317
|
duration: DurationSchema({
|
|
2201
2318
|
format: "YYYY-MM",
|
|
2202
2319
|
startLabel: "Start Date",
|
|
2203
2320
|
endLabel: "End Date"
|
|
2204
2321
|
}).required().label("Duration"),
|
|
2205
|
-
description: (0,
|
|
2322
|
+
description: (0, import_yup23.string)().trim().max(3e3).optional().label("Description"),
|
|
2206
2323
|
location: LocationSchema.required().label("Location"),
|
|
2207
|
-
isRemote: (0,
|
|
2324
|
+
isRemote: (0, import_yup23.boolean)().oneOf([true, false]).default(false).label("Is Remote")
|
|
2208
2325
|
}).noUnknown().strict().label("Work Experience");
|
|
2209
2326
|
|
|
2210
2327
|
// src/user/education.schema.ts
|
|
2211
|
-
var
|
|
2212
|
-
var EducationSchema = (0,
|
|
2328
|
+
var import_yup24 = require("yup");
|
|
2329
|
+
var EducationSchema = (0, import_yup24.object)({
|
|
2213
2330
|
institute: PageSchema.pick(["name", "slug", "type", "logo"]).deepPartial().concat(PageSchema.pick(["name", "type"])).required().label("Institute"),
|
|
2214
|
-
course: (0,
|
|
2215
|
-
fieldOfStudy: (0,
|
|
2331
|
+
course: (0, import_yup24.string)().trim().required().label("Course"),
|
|
2332
|
+
fieldOfStudy: (0, import_yup24.string)().trim().required().label("Field of Study"),
|
|
2216
2333
|
duration: DurationSchema({
|
|
2217
2334
|
format: "YYYY-MM",
|
|
2218
2335
|
startLabel: "Start Date",
|
|
2219
2336
|
endLabel: "End Date"
|
|
2220
2337
|
}).required().label("Duration"),
|
|
2221
|
-
description: (0,
|
|
2222
|
-
isDistanceLearning: (0,
|
|
2338
|
+
description: (0, import_yup24.string)().trim().max(3e3).optional().label("Description"),
|
|
2339
|
+
isDistanceLearning: (0, import_yup24.boolean)().default(false).label("Is Distance Learning"),
|
|
2223
2340
|
location: LocationSchema.required().label("Location"),
|
|
2224
|
-
studyType: (0,
|
|
2341
|
+
studyType: (0, import_yup24.string)().oneOf(SupportedStudyTypes).trim().max(50).required().label("Study Type")
|
|
2225
2342
|
}).noUnknown().strict().label("Education");
|
|
2226
2343
|
|
|
2227
2344
|
// src/user/user-skill.schema.ts
|
|
2228
|
-
var
|
|
2229
|
-
var UserSkillSchema = (0,
|
|
2230
|
-
name: (0,
|
|
2231
|
-
proficiencyLevel: (0,
|
|
2345
|
+
var import_yup25 = require("yup");
|
|
2346
|
+
var UserSkillSchema = (0, import_yup25.object)({
|
|
2347
|
+
name: (0, import_yup25.string)().required().label("Name"),
|
|
2348
|
+
proficiencyLevel: (0, import_yup25.string)().oneOf(SupportedProficiencyLevels).required().label("Proficiency Level"),
|
|
2232
2349
|
lastUsed: dateString().format("YYYY-MM").nullable().optional().label("Last Used")
|
|
2233
2350
|
}).noUnknown().strict().label("Skill");
|
|
2234
2351
|
|
|
2235
2352
|
// src/user/project.schema.ts
|
|
2236
|
-
var
|
|
2237
|
-
var UserProjectSchema = (0,
|
|
2238
|
-
name: (0,
|
|
2239
|
-
url: (0,
|
|
2240
|
-
description: (0,
|
|
2353
|
+
var import_yup26 = require("yup");
|
|
2354
|
+
var UserProjectSchema = (0, import_yup26.object)({
|
|
2355
|
+
name: (0, import_yup26.string)().trim().max(50).required().label("Name"),
|
|
2356
|
+
url: (0, import_yup26.string)().optional().label("URL"),
|
|
2357
|
+
description: (0, import_yup26.string)().trim().min(100).max(3e3).required().label("Description"),
|
|
2241
2358
|
duration: DurationSchema({
|
|
2242
2359
|
format: "YYYY-MM",
|
|
2243
2360
|
startLabel: "Start Date",
|
|
@@ -2246,83 +2363,83 @@ var UserProjectSchema = (0, import_yup25.object)({
|
|
|
2246
2363
|
}).noUnknown().strict().label("Project");
|
|
2247
2364
|
|
|
2248
2365
|
// src/user/user-certification.schema.ts
|
|
2249
|
-
var
|
|
2250
|
-
var UserCertificationSchema = (0,
|
|
2251
|
-
name: (0,
|
|
2366
|
+
var import_yup27 = require("yup");
|
|
2367
|
+
var UserCertificationSchema = (0, import_yup27.object)({
|
|
2368
|
+
name: (0, import_yup27.string)().trim().max(100).required().label("Name"),
|
|
2252
2369
|
// TODO: Add validation for authority
|
|
2253
|
-
authority: (0,
|
|
2254
|
-
licenseNumber: (0,
|
|
2370
|
+
authority: (0, import_yup27.string)().trim().max(100).required().label("Authority"),
|
|
2371
|
+
licenseNumber: (0, import_yup27.string)().trim().max(50).optional().label("License Number"),
|
|
2255
2372
|
duration: DurationSchema({
|
|
2256
2373
|
format: "YYYY-MM",
|
|
2257
2374
|
startLabel: "Start Date",
|
|
2258
2375
|
endLabel: "End Date"
|
|
2259
2376
|
}).optional().nullable().label("Duration"),
|
|
2260
|
-
url: (0,
|
|
2377
|
+
url: (0, import_yup27.string)().optional().label("URL")
|
|
2261
2378
|
}).noUnknown().strict().label("Certification");
|
|
2262
2379
|
|
|
2263
2380
|
// src/user/user-interest.schema.ts
|
|
2264
|
-
var
|
|
2265
|
-
var UserInterestSchema = (0,
|
|
2381
|
+
var import_yup28 = require("yup");
|
|
2382
|
+
var UserInterestSchema = (0, import_yup28.string)().trim().required().label("Interest");
|
|
2266
2383
|
|
|
2267
2384
|
// src/user/user-language.schema.ts
|
|
2268
|
-
var
|
|
2269
|
-
var UserLanguageSchema = (0,
|
|
2270
|
-
name: (0,
|
|
2271
|
-
proficiencyLevel: (0,
|
|
2385
|
+
var import_yup29 = require("yup");
|
|
2386
|
+
var UserLanguageSchema = (0, import_yup29.object)({
|
|
2387
|
+
name: (0, import_yup29.string)().trim().required().label("Name"),
|
|
2388
|
+
proficiencyLevel: (0, import_yup29.string)().oneOf(SupportedProficiencyLevels).trim().max(50).required().label("Proficiency Level")
|
|
2272
2389
|
}).noUnknown().strict().label("Language");
|
|
2273
2390
|
|
|
2274
2391
|
// src/user/user-additional-info.schema.ts
|
|
2275
|
-
var
|
|
2276
|
-
var UserAdditionalInfoSchema = (0,
|
|
2277
|
-
title: (0,
|
|
2278
|
-
description: (0,
|
|
2392
|
+
var import_yup30 = require("yup");
|
|
2393
|
+
var UserAdditionalInfoSchema = (0, import_yup30.object)({
|
|
2394
|
+
title: (0, import_yup30.string)().trim().max(60).required().label("Title"),
|
|
2395
|
+
description: (0, import_yup30.string)().trim().max(1e3).required().label("Description")
|
|
2279
2396
|
}).noUnknown().strict().label("User Additional Info");
|
|
2280
2397
|
|
|
2281
2398
|
// src/user/general-detail.schema.ts
|
|
2282
|
-
var
|
|
2283
|
-
var UserGeneralDetailSchema = (0,
|
|
2284
|
-
id: (0,
|
|
2285
|
-
name: (0,
|
|
2286
|
-
first: (0,
|
|
2287
|
-
last: (0,
|
|
2399
|
+
var import_yup31 = require("yup");
|
|
2400
|
+
var UserGeneralDetailSchema = (0, import_yup31.object)({
|
|
2401
|
+
id: (0, import_yup31.string)().optional().label("ID"),
|
|
2402
|
+
name: (0, import_yup31.object)().shape({
|
|
2403
|
+
first: (0, import_yup31.string)().trim().max(50).required().label("First Name"),
|
|
2404
|
+
last: (0, import_yup31.string)().trim().max(50).optional().label("Last Name")
|
|
2288
2405
|
}).required().label("Name"),
|
|
2289
|
-
headline: (0,
|
|
2290
|
-
image: (0,
|
|
2291
|
-
aboutMe: (0,
|
|
2292
|
-
email: (0,
|
|
2293
|
-
mobile: (0,
|
|
2294
|
-
emailVerified: (0,
|
|
2295
|
-
mobileVerified: (0,
|
|
2296
|
-
experienceLevel: (0,
|
|
2406
|
+
headline: (0, import_yup31.string)().trim().max(200).optional().label("Headline"),
|
|
2407
|
+
image: (0, import_yup31.string)().optional().label("Image"),
|
|
2408
|
+
aboutMe: (0, import_yup31.string)().trim().max(3e3).optional().label("About Me"),
|
|
2409
|
+
email: (0, import_yup31.string)().required().label("Email"),
|
|
2410
|
+
mobile: (0, import_yup31.string)().nullable().optional().label("Mobile"),
|
|
2411
|
+
emailVerified: (0, import_yup31.string)().nullable().optional().label("Email Verified"),
|
|
2412
|
+
mobileVerified: (0, import_yup31.string)().nullable().optional().label("Mobile Verified"),
|
|
2413
|
+
experienceLevel: (0, import_yup31.string)().oneOf(SupportedExperienceLevels).required().label("Experience level"),
|
|
2297
2414
|
location: LocationSchema.required().label("Location"),
|
|
2298
|
-
region: (0,
|
|
2299
|
-
country: (0,
|
|
2300
|
-
lang: (0,
|
|
2415
|
+
region: (0, import_yup31.object)().shape({
|
|
2416
|
+
country: (0, import_yup31.string)().trim().required().label("Region Country"),
|
|
2417
|
+
lang: (0, import_yup31.string)().trim().required().label("Region Language")
|
|
2301
2418
|
}).optional().default(void 0).label("Region"),
|
|
2302
|
-
profileVisibility: (0,
|
|
2419
|
+
profileVisibility: (0, import_yup31.string)().oneOf(SupportedUserProfileVisibilities).default("public" /* Public */).label("Profile Visibility")
|
|
2303
2420
|
}).noUnknown().strict().label("General Detail");
|
|
2304
2421
|
|
|
2305
2422
|
// src/user/user-job-preferences.schema.ts
|
|
2306
|
-
var
|
|
2307
|
-
var UserJobPreferencesSchema = (0,
|
|
2423
|
+
var import_yup32 = require("yup");
|
|
2424
|
+
var UserJobPreferencesSchema = (0, import_yup32.object)({
|
|
2308
2425
|
/**
|
|
2309
2426
|
* Whether the job seeker is openly signalling availability. Surfaces the
|
|
2310
2427
|
* "Open to work" badge on the public profile and boosts visibility in
|
|
2311
2428
|
* recruiter search. Defaults to `false` - users must opt in.
|
|
2312
2429
|
*/
|
|
2313
|
-
openToWork: (0,
|
|
2430
|
+
openToWork: (0, import_yup32.boolean)().default(false).label("Open to Work"),
|
|
2314
2431
|
/**
|
|
2315
2432
|
* How urgently the user is looking for their next job. Drives match scoring
|
|
2316
2433
|
* and can downgrade the visibility of expired or low-relevance postings for
|
|
2317
2434
|
* users in `passively_browsing` mode.
|
|
2318
2435
|
*/
|
|
2319
|
-
jobSearchUrgency: (0,
|
|
2436
|
+
jobSearchUrgency: (0, import_yup32.string)().oneOf(SupportedJobSearchUrgencies).required().label("Job Search Urgency"),
|
|
2320
2437
|
/**
|
|
2321
2438
|
* Locations the user wants to work in. Stores the full `LocationSchema`
|
|
2322
2439
|
* shape (country, city, state, geo, etc.) as returned by the locations
|
|
2323
2440
|
* autocomplete API.
|
|
2324
2441
|
*/
|
|
2325
|
-
jobLocations: (0,
|
|
2442
|
+
jobLocations: (0, import_yup32.array)().of(LocationSchema.required().label("Job Location")).min(1, "Pick at least one preferred location.").required().label("Job Locations"),
|
|
2326
2443
|
/**
|
|
2327
2444
|
* Seniority levels the user wants jobs to be matched against. Multi-select
|
|
2328
2445
|
* (up to 2) for borderline candidates.
|
|
@@ -2333,7 +2450,7 @@ var UserJobPreferencesSchema = (0, import_yup31.object)({
|
|
|
2333
2450
|
* Both reuse the same `ExperienceLevel` taxonomy from `common.constant.ts`
|
|
2334
2451
|
* so search/match logic doesn't have to translate between two vocabularies.
|
|
2335
2452
|
*/
|
|
2336
|
-
targetExperienceLevels: (0,
|
|
2453
|
+
targetExperienceLevels: (0, import_yup32.array)().of((0, import_yup32.string)().oneOf(SupportedExperienceLevels).required()).min(1, "Pick at least one experience level.").max(2, "You can select at most 2 experience levels.").required().label("Target Experience Levels"),
|
|
2337
2454
|
/**
|
|
2338
2455
|
* Specializations the user is searching for - free-form titles.
|
|
2339
2456
|
*
|
|
@@ -2342,19 +2459,19 @@ var UserJobPreferencesSchema = (0, import_yup31.object)({
|
|
|
2342
2459
|
* surfaces a curated "Popular Roles" picker for discovery, but the user
|
|
2343
2460
|
* can ultimately add any title; matching/normalization happens downstream.
|
|
2344
2461
|
*/
|
|
2345
|
-
jobRoles: (0,
|
|
2462
|
+
jobRoles: (0, import_yup32.array)().of((0, import_yup32.string)().trim().max(120).required()).min(1, "Pick at least one role.").required().label("Job Roles"),
|
|
2346
2463
|
/**
|
|
2347
2464
|
* Minimum acceptable annual base salary, in `minSalaryCurrency`.
|
|
2348
2465
|
* Stored as an integer in the currency's major unit (e.g. dollars, not cents).
|
|
2349
2466
|
* Defaults to 0 ("any salary") rather than being optional - every job-seeker
|
|
2350
2467
|
* has a floor, even if it's zero.
|
|
2351
2468
|
*/
|
|
2352
|
-
minSalary: (0,
|
|
2353
|
-
minSalaryCurrency: (0,
|
|
2469
|
+
minSalary: (0, import_yup32.number)().integer().min(MIN_SALARY_LOWER_BOUND).max(MIN_SALARY_UPPER_BOUND).default(0).required().label("Minimum Salary"),
|
|
2470
|
+
minSalaryCurrency: (0, import_yup32.string)().oneOf(SupportedSalaryCurrencies).default("USD").required().label("Minimum Salary Currency"),
|
|
2354
2471
|
/**
|
|
2355
2472
|
* Marketing-attribution capture from the final onboarding step.
|
|
2356
2473
|
*/
|
|
2357
|
-
referralSource: (0,
|
|
2474
|
+
referralSource: (0, import_yup32.string)().oneOf(SupportedReferralSources).required().label("Referral Source"),
|
|
2358
2475
|
/**
|
|
2359
2476
|
* Resumes the user has uploaded. Embedded directly on the user document
|
|
2360
2477
|
* (capped at 5) - they're cheap to denormalize, every wizard step that
|
|
@@ -2368,25 +2485,25 @@ var UserJobPreferencesSchema = (0, import_yup31.object)({
|
|
|
2368
2485
|
* AI resume-builder flow - onboarding uploads land here, AI-built resumes
|
|
2369
2486
|
* live in their own collection.
|
|
2370
2487
|
*/
|
|
2371
|
-
resumes: (0,
|
|
2372
|
-
(0,
|
|
2488
|
+
resumes: (0, import_yup32.array)().of(
|
|
2489
|
+
(0, import_yup32.object)({
|
|
2373
2490
|
// Stable id assigned on upload - used to address a specific entry
|
|
2374
2491
|
// for delete / set-primary operations without exposing the GCS URL
|
|
2375
2492
|
// as a route key.
|
|
2376
|
-
id: (0,
|
|
2377
|
-
url: (0,
|
|
2378
|
-
filename: (0,
|
|
2379
|
-
sizeBytes: (0,
|
|
2380
|
-
mimeType: (0,
|
|
2381
|
-
uploadedAt: (0,
|
|
2382
|
-
isPrimary: (0,
|
|
2493
|
+
id: (0, import_yup32.string)().required().label("ID"),
|
|
2494
|
+
url: (0, import_yup32.string)().required().label("Resume URL"),
|
|
2495
|
+
filename: (0, import_yup32.string)().trim().max(255).optional().label("Filename"),
|
|
2496
|
+
sizeBytes: (0, import_yup32.number)().integer().min(0).optional().label("Size (bytes)"),
|
|
2497
|
+
mimeType: (0, import_yup32.string)().trim().max(120).optional().label("MIME Type"),
|
|
2498
|
+
uploadedAt: (0, import_yup32.date)().required().label("Uploaded At"),
|
|
2499
|
+
isPrimary: (0, import_yup32.boolean)().default(false).label("Is Primary")
|
|
2383
2500
|
}).noUnknown().strict().label("Resume")
|
|
2384
2501
|
).max(5, "You can keep at most 5 resumes on file.").default([]).label("Resumes"),
|
|
2385
2502
|
/**
|
|
2386
2503
|
* Set when the user finishes the wizard's last step. Acts as the gate the
|
|
2387
2504
|
* onboarding hook checks to redirect users who haven't completed setup.
|
|
2388
2505
|
*/
|
|
2389
|
-
onboardingCompletedAt: (0,
|
|
2506
|
+
onboardingCompletedAt: (0, import_yup32.date)().nullable().optional().label("Onboarding Completed At"),
|
|
2390
2507
|
/**
|
|
2391
2508
|
* Parser-suggested values for wizard fields, written by the resume-upload
|
|
2392
2509
|
* flow. Every parser-derived field lands here - including profile-shaped
|
|
@@ -2406,106 +2523,106 @@ var UserJobPreferencesSchema = (0, import_yup31.object)({
|
|
|
2406
2523
|
* APIs. If `user.<field>` is empty there, the correct behavior is empty,
|
|
2407
2524
|
* because the user has not confirmed it yet.
|
|
2408
2525
|
*/
|
|
2409
|
-
pendingPrefill: (0,
|
|
2410
|
-
headline: (0,
|
|
2411
|
-
aboutMe: (0,
|
|
2412
|
-
mobile: (0,
|
|
2526
|
+
pendingPrefill: (0, import_yup32.object)({
|
|
2527
|
+
headline: (0, import_yup32.string)().trim().optional().label("Pending Headline"),
|
|
2528
|
+
aboutMe: (0, import_yup32.string)().trim().optional().label("Pending About Me"),
|
|
2529
|
+
mobile: (0, import_yup32.string)().trim().optional().label("Pending Mobile"),
|
|
2413
2530
|
location: LocationSchema.optional().default(void 0).label("Pending Location"),
|
|
2414
|
-
experienceLevel: (0,
|
|
2415
|
-
socialAccounts: (0,
|
|
2416
|
-
workExperiences: (0,
|
|
2417
|
-
educations: (0,
|
|
2531
|
+
experienceLevel: (0, import_yup32.string)().oneOf(SupportedExperienceLevels).optional().label("Pending Experience Level"),
|
|
2532
|
+
socialAccounts: (0, import_yup32.array)().of(SocialAccountSchema.required()).optional().label("Pending Social Accounts"),
|
|
2533
|
+
workExperiences: (0, import_yup32.array)().of(WorkExperienceSchema.required()).optional().label("Pending Work Experiences"),
|
|
2534
|
+
educations: (0, import_yup32.array)().of(EducationSchema.required()).optional().label("Pending Educations")
|
|
2418
2535
|
}).nullable().optional().default(void 0).label("Pending Prefill")
|
|
2419
2536
|
}).noUnknown().strict().label("User Job Preferences Schema");
|
|
2420
2537
|
|
|
2421
2538
|
// src/user/user-recruiter-profile.schema.ts
|
|
2422
|
-
var
|
|
2423
|
-
var RecruiterPageLinkSchema = (0,
|
|
2539
|
+
var import_yup33 = require("yup");
|
|
2540
|
+
var RecruiterPageLinkSchema = (0, import_yup33.object)({
|
|
2424
2541
|
page: PageSchema.pick(["name", "slug", "type", "logo"]).deepPartial().concat(PageSchema.pick(["name", "type"])).required().label("Company Page"),
|
|
2425
|
-
jobTitle: (0,
|
|
2542
|
+
jobTitle: (0, import_yup33.string)().trim().max(100).optional().label("Job Title")
|
|
2426
2543
|
}).noUnknown().strict().label("Recruiter Page Link");
|
|
2427
|
-
var UserRecruiterProfileSchema = (0,
|
|
2428
|
-
recruiterProfile: (0,
|
|
2429
|
-
hiringFor: (0,
|
|
2544
|
+
var UserRecruiterProfileSchema = (0, import_yup33.object)({
|
|
2545
|
+
recruiterProfile: (0, import_yup33.object)({
|
|
2546
|
+
hiringFor: (0, import_yup33.array)().of(RecruiterPageLinkSchema).default([]).label("Hiring For")
|
|
2430
2547
|
}).optional().default(void 0).label("Recruiter Profile")
|
|
2431
2548
|
}).noUnknown().strict().label("User Recruiter Profile");
|
|
2432
2549
|
|
|
2433
2550
|
// src/user/user-coordinator-profile.schema.ts
|
|
2434
|
-
var
|
|
2435
|
-
var CoordinatorPageLinkSchema = (0,
|
|
2551
|
+
var import_yup34 = require("yup");
|
|
2552
|
+
var CoordinatorPageLinkSchema = (0, import_yup34.object)({
|
|
2436
2553
|
page: PageSchema.pick(["name", "slug", "type", "logo"]).deepPartial().concat(PageSchema.pick(["name", "type"])).required().label("Institute Page"),
|
|
2437
|
-
jobTitle: (0,
|
|
2554
|
+
jobTitle: (0, import_yup34.string)().trim().max(100).optional().label("Job Title")
|
|
2438
2555
|
}).noUnknown().strict().label("Coordinator Page Link");
|
|
2439
|
-
var UserCoordinatorProfileSchema = (0,
|
|
2440
|
-
coordinatorProfile: (0,
|
|
2441
|
-
coordinatesAt: (0,
|
|
2556
|
+
var UserCoordinatorProfileSchema = (0, import_yup34.object)({
|
|
2557
|
+
coordinatorProfile: (0, import_yup34.object)({
|
|
2558
|
+
coordinatesAt: (0, import_yup34.array)().of(CoordinatorPageLinkSchema).default([]).label("Coordinates At")
|
|
2442
2559
|
}).optional().default(void 0).label("Coordinator Profile")
|
|
2443
2560
|
}).noUnknown().strict().label("User Coordinator Profile");
|
|
2444
2561
|
|
|
2445
2562
|
// src/user/user.schema.ts
|
|
2446
|
-
var UserSchema = (0,
|
|
2563
|
+
var UserSchema = (0, import_yup35.object)({
|
|
2447
2564
|
/**
|
|
2448
2565
|
* Related auth account id from auth Server (e.g. Better auth https://auth.thejob.dev)
|
|
2449
2566
|
*/
|
|
2450
|
-
authAccountId: (0,
|
|
2567
|
+
authAccountId: (0, import_yup35.string)().required().label("Auth Account ID"),
|
|
2451
2568
|
/**
|
|
2452
2569
|
* Social media information about the user (e.g. LinkedIn, GitHub, etc.)
|
|
2453
2570
|
*/
|
|
2454
|
-
socialAccounts: (0,
|
|
2571
|
+
socialAccounts: (0, import_yup35.array)().of(SocialAccountSchema).default([]).label("Social Accounts"),
|
|
2455
2572
|
/**
|
|
2456
2573
|
* Work experience information about the user
|
|
2457
2574
|
*/
|
|
2458
|
-
workExperiences: (0,
|
|
2575
|
+
workExperiences: (0, import_yup35.array)().of(WorkExperienceSchema).required().default([]).label("Work Experiences"),
|
|
2459
2576
|
/**
|
|
2460
2577
|
* Education information about the user
|
|
2461
2578
|
*/
|
|
2462
|
-
educations: (0,
|
|
2579
|
+
educations: (0, import_yup35.array)().of(EducationSchema).required().default([]).label("Educations"),
|
|
2463
2580
|
/**
|
|
2464
2581
|
* Skills information about the user
|
|
2465
2582
|
*/
|
|
2466
|
-
skills: (0,
|
|
2583
|
+
skills: (0, import_yup35.array)().of(UserSkillSchema).required().default([]).label("Skills"),
|
|
2467
2584
|
/**
|
|
2468
2585
|
* Projects information about the user
|
|
2469
2586
|
*/
|
|
2470
|
-
projects: (0,
|
|
2587
|
+
projects: (0, import_yup35.array)().of(UserProjectSchema).default([]).label("Projects"),
|
|
2471
2588
|
/**
|
|
2472
2589
|
* Certifications information about the user
|
|
2473
2590
|
*/
|
|
2474
|
-
certifications: (0,
|
|
2591
|
+
certifications: (0, import_yup35.array)().of(UserCertificationSchema).default([]).label("Certifications"),
|
|
2475
2592
|
/**
|
|
2476
2593
|
* Interests information about the user.
|
|
2477
2594
|
*/
|
|
2478
|
-
interests: (0,
|
|
2595
|
+
interests: (0, import_yup35.array)().of(UserInterestSchema).optional().default([]).label("Interests"),
|
|
2479
2596
|
/**
|
|
2480
2597
|
* Languages information about the user
|
|
2481
2598
|
*/
|
|
2482
|
-
languages: (0,
|
|
2599
|
+
languages: (0, import_yup35.array)().of(UserLanguageSchema).required().default([]).label("Languages"),
|
|
2483
2600
|
/**
|
|
2484
2601
|
* Additional information about the user
|
|
2485
2602
|
*/
|
|
2486
|
-
additionalInfo: (0,
|
|
2603
|
+
additionalInfo: (0, import_yup35.array)().of(UserAdditionalInfoSchema).default([]).label("Additional Information"),
|
|
2487
2604
|
/**
|
|
2488
2605
|
* Status of the user account
|
|
2489
2606
|
*/
|
|
2490
|
-
status: (0,
|
|
2607
|
+
status: (0, import_yup35.string)().oneOf(SupportedUserStatuses).required().label("Status"),
|
|
2491
2608
|
/**
|
|
2492
2609
|
* Roles assigned to the user
|
|
2493
2610
|
*/
|
|
2494
|
-
roles: (0,
|
|
2611
|
+
roles: (0, import_yup35.array)().of((0, import_yup35.string)().oneOf(SupportedUserRoles)).required().default(DefaultUserRoles).label("Roles"),
|
|
2495
2612
|
/**
|
|
2496
2613
|
* Vector embedding of the user's profile for semantic/hybrid search.
|
|
2497
2614
|
* Generated from a structured summary of skills, experience, education, etc.
|
|
2498
2615
|
* Only generated for public profiles with sufficient completeness (≥60%).
|
|
2499
2616
|
*/
|
|
2500
|
-
embedding: (0,
|
|
2501
|
-
vector: (0,
|
|
2502
|
-
model: (0,
|
|
2617
|
+
embedding: (0, import_yup35.object)({
|
|
2618
|
+
vector: (0, import_yup35.array)((0, import_yup35.number)().required()).optional().label("Embedding vector"),
|
|
2619
|
+
model: (0, import_yup35.string)().optional().label("Embedding model")
|
|
2503
2620
|
}).nullable().optional().label("Embedding")
|
|
2504
2621
|
}).concat(UserGeneralDetailSchema).concat(UserJobPreferencesSchema).concat(UserRecruiterProfileSchema).concat(UserCoordinatorProfileSchema).noUnknown().strict().label("User Schema");
|
|
2505
2622
|
|
|
2506
2623
|
// src/user/user-completeness.schema.ts
|
|
2507
|
-
var
|
|
2508
|
-
var UserCompletenessSchema = (0,
|
|
2624
|
+
var import_yup36 = require("yup");
|
|
2625
|
+
var UserCompletenessSchema = (0, import_yup36.object)({
|
|
2509
2626
|
additionalInfo: CompletenessScoreSchema(0).label("Additional Info"),
|
|
2510
2627
|
// Optional
|
|
2511
2628
|
certifications: CompletenessScoreSchema(0).label("Certifications"),
|
|
@@ -2530,6 +2647,8 @@ var StudentCompletenessSchema = UserCompletenessSchema.omit([
|
|
|
2530
2647
|
0 && (module.exports = {
|
|
2531
2648
|
AnswerChoiceType,
|
|
2532
2649
|
ApplicationReceivePreference,
|
|
2650
|
+
CampaignSchema,
|
|
2651
|
+
CampaignStatus,
|
|
2533
2652
|
ChoiceQuestionSchema,
|
|
2534
2653
|
Common,
|
|
2535
2654
|
CompensationType,
|
|
@@ -2566,9 +2685,13 @@ var StudentCompletenessSchema = UserCompletenessSchema.omit([
|
|
|
2566
2685
|
JobSearchUrgency,
|
|
2567
2686
|
JobStatus,
|
|
2568
2687
|
JobSubCategory,
|
|
2688
|
+
ListFilterSchema,
|
|
2569
2689
|
LocationSchema,
|
|
2570
2690
|
MIN_SALARY_LOWER_BOUND,
|
|
2571
2691
|
MIN_SALARY_UPPER_BOUND,
|
|
2692
|
+
MailingListSchema,
|
|
2693
|
+
PREFILL_MIRRORED_KEYS,
|
|
2694
|
+
PRIVATE_PROFILE_FIELDS,
|
|
2572
2695
|
PageSchema,
|
|
2573
2696
|
PageStatus,
|
|
2574
2697
|
PageType,
|
|
@@ -2593,6 +2716,7 @@ var StudentCompletenessSchema = UserCompletenessSchema.omit([
|
|
|
2593
2716
|
StudyType,
|
|
2594
2717
|
SupportedAnswerChoiceTypes,
|
|
2595
2718
|
SupportedApplicationReceivePreferences,
|
|
2719
|
+
SupportedCampaignStatuses,
|
|
2596
2720
|
SupportedCompensationTypes,
|
|
2597
2721
|
SupportedContactTypes,
|
|
2598
2722
|
SupportedEducationLevels,
|