UNPKG

dbl-coins-invest

Version:

Sharade DBL package over other coins invest services

80 lines (65 loc) 2.14 kB
import { Investment, Portfolio, User, Account } from "../mysqldb/models"; import { Observable } from 'rxjs/Observable' import { NotificationModel } from './schemas/notifications.schema'; const callback = (observer, error, response) => { if (!!error) { observer.error(response); } else { observer.next(response); } observer.complete(); }; export default class AlertsService { constructor(userSub) { if (!userSub) throw new Error('userSub have to be provided!!!!'); this.userSub = userSub; this.model = Account; } getAll() { return Observable.create((observer) => { NotificationModel.scan('userSub').eq(this.userSub) .exec(callback.bind(null, observer)) }) } create(data) { return Observable.create((observer) => { NotificationModel.create(data, callback.bind(null, observer)) }) } getById(alertId) { return Observable.create((observer) => { NotificationModel.get({id: alertId, userSub: this.userSub}, callback.bind(null, observer)) }) } getByType(type) { return Observable.create((observer) => { NotificationModel .query('type') .eq(type) .where('userSub') .eq(this.userSub) .exec(callback.bind(null, observer)) }) } update(...args) { return Observable.create((observer) => { NotificationModel.update.call(NotificationModel, ...args, callback.bind(null, observer)) }) } delete(object) { return Observable.create((observer) => { NotificationModel.delete(object, callback.bind(null, observer)) }) } batchDelete(objects) { return Observable.create((observer) => { NotificationModel.batchDelete(objects, callback.bind(null, observer)) }) } batchPut(data) { return Observable.create((observer) => { NotificationModel.batchPut(data, callback.bind(null, observer)); }) } }