backendless
Version:
Backendless JavaScript SDK for Node.js and the browser
1,454 lines (1,000 loc) • 72.4 kB
TypeScript
/**
* @global
* @namespace Backendless
*/
declare module Backendless {
type JSONValue = string | number | boolean | { [x: string]: JSONValue } | Array<JSONValue>
let debugMode: boolean;
let serverURL: string;
let automationServerURL: string;
let appId: string;
let apiKey: string;
let appPath: string;
let automationPath: string;
let domain: string;
let apiURI: string;
let XMLHttpRequest: any;
let browser: {
browser: string;
version: string;
};
/** @deprecated **/
let applicationId: string;
/** @deprecated **/
let secretKey: string;
/**
* @dictionary
*/
let PublishOptionsHeaders: { [key: string]: string; };
interface InitAppConfig {
appId?: string;
apiKey?: string;
standalone?: boolean;
serverURL?: string;
automationServerURL?: string;
domain?: string;
debugMode?: boolean;
XMLHttpRequest?: XMLHttpRequest;
}
/**
* @public
* @type: Function
**/
function initApp(appId: string, apiKey: string): Object;
function initApp(config: InitAppConfig): Object;
function initApp(domain: string): Object;
/**
* @public
* @type: Function
**/
function setupDevice(deviceProps: Object): void;
/**
* @public
* @namespace Backendless.LocalCache
**/
namespace LocalCache {
function set(key: string, value?: any): void;
function remove(key: string): void;
function get<T = any>(key: string): T;
}
/**
* @public
* @namespace Backendless.Data
*/
namespace Data {
/**
* @private
*/
interface PersistencePermissionI {
/** @deprecated */
grantUser(userId: string, dataItem: ExistDataItemI): Promise<Backendless.ExistDataItemI>;
/** @deprecated */
denyUser(userId: string, dataItem: Backendless.ExistDataItemI): Promise<Backendless.ExistDataItemI>;
/** @deprecated */
grantRole(roleName: string, dataItem: Backendless.ExistDataItemI): Promise<Backendless.ExistDataItemI>;
/** @deprecated */
denyRole(roleName: string, dataItem: Backendless.ExistDataItemI): Promise<Backendless.ExistDataItemI>;
/** @deprecated */
grant(dataItem: Backendless.ExistDataItemI): Promise<Backendless.ExistDataItemI>;
/** @deprecated */
deny(dataItem: Backendless.ExistDataItemI): Promise<Backendless.ExistDataItemI>;
grantForUser(userId: string, dataItem: ExistDataItemI): Promise<Backendless.ExistDataItemI>;
denyForUser(userId: string, dataItem: ExistDataItemI): Promise<Backendless.ExistDataItemI>;
grantForRole(roleName: string, dataItem: Backendless.ExistDataItemI): Promise<Backendless.ExistDataItemI>;
denyForRole(roleName: string, dataItem: Backendless.ExistDataItemI): Promise<Backendless.ExistDataItemI>;
grantForAllUsers(dataItem: ExistDataItemI): Promise<Backendless.ExistDataItemI>;
denyForAllUsers(dataItem: ExistDataItemI): Promise<Backendless.ExistDataItemI>;
grantForAllRoles(dataItem: Backendless.ExistDataItemI): Promise<Backendless.ExistDataItemI>;
denyForAllRoles(dataItem: Backendless.ExistDataItemI): Promise<Backendless.ExistDataItemI>;
}
/**
* @public
* @interface Backendless.Data.Permissions
*/
namespace Permissions {
const FIND: PersistencePermissionI;
const REMOVE: PersistencePermissionI;
const UPDATE: PersistencePermissionI;
}
namespace SpatialReferenceSystem {
class SpatialType {
constructor(spatialType: { srsId: string, name: string });
getSRSId(): string;
getName(): string;
toString(): string;
}
const CARTESIAN: SpatialType;
const PULKOVO_1995: SpatialType;
const WGS84: SpatialType;
const WGS84_PSEUDO_MERCATOR: SpatialType;
const WGS84_WORLD_MERCATOR: SpatialType;
const DEFAULT: SpatialType;
function valueBySRSId(srsId: string): SpatialType;
}
/**
* @public
* @class Backendless.Data.Geometry
*/
class Geometry {
constructor(srs: SpatialReferenceSystem.SpatialType);
static fromWKT(wellKnownText: string, srs?: SpatialReferenceSystem.SpatialType): Point | LineString | Polygon;
static fromGeoJSON(geoJSON: string, srs?: SpatialReferenceSystem.SpatialType): Point | LineString | Polygon;
getSRS(): SpatialReferenceSystem.SpatialType;
asGeoJSON(): object;
asWKT(): string;
}
/**
* @public
* @class Backendless.Data.Point
*/
class Point extends Geometry {
constructor(srs?: SpatialReferenceSystem.SpatialType);
getX(): Number;
getY(): Number;
getLongitude(): Number;
getLatitude(): Number;
setX(x: Number): Point;
setY(y: Number): Point;
setLongitude(x: Number): Point;
setLatitude(y: Number): Point;
setSrs(srs: Object): Point;
getGeojsonType(): string;
getWktType(): string;
wktCoordinatePairs(): string;
jsonCoordinatePairs(): string;
equals(o: Object): boolean;
}
/**
* @public
* @class Backendless.Data.LineString
*/
class LineString extends Geometry {
constructor(points: Point[], srs?: SpatialReferenceSystem.SpatialType);
getPoints(): Point[];
setPoints(points: Point[]): LineString;
getGeojsonType(): string;
getWktType(): string;
jsonCoordinatePairs(): string;
wktCoordinatePairs(): string;
}
/**
* @public
* @class Backendless.Data.Polygon
*/
class Polygon extends Geometry {
constructor(boundary: LineString | Point[], holes?: LineString[], srs?: SpatialReferenceSystem.SpatialType);
getBoundary(): LineString;
setBoundary(boundary: LineString | Point[]): Polygon;
getHoles(): LineString[];
setHoles(holes: LineString[]): Polygon;
getGeojsonType(): string;
getWktType(): string;
jsonCoordinatePairs(): string;
wktCoordinatePairs(): string;
}
/**
* @public
* @class Backendless.Data.GeoJSONParser
*/
class GeoJSONParser {
constructor(srs: SpatialReferenceSystem.SpatialType);
read(geoJSON: string): Point | LineString | Polygon;
}
/**
* @public
* @class Backendless.Data.WKTParser
*/
class WKTParser {
constructor(srs: SpatialReferenceSystem.SpatialType);
read(wktString: string): Point | LineString | Polygon;
}
function of(model: string | Object | Function): Backendless.DataStore;
function save(model: Backendless.DataStore | string, data: Object): Promise<Object>;
function deepSave(model: Backendless.DataStore | string, data: Object): Promise<Object>;
function getView(viewName: string, whereClause?: string, pageSize?: number, offset?: number): Promise<Object>;
function describe(model: string | Object | Function): Promise<Object>;
function getTableNameById(tableId: string): Promise<string>;
function mapTableToClass(tableName: string, clientClass: Function): void;
function mapTableToClass(clientClass: Function): void;
}
/**
* @public
* @type: Function
**/
function Hive(hiveName: string): Backendless.Hive.DataHive;
/**
* @public
* @namespace Backendless.Hive
*/
namespace Hive {
/**
* @public
* @type: Function
*/
function getNames(): Array<string>
/**
* @public
* @class Backendless.Hive.DataHive
* @constructor
*/
class DataHive {
constructor(hiveName: string, appContext: object);
create(): Promise<void>
delete(): Promise<void>
rename(newName: string): Promise<void>
KeyValueStore: KeyValueStore;
ListStore: ListStore;
MapStore: MapStore;
SetStore: SetStore;
SortedSetStore: SortedSetStore;
}
interface StoreKeysOptionsI {
filterPattern?: string;
cursor?: number;
pageSize?: number;
}
interface StoreKeysResultI {
keys: string[];
cursorId: string;
}
/**
* @private
*/
interface HiveStore {
keys(options?: StoreKeysOptionsI): Promise<StoreKeysResultI>;
delete(keys: Array<string>): Promise<number>;
exist(keys: Array<string>): Promise<number>;
touch(keys: Array<string>): Promise<void>;
}
/**
* @private
*/
interface hiveStore {
delete(): Promise<number>;
rename(newKeyName: string, overwrite?: boolean): Promise<void>;
exist(): Promise<boolean>;
getExpiration(): Promise<number>;
clearExpiration(): Promise<void>;
touch(): Promise<void>;
secondsSinceLastOperation(): Promise<number>;
expireAfter(ttl: number): Promise<void>;
expireAt(timestamp: number): Promise<void>;
}
interface KeyValueSetKeyOptionsI {
ttl?: Number; // in seconds
expireAt?: Number; // timestamp
condition?: 'IfExists' | 'IfNotExists' | 'Always'; //if not provided set anyway
}
/**
* @public
*/
interface KeyValueStore extends HiveStore {
(keyName: string): keyValueStore
get(keys: Array<string>): Promise<object>;
set(key: string, value: JSONValue, options?: KeyValueSetKeyOptionsI): Promise<boolean>;
set(keysMap: object): Promise<boolean>;
}
/**
* @public
*/
interface keyValueStore extends hiveStore {
get(): Promise<JSONValue | null>;
set(value: JSONValue, options?: KeyValueSetKeyOptionsI): Promise<boolean>;
increment(value: number): Promise<number>;
decrement(value: number): Promise<number>;
}
/**
* @public
*/
interface ListStore extends HiveStore {
(keyName: string): listStore
}
/**
* @public
*/
interface listStore extends hiveStore {
get(): Promise<Array<JSONValue>>
get(index: number): Promise<JSONValue | null>
get(indexFrom: number, indexTo: number): Promise<Array<JSONValue>>
insertBefore(valueToInsert: JSONValue, anchorValue: JSONValue): Promise<number>;
insertAfter(valueToInsert: JSONValue, anchorValue: JSONValue): Promise<number>;
length(): Promise<number>;
addFirstValue(value: JSONValue): Promise<number>
addFirstValues(values: Array<JSONValue>): Promise<number>
addLastValue(value: JSONValue): Promise<number>
addLastValues(values: Array<JSONValue>): Promise<number>
deleteFirst(): Promise<Array<JSONValue>>
deleteFirst(count: number): Promise<Array<JSONValue>>
deleteLast(): Promise<Array<JSONValue>>
deleteLast(count: number): Promise<Array<JSONValue>>
deleteValue(value: JSONValue, count?: number): Promise<number>
}
/**
* @public
*/
interface MapStore extends HiveStore {
(keyName: string): mapStore
}
/**
* @public
*/
interface mapStore extends hiveStore {
get(): Promise<object>;
get(key: string): Promise<object>;
get(keys: Array<string>): Promise<object>;
getValue(key: string): Promise<JSONValue | null>;
keyExists(key: string): Promise<boolean>;
length(): Promise<number>;
keys(): Promise<Array<string>>;
values(): Promise<Array<JSONValue>>;
set(data: object): Promise<number>;
set(key: string, value: JSONValue): Promise<boolean>;
setWithOverwrite(key: string, value: JSONValue, overwrite?: boolean): Promise<boolean>;
increment(key: string, count?: number): Promise<number>;
decrement(key: string, count?: number): Promise<number>;
deleteKeys(key: string): Promise<number>;
deleteKeys(keys: Array<string>): Promise<number>;
}
/**
* @public
*/
interface SetStore extends HiveStore {
(keyName: string): setStore;
difference(storeKeys: Array<string>): Promise<Array<JSONValue>>;
intersection(storeKeys: Array<string>): Promise<Array<JSONValue>>;
union(storeKeys: Array<string>): Promise<Array<JSONValue>>;
}
/**
* @public
*/
interface setStore extends hiveStore {
get(): Promise<Array<JSONValue>>;
getRandom(count?: number): Promise<Array<JSONValue>>;
getRandomAndDelete(count?: number): Promise<Array<JSONValue>>;
addValue(value: JSONValue): Promise<number>;
addValues(values: Array<JSONValue>): Promise<number>;
deleteValue(value: JSONValue): Promise<number>;
deleteValues(values: Array<JSONValue>): Promise<number>;
isValueMember(value: JSONValue): Promise<Array<boolean>>;
isValuesMembers(values: Array<JSONValue>): Promise<Array<boolean>>;
length(): Promise<number>;
}
type SortedSetItem = [number, JSONValue]
type SortedSetBound = 'Include' | 'Exclude' | 'Infinity'
interface SortedSetItemOptionsI {
duplicateBehaviour?: 'OnlyUpdate' | 'AlwaysAdd';
scoreUpdateMode?: 'Greater' | 'Less';
resultType?: 'NewAdded' | 'TotalChanged';
}
interface SortedSetFilterI {
minScore?: number,
maxScore?: number,
minBound?: SortedSetBound,
maxBound?: SortedSetBound,
}
/**
* @public
*/
interface SortedSetStore extends HiveStore {
(keyName: string): sortedSetStore
difference(storeKeys: Array<string>): Promise<Array<JSONValue>>;
intersection(storeKeys: Array<string>): Promise<Array<JSONValue>>;
union(storeKeys: Array<string>): Promise<Array<JSONValue>>;
}
/**
* @public
*/
interface sortedSetStore extends hiveStore {
add(items: Array<SortedSetItem>, options?: SortedSetItemOptionsI): Promise<number>
incrementScore(value: JSONValue, scoreValue: number): Promise<number>
decrementScore(value: JSONValue, scoreValue: number): Promise<number>
getAndDeleteMaxScore(count?: number): Promise<Array<SortedSetItem>>
getAndDeleteMinScore(count?: number): Promise<Array<SortedSetItem>>
getRandom<T = SortedSetItem | JSONValue>(options?: { count?: number, withScores?: boolean }): Promise<Array<T>>
getScore(value: JSONValue): Promise<number | null>
getRank(value: JSONValue, reverse?: boolean): Promise<number | null>
getRangeByRank<T = SortedSetItem | JSONValue>(startRank: number, stopRank: number, options?: {
reverse?: boolean,
withScores?: boolean
}): Promise<Array<T>>
getRangeByScore<T = SortedSetItem | JSONValue>(options?: {
minScore?: number,
maxScore?: number,
minBound?: SortedSetBound,
maxBound?: SortedSetBound,
offset?: number,
pageSize?: number
reverse?: boolean,
withScores?: boolean
}): Promise<Array<T>>
deleteValue(value: JSONValue): Promise<number>;
deleteValues(values: Array<JSONValue>): Promise<number>;
deleteValuesByRank(startRank: number, stopRank: number): Promise<number>;
deleteValuesByScore(options?: SortedSetFilterI): Promise<number>;
length(): Promise<number>;
countBetweenScores(options?: SortedSetFilterI): Promise<number>;
}
}
/**
* @public
* @namespace Backendless.Automations
*/
namespace Automations {
/**
* @public
* @type: Function
*/
type Execution = 'any' | 'all' | string
function activateFlow(flowName: string, initialData?: object): Promise<void>
function activateFlowById(flowId: string, initialData?: object): Promise<void>
function activateFlowTrigger(flowName: string, triggerName: string, data?: object): Promise<void>
function activateFlowTriggerById(flowId: string, triggerId: string, data?: object, execution?: Execution): Promise<void>
}
/**
* @public
* @namespace Backendless.UserService
**/
namespace UserService {
let restUrl: string;
let currentUser: Backendless.User;
/**
* @public
* @namespace Backendless.UserService.Utils
*/
namespace Utils {
function getClientUserLocale(): string;
}
function register(user: Backendless.User): Promise<Backendless.User>;
function register<T>(user: T): Promise<T>;
function findByRole<T = Backendless.User>(roleName: string, loadRoles?: boolean, query?: Backendless.DataQueryBuilder | DataQueryI): Promise<T[]>;
function getUserRoles(userId?: string): Promise<string[]>;
function describeUserClass(): Promise<Object[]>;
function restorePassword(email: string): Promise<void>;
function assignRole(identity: string, roleName: string): Promise<void>;
function unassignRole(identity: string, roleName: string): Promise<void>;
function login<T = Backendless.User>(userId: string, stayLoggedIn?: boolean): Promise<T>;
function login<T = Backendless.User>(identity: string, password: string, stayLoggedIn?: boolean): Promise<T>;
function loginAsGuest(stayLoggedIn?: boolean): Promise<Backendless.User>;
function loginAsGuest<T>(stayLoggedIn?: boolean): Promise<T>;
function loggedInUser(): boolean;
function logout(): Promise<void>;
function getCurrentUser<T = Backendless.User>(reload?: boolean): Promise<T>;
function setCurrentUser<T = Backendless.User>(user?: Object, stayLoggedIn?: boolean): T;
function update(user: Backendless.User): Promise<Backendless.User>;
function update<T>(user: T): Promise<T>;
function loginWithFacebook(fields?: Object, permissions?: Object, stayLoggedIn?: boolean): Promise<void>;
function loginWithGooglePlus(fields?: Object, permissions?: Object, container?: HTMLElement, stayLoggedIn?: boolean): Promise<void>;
function loginWithTwitter(fields?: Object, stayLoggedIn?: boolean): Promise<void>;
function loginWithFacebookSdk<T = Backendless.User>(accessToken: String, fieldsMapping: object, stayLoggedIn: boolean): Promise<T>;
function loginWithFacebookSdk<T = Backendless.User>(accessToken: String, fieldsMapping: object): Promise<T>;
function loginWithFacebookSdk<T = Backendless.User>(accessToken: String, stayLoggedIn: boolean): Promise<T>;
function loginWithFacebookSdk<T = Backendless.User>(accessToken: String): Promise<T>;
function loginWithGooglePlusSdk<T = Backendless.User>(accessToken: String, fieldsMapping: object, stayLoggedIn: boolean): Promise<T>;
function loginWithGooglePlusSdk<T = Backendless.User>(accessToken: String, fieldsMapping: object): Promise<T>;
function loginWithGooglePlusSdk<T = Backendless.User>(accessToken: String, stayLoggedIn: boolean): Promise<T>;
function loginWithGooglePlusSdk<T = Backendless.User>(accessToken: String): Promise<T>;
function loginWithOauth2<T = Backendless.User>(providerCode: String, accessToken: String, guestUser?: Backendless.User, fieldsMapping?: object, stayLoggedIn?: boolean): Promise<T>;
function loginWithOauth2<T = Backendless.User>(providerCode: String, accessToken: String, fieldsMapping?: object, stayLoggedIn?: boolean): Promise<T>;
function loginWithOauth2<T = Backendless.User>(providerCode: String, accessToken: String, stayLoggedIn?: boolean): Promise<T>;
function loginWithOauth1<T = Backendless.User>(providerCode: String, accessToken: String, accessTokenSecret: String, guestUser?: Backendless.User, fieldsMapping?: object, stayLoggedIn?: boolean): Promise<T>;
function loginWithOauth1<T = Backendless.User>(providerCode: String, accessToken: String, accessTokenSecret: String, fieldsMapping?: object, stayLoggedIn?: boolean): Promise<T>;
function loginWithOauth1<T = Backendless.User>(providerCode: String, accessToken: String, accessTokenSecret: String, stayLoggedIn?: boolean): Promise<T>;
function isValidLogin(): Promise<boolean>;
function verifyPassword(currentPassword: string): Promise<boolean>;
function resendEmailConfirmation(identity: string | number): Promise<void>;
function createEmailConfirmationURL(identity: string | number): Promise<object>;
function enableUser(userId: string | number): Promise<void>;
function disableUser(userId: string | number): Promise<void>;
function getAuthorizationUrlLink(providerCode: string, fieldsMapping?: object, scope?: string, redirect?: boolean, redirectAfterLoginUrl?: string, callbackUrlDomain?: string): Promise<string>;
}
/**
* @public
* @namespace Backendless.Messaging
**/
namespace Messaging {
let restUrl: string;
let channelProperties: Object;
function subscribe(channelName: string): ChannelClass;
function deleteChannel(channelName: string): Promise<object>;
function publish(channelName: string, message: string | Object, publishOptions?: Backendless.PublishOptions, deliveryOptions?: Backendless.DeliveryOptions): Promise<Object>;
function sendEmail(subject: string, bodyParts: Backendless.Bodyparts, recipients: string[], attachments?: string[]): Promise<object>;
function sendEmailFromTemplate(templateName: string, emailEnvelope: Backendless.EmailEnvelope, templateValues?: object, attachments?: string[]): Promise<object>;
function sendEmailFromTemplate(templateName: string, emailEnvelope: Backendless.EmailEnvelope, templateValues?: object): Promise<object>;
function sendEmailFromTemplate(templateName: string, emailEnvelope: Backendless.EmailEnvelope, attachments?: string[]): Promise<object>;
function sendEmailFromTemplate(templateName: string, emailEnvelope: Backendless.EmailEnvelope): Promise<object>;
function cancel(messageId: string): Promise<boolean>;
function registerDevice(deviceToken: string, channels?: string[], expiration?: number | Date): Promise<Object>;
function getRegistrations(): Promise<Object>;
function unregisterDevice(): Promise<Object>;
function getMessageStatus(messageId: string): Promise<boolean>;
function getPushTemplates(deviceType: string): Promise<Object>;
function pushWithTemplate(templateName: string, templateValues?: object): Promise<Object>;
}
/**
* @public
* @namespace Backendless.Management
**/
namespace Management {
/**
* @public
* @interface Backendless.Management.Data
*/
interface Data {
createTable(name: string, columns: Array<object>): Promise<void>;
}
const Data: Data
}
/**
* @public
* @namespace Backendless.Files
**/
namespace Files {
interface FilePermissionI {
/** @deprecated */
grantUser(userId: string, url: string): Promise<boolean>;
/** @deprecated */
grantRole(roleName: string, url: string): Promise<boolean>;
/** @deprecated */
denyUser(userId: string, url: string): Promise<boolean>;
/** @deprecated */
denyRole(roleName: string, url: string): Promise<boolean>;
grantForUser(userId: string, url: string): Promise<boolean>;
denyForUser(userId: string, url: string): Promise<boolean>;
grantForRole(roleName: string, url: string): Promise<boolean>;
denyForRole(roleName: string, url: string): Promise<boolean>;
grantForAllUsers(url: string): Promise<boolean>;
denyForAllUsers(url: string): Promise<boolean>;
grantForAllRoles(url: string): Promise<boolean>;
denyForAllRoles(url: string): Promise<boolean>;
}
/**
* @public
* @namespace Backendless.Files.Permissions
**/
namespace Permissions {
let READ: FilePermissionI;
let DELETE: FilePermissionI;
let WRITE: FilePermissionI;
}
let restUrl: string;
function saveFile(path: string, fileName: string, fileContent: Blob | Buffer | string, overwrite?: boolean): Promise<string>;
// @ts-ignore - file has to be an instance of File in browser env and an instance of ReadStream in nodejs env
function upload(readStream: ReadStream, path: string, overwrite?: boolean): Promise<{ fileURL: string }>;
function upload(file: File, path: string, overwrite?: boolean): Promise<{ fileURL: string }>;
function upload(fileURL: string, path: string, overwrite?: boolean): Promise<{ fileURL: string }>;
function append(filePath: string, fileURL: string): Promise<string>;
function append(filePath: string, fileContent: Blob | Buffer | ArrayBuffer | number[]): Promise<string>;
// @ts-ignore
function append(filePath: string, readStream: ReadStream): Promise<string>;
function append(directoryPath: string, fileName: string, fileURL: string): Promise<string>;
function append(directoryPath: string, fileName: string, fileContent: Blob | Buffer | ArrayBuffer | number[]): Promise<string>;
// @ts-ignore
function append(directoryPath: string, fileName: string, readStream: ReadStream): Promise<string>;
function appendText(directoryPath: string, fileName: string, fileContent: string): Promise<string>;
function appendText(filePath: string, fileContent: string): Promise<string>;
function listing(path: string, pattern?: string, sub?: boolean, pageSize?: number, offset?: number): Promise<Object>;
function getFileCount(path: string, pattern?: string, sub?: boolean, countDirectories?: boolean): Promise<number>;
function renameFile(oldPathName: string, newName: string): Promise<Object>;
function moveFile(sourcePath: string, targetPath: string): Promise<Object>;
function copyFile(sourcePath: string, targetPath: string): Promise<Object>;
function remove(fileURL: string): Promise<number>;
function exists(path: string): Promise<Object>;
function createDirectory(path: string): Promise<void>;
function removeDirectory(path: string): Promise<number>;
}
/**
* @public
* @namespace Backendless.Commerce
**/
namespace Commerce {
let restUrl: string;
function validatePlayPurchase(packageName: string, productId: string, token: string): Promise<Object>;
function cancelPlaySubscription(packageName: string, subscriptionId: string, token: string): Promise<Object>;
function getPlaySubscriptionStatus(packageName: string, subscriptionId: string, token: string): Promise<Object>;
}
/**
* @public
* @namespace Backendless.BL
**/
namespace BL {
let ExecutionTypes: {
SYNC: string,
ASYNC: string,
ASYNC_LOW_PRIORITY: string,
}
export interface CustomServicesI {
invoke(serviceName: string, method: string, parameters?: object): Promise<any>;
invoke(serviceName: string, method: string, parameters: object | null, executionType?: string): Promise<any>;
invoke(serviceName: string, method: string, executionType?: string): Promise<any>;
invoke(serviceName: string, method: string, parameters: object | null, executionType?: string): Promise<any>;
invoke(serviceName: string, method: string, parameters: object | null, options?: { executionType?: string, httpRequestHeaders?: object }): Promise<any>;
}
/**
* @public
* @interface CustomServicesI
* @namespace Backendless.BL.CustomServices
**/
let CustomServices: CustomServicesI;
export interface EventsI {
restUrl: string;
dispatch(eventName: string): Promise<Object>;
dispatch(eventName: string, eventArgs: Object): Promise<Object>;
dispatch(eventName: string, eventArgs: Object, executionType: string): Promise<Object>;
dispatch(eventName: string, executionType: string): Promise<Object>;
}
let Events: EventsI
}
/**
* @public
* @namespace Backendless.Events
**/
let Events: Backendless.BL.EventsI;
/**
* @public
* @namespace Backendless.Cache
**/
namespace Cache {
function put(key: string, value: any, timeToLive?: number): Promise<Object>;
function expireIn(key: string, time: number | Date): Promise<Object>;
function expireAt(key: string, time: number | Date): Promise<Object>;
function contains(key: string): Promise<Object>;
function get(key: string): Promise<Object>;
function remove(key: string): Promise<Object>;
}
/**
* @namespace Backendless.Counters
**/
namespace Counters {
function list(pattern?: string): Promise<string[]>;
function of(counterName: string): Counter;
function get(counterName: string): Promise<number>;
function getAndIncrement(counterName: string): Promise<number>;
function incrementAndGet(counterName: string): Promise<number>;
function getAndDecrement(counterName: string): Promise<number>;
function decrementAndGet(counterName: string): Promise<number>;
function addAndGet(counterName: string, value: number): Promise<number>;
function getAndAdd(counterName: string, value: number): Promise<number>
function compareAndSet(counterName: string, expected: number, updated: number): Promise<number>;
function reset(counterName: string): Promise<number>;
}
/**
* @public
* @namespace Backendless.CustomServices
**/
let CustomServices: Backendless.BL.CustomServicesI;
let APIServices: Backendless.BL.CustomServicesI;
/**
* @public
* @namespace Backendless.Logging
**/
namespace Logging {
let restUrl: string;
let loggers: Object;
let logInfo: Object[];
let messagesCount: number;
let numOfMessages: number;
let timeFrequency: number;
function setLogReportingPolicy(numOfMessages: number, timeFrequencySec: number): void;
function setMessagesLimit(limit: number): void;
function getLogger(name: string): Backendless.Logger;
}
/**
* @public
* @namespace Backendless.RT
**/
namespace RT {
function addConnectEventListener(callback: () => void): void;
function removeConnectEventListener(callback: () => void): void;
function addConnectErrorEventListener(callback: (error: string) => void): void;
function removeConnectErrorEventListener(callback: (error: string) => void): void;
function addDisconnectEventListener(callback: () => void): void;
function removeDisconnectEventListener(callback: () => void): void;
function addReconnectAttemptEventListener(callback: (attempt: number, timeout: number) => void): void;
function removeReconnectAttemptEventListener(callback: (attempt: number, timeout: number) => void): void;
function removeConnectionListeners(): void;
}
/**
* @public
* @class Backendless.User
* @constructor
*/
class User {
___class: string;
objectId?: string;
username?: string;
password?: string;
email?: string;
blUserLocale?: string;
}
interface DataQueryI {
pageSize?: number;
offset?: number;
properties?: Array<string>;
excludeProps?: Array<string>;
where?: string;
having?: string;
sortBy?: Array<string>;
groupBy?: Array<string>;
relations?: Array<string>;
relationsDepth?: number;
relationsPageSize?: number;
fileReferencePrefix?: string;
}
interface RelationsQueryI extends DataQueryI {
relationName: string;
relationModel?: Function;
}
interface GroupQueryI extends DataQueryI {
groupPageSize?: number;
recordsPageSize?: number;
groupDepth?: number;
groupPath?: Array<object>;
}
/**
* @public
* @class Backendless.DataQueryBuilder
* @constructor
*/
class DataQueryBuilder {
static create(): Backendless.DataQueryBuilder;
setPageSize(pageSize: number): this;
getPageSize(): number;
setOffset(offset: number): this;
getOffset(): number;
prepareNextPage(): this;
preparePreviousPage(): this;
getProperties(): Array<string>;
setProperties(properties: string | Array<string>): this;
addProperty(property: string): this;
addProperties(...properties: Array<string | Array<string>>): this;
addAllProperties(): this;
excludeProperty(property: string): this;
excludeProperties(...properties: Array<string | Array<string>>): this;
getWhereClause(): string;
setWhereClause(whereClause: string): this;
getHavingClause(): string;
setHavingClause(havingClause: string): this;
getSortBy(): Array<string>;
setSortBy(sortBy: string | Array<string>): this;
getGroupBy(): Array<string>;
setGroupBy(groupBy: string | Array<string>): this;
getRelated(): Array<string>;
setRelated(relations: string | Array<string>): this;
addRelated(relations: string | Array<string>): this;
getRelationsDepth(): number;
setRelationsDepth(relationsDepth: number): this;
getRelationsPageSize(): number;
setRelationsPageSize(relationsPageSize: number): this;
setFileReferencePrefix(fileReferencePrefix: string): this;
getFileReferencePrefix(): string;
setDistinct(distinct: boolean): this;
getDistinct(): boolean;
build(): Backendless.DataQueryValueI;
toJSON(): DataQueryI;
}
/**
* @public
* @class Backendless.JSONUpdateBuilder
* @constructor
*/
class JSONUpdateBuilder {
static SET(): Backendless.JSONUpdateBuilder;
static INSERT(): Backendless.JSONUpdateBuilder;
static REPLACE(): Backendless.JSONUpdateBuilder;
static REMOVE(): Backendless.JSONRemoveBuilder;
static ARRAY_APPEND(): Backendless.JSONUpdateBuilder;
static ARRAY_INSERT(): Backendless.JSONUpdateBuilder;
addArgument(arg: string, argValue: any): Backendless.JSONUpdateBuilder;
create(): Object;
toJSON(): Object;
}
/**
* @private
* @class Backendless.JSONRemoveBuilder
* @constructor
*/
class JSONRemoveBuilder extends JSONUpdateBuilder {
addArgument(arg: string): Backendless.JSONRemoveBuilder;
}
/**
* @public
* @class Backendless.LoadRelationsQueryBuilder
* @constructor
*/
class LoadRelationsQueryBuilder extends DataQueryBuilder {
static create(): Backendless.LoadRelationsQueryBuilder;
static of(RelationModel: Object): Backendless.LoadRelationsQueryBuilder;
setRelationModel(RelationModel: Object): this;
getRelationModel(): Object;
setRelationName(relationName: string): this;
getRelationName(): string;
toJSON(): RelationsQueryI;
}
/**
* @public
* @class Backendless.GroupQueryBuilder
* @constructor
*/
class GroupQueryBuilder extends DataQueryBuilder {
static create(): Backendless.GroupQueryBuilder;
setGroupPageSize(groupPageSize: number): this;
getGroupPageSize(): number;
setRecordsPageSize(recordsPageSize: number): this;
getRecordsPageSize(): number;
setGroupDepth(groupDepth: number): this;
getGroupDepth(): number;
addGroupPath(groupPath: object): this;
setGroupPath(groupPath: object | Array<object>): this;
getGroupPath(): Array<object>;
toJSON(): GroupQueryI;
}
/**
* @public
* @class Backendless.PublishOptions
* @constructor
*/
class PublishOptions {
publisherId: string;
headers: Object;
/**
* @deprecated
* */
subtopic: string;
constructor(args?: Object);
}
/**
* @public
* @class Backendless.EmailEnvelope
* @constructor
*/
class EmailEnvelope {
addresses: string[];
ccAddresses: string[];
bccAddresses: string[];
query: string | null;
uniqueEmails: boolean;
constructor(data?: Object);
static create(data?: Object): Backendless.EmailEnvelope;
setTo(addresses: string | string[]): Backendless.EmailEnvelope;
addTo(addresses: string | string[]): Backendless.EmailEnvelope;
getTo(): string[];
setCc(addresses: string | string[]): Backendless.EmailEnvelope;
addCc(addresses: string | string[]): Backendless.EmailEnvelope;
getCc(): string[];
setBcc(addresses: string | string[]): Backendless.EmailEnvelope;
addBcc(addresses: string | string[]): Backendless.EmailEnvelope;
getBcc(): string[];
setQuery(query: string): Backendless.EmailEnvelope;
getQuery(): string;
setUniqueEmails(uniqueEmails: boolean): Backendless.EmailEnvelope;
getUniqueEmails(): boolean;
}
/**
* @public
* @class Backendless.DeliveryOptions
* @constructor
*/
class DeliveryOptions {
publishPolicy: string;
pushBroadcast: number;
pushSinglecast: string[];
publishAt: number;
repeatEvery: number;
repeatExpiresAt: number;
constructor(args?: Object);
}
/**
* @public
* @class Backendless.Bodyparts
* @constructor
*/
class Bodyparts {
textmessage: string;
htmlmessage: string;
constructor(args?: Object);
}
/**
* @private
* @class Logger
*/
class Logger {
debug(message: string): void;
info(message: string): void;
warn(message: string, exception?: string): void;
error(message: string, exception?: string): void;
fatal(message: string, exception?: string): void;
trace(message: string): void;
}
interface RTSubscriptionError {
code?: number;
message?: string;
details?: object;
}
interface RTBulkChangesSubscriptionResult {
whereClause?: string;
count?: number;
}
interface RTChangeRelationStatus {
parentObjectId: string;
isConditional: boolean;
whereClause?: string;
children?: string[];
}
/**
* @private
* @class EventHandler
*/
class EventHandler {
addUpsertListener<T = object>(whereClause: string, callback: (obj: T) => void, onError: (error: RTSubscriptionError) => void): Backendless.EventHandler;
addUpsertListener<T = object>(whereClause: string, callback: (obj: T) => void): Backendless.EventHandler;
addUpsertListener<T = object>(callback: (obj: T) => void, onError: (error: RTSubscriptionError) => void): Backendless.EventHandler;
addUpsertListener<T = object>(callback: (obj: T) => void): Backendless.EventHandler;
removeUpsertListeners(whereClause: string): Backendless.EventHandler;
removeUpsertListeners(): Backendless.EventHandler;
removeUpsertListener<T = object>(callback: (obj: T) => void): Backendless.EventHandler;
removeUpsertListener<T = object>(whereClause: string, callback: (obj: T) => void): Backendless.EventHandler;
addCreateListener<T = object>(whereClause: string, callback: (obj: T) => void, onError: (error: RTSubscriptionError) => void): Backendless.EventHandler;
addCreateListener<T = object>(whereClause: string, callback: (obj: T) => void): Backendless.EventHandler;
addCreateListener<T = object>(callback: (obj: T) => void, onError: (error: RTSubscriptionError) => void): Backendless.EventHandler;
addCreateListener<T = object>(callback: (obj: T) => void): Backendless.EventHandler;
removeCreateListeners(whereClause: string): Backendless.EventHandler;
removeCreateListeners(): Backendless.EventHandler;
removeCreateListener<T = object>(callback: (obj: T) => void): Backendless.EventHandler;
addUpdateListener<T = object>(whereClause: string, callback: (obj: T) => void, onError: (error: RTSubscriptionError) => void): Backendless.EventHandler;
addUpdateListener<T = object>(whereClause: string, callback: (obj: T) => void): Backendless.EventHandler;
addUpdateListener<T = object>(callback: (obj: T) => void, onError: (error: RTSubscriptionError) => void): Backendless.EventHandler;
addUpdateListener<T = object>(callback: (obj: T) => void): Backendless.EventHandler;
removeUpdateListeners(whereClause: string): Backendless.EventHandler;
removeUpdateListeners(): Backendless.EventHandler;
removeUpdateListener<T = object>(callback: (obj: T) => void): Backendless.EventHandler;
addDeleteListener<T = object>(whereClause: string, callback: (obj: T) => void, onError: (error: RTSubscriptionError) => void): Backendless.EventHandler;
addDeleteListener<T = object>(whereClause: string, callback: (obj: T) => void): Backendless.EventHandler;
addDeleteListener<T = object>(callback: (obj: T) => void, onError: (error: RTSubscriptionError) => void): Backendless.EventHandler;
addDeleteListener<T = object>(callback: (obj: T) => void): Backendless.EventHandler;
removeDeleteListeners(whereClause: string): Backendless.EventHandler;
removeDeleteListeners(): Backendless.EventHandler;
removeDeleteListener<T = object>(callback: (obj: T) => void): Backendless.EventHandler;
addBulkUpsertListener(callback: (list: string[]) => void, onError: (error: RTSubscriptionError) => void): Backendless.EventHandler;
addBulkUpsertListener(callback: (list: string[]) => void): Backendless.EventHandler;
addBulkUpsertListener(whereClause: string, callback: (list: string[]) => void, onError: (error: RTSubscriptionError) => void): Backendless.EventHandler;
addBulkUpsertListener(whereClause: string, callback: (list: string[]) => void): Backendless.EventHandler;
removeBulkUpsertListener(callback: (list: string[]) => void): Backendless.EventHandler;
removeBulkUpsertListener(whereClause: string, callback: (list: string[]) => void): Backendless.EventHandler;
removeBulkUpsertListeners(whereClause: string): Backendless.EventHandler;
removeBulkUpsertListeners(): Backendless.EventHandler;
addBulkCreateListener(callback: (list: string[]) => void, onError: (error: RTSubscriptionError) => void): Backendless.EventHandler;
addBulkCreateListener(callback: (list: string[]) => void): Backendless.EventHandler;
addBulkCreateListener(whereClause: string, callback: (list: string[]) => void): Backendless.EventHandler;
addBulkCreateListener(whereClause: string, callback: (list: string[]) => void, onError: (error: RTSubscriptionError) => void): Backendless.EventHandler;
removeBulkCreateListener(whereClause: string, callback: (list: string[]) => void): Backendless.EventHandler;
removeBulkCreateListener(callback: (list: string[]) => void): Backendless.EventHandler;
removeBulkCreateListeners(): Backendless.EventHandler;
removeBulkCreateListeners(whereClause: string): Backendless.EventHandler;
addBulkUpdateListener(whereClause: string, callback: (obj: RTBulkChangesSubscriptionResult) => void, onError: (error: RTSubscriptionError) => void): Backendless.EventHandler;
addBulkUpdateListener(whereClause: string, callback: (obj: RTBulkChangesSubscriptionResult) => void): Backendless.EventHandler;
addBulkUpdateListener(callback: (obj: RTBulkChangesSubscriptionResult) => void, onError: (error: RTSubscriptionError) => void): Backendless.EventHandler;
addBulkUpdateListener(callback: (obj: RTBulkChangesSubscriptionResult) => void): Backendless.EventHandler;
removeBulkUpdateListeners(whereClause: string): Backendless.EventHandler;
removeBulkUpdateListeners(): Backendless.EventHandler;
removeBulkUpdateListener(callback: (obj: RTBulkChangesSubscriptionResult) => void): Backendless.EventHandler;
addBulkDeleteListener(whereClause: string, callback: (obj: RTBulkChangesSubscriptionResult) => void, onError: (error: RTSubscriptionError) => void): Backendless.EventHandler;
addBulkDeleteListener(whereClause: string, callback: (obj: RTBulkChangesSubscriptionResult) => void): Backendless.EventHandler;
addBulkDeleteListener(callback: (obj: RTBulkChangesSubscriptionResult) => void, onError: (error: RTSubscriptionError) => void): Backendless.EventHandler;
addBulkDeleteListener(callback: (obj: RTBulkChangesSubscriptionResult) => void): Backendless.EventHandler;
removeBulkDeleteListeners(whereClause: string): Backendless.EventHandler;
removeBulkDeleteListeners(): Backendless.EventHandler;
removeBulkDeleteListener(callback: (obj: RTBulkChangesSubscriptionResult) => void): Backendless.EventHandler;
addSetRelationListener(relationColumnName: string, parents: Array<string> | Array<{ objectId: string, [key: string]: any }>, callback: (data: RTChangeRelationStatus) => void, onError: (error: RTSubscriptionError) => void): Backendless.EventHandler;
addSetRelationListener(relationColumnName: string, parents: Array<string> | Array<{ objectId: string, [key: string]: any }>, callback: (data: RTChangeRelationStatus) => void): Backendless.EventHandler;
addSetRelationListener(relationColumnName: string, callback: (data: RTChangeRelationStatus) => void, onError: (error: RTSubscriptionError) => void): Backendless.EventHandler;
addSetRelationListener(relationColumnName: string, callback: (data: RTChangeRelationStatus) => void): Backendless.EventHandler;
addAddRelationListener(relationColumnName: string, parents: Array<string> | Array<{ objectId: string, [key: string]: any }>, callback: (data: RTChangeRelationStatus) => void, onError: (error: RTSubscriptionError) => void): Backendless.EventHandler;
addAddRelationListener(relationColumnName: string, parents: Array<string> | Array<{ objectId: string, [key: string]: any }>, callback: (data: RTChangeRelationStatus) => void): Backendless.EventHandler;
addAddRelationListener(relationColumnName: string, callback: (data: RTChangeRelationStatus) => void, onError: (error: RTSubscriptionError) => void): Backendless.EventHandler;
addAddRelationListener(relationColumnName: string, callback: (data: RTChangeRelationStatus) => void): Backendless.EventHandler;
addDeleteRelationListener(relationColumnName: string, parents: Array<string> | Array<{ objectId: string, [key: string]: any }>, callback: (data: RTChangeRelationStatus) => void, onError: (error: RTSubscriptionError) => void): Backendless.EventHandler;
addDeleteRelationListener(relationColumnName: string, parents: Array<string> | Array<{ objectId: string, [key: string]: any }>, callback: (data: RTChangeRelationStatus) => void): Backendless.EventHandler;
addDeleteRelationListener(relationColumnName: string, callback: (data: RTChangeRelationStatus) => void, onError: (error: RTSubscriptionError) => void): Backendless.EventHandler;
addDeleteRelationListener(relationColumnName: string, callback: (data: RTChangeRelationStatus) => void): Backendless.EventHandler;
removeSetRelationListener(relationColumnName: string, callback: (data: RTChangeRelationStatus) => void): Backendless.EventHandler;
removeSetRelationListener(callback: (data: RTChangeRelationStatus) => void): Backendless.EventHandler;