@space-cow-media/spellbook-client
Version:
An Open Api generated client for the Commander Spellbook backend REST API.
179 lines (165 loc) • 5.37 kB
text/typescript
/* 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 { User } from './user';
import {
UserFromJSON,
UserFromJSONTyped,
UserToJSON,
UserToJSONTyped,
} from './user';
import type { KindEnum } from './kindEnum';
import {
KindEnumFromJSON,
KindEnumFromJSONTyped,
KindEnumToJSON,
KindEnumToJSONTyped,
} from './kindEnum';
import type { SuggestionStatusEnum } from './suggestionStatusEnum';
import {
SuggestionStatusEnumFromJSON,
SuggestionStatusEnumFromJSONTyped,
SuggestionStatusEnumToJSON,
SuggestionStatusEnumToJSONTyped,
} from './suggestionStatusEnum';
import type { VariantInVariantUpdateSuggestion } from './variantInVariantUpdateSuggestion';
import {
VariantInVariantUpdateSuggestionFromJSON,
VariantInVariantUpdateSuggestionFromJSONTyped,
VariantInVariantUpdateSuggestionToJSON,
VariantInVariantUpdateSuggestionToJSONTyped,
} from './variantInVariantUpdateSuggestion';
/**
*
* @export
* @interface VariantUpdateSuggestion
*/
export interface VariantUpdateSuggestion {
/**
*
* @type {number}
* @memberof VariantUpdateSuggestion
*/
readonly id: number;
/**
* Suggestion status for editors
*
* * `N` - New
* * `AD` - Awaiting Discussion
* * `PA` - Pending Approval
* * `A` - Accepted
* * `R` - Rejected
* @type {SuggestionStatusEnum}
* @memberof VariantUpdateSuggestion
*/
readonly status: SuggestionStatusEnum;
/**
* Type of suggestion
*
* * `NW` - Not Working
* * `SE` - Spelling Error
* * `II` - Incorrect Info
* * `WC` - Wrong Card
* * `VG` - Variant Grouping
* * `O` - Other
* @type {KindEnum}
* @memberof VariantUpdateSuggestion
*/
kind: KindEnum;
/**
*
* @type {Array<VariantInVariantUpdateSuggestion>}
* @memberof VariantUpdateSuggestion
*/
variants: Array<VariantInVariantUpdateSuggestion>;
/**
* Description of the problem
* @type {string}
* @memberof VariantUpdateSuggestion
*/
issue: string;
/**
* Description of the solution
* @type {string}
* @memberof VariantUpdateSuggestion
*/
solution: string;
/**
* Comment written by the user that suggested this
* @type {string}
* @memberof VariantUpdateSuggestion
*/
comment: string;
/**
*
* @type {User}
* @memberof VariantUpdateSuggestion
*/
readonly suggestedBy: User;
/**
*
* @type {Date}
* @memberof VariantUpdateSuggestion
*/
readonly created: Date;
}
/**
* Check if a given object implements the VariantUpdateSuggestion interface.
*/
export function instanceOfVariantUpdateSuggestion(value: object): value is VariantUpdateSuggestion {
if (!('id' in value) || value['id'] === undefined) return false;
if (!('status' in value) || value['status'] === undefined) return false;
if (!('kind' in value) || value['kind'] === undefined) return false;
if (!('variants' in value) || value['variants'] === undefined) return false;
if (!('issue' in value) || value['issue'] === undefined) return false;
if (!('solution' in value) || value['solution'] === 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 VariantUpdateSuggestionFromJSON(json: any): VariantUpdateSuggestion {
return VariantUpdateSuggestionFromJSONTyped(json, false);
}
export function VariantUpdateSuggestionFromJSONTyped(json: any, ignoreDiscriminator: boolean): VariantUpdateSuggestion {
if (json == null) {
return json;
}
return {
'id': json['id'],
'status': SuggestionStatusEnumFromJSON(json['status']),
'kind': KindEnumFromJSON(json['kind']),
'variants': ((json['variants'] as Array<any>).map(VariantInVariantUpdateSuggestionFromJSON)),
'issue': json['issue'],
'solution': json['solution'],
'comment': json['comment'],
'suggestedBy': UserFromJSON(json['suggestedBy']),
'created': (new Date(json['created'])),
};
}
export function VariantUpdateSuggestionToJSON(json: any): VariantUpdateSuggestion {
return VariantUpdateSuggestionToJSONTyped(json, false);
}
export function VariantUpdateSuggestionToJSONTyped(value?: Omit<VariantUpdateSuggestion, 'id'|'status'|'suggestedBy'|'created'> | null, ignoreDiscriminator: boolean = false): any {
if (value == null) {
return value;
}
return {
'kind': KindEnumToJSON(value['kind']),
'variants': ((value['variants'] as Array<any>).map(VariantInVariantUpdateSuggestionToJSON)),
'issue': value['issue'],
'solution': value['solution'],
'comment': value['comment'],
};
}