/* tslint:disable */
/* eslint-disable */
/**
* Lemonway DirectKit API 2.0
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: v2
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
/**
*
* @export
* @interface Document
*/
export interface Document {
/**
* Document ID
* @type {number}
* @memberof Document
*/
id?: number;
/**
* Document Status
0 = Document put on hold, waiting for another document.
1 = Received, need manual validation.
2 = Accepted.
3 = Rejected.
4 = Rejected. Unreadable by human (Cropped, blur, glareā¦).
5 = Rejected. Expired (Expiration Date is passed).
6 = Rejected. Wrong Type (Document not accepted).
7 = Rejected. Wrong Name (Name not matching user information).
8 = Rejected. Duplicated Document.
* @type {number}
* @memberof Document
*/
status?: DocumentStatusEnum;
/**
* Document Type
0 = ID card (both sides in one file).
1 = Proof of address.
2 = Scan of a proof of IBAN.
3 = Passport (European Union).
4 = Passport (outside the European Union).
5 = Residence permit (both sides in one file).
7 = Official company registration document (Kbis extract or equivalent).
11 = Driver licence (both sides in one file).
12 = Status.
13 = Selfie.
14 = Other document type.
15 = Other document type.
16 = Other document type.
17 = Other document type.
18 = Other document type.
19 = Other document type.
20 = Other document type.
21 = SDD mandate.
* @type {number}
* @memberof Document
*/
type?: DocumentTypeEnum;
/**
* Document validity date
* Format: dd/mm/yyyy
* Empty if unknown
* @type {string}
* @memberof Document
*/
validityDate?: string;
/**
*
* @type {string}
* @memberof Document
*/
comment?: string;
}
/**
* @export
*/
export const DocumentStatusEnum = {
NUMBER_0: 0,
NUMBER_1: 1,
NUMBER_2: 2,
NUMBER_3: 3,
NUMBER_4: 4,
NUMBER_5: 5,
NUMBER_6: 6,
NUMBER_7: 7,
NUMBER_8: 8
} as const;
export type DocumentStatusEnum = typeof DocumentStatusEnum[keyof typeof DocumentStatusEnum];
/**
* @export
*/
export const DocumentTypeEnum = {
NUMBER_0: 0,
NUMBER_1: 1,
NUMBER_2: 2,
NUMBER_3: 3,
NUMBER_4: 4,
NUMBER_5: 5,
NUMBER_7: 7,
NUMBER_11: 11,
NUMBER_12: 12,
NUMBER_13: 13,
NUMBER_14: 14,
NUMBER_15: 15,
NUMBER_16: 16,
NUMBER_17: 17,
NUMBER_18: 18,
NUMBER_19: 19,
NUMBER_20: 20,
NUMBER_21: 21
} as const;
export type DocumentTypeEnum = typeof DocumentTypeEnum[keyof typeof DocumentTypeEnum];
/**
* Check if a given object implements the Document interface.
*/
export function instanceOfDocument(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function DocumentFromJSON(json: any): Document {
return DocumentFromJSONTyped(json, false);
}
export function DocumentFromJSONTyped(json: any, ignoreDiscriminator: boolean): Document {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'id': !exists(json, 'id') ? undefined : json['id'],
'status': !exists(json, 'status') ? undefined : json['status'],
'type': !exists(json, 'type') ? undefined : json['type'],
'validityDate': !exists(json, 'validityDate') ? undefined : json['validityDate'],
'comment': !exists(json, 'comment') ? undefined : json['comment'],
};
}
export function DocumentToJSON(value?: Document | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'id': value.id,
'status': value.status,
'type': value.type,
'validityDate': value.validityDate,
'comment': value.comment,
};
}