"use strict";
export class AuditBase {
/** @param {{createdDate?:string,createdBy?:string,modifiedDate?:string,modifiedBy?:string,deletedDate?:string,deletedBy?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
createdDate;
/** @type {string} */
createdBy;
/** @type {string} */
modifiedDate;
/** @type {string} */
modifiedBy;
/** @type {?string} */
deletedDate;
/** @type {string} */
deletedBy;
}
export class AppUser {
/** @param {{id?:string,firstName?:string,lastName?:string,displayName?:string,profileUrl?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
id;
/** @type {?string} */
firstName;
/** @type {?string} */
lastName;
/** @type {?string} */
displayName;
/** @type {?string} */
profileUrl;
}
/** @typedef {'Applied'|'PhoneScreening'|'PhoneScreeningCompleted'|'Interview'|'InterviewCompleted'|'Offer'|'Disqualified'} */
export var JobApplicationStatus;
(function (JobApplicationStatus) {
JobApplicationStatus["Applied"] = "Applied"
JobApplicationStatus["PhoneScreening"] = "PhoneScreening"
JobApplicationStatus["PhoneScreeningCompleted"] = "PhoneScreeningCompleted"
JobApplicationStatus["Interview"] = "Interview"
JobApplicationStatus["InterviewCompleted"] = "InterviewCompleted"
JobApplicationStatus["Offer"] = "Offer"
JobApplicationStatus["Disqualified"] = "Disqualified"
})(JobApplicationStatus || (JobApplicationStatus = {}));
export class Interview extends AuditBase {
/** @param {{id?:number,bookingTime?:string,jobApplicationId?:number,appUserId?:string,appUser?:AppUser,applicationStatus?:JobApplicationStatus,notes?:string,createdDate?:string,createdBy?:string,modifiedDate?:string,modifiedBy?:string,deletedDate?:string,deletedBy?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/** @type {number} */
id;
/** @type {string} */
bookingTime;
/** @type {number} */
jobApplicationId;
/** @type {string} */
appUserId;
/** @type {AppUser} */
appUser;
/** @type {?JobApplicationStatus} */
applicationStatus;
/** @type {string} */
notes;
}
export class CreateInterview {
/** @param {{bookingTime?:string,jobApplicationId?:number,appUserId?:string,applicationStatus?:JobApplicationStatus}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
bookingTime;
/** @type {number} */
jobApplicationId;
/** @type {string} */
appUserId;
/** @type {JobApplicationStatus} */
applicationStatus;
}
JavaScript CreateInterview DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsv/reply/CreateInterview HTTP/1.1
Host: blazor-gallery.servicestack.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
bookingTime: 0001-01-01,
jobApplicationId: 0,
appUserId: String,
applicationStatus: Applied
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { id: 0, bookingTime: 0001-01-01, jobApplicationId: 0, appUserId: String, appUser: { id: String, firstName: String, lastName: String, displayName: String, profileUrl: String }, applicationStatus: Applied, notes: String, createdDate: 0001-01-01, createdBy: String, modifiedDate: 0001-01-01, modifiedBy: String, deletedDate: 0001-01-01, deletedBy: String }