@vulog/aima-document
v1.2.48
Published
User document management — upload, review, and status tracking.
Readme
@vulog/aima-document
User document management — upload, review, and status tracking.
Installation
npm install @vulog/aima-document @vulog/aima-client @vulog/aima-coreUsage
import { getClient } from '@vulog/aima-client';
import { createOrUpdateDocument, getUserDocuments, updateDocumentStatus, deleteDocument } from '@vulog/aima-document';
const client = getClient({ /* client options */ });
const doc = await createOrUpdateDocument(client, 'user-uuid', {
documentType: 'DRIVING_LICENSE',
documentNumber: 'AB123456',
});API Reference
createOrUpdateDocument
createOrUpdateDocument(client: Client, userId: string, document: DocumentBody): Promise<DocumentFull>Creates or updates a document for a user. userId must be a UUID.
Params: client — Authenticated AIMA client; userId — UUID; document — document data including required documentType
Returns: Promise<DocumentFull>
getUserDocuments
getUserDocuments(
client: Client,
userId: string,
types?: PersonalInformationDocumentType[]
): Promise<DocumentSummary>Returns all documents for a user. userId must be a UUID. types currently only supports 'DOCUMENT_NUMBER_1'.
Params: client — Authenticated AIMA client; userId — UUID; types — optional filter
Returns: Promise<DocumentSummary>
updateDocumentStatus
updateDocumentStatus(
client: Client,
userId: string,
documentId: number,
document: DocumentStatusReview
): Promise<DocumentFull>Updates the review status of a document. userId must be a UUID; documentId must be a non-negative integer.
Params: client — Authenticated AIMA client; userId — UUID; documentId — non-negative integer; document — status and reviewer
Returns: Promise<DocumentFull>
deleteDocument
deleteDocument(client: Client, userId: string, documentId: number): Promise<void>Deletes a document. userId must be a UUID; documentId must be a positive integer.
Params: client — Authenticated AIMA client; userId — UUID; documentId — positive integer
Returns: Promise<void>
Types
DocumentStatus
type DocumentStatus = 'MISSING' | 'VALID' | 'INVALID' | 'EXPIRED' | 'PENDING_REVIEW';DocumentFull
interface DocumentFull {
id: number;
fleetId: string;
userId: string;
documentType: DocumentType;
documentNumber?: string;
expirationDate?: string;
files: FileUrl[];
uploadUrls: FileUrl[];
status: DocumentStatus;
reviewer?: string;
issuingCountry?: string;
issuingOffice?: string;
issuingDate?: string;
dlClass?: string;
issuingSubdivision?: string;
}DocumentBody
Partial of DocumentFull (excluding id, fleetId, documentType, files, uploadUrls, status, reviewer) with documentType: string as a required field.
DocumentStatusReview
interface DocumentStatusReview {
status: DocumentStatus;
reviewer: string;
}DocumentSummary
interface DocumentSummary {
documentTypes: DocumentType[];
documents: DocumentFull[];
documentByService: DocumentByService[];
documentByFranchise: DocumentByFranchise[] | null;
}Also exports: DocumentType, FileUrl, DocumentByService, DocumentByFranchise, PersonalInformationDocumentType, PersonalInformationDocument.
