@dxdeveloperexperience/hygie
Version:
Hygie is an easy-to-use Open-Source REST API allowing you to interact with GIT events. This NestJS API expose a set of customizable rules to automate your project's life cycle.
62 lines (57 loc) • 1.66 kB
text/typescript
/**
* Define all data sources.
* ie: envs files, rules files, etc
*/
export enum SourceEnum {
Envs = 'Envs',
Rules = 'Rules',
Crons = 'Crons',
EnvsVar = 'EnvsVar',
}
/**
* Interface to implements for each Data Provider/Storage.
* ie: file system storage, database, etc
*/
export interface DataAccessInterface {
/**
* Read data from the Data Storage
* @param source data source (env, rule, ...)
* @param path data path
*/
readData(source: SourceEnum, path: string): Promise<any>;
/**
* Write data into the Data Storage
* @param source data source (env, rule, ...)
* @param path data path
* @param data data to write
*/
writeData(source: SourceEnum, path: string, data: any): Promise<any>;
/**
* Delete data from the Data Storage
* @param source data source (env, rule, ...)
* @param path data path
*/
deleteData(source: SourceEnum, path: string): Promise<any>;
/**
* Check if data already exist into the Data Storage
* @param source data source (env, rule, ...)
* @param path data path
*/
checkIfExist(source: SourceEnum, path: string): Promise<boolean>;
/**
* Read all collection data from the Data Storage
* @param source data source (env, rules, ...)
* @param path collection path
*/
readCollection(source: SourceEnum, path: string): Promise<any>;
/**
* Remove all collection data from the Data Storage
* @param source data source (env, rules, ...)
* @param path collection path
*/
removeCollection(source: SourceEnum, path: string): Promise<boolean>;
/**
* Open connection with the Data Storage
*/
connect(): Promise<boolean>;
}