UNPKG

@space-cow-media/spellbook-client

Version:

An Open Api generated client for the Commander Spellbook backend REST API.

224 lines (210 loc) 7.62 kB
/* tslint:disable */ /* eslint-disable */ /** * Commander Spellbook API * API for Commander Spellbook, the combo database engine for Magic: The Gathering * * The version of the OpenAPI document: 4.8.19 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { mapValues } from '../runtime'; import type { FeatureProducedInVariantSuggestion } from './featureProducedInVariantSuggestion'; import { FeatureProducedInVariantSuggestionFromJSON, FeatureProducedInVariantSuggestionFromJSONTyped, FeatureProducedInVariantSuggestionToJSON, FeatureProducedInVariantSuggestionToJSONTyped, } from './featureProducedInVariantSuggestion'; import type { User } from './user'; import { UserFromJSON, UserFromJSONTyped, UserToJSON, UserToJSONTyped, } from './user'; import type { CardUsedInVariantSuggestion } from './cardUsedInVariantSuggestion'; import { CardUsedInVariantSuggestionFromJSON, CardUsedInVariantSuggestionFromJSONTyped, CardUsedInVariantSuggestionToJSON, CardUsedInVariantSuggestionToJSONTyped, } from './cardUsedInVariantSuggestion'; import type { TemplateRequiredInVariantSuggestion } from './templateRequiredInVariantSuggestion'; import { TemplateRequiredInVariantSuggestionFromJSON, TemplateRequiredInVariantSuggestionFromJSONTyped, TemplateRequiredInVariantSuggestionToJSON, TemplateRequiredInVariantSuggestionToJSONTyped, } from './templateRequiredInVariantSuggestion'; import type { SuggestionStatusEnum } from './suggestionStatusEnum'; import { SuggestionStatusEnumFromJSON, SuggestionStatusEnumFromJSONTyped, SuggestionStatusEnumToJSON, SuggestionStatusEnumToJSONTyped, } from './suggestionStatusEnum'; /** * * @export * @interface VariantSuggestion */ export interface VariantSuggestion { /** * * @type {number} * @memberof VariantSuggestion */ readonly id: number; /** * Suggestion status for editors * * * `N` - New * * `AD` - Awaiting Discussion * * `PA` - Pending Approval * * `A` - Accepted * * `R` - Rejected * @type {SuggestionStatusEnum} * @memberof VariantSuggestion */ readonly status: SuggestionStatusEnum; /** * * @type {Array<CardUsedInVariantSuggestion>} * @memberof VariantSuggestion */ uses: Array<CardUsedInVariantSuggestion>; /** * * @type {Array<TemplateRequiredInVariantSuggestion>} * @memberof VariantSuggestion */ requires: Array<TemplateRequiredInVariantSuggestion>; /** * * @type {Array<FeatureProducedInVariantSuggestion>} * @memberof VariantSuggestion */ produces: Array<FeatureProducedInVariantSuggestion>; /** * If this suggestion is a variant of an existing one, link it here. * @type {string} * @memberof VariantSuggestion */ variantOf: string | null; /** * Mana needed for this combo. Use the {1}{W}{U}{B}{R}{G}{B/P}... format. * @type {string} * @memberof VariantSuggestion */ manaNeeded: string; /** * Easily achievable prerequisites for this combo. * @type {string} * @memberof VariantSuggestion */ easyPrerequisites: string; /** * Notable prerequisites for this combo. * @type {string} * @memberof VariantSuggestion */ notablePrerequisites: string; /** * Long description, in steps * @type {string} * @memberof VariantSuggestion */ description: string; /** * Is this combo a spoiler? * @type {boolean} * @memberof VariantSuggestion */ spoiler: boolean; /** * Comment written by the user that suggested this * @type {string} * @memberof VariantSuggestion */ comment: string; /** * * @type {User} * @memberof VariantSuggestion */ readonly suggestedBy: User; /** * * @type {Date} * @memberof VariantSuggestion */ readonly created: Date; } /** * Check if a given object implements the VariantSuggestion interface. */ export function instanceOfVariantSuggestion(value: object): value is VariantSuggestion { if (!('id' in value) || value['id'] === undefined) return false; if (!('status' in value) || value['status'] === undefined) return false; if (!('uses' in value) || value['uses'] === undefined) return false; if (!('requires' in value) || value['requires'] === undefined) return false; if (!('produces' in value) || value['produces'] === undefined) return false; if (!('variantOf' in value) || value['variantOf'] === undefined) return false; if (!('manaNeeded' in value) || value['manaNeeded'] === undefined) return false; if (!('easyPrerequisites' in value) || value['easyPrerequisites'] === undefined) return false; if (!('notablePrerequisites' in value) || value['notablePrerequisites'] === undefined) return false; if (!('description' in value) || value['description'] === undefined) return false; if (!('spoiler' in value) || value['spoiler'] === undefined) return false; if (!('comment' in value) || value['comment'] === undefined) return false; if (!('suggestedBy' in value) || value['suggestedBy'] === undefined) return false; if (!('created' in value) || value['created'] === undefined) return false; return true; } export function VariantSuggestionFromJSON(json: any): VariantSuggestion { return VariantSuggestionFromJSONTyped(json, false); } export function VariantSuggestionFromJSONTyped(json: any, ignoreDiscriminator: boolean): VariantSuggestion { if (json == null) { return json; } return { 'id': json['id'], 'status': SuggestionStatusEnumFromJSON(json['status']), 'uses': ((json['uses'] as Array<any>).map(CardUsedInVariantSuggestionFromJSON)), 'requires': ((json['requires'] as Array<any>).map(TemplateRequiredInVariantSuggestionFromJSON)), 'produces': ((json['produces'] as Array<any>).map(FeatureProducedInVariantSuggestionFromJSON)), 'variantOf': json['variantOf'], 'manaNeeded': json['manaNeeded'], 'easyPrerequisites': json['easyPrerequisites'], 'notablePrerequisites': json['notablePrerequisites'], 'description': json['description'], 'spoiler': json['spoiler'], 'comment': json['comment'], 'suggestedBy': UserFromJSON(json['suggestedBy']), 'created': (new Date(json['created'])), }; } export function VariantSuggestionToJSON(json: any): VariantSuggestion { return VariantSuggestionToJSONTyped(json, false); } export function VariantSuggestionToJSONTyped(value?: Omit<VariantSuggestion, 'id'|'status'|'suggestedBy'|'created'> | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'uses': ((value['uses'] as Array<any>).map(CardUsedInVariantSuggestionToJSON)), 'requires': ((value['requires'] as Array<any>).map(TemplateRequiredInVariantSuggestionToJSON)), 'produces': ((value['produces'] as Array<any>).map(FeatureProducedInVariantSuggestionToJSON)), 'variantOf': value['variantOf'], 'manaNeeded': value['manaNeeded'], 'easyPrerequisites': value['easyPrerequisites'], 'notablePrerequisites': value['notablePrerequisites'], 'description': value['description'], 'spoiler': value['spoiler'], 'comment': value['comment'], }; }