abstruse
Version:
Abstruse CI
34 lines (29 loc) • 783 B
text/typescript
import { Log } from './model';
export interface LogType {
type: 'info' | 'warning' | 'error';
message: string;
}
export function insertLog(data: LogType): Promise<any> {
return new Promise((resolve, reject) => {
new Log(data).save(null, { method: 'insert' })
.then(log => !log ? reject(log) : resolve(log.toJSON()));
});
}
export function getLogs(
limit: number,
offset: number,
type?: 'all' | 'info' | 'warning' | 'error'
): Promise<any[]> {
return new Promise((resolve, reject) => {
new Log().query(q => {
if (type !== 'all') {
q.where('type', type);
}
q.orderBy('id', 'desc');
q.limit(limit);
q.offset(offset);
})
.fetchAll()
.then(logs => !logs ? reject(logs) : resolve(logs.toJSON()));
});
}