@terrencecrowley/ot-js
Version:
Javascript OT library
99 lines (98 loc) • 2.92 kB
TypeScript
export declare const ESuccess: number;
export declare const EFail: number;
export declare const EFull: number;
export declare const ERetry: number;
export declare const ENoSession: number;
export declare const EClockSeen: number;
export declare const EClockFailure: number;
export declare const EClockReset: number;
export declare const ENoUser: number;
export declare const EBadRequest: number;
export declare const ELoadFailed: number;
export declare const ENoPerm: number;
export declare const ENoAccess: number;
export declare const EMaintenance: number;
export declare const FilterMyMaps: number;
export declare const FilterSharedWithMe: number;
export declare const FilterPublic: number;
export declare const FilterRecent: number;
export declare const FilterTrash: number;
export declare const FilterCount: number;
export declare type Filter = number;
export declare const PermNone: number;
export declare const PermRead: number;
export declare const PermWrite: number;
export declare const PermOwner: number;
export declare const PermAdmin: number;
export declare const PermEdit: number;
export declare const PermAll: number;
export declare type Permission = number;
export declare const ServerStateRunning: number;
export declare const ServerStateMaintenance: number;
export declare type ServerState = number;
export interface AccessSessionMap {
[key: string]: string;
}
export interface AccessMap {
[key: string]: Access;
}
export interface Access {
userIDs: string[];
perm: Permission;
}
export interface Revision {
id: string;
modifyTime: any;
label?: string;
}
export declare type RevisionList = Revision[];
export interface SessionUser {
id: string;
name: string;
}
export interface ActiveUser {
id: string;
name: string;
active: number;
}
export interface SessionUserIndex {
[key: string]: SessionUser;
}
export interface SessionUserList {
[key: string]: number;
}
export interface SessionProps {
id: string;
name: string;
type: string;
description: string;
createdBy: string;
lastActive: any;
createTime: any;
modifyTime: any;
clientCount: number;
maxClients: number;
requestCount: number;
deleted: boolean;
published: boolean;
loadFailed: boolean;
accessMap: AccessMap;
revisions: RevisionList;
}
export interface SessionUpdateProps {
id: string;
deleted?: boolean;
published?: boolean;
name?: string;
description?: string;
access?: Access;
accessUpdate?: AccessMap;
restore?: string;
revision?: Revision;
}
export interface SessionsIndex {
[key: string]: SessionProps;
}
export declare function accessFindUser(a: Access, uid: string): Permission;
export declare function accessMapFindUser(accessMap: AccessMap, uid: string, aid?: string): Permission;
export declare function SessionFilterFunction(p: SessionProps, uid: string, f: number): boolean;