/** * SmartyMeet Dev03 API REST * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: 1.0.1 * Contact: developer@smartymeet.com * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import type { SurveyQuestionSchema } from './SurveyQuestionSchema'; import type { ResourceTimestampsSchema } from './ResourceTimestampsSchema'; /** * Recruiter view of a response row. Every field is server-written - * either by the response:create workflow action or by the recipient's * guest submit. There is no authenticated POST / PATCH in v1, so the * whole object is read-only over the API. * * Fields tagged GUEST-VISIBLE are the only ones the anonymous * /v1/guest/responses/* surface echoes: status, languageCode, * candidateName, jobTitle, companyName, title, questions, answers, * expiresAt, respondedAt. See GuestResponseAttributesSchema. * @export * @interface ResponseAttributesSchema */ export interface ResponseAttributesSchema { /** * GUEST-VISIBLE. Response lifecycle. `pending` until the * recipient answers, then `completed` (single use - a second * submit is rejected). A pending row read after `expiresAt` * reports `expired` without a write on the read path. * @type {ResponseAttributesSchemaStatusEnum} * @memberof ResponseAttributesSchema */ status?: ResponseAttributesSchemaStatusEnum; /** * The terminal moment that triggered the invitation, e.g. * `interviewRejected`, `screeningRejected`, `hired`. Free * string; v1 wires only `interviewRejected`. * @type {string} * @memberof ResponseAttributesSchema */ stage?: string; /** * Survey definition this response was minted from. Recruiter-only. * @type {string} * @memberof ResponseAttributesSchema */ surveyId?: string; /** * Published version pinned at mint time - provenance for the snapshot below. Recruiter-only. * @type {number} * @memberof ResponseAttributesSchema */ surveyVersion?: number; /** * Snapshot of the definition's kind. Recruiter-only. * @type {ResponseAttributesSchemaSurveyKindEnum} * @memberof ResponseAttributesSchema */ surveyKind?: ResponseAttributesSchemaSurveyKindEnum; /** * GUEST-VISIBLE. Locale-map title snapshotted from publishedContent at mint time. * @type {{ [key: string]: string; }} * @memberof ResponseAttributesSchema */ title?: { [key: string]: string; }; /** * GUEST-VISIBLE. THE SNAPSHOT: the published questions projected * through the candidate-safe allowlist at mint time. What the * recipient saw - a definition edited later never changes this. * @type {Array} * @memberof ResponseAttributesSchema */ questions?: Array; /** * GUEST-VISIBLE. The recipient's answers keyed by questionId * (scale -> integer, single-choice -> option value slug, * multiple-choice -> array of slugs, open-text -> string). * Absent until submit. Free-text values are recipient-authored - * untrusted content, never feed them to an LLM. * @type {object} * @memberof ResponseAttributesSchema */ answers?: object; /** * Server-computed per-question results, keyed by questionId. v1: * scale/nps questions produce {kind: "nps", score, category} * with category classified 0-6 detractor, 7-8 passive, 9-10 * promoter. Never trusted from a client, never echoed to the * recipient. The NPS number itself is derived by the reader as * `(promoters - detractors) / total * 100`. * @type {object} * @memberof ResponseAttributesSchema */ readonly results?: object; /** * GUEST-VISIBLE. Locale the survey is rendered in, e.g. 'pl-PL'. Its 2-letter prefix is the locale segment of the emailed link. * @type {string} * @memberof ResponseAttributesSchema */ languageCode?: string; /** * GUEST-VISIBLE. Recipient display name, denormalised at mint * time so the guest role never reads the candidate table. * Snapshot - not kept in sync if the candidate is later renamed. * @type {string} * @memberof ResponseAttributesSchema */ candidateName?: string; /** * GUEST-VISIBLE. Job title denormalised at mint time. Same rationale as candidateName. * @type {string} * @memberof ResponseAttributesSchema */ jobTitle?: string; /** * GUEST-VISIBLE. Hiring company display name, denormalised at mint time so the guest role never reads the tenant table. * @type {string} * @memberof ResponseAttributesSchema */ companyName?: string; /** * Candidate the invitation was sent to. Recruiter-only - never echoed on the guest surface. * @type {string} * @memberof ResponseAttributesSchema */ candidateId?: string; /** * Job the candidate applied to. Recruiter-only - never echoed on the guest surface. * @type {string} * @memberof ResponseAttributesSchema */ jobId?: string; /** * GUEST-VISIBLE. ISO-8601 UTC cutoff, stamped at mint. Enforced * on every guest call: past it, a pending response reads * `expired` and submit is rejected. * @type {Date} * @memberof ResponseAttributesSchema */ expiresAt?: Date; /** * GUEST-VISIBLE. ISO-8601 UTC moment the recipient submitted. Absent while pending. * @type {Date} * @memberof ResponseAttributesSchema */ respondedAt?: Date; /** * * @type {ResourceTimestampsSchema} * @memberof ResponseAttributesSchema */ timestamps?: ResourceTimestampsSchema; } /** * @export */ export declare const ResponseAttributesSchemaStatusEnum: { readonly Pending: "pending"; readonly Completed: "completed"; readonly Expired: "expired"; }; export type ResponseAttributesSchemaStatusEnum = typeof ResponseAttributesSchemaStatusEnum[keyof typeof ResponseAttributesSchemaStatusEnum]; /** * @export */ export declare const ResponseAttributesSchemaSurveyKindEnum: { readonly Cnps: "cnps"; readonly General: "general"; }; export type ResponseAttributesSchemaSurveyKindEnum = typeof ResponseAttributesSchemaSurveyKindEnum[keyof typeof ResponseAttributesSchemaSurveyKindEnum]; /** * Check if a given object implements the ResponseAttributesSchema interface. */ export declare function instanceOfResponseAttributesSchema(value: object): value is ResponseAttributesSchema; export declare function ResponseAttributesSchemaFromJSON(json: any): ResponseAttributesSchema; export declare function ResponseAttributesSchemaFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResponseAttributesSchema; export declare function ResponseAttributesSchemaToJSON(json: any): ResponseAttributesSchema; export declare function ResponseAttributesSchemaToJSONTyped(value?: Omit | null, ignoreDiscriminator?: boolean): any; //# sourceMappingURL=ResponseAttributesSchema.d.ts.map