/** * 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 { CareersContentSchema } from './CareersContentSchema'; import type { ResourceTimestampsSchema } from './ResourceTimestampsSchema'; /** * The careers-page singleton. `name`, `sourceLanguage` and `content` * are writable; `publishedContent`, `version`, `revision`, * `publishedAt`, `publishedUrl` and `cacheTtlSeconds` are * server-managed. Optimistic concurrency: send * `If-Match: ""` on PATCH - a mismatch is a 409 * (SM_CAREERS_STALE). `revision` bumps on EVERY write; `version` only * on publish. List responses OMIT both content copies (slim * projection) - GET by id returns them. * @export * @interface CareerAttributesSchema */ export interface CareerAttributesSchema { /** * Recruiter-facing admin label. Visitor-facing text lives inside content blocks (locale-keyed). * @type {string} * @memberof CareerAttributesSchema */ name?: string; /** * Lifecycle. Setting `active` via PATCH is the PUBLISH door: * content is publish-validated (400 with one error PER violation, * each carrying source.pointer), copied to publishedContent, * version increments and the flat public doc lands on the CDN. * Setting `archived` REMOVES the CDN object (repeat to retry a * failed takedown). Allowed transitions: draft->active, * draft->archived, active->archived, archived->active * (re-publishes). There is no permanentDelete. * @type {CareerAttributesSchemaStatusEnum} * @memberof CareerAttributesSchema */ status?: CareerAttributesSchemaStatusEnum; /** * BCP-47 tag (e.g. en-US). The authoring language every other locale falls back to. * @type {string} * @memberof CareerAttributesSchema */ sourceLanguage?: string; /** * Write-only trigger: after the PATCH saves, an async job fills * the MISSING locale entries of the draft from sourceLanguage * (never overwrites existing text, never touches * publishedContent). Progress lands in meta.translation. Sending * it together with `generate` defers it: the generator hands off * to translate when it finishes, so the two never race. * @type {boolean} * @memberof CareerAttributesSchema */ translate?: boolean; /** * Write-only trigger: an async job composes a WHOLE draft from * what the platform knows about the tenant (brand name, live roles * from the published listing, the marketing copy already written * for those roles). Writes `content` only - publishedContent is * never touched - in sourceLanguage alone; pair it with * `translate` for the other locales. Progress lands in * meta.generation {status, startedAt, finishedAt, blocks, * violations, jobsUsed}. Cannot ride a status change, and is * refused on an archived page. If the draft already carries * authored text the call is a 409 (SM_CAREERS_DRAFT_NOT_EMPTY) * unless generateOverwrite is also true - the seed skeleton of a * fresh page counts as empty. The model writes prose only; the * blocks document is assembled server-side, so the publish rules * (one enabled hero first, one enabled positions, repeater caps, * no markup) hold by construction. * @type {boolean} * @memberof CareerAttributesSchema */ generate?: boolean; /** * Consent to replace a draft that already has text. Meaningless * without `generate`. Ask the recruiter before sending it - it * discards their work in progress. * @type {boolean} * @memberof CareerAttributesSchema */ generateOverwrite?: boolean; /** * * @type {CareersContentSchema} * @memberof CareerAttributesSchema */ content?: CareersContentSchema; /** * Frozen copy written ONLY by the publish transition. The CDN doc * derives from it (enabled blocks only). Absent until the first * publish. * @type {CareersContentSchema} * @memberof CareerAttributesSchema */ readonly publishedContent?: CareersContentSchema; /** * 0 until the first publish; each publish increments it. meta.cdnVersion != version means the CDN write failed - re-send status=active. * @type {number} * @memberof CareerAttributesSchema */ readonly version?: number; /** * Bumps on EVERY write (draft save, status change, translate). The If-Match concurrency token. * @type {number} * @memberof CareerAttributesSchema */ readonly revision?: number; /** * * @type {Date} * @memberof CareerAttributesSchema */ readonly publishedAt?: Date; /** * https://cdn.{domain}/tenants/{shortCode}/careers.json - the flat * public document this page publishes to (no JSON:API envelope): * {schemaVersion, sourceLanguage, locales, branding{logoUrl, * brandName}, boe{name, avatarUrl, email, phone, voiceId, * voiceGender, liveAvatarId, intro}, theme, updatedAt, * blocks[ENABLED only]}. `boe.voiceId` is the realtime VOICE and * `boe.liveAvatarId` the video-avatar SCENE - two providers, one * character, so the candidate meets the same face and voice here * as on the screening call. * `branding`, `boe` and `theme` are SNAPSHOTS taken at publish: * renaming the virtual employee or changing its voice reaches the * public page only on the next publish. * @type {string} * @memberof CareerAttributesSchema */ readonly publishedUrl?: string; /** * Edge cache TTL of the published doc (60). There is NO CloudFront invalidation - a publish reflects within this window. * @type {number} * @memberof CareerAttributesSchema */ readonly cacheTtlSeconds?: number; /** * * @type {ResourceTimestampsSchema} * @memberof CareerAttributesSchema */ timestamps?: ResourceTimestampsSchema; } /** * @export */ export declare const CareerAttributesSchemaStatusEnum: { readonly Draft: "draft"; readonly Active: "active"; readonly Archived: "archived"; }; export type CareerAttributesSchemaStatusEnum = typeof CareerAttributesSchemaStatusEnum[keyof typeof CareerAttributesSchemaStatusEnum]; /** * Check if a given object implements the CareerAttributesSchema interface. */ export declare function instanceOfCareerAttributesSchema(value: object): value is CareerAttributesSchema; export declare function CareerAttributesSchemaFromJSON(json: any): CareerAttributesSchema; export declare function CareerAttributesSchemaFromJSONTyped(json: any, ignoreDiscriminator: boolean): CareerAttributesSchema; export declare function CareerAttributesSchemaToJSON(json: any): CareerAttributesSchema; export declare function CareerAttributesSchemaToJSONTyped(value?: Omit | null, ignoreDiscriminator?: boolean): any; //# sourceMappingURL=CareerAttributesSchema.d.ts.map