UNPKG

mysql-live

Version:

Brings the server.publish and client.subscribe for live updates on mysql database. The only one Live Collections.

41 lines (40 loc) 1.96 kB
/// <reference path="../../typings/socket.io/socket.io.d.ts" /> /// <reference path="../../typings/lodash/lodash.d.ts" /> import { Cursor } from "./LiveStore"; import { CriteriaBuilder } from "node-mysql-wrapper"; export declare type AllowOptionsType = { subscribe?: (socket: SocketIO.Socket, subscriptionName: string) => boolean; insert?: (socket: SocketIO.Socket, object: any) => boolean; update?: (socket: SocketIO.Socket, object: any) => boolean; remove?: (socket: SocketIO.Socket, primaryKey: string | number) => boolean; }; export declare class Collection { name: string; table: string; primaryKeyColumn: string; options: AllowOptionsType; disallowOptions: string[]; private databaseTable; private __single_item_collection__; lastFindCriteria: any; constructor(collectionName: string, tableName: string, isJustOneObject?: boolean); isObject(): boolean; setDatabaseTable(table: NodeMysqlWrapper.Table<any>): void; allow(options: AllowOptionsType): void; deny(options: AllowOptionsType): void; disallow(options: AllowOptionsType): void; private processCriteria(criteria, single?); find(criteria?: any): Cursor; findSingle(criteria?: any): Cursor; noop(): Cursor; selector(): CriteriaBuilder<any>; fetch(criteriaRawJsObject?: any, callback?: (_results: any[]) => any): Promise<any[]>; fetchSingle(criteriaRawJsObject: any, callback?: (_result: any) => any): Promise<any>; save(criteriaRawJsObject: any, callback?: (_result: any) => any): Promise<any>; insert(criteriaRawJsObject: any, callback?: (_result: any) => any): Promise<any>; update(criteriaRawJsObject: any, callback?: (_result: any) => any): Promise<any>; remove(criteriaOrID: any | number | string, callback?: (_result: NodeMysqlWrapper.DeleteAnswer) => any): Promise<NodeMysqlWrapper.DeleteAnswer>; } export interface CollectionDictionary { [name: string]: Collection; }