@intuitionrobotics/permissions
Version:
43 lines (42 loc) • 3.15 kB
TypeScript
import { BaseDB_ApiGenerator } from "@intuitionrobotics/db-api-generator/backend";
import { DB_PermissionAccessLevel, DB_PermissionApi, DB_PermissionDomain, DB_PermissionProject, Request_CreateGroup } from "../_imports";
import { TypeValidator } from "@intuitionrobotics/ts-common";
import { FirestoreTransaction } from "@intuitionrobotics/firebase/backend";
import { Clause_Where } from "@intuitionrobotics/firebase";
import { ExpressRequest, ServerApi } from "@intuitionrobotics/thunderstorm/backend";
export declare const validateProjectName: import("@intuitionrobotics/ts-common").Validator<string>;
export declare const validateStringWithDashesAndSlash: import("@intuitionrobotics/ts-common").Validator<string>;
export declare class ProjectDB_Class extends BaseDB_ApiGenerator<DB_PermissionProject> {
static _validator: TypeValidator<DB_PermissionProject>;
constructor();
protected preUpsertProcessing(transaction: FirestoreTransaction, dbInstance: DB_PermissionProject, request?: ExpressRequest): Promise<void>;
apis(pathPart?: string): ServerApi<any>[];
}
export declare class DomainDB_Class extends BaseDB_ApiGenerator<DB_PermissionDomain> {
static _validator: TypeValidator<DB_PermissionDomain>;
constructor();
protected assertDeletion(transaction: FirestoreTransaction, dbInstance: DB_PermissionDomain): Promise<void>;
protected preUpsertProcessing(transaction: FirestoreTransaction, dbInstance: DB_PermissionDomain, request?: ExpressRequest): Promise<void>;
}
export declare class LevelDB_Class extends BaseDB_ApiGenerator<DB_PermissionAccessLevel> {
static _validator: TypeValidator<DB_PermissionAccessLevel>;
constructor();
protected internalFilter(item: DB_PermissionAccessLevel): Clause_Where<DB_PermissionAccessLevel>[];
protected preUpsertProcessing(transaction: FirestoreTransaction, dbInstance: DB_PermissionAccessLevel, request?: ExpressRequest): Promise<void>;
protected upsertImpl_Read(transaction: FirestoreTransaction, dbInstance: DB_PermissionAccessLevel, request: ExpressRequest): Promise<() => DB_PermissionAccessLevel>;
protected assertDeletion(transaction: FirestoreTransaction, dbInstance: DB_PermissionAccessLevel): Promise<void>;
setUpdatedLevel(dbLevel: DB_PermissionAccessLevel, units: Request_CreateGroup[]): void;
}
export declare class ApiDB_Class extends BaseDB_ApiGenerator<DB_PermissionApi> {
static _validator: TypeValidator<DB_PermissionApi>;
constructor();
protected externalFilter(item: DB_PermissionApi): Clause_Where<DB_PermissionApi>;
protected internalFilter(item: DB_PermissionApi): Clause_Where<DB_PermissionApi>[];
protected preUpsertProcessing(transaction: FirestoreTransaction, dbInstance: DB_PermissionApi, request?: ExpressRequest): Promise<void>;
registerApis(projectId: string, routes: string[]): Promise<DB_PermissionApi[]>;
apis(pathPart?: string): ServerApi<any>[];
}
export declare const ProjectPermissionsDB: ProjectDB_Class;
export declare const DomainPermissionsDB: DomainDB_Class;
export declare const AccessLevelPermissionsDB: LevelDB_Class;
export declare const ApiPermissionsDB: ApiDB_Class;