coddyger
Version:
Coddyger est une bibliothèque JavaScript/TypeScript qui fournit des fonctions communes et des plugins pour la gestion des données, la communication entre services, et des utilitaires avancés pour le développement d'applications.
113 lines (99 loc) • 3.86 kB
text/typescript
import { defines } from "../globals";
import { IData } from "../interface";
export default class Controller {
readonly dao: IData<any>;
readonly daoInterface: IData<any>;
constructor(dao: any) {
this.dao = new dao();
}
async save(item: any): Promise<any> {
try {
const q: any = await this.dao.save(item);
return { status: defines.status.requestOK, message: "Success", data: q };
} catch (error) {
return { status: defines.status.serverError, message: error.message, data: null };
}
}
async saveMany(items: any): Promise<any> {
try {
const q: any = await this.dao.saveMany(items);
return { status: defines.status.requestOK, message: "Success", data: q };
} catch (error) {
return { status: defines.status.serverError, message: error.message, data: null };
}
}
async update(params: any, item: any): Promise<any> {
try {
const q: any = await this.dao.update(params, item);
return { status: defines.status.requestOK, message: "Success", data: q };
} catch (error) {
return { status: defines.status.serverError, message: error.message, data: null };
}
}
async updateMany(params: any, item: any): Promise<any> {
try {
const q: any = await this.dao.updateMany(params, item);
return { status: defines.status.requestOK, message: "Success", data: q };
} catch (error) {
return { status: defines.status.serverError, message: error.message, data: null };
}
}
async select(params?: any): Promise<any> {
try {
let q: any = await this.dao.select(params);
const rows: any[] = q.rows;
delete q.rows;
return { status: defines.status.requestOK, message: q, data: rows || [] };
} catch (error) {
return { status: defines.status.serverError, message: error.message, data: [] };
}
}
async selectOne(params: any, fields?: string): Promise<any> {
try {
const q: any = await this.dao.selectOne(params, fields);
return { status: defines.status.requestOK, message: "Success", data: q };
} catch (error) {
return { status: defines.status.serverError, message: error.message, data: null };
}
}
async selectLatest(status?: string): Promise<any> {
try {
const q: any = await this.dao.selectLatest(status);
return { status: defines.status.requestOK, message: "Success", data: q };
} catch (error) {
return { status: defines.status.serverError, message: error.message, data: null };
}
}
async count(params: any): Promise<any> {
try {
const q: any = await this.dao.count(params);
return { status: defines.status.requestOK, message: "Success", data: q };
} catch (error) {
return { status: defines.status.serverError, message: error.message, data: null };
}
}
async selectHug(params?: any): Promise<any> {
try {
const q: any = await this.dao.selectHug(params);
return { status: defines.status.requestOK, message: "Success", data: q };
} catch (error) {
return { status: defines.status.serverError, message: error.message, data: null };
}
}
async remove(params: any): Promise<any> {
try {
await this.dao.remove(params);
return { status: defines.status.requestOK, message: "Success", data: null };
} catch (error) {
return { status: defines.status.serverError, message: error.message, data: null };
}
}
async removeMany(params: any): Promise<any> {
try {
await this.dao.removeMany(params);
return { status: defines.status.requestOK, message: "Success", data: null };
} catch (error) {
return { status: defines.status.serverError, message: error.message, data: null };
}
}
}