mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-06-02 06:29:40 +08:00
Added namespacing to server and client files
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
// Definitions by: Jim Bouquet <https://github.com/ClearBlade>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
let genericCallback = (error: boolean, response: Resp) => {};
|
||||
let genericCallback = (error: boolean, response: CbClient.Resp) => {};
|
||||
|
||||
///////////////////////////////////////
|
||||
// ClearBlade object API invocations
|
||||
@@ -65,12 +65,12 @@ coll1.count(query1.query, genericCallback);
|
||||
///////////////////////////////////////
|
||||
query1.addSortToQuery(
|
||||
query1,
|
||||
QuerySortDirections.QUERY_SORT_ASCENDING,
|
||||
CbClient.QuerySortDirections.QUERY_SORT_ASCENDING,
|
||||
"column1"
|
||||
);
|
||||
query1.addFilterToQuery(
|
||||
query1,
|
||||
QueryConditions.QUERY_GREATERTHAN,
|
||||
CbClient.QueryConditions.QUERY_GREATERTHAN,
|
||||
"key",
|
||||
"value"
|
||||
);
|
||||
|
||||
2
types/clearbladejs-client/global.d.ts
vendored
2
types/clearbladejs-client/global.d.ts
vendored
@@ -1,5 +1,5 @@
|
||||
declare global {
|
||||
var ClearBlade: ClearBladeGlobal;
|
||||
var ClearBlade: CbClient.ClearBladeGlobal;
|
||||
}
|
||||
|
||||
export {};
|
||||
|
||||
876
types/clearbladejs-client/index.d.ts
vendored
876
types/clearbladejs-client/index.d.ts
vendored
@@ -1,436 +1,456 @@
|
||||
// Type definitions for clearbladejs-client 1.0
|
||||
// Type definitions for clearbladejs-client 1.1
|
||||
// Project: https://github.com/ClearBlade/JavaScript-API
|
||||
// Definitions by: Jim Bouquet <https://github.com/ClearBlade>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// TypeScript Version: 2.4
|
||||
|
||||
/// <reference types="paho-mqtt" />
|
||||
declare namespace CbClient {
|
||||
interface Resp {
|
||||
error(msg: any): never; // todo: figure out if we can have the compiler throw an error if someone adds code after this
|
||||
success(msg: any): never;
|
||||
}
|
||||
|
||||
interface Resp {
|
||||
error(msg: any): never; // todo: figure out if we can have the compiler throw an error if someone adds code after this
|
||||
success(msg: any): never;
|
||||
enum MessagingQOS {
|
||||
MESSAGING_QOS_AT_MOST_ONCE = 0,
|
||||
MESSAGING_QOS_AT_LEAST_ONCE = 1,
|
||||
MESSAGING_QOS_EXACTLY_ONCE = 2
|
||||
}
|
||||
|
||||
interface InitOptions {
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
masterSecret?: string;
|
||||
logging?: boolean;
|
||||
callback?: CbCallback;
|
||||
email?: string;
|
||||
password?: string;
|
||||
registerUser?: boolean;
|
||||
useUser?: APIUser;
|
||||
URI?: string;
|
||||
messagingURI?: string;
|
||||
messagingPort?: number;
|
||||
defaultQoS?: MessagingQOS;
|
||||
callTimeout?: number;
|
||||
messagingAuthPort?: number;
|
||||
}
|
||||
|
||||
interface RequestOptions {
|
||||
method?: string;
|
||||
endpoint?: string;
|
||||
body?: string;
|
||||
qs?: string;
|
||||
URI?: string;
|
||||
useUser?: boolean;
|
||||
authToken?: string;
|
||||
timeout?: number;
|
||||
user?: APIUser;
|
||||
}
|
||||
|
||||
interface APIUser {
|
||||
email: string;
|
||||
authToken: string;
|
||||
}
|
||||
|
||||
type CbCallback = (error: boolean, response: Resp) => void;
|
||||
|
||||
interface ClearBladeGlobal extends ClearBladeInt {
|
||||
MESSAGING_QOS_AT_MOST_ONCE: MessagingQOS.MESSAGING_QOS_AT_MOST_ONCE;
|
||||
MESSAGING_QOS_AT_LEAST_ONCE: MessagingQOS.MESSAGING_QOS_AT_LEAST_ONCE;
|
||||
MESSAGING_QOS_EXACTLY_ONCE: MessagingQOS.MESSAGING_QOS_EXACTLY_ONCE;
|
||||
|
||||
request(options: RequestOptions, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface ClearBladeInt {
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
masterSecret: string;
|
||||
URI: string;
|
||||
messagingURI: string;
|
||||
messagingPort: number;
|
||||
logging: boolean;
|
||||
defaultQoS: MessagingQOS;
|
||||
|
||||
init(options: InitOptions): void;
|
||||
setUser(email: string, password: string): void;
|
||||
registerUser(
|
||||
email: string,
|
||||
password: string,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
isCurrentUserAuthenticated(callback: CbCallback): void;
|
||||
logoutUser(callback: CbCallback): void;
|
||||
loginAnon(callback: CbCallback): void;
|
||||
loginUser(email: string, password: string, callback: CbCallback): void;
|
||||
loginUserMqtt(
|
||||
email: string,
|
||||
password: string,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
registerMasterCallback(callback: CbCallback): void;
|
||||
Collection(
|
||||
options:
|
||||
| string
|
||||
| CollectionOptionsWithName
|
||||
| CollectionOptionsWithID
|
||||
): Collection;
|
||||
Query(
|
||||
options: string | QueryOptionsWithName | QueryOptionsWithID
|
||||
): QueryObj;
|
||||
Item(data: object, collectionID: string | ItemOptions): Item;
|
||||
Code(): Code;
|
||||
User(): AppUser;
|
||||
Messaging(options: MessagingOptions, callback: CbCallback): Messaging;
|
||||
MessagingStats(): MessagingStats;
|
||||
sendPush(
|
||||
users: string[],
|
||||
payload: object,
|
||||
appId: string,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
getEdges(query: Query, callback: CbCallback): void;
|
||||
Edge(): Edge;
|
||||
Metrics(): Metrics;
|
||||
Device(): Device;
|
||||
Analytics(): Analytics;
|
||||
Portal(name: string): Portal;
|
||||
Triggers(): Triggers;
|
||||
|
||||
getAllCollections(callback: CbCallback): void;
|
||||
}
|
||||
interface CollectionOptionsWithName {
|
||||
collectionName: string;
|
||||
}
|
||||
|
||||
interface CollectionOptionsWithID {
|
||||
collectionID: string;
|
||||
}
|
||||
|
||||
interface Collection {
|
||||
name: string;
|
||||
endpoint: string;
|
||||
isUsingCollectionName: boolean;
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
|
||||
fetch(query: Query, callback: CbCallback): void;
|
||||
create(newItem: Item, callback: CbCallback): void;
|
||||
update(query: Query, changes: object, callback: CbCallback): void;
|
||||
remove(query: Query, callback: CbCallback): void;
|
||||
columns(callback: CbCallback): void;
|
||||
count(query: Query, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
enum QuerySortDirections {
|
||||
QUERY_SORT_ASCENDING = "ASC",
|
||||
QUERY_SORT_DESCENDING = "DESC"
|
||||
}
|
||||
|
||||
enum QueryConditions {
|
||||
QUERY_EQUAL = "EQ",
|
||||
QUERY_NOTEQUAL = "NEQ",
|
||||
QUERY_GREATERTHAN = "GT",
|
||||
QUERY_GREATERTHAN_EQUAL = "GTE",
|
||||
QUERY_LESSTHAN = "LT",
|
||||
QUERY_LESSTHAN_EQUAL = "LTE",
|
||||
QUERY_MATCHES = "RE"
|
||||
}
|
||||
|
||||
type QueryValue = string | number | boolean;
|
||||
|
||||
interface QueryOptions {
|
||||
offset?: number;
|
||||
limit?: number;
|
||||
}
|
||||
|
||||
interface QueryOptionsWithName
|
||||
extends CollectionOptionsWithName,
|
||||
QueryOptions {}
|
||||
interface QueryOptionsWithID
|
||||
extends CollectionOptionsWithID,
|
||||
QueryOptions {}
|
||||
|
||||
interface Query {
|
||||
SELECTCOLUMNS?: string[];
|
||||
SORT?: QuerySortDirections;
|
||||
FILTERS?: QueryFilter[];
|
||||
PAGESIZE?: number;
|
||||
PAGENUM?: number;
|
||||
}
|
||||
|
||||
interface QueryFilter {
|
||||
[QueryConditions: string]: QueryFilterValue;
|
||||
}
|
||||
|
||||
interface QueryFilterValue {
|
||||
[name: string]: QueryValue;
|
||||
}
|
||||
|
||||
interface QueryObj {
|
||||
endpoint: string;
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
query: Query;
|
||||
OR: Query[];
|
||||
offset: number;
|
||||
limit: number;
|
||||
|
||||
addSortToQuery(
|
||||
query: QueryObj,
|
||||
direction: QuerySortDirections,
|
||||
column: string
|
||||
): void;
|
||||
addFilterToQuery(
|
||||
query: QueryObj,
|
||||
condition: QueryConditions,
|
||||
key: string,
|
||||
value: QueryValue
|
||||
): void;
|
||||
ascending(field: string): void;
|
||||
descending(field: string): void;
|
||||
equalTo(field: string, value: QueryValue): void;
|
||||
greaterThan(field: string, value: QueryValue): void;
|
||||
greaterThanEqualTo(field: string, value: QueryValue): void;
|
||||
lessThan(field: string, value: QueryValue): void;
|
||||
lessThanEqualTo(field: string, value: QueryValue): void;
|
||||
notEqualTo(field: string, value: QueryValue): void;
|
||||
matches(field: string, pattern: RegExp): void;
|
||||
or(query: QueryObj): void;
|
||||
setPage(pageSize: number, pageNum: number): void;
|
||||
fetch(callback: CbCallback): void;
|
||||
update(changes: object, callback: CbCallback): void;
|
||||
columns(columnsArray: string[]): void;
|
||||
remove(callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface ItemOptions extends CollectionOptionsWithID {}
|
||||
|
||||
interface Item {
|
||||
data: object;
|
||||
|
||||
save(callback: CbCallback): void;
|
||||
refresh(callback: CbCallback): void;
|
||||
destroy(callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface Code {
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
callTimeout: number;
|
||||
|
||||
create(name: string, body: string, callback: CbCallback): void;
|
||||
update(name: string, body: string, callback: CbCallback): void;
|
||||
delete(name: string, callback: CbCallback): void;
|
||||
execute(name: string, params: object, callback: CbCallback): void;
|
||||
getCompletedServices(callback: CbCallback): void;
|
||||
getFailedServices(callback: CbCallback): void;
|
||||
getAllServices(callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface AppUser {
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
endpoint: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
callTimeout: number;
|
||||
|
||||
getUser(callback: CbCallback): void;
|
||||
setUser(data: object, callback: CbCallback): void;
|
||||
allUsers(query: Query, callback: CbCallback): void;
|
||||
setPassword(
|
||||
old_password: string,
|
||||
new_password: string,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
count(query: Query, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface Messaging {
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
endpoint: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
callTimeout: number;
|
||||
client: Paho.MQTT.Client;
|
||||
|
||||
getMessageHistoryWithTimeFrame(
|
||||
topic: string,
|
||||
count: number,
|
||||
last: number,
|
||||
start: number,
|
||||
stop: number,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
getMessageHistory(
|
||||
topic: string,
|
||||
last: number,
|
||||
count: number,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
getAndDeleteMessageHistory(
|
||||
topic: string,
|
||||
count: number,
|
||||
last: number,
|
||||
start: number,
|
||||
stop: number,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
currentTopics(callback: CbCallback): void;
|
||||
publish(topic: string, payload: object): void;
|
||||
publishREST(topic: string, payload: object, callback: CbCallback): void;
|
||||
subscribe(
|
||||
topic: string,
|
||||
options: MessagingSubscribeOptions,
|
||||
messageCallback: MessageCallback
|
||||
): void;
|
||||
unsubscribe(topic: string, options: MessagingSubscribeOptions): void;
|
||||
disconnect(): void;
|
||||
}
|
||||
|
||||
interface CommonMessagingProperties {
|
||||
cleanSession?: boolean;
|
||||
useSSL?: boolean;
|
||||
hosts?: string;
|
||||
ports?: string;
|
||||
onSuccess?: Function;
|
||||
onFailure?: Function;
|
||||
}
|
||||
|
||||
interface MessagingOptions extends CommonMessagingProperties {
|
||||
qos?: MessagingQOS;
|
||||
}
|
||||
|
||||
interface MessagingConfiguration extends CommonMessagingProperties {
|
||||
userName: string;
|
||||
password: string;
|
||||
}
|
||||
|
||||
type MessageCallback = (message: string) => void;
|
||||
|
||||
interface MessagingSubscribeOptions {
|
||||
qos?: MessagingQOS;
|
||||
invocationContext?: object;
|
||||
onSuccess?: Function;
|
||||
onFailure?: Function;
|
||||
timeout?: number;
|
||||
}
|
||||
|
||||
interface MessagingStats {
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
endpoint: string;
|
||||
systemKey: string;
|
||||
|
||||
getAveragePayloadSize(
|
||||
topic: string,
|
||||
start: number,
|
||||
stop: number,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
getOpenConnections(callback: CbCallback): void;
|
||||
getCurrentSubscribers(topic: string, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface Edge {
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
|
||||
updateEdgeByName(
|
||||
name: string,
|
||||
object: object,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
deleteEdgeByName(name: string, callback: CbCallback): void;
|
||||
create(newEdge: object, name: string, callback: CbCallback): void;
|
||||
columns(callback: CbCallback): void;
|
||||
count(query: Query, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface Metrics {
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
|
||||
setQuery(query: Query): void;
|
||||
getStatistics(callback: CbCallback): void;
|
||||
getStatisticsHistory(callback: CbCallback): void;
|
||||
getDBConnections(callback: CbCallback): void;
|
||||
getLogs(callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface Device {
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
|
||||
getDeviceByName(name: string, callback: CbCallback): void;
|
||||
updateDeviceByName(
|
||||
name: string,
|
||||
object: object,
|
||||
trigger: boolean,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
deleteDeviceByName(name: string, callback: CbCallback): void;
|
||||
fetch(query: Query, callback: CbCallback): void;
|
||||
update(
|
||||
query: Query,
|
||||
object: object,
|
||||
trigger: boolean,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
delete(query: Query, callback: CbCallback): void;
|
||||
create(newDevice: object, callback: CbCallback): void;
|
||||
columns(callback: CbCallback): void;
|
||||
count(query: Query, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface Analytics {
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
|
||||
getStorage(filter: QueryFilter, callback: CbCallback): void;
|
||||
getCount(filter: QueryFilter, callback: CbCallback): void;
|
||||
getEventList(filter: QueryFilter, callback: CbCallback): void;
|
||||
getEventTotals(filter: QueryFilter, callback: CbCallback): void;
|
||||
getUserEvents(filter: QueryFilter, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface Portal {
|
||||
name: string;
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
|
||||
fetch(callback: CbCallback): void;
|
||||
update(data: object, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface Triggers {
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
|
||||
fetchDefinitions(callback: CbCallback): void;
|
||||
create(name: string, data: object, callback: CbCallback): void;
|
||||
update(name: string, data: object, callback: CbCallback): void;
|
||||
delete(name: string, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
let ClearBlade: ClearBladeGlobal;
|
||||
}
|
||||
|
||||
declare enum MessagingQOS {
|
||||
MESSAGING_QOS_AT_MOST_ONCE = 0,
|
||||
MESSAGING_QOS_AT_LEAST_ONCE = 1,
|
||||
MESSAGING_QOS_EXACTLY_ONCE = 2
|
||||
}
|
||||
|
||||
interface InitOptions {
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
masterSecret?: string;
|
||||
logging?: boolean;
|
||||
callback?: CbCallback;
|
||||
email?: string;
|
||||
password?: string;
|
||||
registerUser?: boolean;
|
||||
useUser?: APIUser;
|
||||
URI?: string;
|
||||
messagingURI?: string;
|
||||
messagingPort?: number;
|
||||
defaultQoS?: MessagingQOS;
|
||||
callTimeout?: number;
|
||||
messagingAuthPort?: number;
|
||||
}
|
||||
|
||||
interface RequestOptions {
|
||||
method?: string;
|
||||
endpoint?: string;
|
||||
body?: string;
|
||||
qs?: string;
|
||||
URI?: string;
|
||||
useUser?: boolean;
|
||||
authToken?: string;
|
||||
timeout?: number;
|
||||
user?: APIUser;
|
||||
}
|
||||
|
||||
interface APIUser {
|
||||
email: string;
|
||||
authToken: string;
|
||||
}
|
||||
|
||||
type CbCallback = (error: boolean, response: Resp) => void;
|
||||
|
||||
interface ClearBladeGlobal extends ClearBladeInt {
|
||||
MESSAGING_QOS_AT_MOST_ONCE: MessagingQOS.MESSAGING_QOS_AT_MOST_ONCE;
|
||||
MESSAGING_QOS_AT_LEAST_ONCE: MessagingQOS.MESSAGING_QOS_AT_LEAST_ONCE;
|
||||
MESSAGING_QOS_EXACTLY_ONCE: MessagingQOS.MESSAGING_QOS_EXACTLY_ONCE;
|
||||
|
||||
request(options: RequestOptions, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface ClearBladeInt {
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
masterSecret: string;
|
||||
URI: string;
|
||||
messagingURI: string;
|
||||
messagingPort: number;
|
||||
logging: boolean;
|
||||
defaultQoS: MessagingQOS;
|
||||
|
||||
init(options: InitOptions): void;
|
||||
setUser(email: string, password: string): void;
|
||||
registerUser(email: string, password: string, callback: CbCallback): void;
|
||||
isCurrentUserAuthenticated(callback: CbCallback): void;
|
||||
logoutUser(callback: CbCallback): void;
|
||||
loginAnon(callback: CbCallback): void;
|
||||
loginUser(email: string, password: string, callback: CbCallback): void;
|
||||
loginUserMqtt(email: string, password: string, callback: CbCallback): void;
|
||||
registerMasterCallback(callback: CbCallback): void;
|
||||
Collection(options: string | CollectionOptionsWithName | CollectionOptionsWithID): Collection;
|
||||
Query(
|
||||
options: string | QueryOptionsWithName | QueryOptionsWithID
|
||||
): QueryObj;
|
||||
Item(data: object, collectionID: string | ItemOptions): Item;
|
||||
Code(): Code;
|
||||
User(): AppUser;
|
||||
Messaging(options: MessagingOptions, callback: CbCallback): Messaging;
|
||||
MessagingStats(): MessagingStats;
|
||||
sendPush(
|
||||
users: string[],
|
||||
payload: object,
|
||||
appId: string,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
getEdges(query: Query, callback: CbCallback): void;
|
||||
Edge(): Edge;
|
||||
Metrics(): Metrics;
|
||||
Device(): Device;
|
||||
Analytics(): Analytics;
|
||||
Portal(name: string): Portal;
|
||||
Triggers(): Triggers;
|
||||
|
||||
getAllCollections(callback: CbCallback): void;
|
||||
}
|
||||
interface CollectionOptionsWithName {
|
||||
collectionName: string;
|
||||
}
|
||||
|
||||
interface CollectionOptionsWithID {
|
||||
collectionID: string;
|
||||
}
|
||||
|
||||
interface Collection {
|
||||
name: string;
|
||||
endpoint: string;
|
||||
isUsingCollectionName: boolean;
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
|
||||
fetch(query: Query, callback: CbCallback): void;
|
||||
create(newItem: Item, callback: CbCallback): void;
|
||||
update(query: Query, changes: object, callback: CbCallback): void;
|
||||
remove(query: Query, callback: CbCallback): void;
|
||||
columns(callback: CbCallback): void;
|
||||
count(query: Query, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
declare enum QuerySortDirections {
|
||||
QUERY_SORT_ASCENDING = "ASC",
|
||||
QUERY_SORT_DESCENDING = "DESC"
|
||||
}
|
||||
|
||||
declare enum QueryConditions {
|
||||
QUERY_EQUAL = "EQ",
|
||||
QUERY_NOTEQUAL = "NEQ",
|
||||
QUERY_GREATERTHAN = "GT",
|
||||
QUERY_GREATERTHAN_EQUAL = "GTE",
|
||||
QUERY_LESSTHAN = "LT",
|
||||
QUERY_LESSTHAN_EQUAL = "LTE",
|
||||
QUERY_MATCHES = "RE"
|
||||
}
|
||||
|
||||
type QueryValue = string | number | boolean;
|
||||
|
||||
interface QueryOptions {
|
||||
offset?: number;
|
||||
limit?: number;
|
||||
}
|
||||
|
||||
interface QueryOptionsWithName
|
||||
extends CollectionOptionsWithName,
|
||||
QueryOptions {}
|
||||
interface QueryOptionsWithID extends CollectionOptionsWithID, QueryOptions {}
|
||||
|
||||
interface Query {
|
||||
SELECTCOLUMNS?: string[];
|
||||
SORT?: QuerySortDirections;
|
||||
FILTERS?: QueryFilter[];
|
||||
PAGESIZE?: number;
|
||||
PAGENUM?: number;
|
||||
}
|
||||
|
||||
interface QueryFilter {
|
||||
[QueryConditions: string]: QueryFilterValue;
|
||||
}
|
||||
|
||||
interface QueryFilterValue {
|
||||
[name: string]: QueryValue;
|
||||
}
|
||||
|
||||
interface QueryObj {
|
||||
endpoint: string;
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
query: Query;
|
||||
OR: Query[];
|
||||
offset: number;
|
||||
limit: number;
|
||||
|
||||
addSortToQuery(
|
||||
query: QueryObj,
|
||||
direction: QuerySortDirections,
|
||||
column: string
|
||||
): void;
|
||||
addFilterToQuery(
|
||||
query: QueryObj,
|
||||
condition: QueryConditions,
|
||||
key: string,
|
||||
value: QueryValue
|
||||
): void;
|
||||
ascending(field: string): void;
|
||||
descending(field: string): void;
|
||||
equalTo(field: string, value: QueryValue): void;
|
||||
greaterThan(field: string, value: QueryValue): void;
|
||||
greaterThanEqualTo(field: string, value: QueryValue): void;
|
||||
lessThan(field: string, value: QueryValue): void;
|
||||
lessThanEqualTo(field: string, value: QueryValue): void;
|
||||
notEqualTo(field: string, value: QueryValue): void;
|
||||
matches(field: string, pattern: RegExp): void;
|
||||
or(query: QueryObj): void;
|
||||
setPage(pageSize: number, pageNum: number): void;
|
||||
fetch(callback: CbCallback): void;
|
||||
update(changes: object, callback: CbCallback): void;
|
||||
columns(columnsArray: string[]): void;
|
||||
remove(callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface ItemOptions extends CollectionOptionsWithID {}
|
||||
|
||||
interface Item {
|
||||
data: object;
|
||||
|
||||
save(callback: CbCallback): void;
|
||||
refresh(callback: CbCallback): void;
|
||||
destroy(callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface Code {
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
callTimeout: number;
|
||||
|
||||
create(name: string, body: string, callback: CbCallback): void;
|
||||
update(name: string, body: string, callback: CbCallback): void;
|
||||
delete(name: string, callback: CbCallback): void;
|
||||
execute(name: string, params: object, callback: CbCallback): void;
|
||||
getCompletedServices(callback: CbCallback): void;
|
||||
getFailedServices(callback: CbCallback): void;
|
||||
getAllServices(callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface AppUser {
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
endpoint: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
callTimeout: number;
|
||||
|
||||
getUser(callback: CbCallback): void;
|
||||
setUser(data: object, callback: CbCallback): void;
|
||||
allUsers(query: Query, callback: CbCallback): void;
|
||||
setPassword(
|
||||
old_password: string,
|
||||
new_password: string,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
count(query: Query, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface Messaging {
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
endpoint: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
callTimeout: number;
|
||||
client: Paho.MQTT.Client;
|
||||
|
||||
getMessageHistoryWithTimeFrame(
|
||||
topic: string,
|
||||
count: number,
|
||||
last: number,
|
||||
start: number,
|
||||
stop: number,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
getMessageHistory(
|
||||
topic: string,
|
||||
last: number,
|
||||
count: number,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
getAndDeleteMessageHistory(
|
||||
topic: string,
|
||||
count: number,
|
||||
last: number,
|
||||
start: number,
|
||||
stop: number,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
currentTopics(callback: CbCallback): void;
|
||||
publish(topic: string, payload: object): void;
|
||||
publishREST(topic: string, payload: object, callback: CbCallback): void;
|
||||
subscribe(
|
||||
topic: string,
|
||||
options: MessagingSubscribeOptions,
|
||||
messageCallback: MessageCallback
|
||||
): void;
|
||||
unsubscribe(topic: string, options: MessagingSubscribeOptions): void;
|
||||
disconnect(): void;
|
||||
}
|
||||
|
||||
interface CommonMessagingProperties {
|
||||
cleanSession?: boolean;
|
||||
useSSL?: boolean;
|
||||
hosts?: string;
|
||||
ports?: string;
|
||||
onSuccess?: Function;
|
||||
onFailure?: Function;
|
||||
}
|
||||
|
||||
interface MessagingOptions extends CommonMessagingProperties {
|
||||
qos?: MessagingQOS;
|
||||
}
|
||||
|
||||
interface MessagingConfiguration extends CommonMessagingProperties {
|
||||
userName: string;
|
||||
password: string;
|
||||
}
|
||||
|
||||
type MessageCallback = (message: string) => void;
|
||||
|
||||
interface MessagingSubscribeOptions {
|
||||
qos?: MessagingQOS;
|
||||
invocationContext?: object;
|
||||
onSuccess?: Function;
|
||||
onFailure?: Function;
|
||||
timeout?: number;
|
||||
}
|
||||
|
||||
interface MessagingStats {
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
endpoint: string;
|
||||
systemKey: string;
|
||||
|
||||
getAveragePayloadSize(
|
||||
topic: string,
|
||||
start: number,
|
||||
stop: number,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
getOpenConnections(callback: CbCallback): void;
|
||||
getCurrentSubscribers(topic: string, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface Edge {
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
|
||||
updateEdgeByName(name: string, object: object, callback: CbCallback): void;
|
||||
deleteEdgeByName(name: string, callback: CbCallback): void;
|
||||
create(newEdge: object, name: string, callback: CbCallback): void;
|
||||
columns(callback: CbCallback): void;
|
||||
count(query: Query, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface Metrics {
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
|
||||
setQuery(query: Query): void;
|
||||
getStatistics(callback: CbCallback): void;
|
||||
getStatisticsHistory(callback: CbCallback): void;
|
||||
getDBConnections(callback: CbCallback): void;
|
||||
getLogs(callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface Device {
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
|
||||
getDeviceByName(name: string, callback: CbCallback): void;
|
||||
updateDeviceByName(
|
||||
name: string,
|
||||
object: object,
|
||||
trigger: boolean,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
deleteDeviceByName(name: string, callback: CbCallback): void;
|
||||
fetch(query: Query, callback: CbCallback): void;
|
||||
update(
|
||||
query: Query,
|
||||
object: object,
|
||||
trigger: boolean,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
delete(query: Query, callback: CbCallback): void;
|
||||
create(newDevice: object, callback: CbCallback): void;
|
||||
columns(callback: CbCallback): void;
|
||||
count(query: Query, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface Analytics {
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
|
||||
getStorage(filter: QueryFilter, callback: CbCallback): void;
|
||||
getCount(filter: QueryFilter, callback: CbCallback): void;
|
||||
getEventList(filter: QueryFilter, callback: CbCallback): void;
|
||||
getEventTotals(filter: QueryFilter, callback: CbCallback): void;
|
||||
getUserEvents(filter: QueryFilter, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface Portal {
|
||||
name: string;
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
|
||||
fetch(callback: CbCallback): void;
|
||||
update(data: object, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface Triggers {
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
|
||||
fetchDefinitions(callback: CbCallback): void;
|
||||
create(name: string, data: object, callback: CbCallback): void;
|
||||
update(name: string, data: object, callback: CbCallback): void;
|
||||
delete(name: string, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
declare var ClearBlade: ClearBladeGlobal;
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
// Definitions by: Jim Bouquet <https://github.com/ClearBlade>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
const genericCallback = (error: boolean, response: Resp) => {};
|
||||
const genericCallback = (error: boolean, response: CbServer.Resp) => {};
|
||||
|
||||
///////////////////////////////////////
|
||||
// ClearBlade object API invocations
|
||||
@@ -66,12 +66,12 @@ const device = ClearBlade.Device();
|
||||
ClearBlade.addToQuery(query1, "key", "value");
|
||||
ClearBlade.addSortToQuery(
|
||||
query1,
|
||||
QuerySortDirections.QUERY_SORT_ASCENDING,
|
||||
CbServer.QuerySortDirections.QUERY_SORT_ASCENDING,
|
||||
"column1"
|
||||
);
|
||||
ClearBlade.addFilterToQuery(
|
||||
query1,
|
||||
QueryConditions.QUERY_GREATERTHAN,
|
||||
CbServer.QueryConditions.QUERY_GREATERTHAN,
|
||||
"key",
|
||||
"value"
|
||||
);
|
||||
@@ -177,7 +177,7 @@ ClearBlade.Trigger.Create(
|
||||
{
|
||||
system_key: "key",
|
||||
name: "triggername",
|
||||
def_module: TriggerModule.DEVICE,
|
||||
def_module: CbServer.TriggerModule.DEVICE,
|
||||
def_name: "someName",
|
||||
key_value_pairs: [],
|
||||
service_name: "ServiceName"
|
||||
|
||||
2
types/clearbladejs-server/global.d.ts
vendored
2
types/clearbladejs-server/global.d.ts
vendored
@@ -1,5 +1,5 @@
|
||||
declare global {
|
||||
var ClearBlade: ClearBladeGlobal;
|
||||
var ClearBlade: CbServer.ClearBladeGlobal;
|
||||
}
|
||||
|
||||
export {};
|
||||
|
||||
741
types/clearbladejs-server/index.d.ts
vendored
741
types/clearbladejs-server/index.d.ts
vendored
@@ -1,335 +1,422 @@
|
||||
// Type definitions for clearbladejs-server 1.0
|
||||
// Type definitions for clearbladejs-server 1.1
|
||||
// Project: https://docs.clearblade.com/v/3/4-developer_reference/platformsdk/ClearBlade.js/
|
||||
// Definitions by: Jim Bouquet <https://github.com/ClearBlade>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// TypeScript Version: 2.4
|
||||
|
||||
/// <reference types="paho-mqtt" />
|
||||
declare namespace CbServer {
|
||||
interface BasicReq {
|
||||
readonly isLogging: boolean;
|
||||
readonly params: {
|
||||
[id: string]: any;
|
||||
};
|
||||
readonly systemKey: string;
|
||||
readonly systemSecret: string;
|
||||
readonly userEmail: string;
|
||||
readonly userToken: string;
|
||||
readonly userid: string;
|
||||
}
|
||||
type ReqTypes = BasicReq;
|
||||
|
||||
interface BasicReq {
|
||||
readonly isLogging: boolean;
|
||||
readonly params: {
|
||||
[id: string]: any;
|
||||
};
|
||||
readonly systemKey: string;
|
||||
readonly systemSecret: string;
|
||||
readonly userEmail: string;
|
||||
readonly userToken: string;
|
||||
readonly userid: string;
|
||||
let req: ReqTypes;
|
||||
interface Resp {
|
||||
error(msg: any): never;
|
||||
success(msg: any): never;
|
||||
}
|
||||
let resp: Resp;
|
||||
|
||||
enum MessagingQOS {
|
||||
MESSAGING_QOS_AT_MOST_ONCE = 0,
|
||||
MESSAGING_QOS_AT_LEAST_ONCE = 1,
|
||||
MESSAGING_QOS_EXACTLY_ONCE = 2
|
||||
}
|
||||
|
||||
interface InitOptions {
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
logging?: boolean;
|
||||
callback?: CbCallback;
|
||||
authToken?: string;
|
||||
userToken?: string;
|
||||
email?: string;
|
||||
password?: string;
|
||||
registerUser?: boolean;
|
||||
useUser?: APIUser;
|
||||
URI?: string;
|
||||
messagingURI?: string;
|
||||
messagingPort?: number;
|
||||
defaultQoS?: MessagingQOS;
|
||||
callTimeout?: number;
|
||||
}
|
||||
|
||||
interface APIUser {
|
||||
email: string;
|
||||
authToken: string;
|
||||
user_id?: string;
|
||||
}
|
||||
|
||||
interface KeyValuePair {
|
||||
[key: string]: any;
|
||||
}
|
||||
|
||||
type CbCallback = (error: boolean, response: Resp) => void;
|
||||
|
||||
interface ClearBladeGlobal extends ClearBladeInt {
|
||||
user: APIUser;
|
||||
}
|
||||
|
||||
interface ClearBladeInt {
|
||||
Trigger: TriggerClass;
|
||||
Timer: TimerClass;
|
||||
|
||||
about(): string;
|
||||
addToQuery(queryObj: QueryObj, key: string, value: string): void;
|
||||
addFilterToQuery(
|
||||
queryObj: QueryObj,
|
||||
condition: QueryConditions,
|
||||
key: string,
|
||||
value: QueryValue
|
||||
): void;
|
||||
addSortToQuery(
|
||||
queryObj: QueryObj,
|
||||
direction: QuerySortDirections,
|
||||
column: string
|
||||
): void;
|
||||
Code(): Code;
|
||||
Collection(
|
||||
options:
|
||||
| string
|
||||
| CollectionOptionsWithName
|
||||
| CollectionOptionsWithID
|
||||
| CollectionOptionsWithCollection
|
||||
): Collection;
|
||||
Deployment(): Deployment;
|
||||
Device(): Device;
|
||||
edgeId(): string;
|
||||
execute(error: object, response: object, callback: CbCallback): any;
|
||||
getAllCollections(callback: CbCallback): void;
|
||||
http(): object;
|
||||
init(options: InitOptions | { request: BasicReq }): void;
|
||||
isEdge(callback: CbCallback): boolean;
|
||||
isCurrentUserAuthenticated(callback: CbCallback): void;
|
||||
isObjectEmpty(obj: object): boolean;
|
||||
Item(data: object, options: string | ItemOptions): Item;
|
||||
logger(message: string): void;
|
||||
loginAnon(callback: CbCallback): void;
|
||||
loginUser(email: string, password: string, callback: CbCallback): void;
|
||||
logoutUser(callback: CbCallback): void;
|
||||
makeKVPair(key: string, value: string): KeyValuePair;
|
||||
Messaging(options: MessagingOptions, callback: CbCallback): Messaging;
|
||||
newCollection(name: string, callback: CbCallback): void;
|
||||
Query(
|
||||
options:
|
||||
| QueryOptionsWithCollection
|
||||
| QueryOptionsWithName
|
||||
| QueryOptionsWithID
|
||||
): QueryObj;
|
||||
parseOperationQuery(query: Query): string;
|
||||
parseQuery(query: Query | QueryObj): string;
|
||||
registerUser(
|
||||
email: string,
|
||||
password: string,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
setUser(email: string, authToken: string, userId: string): void;
|
||||
User(): AppUser;
|
||||
|
||||
createDevice(
|
||||
name: string,
|
||||
data: object,
|
||||
causeTrigger: boolean,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
deleteDevice(
|
||||
name: string,
|
||||
causeTrigger: boolean,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
updateDevice(
|
||||
name: string,
|
||||
data: object,
|
||||
causeTrigger: boolean,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
getDeviceByName(name: string, callback: CbCallback): void;
|
||||
getAllDevicesForSystem(callback: CbCallback): void;
|
||||
validateEmailPassword(email: string, password: string): void;
|
||||
}
|
||||
|
||||
interface CollectionOptionsWithCollection {
|
||||
collection: string;
|
||||
}
|
||||
|
||||
interface CollectionOptionsWithName {
|
||||
collectionName: string;
|
||||
}
|
||||
|
||||
interface CollectionOptionsWithID {
|
||||
collectionID: string;
|
||||
}
|
||||
|
||||
interface Collection {
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
|
||||
addColumn(options: object, callback: CbCallback): void;
|
||||
dropColumn(name: string, callback: CbCallback): void;
|
||||
deleteCollection(callback: CbCallback): void;
|
||||
fetch(query: Query, callback: CbCallback): void;
|
||||
create(newItem: Item, callback: CbCallback): void;
|
||||
update(query: Query, changes: object, callback: CbCallback): void;
|
||||
remove(query: Query, callback: CbCallback): void;
|
||||
columns(callback: CbCallback): void;
|
||||
count(query: Query, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
enum QuerySortDirections {
|
||||
QUERY_SORT_ASCENDING = "ASC",
|
||||
QUERY_SORT_DESCENDING = "DESC"
|
||||
}
|
||||
|
||||
enum QueryConditions {
|
||||
QUERY_EQUAL = "EQ",
|
||||
QUERY_NOTEQUAL = "NEQ",
|
||||
QUERY_GREATERTHAN = "GT",
|
||||
QUERY_GREATERTHAN_EQUAL = "GTE",
|
||||
QUERY_LESSTHAN = "LT",
|
||||
QUERY_LESSTHAN_EQUAL = "LTE",
|
||||
QUERY_MATCHES = "RE"
|
||||
}
|
||||
|
||||
type QueryValue = string | number | boolean;
|
||||
|
||||
interface QueryOptions {
|
||||
offset?: number;
|
||||
limit?: number;
|
||||
}
|
||||
|
||||
interface QueryOptionsWithCollection
|
||||
extends CollectionOptionsWithCollection,
|
||||
QueryOptions {}
|
||||
|
||||
interface QueryOptionsWithName
|
||||
extends CollectionOptionsWithName,
|
||||
QueryOptions {}
|
||||
|
||||
interface QueryOptionsWithID
|
||||
extends CollectionOptionsWithID,
|
||||
QueryOptions {}
|
||||
|
||||
interface Query {
|
||||
SELECTCOLUMNS?: string[];
|
||||
SORT?: QuerySortDirections;
|
||||
FILTERS?: QueryFilter[];
|
||||
PAGESIZE?: number;
|
||||
PAGENUM?: number;
|
||||
}
|
||||
|
||||
interface QueryFilter {
|
||||
[QueryConditions: string]: QueryFilterValue;
|
||||
}
|
||||
|
||||
interface QueryFilterValue {
|
||||
[name: string]: QueryValue;
|
||||
}
|
||||
|
||||
interface QueryObj {
|
||||
id: string;
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
query: Query;
|
||||
OR: Query[];
|
||||
offset: number;
|
||||
limit: number;
|
||||
|
||||
ascending(field: string): void;
|
||||
descending(field: string): void;
|
||||
equalTo(field: string, value: QueryValue): void;
|
||||
greaterThan(field: string, value: QueryValue): void;
|
||||
greaterThanEqualTo(field: string, value: QueryValue): void;
|
||||
lessThan(field: string, value: QueryValue): void;
|
||||
lessThanEqualTo(field: string, value: QueryValue): void;
|
||||
notEqualTo(field: string, value: QueryValue): void;
|
||||
matches(field: string, pattern: QueryValue): void;
|
||||
or(query: QueryObj): void;
|
||||
setPage(pageSize: number, pageNum: number): void;
|
||||
fetch(callback: CbCallback): void;
|
||||
update(changes: object, callback: CbCallback): void;
|
||||
columns(columnsArray: string[]): void;
|
||||
remove(callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface ItemOptions extends CollectionOptionsWithID {}
|
||||
|
||||
interface Item {
|
||||
data: object;
|
||||
|
||||
save(): void;
|
||||
refresh(): void;
|
||||
destroy(): void;
|
||||
}
|
||||
|
||||
interface Code {
|
||||
user: APIUser;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
|
||||
execute(
|
||||
name: string,
|
||||
params: object,
|
||||
loggingEnabled: boolean,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
getAllServices(callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface DeploymentOptions {}
|
||||
|
||||
interface Deployment {
|
||||
user: APIUser;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
|
||||
create(
|
||||
name: string,
|
||||
description: string,
|
||||
options: DeploymentOptions,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
update(
|
||||
name: string,
|
||||
options: DeploymentOptions,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
delete(name: string, callback: CbCallback): void;
|
||||
read(name: string, callback: CbCallback): void;
|
||||
readAll(query: QueryObj, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface AppUser {
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
|
||||
getUser(callback: CbCallback): void;
|
||||
setUser(data: object, callback: CbCallback): void;
|
||||
setUsers(query: QueryObj, data: object, callback: CbCallback): void;
|
||||
allUsers(query: QueryObj, callback: CbCallback): void;
|
||||
count(query: QueryObj, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface Messaging {
|
||||
user: APIUser;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
|
||||
getMessageHistoryWithTimeFrame(
|
||||
topic: string,
|
||||
count: number,
|
||||
last: number,
|
||||
start: number,
|
||||
stop: number,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
getMessageHistory(
|
||||
topic: string,
|
||||
start: number,
|
||||
count: number,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
getAndDeleteMessageHistory(
|
||||
topic: string,
|
||||
count: number,
|
||||
last: number,
|
||||
start: number,
|
||||
stop: number,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
getCurrentTopics(callback: CbCallback): void;
|
||||
publish(topic: string, payload: string | ArrayBuffer): void;
|
||||
}
|
||||
|
||||
interface MessagingOptions {}
|
||||
|
||||
interface Device {
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
|
||||
fetch(query: Query, callback: CbCallback): void;
|
||||
update(query: Query, changes: object, callback: CbCallback): void;
|
||||
delete(query: Query, callback: CbCallback): void;
|
||||
create(newDevice: object, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
enum TriggerModule {
|
||||
DEVICE = "Device",
|
||||
Data = "Data",
|
||||
MESSAGING = "Messaging",
|
||||
USER = "User"
|
||||
}
|
||||
|
||||
interface TriggerCreateOptions {
|
||||
system_key: string;
|
||||
name: string;
|
||||
def_module: TriggerModule;
|
||||
def_name: string;
|
||||
key_value_pairs: KeyValuePair[];
|
||||
service_name: string;
|
||||
}
|
||||
|
||||
interface TriggerClass {
|
||||
Create(
|
||||
name: string,
|
||||
options: TriggerCreateOptions,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
Fetch(name: string, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface TimerCreateOptions {
|
||||
description?: string;
|
||||
start_time?: Date;
|
||||
repeats?: number;
|
||||
frequency?: number;
|
||||
service_name?: string;
|
||||
user_id?: string;
|
||||
user_token?: string;
|
||||
}
|
||||
|
||||
interface TimerClass {
|
||||
Create(
|
||||
name: string,
|
||||
options: TimerCreateOptions,
|
||||
callback: CbCallback
|
||||
): void;
|
||||
Fetch(name: string, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface TriggerInstance {
|
||||
name: string;
|
||||
systemKey: string;
|
||||
|
||||
Update(options: object, callback: CbCallback): void;
|
||||
Delete(callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface TimerInstance {
|
||||
name: string;
|
||||
systemKey: string;
|
||||
|
||||
Update(options: object, callback: CbCallback): void;
|
||||
Delete(callback: CbCallback): void;
|
||||
}
|
||||
|
||||
let ClearBlade: ClearBladeGlobal;
|
||||
}
|
||||
type ReqTypes = BasicReq;
|
||||
declare var req: ReqTypes;
|
||||
interface Resp {
|
||||
error(msg: any): never;
|
||||
success(msg: any): never;
|
||||
}
|
||||
declare var resp: Resp;
|
||||
|
||||
declare enum MessagingQOS {
|
||||
MESSAGING_QOS_AT_MOST_ONCE = 0,
|
||||
MESSAGING_QOS_AT_LEAST_ONCE = 1,
|
||||
MESSAGING_QOS_EXACTLY_ONCE = 2
|
||||
}
|
||||
|
||||
interface InitOptions {
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
logging?: boolean;
|
||||
callback?: CbCallback;
|
||||
authToken?: string;
|
||||
userToken?: string;
|
||||
email?: string;
|
||||
password?: string;
|
||||
registerUser?: boolean;
|
||||
useUser?: APIUser;
|
||||
URI?: string;
|
||||
messagingURI?: string;
|
||||
messagingPort?: number;
|
||||
defaultQoS?: MessagingQOS;
|
||||
callTimeout?: number;
|
||||
}
|
||||
|
||||
interface APIUser {
|
||||
email: string;
|
||||
authToken: string;
|
||||
user_id?: string;
|
||||
}
|
||||
|
||||
interface KeyValuePair {
|
||||
[key: string]: any;
|
||||
}
|
||||
|
||||
type CbCallback = (error: boolean, response: Resp) => void;
|
||||
|
||||
interface ClearBladeGlobal extends ClearBladeInt {
|
||||
user: APIUser;
|
||||
}
|
||||
|
||||
interface ClearBladeInt {
|
||||
Trigger: TriggerClass;
|
||||
Timer: TimerClass;
|
||||
|
||||
about(): string;
|
||||
addToQuery(queryObj: QueryObj, key: string, value: string): void;
|
||||
addFilterToQuery(queryObj: QueryObj, condition: QueryConditions, key: string, value: QueryValue): void;
|
||||
addSortToQuery(queryObj: QueryObj, direction: QuerySortDirections, column: string): void;
|
||||
Code(): Code;
|
||||
Collection(options: string | CollectionOptionsWithName | CollectionOptionsWithID | CollectionOptionsWithCollection): Collection;
|
||||
Deployment(): Deployment;
|
||||
Device(): Device;
|
||||
edgeId(): string;
|
||||
execute(error: object, response: object, callback: CbCallback): any;
|
||||
getAllCollections(callback: CbCallback): void;
|
||||
http(): object;
|
||||
init(options: InitOptions | {request: BasicReq}): void;
|
||||
isEdge(callback: CbCallback): boolean;
|
||||
isCurrentUserAuthenticated(callback: CbCallback): void;
|
||||
isObjectEmpty(obj: object): boolean;
|
||||
Item(data: object, options: string | ItemOptions): Item;
|
||||
logger(message: string): void;
|
||||
loginAnon(callback: CbCallback): void;
|
||||
loginUser(email: string, password: string, callback: CbCallback): void;
|
||||
logoutUser(callback: CbCallback): void;
|
||||
makeKVPair(key: string, value: string): KeyValuePair;
|
||||
Messaging(options: MessagingOptions, callback: CbCallback): Messaging;
|
||||
newCollection(name: string, callback: CbCallback): void;
|
||||
Query(options: QueryOptionsWithCollection | QueryOptionsWithName | QueryOptionsWithID): QueryObj;
|
||||
parseOperationQuery(query: Query): string;
|
||||
parseQuery(query: Query | QueryObj): string;
|
||||
registerUser(email: string, password: string, callback: CbCallback): void;
|
||||
setUser(email: string, authToken: string, userId: string): void;
|
||||
User(): AppUser;
|
||||
|
||||
createDevice(name: string, data: object, causeTrigger: boolean, callback: CbCallback): void;
|
||||
deleteDevice(name: string, causeTrigger: boolean, callback: CbCallback): void;
|
||||
updateDevice(name: string, data: object, causeTrigger: boolean, callback: CbCallback): void;
|
||||
getDeviceByName(name: string, callback: CbCallback): void;
|
||||
getAllDevicesForSystem(callback: CbCallback): void;
|
||||
validateEmailPassword(email: string, password: string): void;
|
||||
}
|
||||
|
||||
interface CollectionOptionsWithCollection {
|
||||
collection: string;
|
||||
}
|
||||
|
||||
interface CollectionOptionsWithName {
|
||||
collectionName: string;
|
||||
}
|
||||
|
||||
interface CollectionOptionsWithID {
|
||||
collectionID: string;
|
||||
}
|
||||
|
||||
interface Collection {
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
|
||||
addColumn(options: object, callback: CbCallback): void;
|
||||
dropColumn(name: string, callback: CbCallback): void;
|
||||
deleteCollection(callback: CbCallback): void;
|
||||
fetch(query: Query, callback: CbCallback): void;
|
||||
create(newItem: Item, callback: CbCallback): void;
|
||||
update(query: Query, changes: object, callback: CbCallback): void;
|
||||
remove(query: Query, callback: CbCallback): void;
|
||||
columns(callback: CbCallback): void;
|
||||
count(query: Query, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
declare enum QuerySortDirections {
|
||||
QUERY_SORT_ASCENDING = 'ASC',
|
||||
QUERY_SORT_DESCENDING = 'DESC'
|
||||
}
|
||||
|
||||
declare enum QueryConditions {
|
||||
QUERY_EQUAL = 'EQ',
|
||||
QUERY_NOTEQUAL = 'NEQ',
|
||||
QUERY_GREATERTHAN = 'GT',
|
||||
QUERY_GREATERTHAN_EQUAL = 'GTE',
|
||||
QUERY_LESSTHAN = 'LT',
|
||||
QUERY_LESSTHAN_EQUAL = 'LTE',
|
||||
QUERY_MATCHES = 'RE'
|
||||
}
|
||||
|
||||
type QueryValue = string|number|boolean;
|
||||
|
||||
interface QueryOptions {
|
||||
offset?: number;
|
||||
limit?: number;
|
||||
}
|
||||
|
||||
interface QueryOptionsWithCollection extends CollectionOptionsWithCollection, QueryOptions {}
|
||||
|
||||
interface QueryOptionsWithName extends CollectionOptionsWithName, QueryOptions {}
|
||||
|
||||
interface QueryOptionsWithID extends CollectionOptionsWithID, QueryOptions {}
|
||||
|
||||
interface Query {
|
||||
SELECTCOLUMNS?: string[];
|
||||
SORT?: QuerySortDirections;
|
||||
FILTERS?: QueryFilter[];
|
||||
PAGESIZE?: number;
|
||||
PAGENUM?: number;
|
||||
}
|
||||
|
||||
interface QueryFilter {
|
||||
[QueryConditions: string]: QueryFilterValue;
|
||||
}
|
||||
|
||||
interface QueryFilterValue {
|
||||
[name: string]: QueryValue;
|
||||
}
|
||||
|
||||
interface QueryObj {
|
||||
id: string;
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
query: Query;
|
||||
OR: Query[];
|
||||
offset: number;
|
||||
limit: number;
|
||||
|
||||
ascending(field: string): void;
|
||||
descending(field: string): void;
|
||||
equalTo(field: string, value: QueryValue): void;
|
||||
greaterThan(field: string, value: QueryValue): void;
|
||||
greaterThanEqualTo(field: string, value: QueryValue): void;
|
||||
lessThan(field: string, value: QueryValue): void;
|
||||
lessThanEqualTo(field: string, value: QueryValue): void;
|
||||
notEqualTo(field: string, value: QueryValue): void;
|
||||
matches(field: string, pattern: QueryValue): void;
|
||||
or(query: QueryObj): void;
|
||||
setPage(pageSize: number, pageNum: number): void;
|
||||
fetch(callback: CbCallback): void;
|
||||
update(changes: object, callback: CbCallback): void;
|
||||
columns(columnsArray: string[]): void;
|
||||
remove(callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface ItemOptions extends CollectionOptionsWithID {}
|
||||
|
||||
interface Item {
|
||||
data: object;
|
||||
|
||||
save(): void;
|
||||
refresh(): void;
|
||||
destroy(): void;
|
||||
}
|
||||
|
||||
interface Code {
|
||||
user: APIUser;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
|
||||
execute(name: string, params: object, loggingEnabled: boolean, callback: CbCallback): void;
|
||||
getAllServices(callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface DeploymentOptions {}
|
||||
|
||||
interface Deployment {
|
||||
user: APIUser;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
|
||||
create(name: string, description: string, options: DeploymentOptions, callback: CbCallback): void;
|
||||
update(name: string, options: DeploymentOptions, callback: CbCallback): void;
|
||||
delete(name: string, callback: CbCallback): void;
|
||||
read(name: string, callback: CbCallback): void;
|
||||
readAll(query: QueryObj, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface AppUser {
|
||||
user: APIUser;
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
|
||||
getUser(callback: CbCallback): void;
|
||||
setUser(data: object, callback: CbCallback): void;
|
||||
setUsers(query: QueryObj, data: object, callback: CbCallback): void;
|
||||
allUsers(query: QueryObj, callback: CbCallback): void;
|
||||
count(query: QueryObj, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface Messaging {
|
||||
user: APIUser;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
|
||||
getMessageHistoryWithTimeFrame(topic: string, count: number, last: number, start: number, stop: number, callback: CbCallback): void;
|
||||
getMessageHistory(topic: string, start: number, count: number, callback: CbCallback): void;
|
||||
getAndDeleteMessageHistory(topic: string, count: number, last: number, start: number, stop: number, callback: CbCallback): void;
|
||||
getCurrentTopics(callback: CbCallback): void;
|
||||
publish(topic: string, payload: string | ArrayBuffer): void;
|
||||
}
|
||||
|
||||
interface MessagingOptions {}
|
||||
|
||||
interface Device {
|
||||
URI: string;
|
||||
systemKey: string;
|
||||
systemSecret: string;
|
||||
|
||||
fetch(query: Query, callback: CbCallback): void;
|
||||
update(query: Query, changes: object, callback: CbCallback): void;
|
||||
delete(query: Query, callback: CbCallback): void;
|
||||
create(newDevice: object, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
declare enum TriggerModule {
|
||||
DEVICE = "Device",
|
||||
Data = "Data",
|
||||
MESSAGING = "Messaging",
|
||||
USER = "User"
|
||||
}
|
||||
|
||||
interface TriggerCreateOptions {
|
||||
system_key: string;
|
||||
name: string;
|
||||
def_module: TriggerModule;
|
||||
def_name: string;
|
||||
key_value_pairs: KeyValuePair[];
|
||||
service_name: string;
|
||||
}
|
||||
|
||||
interface TriggerClass {
|
||||
Create(name: string, options: TriggerCreateOptions, callback: CbCallback): void;
|
||||
Fetch(name: string, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface TimerCreateOptions {
|
||||
description?: string;
|
||||
start_time?: Date;
|
||||
repeats?: number;
|
||||
frequency?: number;
|
||||
service_name?: string;
|
||||
user_id?: string;
|
||||
user_token?: string;
|
||||
}
|
||||
|
||||
interface TimerClass {
|
||||
Create(name: string, options: TimerCreateOptions, callback: CbCallback): void;
|
||||
Fetch(name: string, callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface TriggerInstance {
|
||||
name: string;
|
||||
systemKey: string;
|
||||
|
||||
Update(options: object, callback: CbCallback): void;
|
||||
Delete(callback: CbCallback): void;
|
||||
}
|
||||
|
||||
interface TimerInstance {
|
||||
name: string;
|
||||
systemKey: string;
|
||||
|
||||
Update(options: object, callback: CbCallback): void;
|
||||
Delete(callback: CbCallback): void;
|
||||
}
|
||||
|
||||
declare var ClearBlade: ClearBladeGlobal;
|
||||
|
||||
Reference in New Issue
Block a user