@complycube/api
Version:
ComplyCube's Node.js library for the AML/KYC API
50 lines (49 loc) • 1.64 kB
TypeScript
import { AxiosInstance } from "axios";
import { Resource } from "../Resource";
export type DocumentRequest = {
clientId?: string | null;
type?: string | null;
classification?: string | null;
issuingCountry?: string | null;
};
export type Document = {
id: string;
clientId: string;
type: string;
classification?: string | null;
issuingCountry?: string | null;
lastActionBy?: string | null;
};
export type ImageUploadRequest = {
fileName: string;
data: string;
};
export type RedactionRequest = {
attributes: string[] | null;
images?: string[] | null;
};
export type Image = {
id: string;
fileName: string;
documentSide: string;
downloadLink: string;
contentType: string;
size: number;
createdAt: string;
updatedAt: string;
};
export declare class Documents extends Resource<{}> {
constructor(axiosInstance: AxiosInstance);
create(clientId: string, documentRequest: DocumentRequest): Promise<Document>;
get(id: string): Promise<Document>;
update(id: string, documentRequest: DocumentRequest): Promise<Document>;
upload(id: string, imageUploadRequest: ImageUploadRequest, documentSide: string): Promise<Image>;
download(id: string, documentSide: string): Promise<Image>;
deleteImage(id: string, documentSide: string): Promise<void>;
redact(id: string, redactionRequest: RedactionRequest): Promise<void>;
delete(id: string): Promise<void>;
list(clientId: string, { page, pageSize }?: {
page?: number;
pageSize?: number;
}): Promise<Document[]>;
}