mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-04-14 05:55:00 -04:00
Added saved employer filter alerts to schema
This commit is contained in:
parent
984be9980e
commit
6bc436aec2
1 changed files with 54 additions and 21 deletions
|
@ -6,6 +6,33 @@ UserSchema = c.object
|
|||
|
||||
c.extendNamedProperties UserSchema # let's have the name be the first property
|
||||
|
||||
#Put the various filters in variables for reusability
|
||||
phoneScreenFilter =
|
||||
title: 'Phone screened'
|
||||
type: 'boolean'
|
||||
description: 'Whether the candidate has been phone screened.'
|
||||
schoolFilter =
|
||||
title: 'School'
|
||||
type: 'string'
|
||||
enum: ['Top School', 'Other']
|
||||
locationFilter =
|
||||
title: 'Location'
|
||||
type: 'string'
|
||||
enum: ['Bay Area', 'New York', 'Other US', 'International']
|
||||
roleFilter =
|
||||
title: 'Role'
|
||||
type: 'string'
|
||||
enum: ['Web Developer', 'Software Developer', 'Mobile Developer']
|
||||
seniorityFilter =
|
||||
title: 'Seniority'
|
||||
type: 'string'
|
||||
enum: ['College Student', 'Recent Grad', 'Junior', 'Senior']
|
||||
visa = c.shortString
|
||||
title: 'US Work Status'
|
||||
description: 'Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)'
|
||||
enum: ['Authorized to work in the US', 'Need visa sponsorship']
|
||||
default: 'Authorized to work in the US'
|
||||
|
||||
_.extend UserSchema.properties,
|
||||
email: c.shortString({title: 'Email', format: 'email'})
|
||||
firstName: c.shortString({title: 'First Name'})
|
||||
|
@ -87,7 +114,7 @@ _.extend UserSchema.properties,
|
|||
experience: {type: 'integer', title: 'Years of Experience', minimum: 0, description: 'How many years of professional experience (getting paid) developing software do you have?'}
|
||||
shortDescription: {type: 'string', maxLength: 140, title: 'Short Description', description: 'Who are you, and what are you looking for? 140 characters max.', default: 'Programmer seeking to build great software.'}
|
||||
longDescription: {type: 'string', maxLength: 600, title: 'Description', description: 'Describe yourself to potential employers. Keep it short and to the point. We recommend outlining the position that would most interest you. Tasteful markdown okay; 600 characters max.', format: 'markdown', default: '* I write great code.\n* You need great code?\n* Great!'}
|
||||
visa: c.shortString {title: 'US Work Status', description: 'Are you authorized to work in the US, or do you need visa sponsorship? (If you live in Canada or Australia, mark authorized.)', enum: ['Authorized to work in the US', 'Need visa sponsorship'], default: 'Authorized to work in the US'}
|
||||
visa: visa
|
||||
work: c.array {title: 'Work Experience', description: 'List your relevant work experience, most recent first.'},
|
||||
c.object {title: 'Job', description: 'Some work experience you had.', required: ['employer', 'role', 'duration']},
|
||||
employer: c.shortString {title: 'Employer', description: 'Name of your employer.'}
|
||||
|
@ -131,26 +158,11 @@ _.extend UserSchema.properties,
|
|||
workHistory: c.array {title: 'Work history', description: 'One or two places the candidate has worked', type: 'array'},
|
||||
title: 'Workplace'
|
||||
type: 'string'
|
||||
phoneScreenFilter:
|
||||
title: 'Phone screened'
|
||||
type: 'boolean'
|
||||
description: 'Whether the candidate has been phone screened.'
|
||||
schoolFilter:
|
||||
title: 'School'
|
||||
type: 'string'
|
||||
enum: ['Top School', 'Other']
|
||||
locationFilter:
|
||||
title: 'Location'
|
||||
type: 'string'
|
||||
enum: ['Bay Area', 'New York', 'Other US', 'International']
|
||||
roleFilter:
|
||||
title: 'Role'
|
||||
type: 'string'
|
||||
enum: ['Web Developer', 'Software Developer', 'Mobile Developer']
|
||||
seniorityFilter:
|
||||
title: 'Seniority'
|
||||
type: 'string'
|
||||
enum: ['College Student', 'Recent Grad', 'Junior', 'Senior']
|
||||
phoneScreenFilter: phoneScreenFilter
|
||||
schoolFilter: schoolFilter
|
||||
locationFilter: locationFilter
|
||||
roleFilter: roleFilter
|
||||
seniorityFilter: seniorityFilter
|
||||
featured:
|
||||
title: 'Featured'
|
||||
type: 'boolean'
|
||||
|
@ -163,6 +175,27 @@ _.extend UserSchema.properties,
|
|||
linkedinID: c.shortString {title: 'LinkedInID', description: 'The user\'s LinkedIn ID when they signed the contract.'}
|
||||
date: c.date {title: 'Date signed employer agreement'}
|
||||
data: c.object {description: 'Cached LinkedIn data slurped from profile.', additionalProperties: true}
|
||||
savedEmployerFilterAlerts: c.array {
|
||||
title: 'Saved Employer Filter Alerts'
|
||||
description: 'Employers can get emailed alerts whenever there are new candidates matching their filters'
|
||||
}, c.object({
|
||||
title: 'Saved filter set'
|
||||
description: 'A saved filter set'
|
||||
required: ['phoneScreenFilter','schoolFilter','locationFilter','roleFilter','seniorityFilter','visa','filterActive']
|
||||
}, {
|
||||
phoneScreenFilter: phoneScreenFilter
|
||||
schoolFilter: schoolFilter
|
||||
locationFilter: locationFilter
|
||||
roleFilter: roleFilter
|
||||
seniorityFilter: seniorityFilter
|
||||
visa: visa
|
||||
filterActive:
|
||||
title: 'Filter active'
|
||||
description: 'Whether or not an employer will receive emails based on this filter'
|
||||
type: 'boolean'
|
||||
default: false
|
||||
})
|
||||
|
||||
points: {type: 'number'}
|
||||
activity: {type: 'object', description: 'Summary statistics about user activity', additionalProperties: c.activity}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue