UNPKG

@imbricate/core

Version:

Imbricate Core, Notebook for Engineers

34 lines (33 loc) 3.22 kB
/** * @author WMXPY * @namespace Database_BaseClass * @description Full Feature */ import { ImbricateCommonQueryOriginActionsOutcome, ImbricateCommonQueryOriginActionsQuery, ImbricateOriginActionInput, ImbricateOriginActionOutcome } from "../../common/action"; import { ImbricatePropertiesDrafter } from "../../property/map"; import { DatabaseAnnotationValue, DatabaseAnnotations, DatabaseEditRecord, ImbricateDatabaseAuditOptions, ImbricateDocumentQuery } from "../definition"; import { IMBRICATE_DATABASE_FEATURE } from "../feature"; import { IImbricateDatabase } from "../interface"; import { ImbricateDatabaseAddEditRecordsOutcome, ImbricateDatabaseCountDocumentsOutcome, ImbricateDatabaseCreateDocumentOutcome, ImbricateDatabaseDeleteAnnotationOutcome, ImbricateDatabaseGetDocumentOutcome, ImbricateDatabaseGetEditRecordsOutcome, ImbricateDatabasePutAnnotationOutcome, ImbricateDatabasePutSchemaOutcome, ImbricateDatabaseQueryDocumentsOutcome, ImbricateDatabaseRemoveDocumentOutcome } from "../outcome"; import { ImbricateDatabaseSchema } from "../schema"; import { ImbricateDatabaseFullFeatureWithActionBase } from "./full-feature-with-action"; export declare abstract class ImbricateDatabaseFullFeatureBase extends ImbricateDatabaseFullFeatureWithActionBase implements IImbricateDatabase { abstract readonly uniqueIdentifier: string; abstract readonly databaseName: string; abstract readonly databaseVersion: string; abstract readonly schema: ImbricateDatabaseSchema; abstract readonly annotations: DatabaseAnnotations; readonly supportedFeatures: IMBRICATE_DATABASE_FEATURE[]; abstract putSchema(schema: ImbricateDatabaseSchema, auditOptions?: ImbricateDatabaseAuditOptions): PromiseLike<ImbricateDatabasePutSchemaOutcome>; abstract createDocument(propertiesDrafter: ImbricatePropertiesDrafter, auditOptions?: ImbricateDatabaseAuditOptions): PromiseLike<ImbricateDatabaseCreateDocumentOutcome>; abstract getDocument(uniqueIdentifier: string): PromiseLike<ImbricateDatabaseGetDocumentOutcome>; abstract queryDocuments(query: ImbricateDocumentQuery): PromiseLike<ImbricateDatabaseQueryDocumentsOutcome>; abstract countDocuments(query: ImbricateDocumentQuery): PromiseLike<ImbricateDatabaseCountDocumentsOutcome>; abstract removeDocument(uniqueIdentifier: string, auditOptions?: ImbricateDatabaseAuditOptions): PromiseLike<ImbricateDatabaseRemoveDocumentOutcome>; abstract putAnnotation(namespace: string, identifier: string, value: DatabaseAnnotationValue, auditOptions?: ImbricateDatabaseAuditOptions): PromiseLike<ImbricateDatabasePutAnnotationOutcome>; abstract deleteAnnotation(namespace: string, identifier: string, auditOptions?: ImbricateDatabaseAuditOptions): PromiseLike<ImbricateDatabaseDeleteAnnotationOutcome>; abstract addEditRecords(records: DatabaseEditRecord[]): PromiseLike<ImbricateDatabaseAddEditRecordsOutcome>; abstract getEditRecords(): PromiseLike<ImbricateDatabaseGetEditRecordsOutcome>; queryOriginActions(_query: ImbricateCommonQueryOriginActionsQuery): PromiseLike<ImbricateCommonQueryOriginActionsOutcome>; executeOriginAction(_input: ImbricateOriginActionInput): PromiseLike<ImbricateOriginActionOutcome>; }