Throws an error and prevents LiveQuery from reconnecting. Fixes Monitoring installationId. Allow installationId to be sent to and from client.
145 lines
2.6 KiB
JavaScript
145 lines
2.6 KiB
JavaScript
const general = {
|
|
title: 'General request schema',
|
|
type: 'object',
|
|
properties: {
|
|
op: {
|
|
type: 'string',
|
|
enum: ['connect', 'subscribe', 'unsubscribe', 'update'],
|
|
},
|
|
},
|
|
required: ['op'],
|
|
};
|
|
|
|
const connect = {
|
|
title: 'Connect operation schema',
|
|
type: 'object',
|
|
properties: {
|
|
op: 'connect',
|
|
applicationId: {
|
|
type: 'string',
|
|
},
|
|
javascriptKey: {
|
|
type: 'string',
|
|
},
|
|
masterKey: {
|
|
type: 'string',
|
|
},
|
|
clientKey: {
|
|
type: 'string',
|
|
},
|
|
windowsKey: {
|
|
type: 'string',
|
|
},
|
|
restAPIKey: {
|
|
type: 'string',
|
|
},
|
|
sessionToken: {
|
|
type: 'string',
|
|
},
|
|
installationId: {
|
|
type: 'string',
|
|
},
|
|
},
|
|
required: ['op', 'applicationId'],
|
|
additionalProperties: false,
|
|
};
|
|
|
|
const subscribe = {
|
|
title: 'Subscribe operation schema',
|
|
type: 'object',
|
|
properties: {
|
|
op: 'subscribe',
|
|
requestId: {
|
|
type: 'number',
|
|
},
|
|
query: {
|
|
title: 'Query field schema',
|
|
type: 'object',
|
|
properties: {
|
|
className: {
|
|
type: 'string',
|
|
},
|
|
where: {
|
|
type: 'object',
|
|
},
|
|
fields: {
|
|
type: 'array',
|
|
items: {
|
|
type: 'string',
|
|
},
|
|
minItems: 1,
|
|
uniqueItems: true,
|
|
},
|
|
},
|
|
required: ['where', 'className'],
|
|
additionalProperties: false,
|
|
},
|
|
sessionToken: {
|
|
type: 'string',
|
|
},
|
|
},
|
|
required: ['op', 'requestId', 'query'],
|
|
additionalProperties: false,
|
|
};
|
|
|
|
const update = {
|
|
title: 'Update operation schema',
|
|
type: 'object',
|
|
properties: {
|
|
op: 'update',
|
|
requestId: {
|
|
type: 'number',
|
|
},
|
|
query: {
|
|
title: 'Query field schema',
|
|
type: 'object',
|
|
properties: {
|
|
className: {
|
|
type: 'string',
|
|
},
|
|
where: {
|
|
type: 'object',
|
|
},
|
|
fields: {
|
|
type: 'array',
|
|
items: {
|
|
type: 'string',
|
|
},
|
|
minItems: 1,
|
|
uniqueItems: true,
|
|
},
|
|
},
|
|
required: ['where', 'className'],
|
|
additionalProperties: false,
|
|
},
|
|
sessionToken: {
|
|
type: 'string',
|
|
},
|
|
},
|
|
required: ['op', 'requestId', 'query'],
|
|
additionalProperties: false,
|
|
};
|
|
|
|
const unsubscribe = {
|
|
title: 'Unsubscribe operation schema',
|
|
type: 'object',
|
|
properties: {
|
|
op: 'unsubscribe',
|
|
requestId: {
|
|
type: 'number',
|
|
},
|
|
},
|
|
required: ['op', 'requestId'],
|
|
additionalProperties: false,
|
|
};
|
|
|
|
const RequestSchema = {
|
|
general: general,
|
|
connect: connect,
|
|
subscribe: subscribe,
|
|
update: update,
|
|
unsubscribe: unsubscribe,
|
|
};
|
|
|
|
export default RequestSchema;
|