new Schemas(endpoint, schemas, service)
- A Collection of Schema instances
Parameters:
| Name | Type | Description |
|---|---|---|
endpoint |
string | REST API endpoint base |
schemas |
Object | An object defining each schema associated to its name |
service |
apy.CompositeService | Apy Composite service instance |
Throws:
Example
var logs = {
time: { type: 'datetime'},
text: { type: 'string'},
};
var members = {
lastname: { type: 'string'},
firstname: { type: 'string'},
address: {
type: 'dict',
schema: {
road: { type: 'string'},
street: { type: 'string'},
zipcode: { type: 'integer'},
city: { type: 'string'},
}
}
};
var activities = {
start: { type: 'datetime'},
end: { type: 'datetime'},
description: { type: 'string'}
};
var endpoint = 'http://my/api/2/';
var schemas = {
logs: logs,
members: members,
activities: activities
};
var service = apy.CompositeService(...);
var apySchemas = new apy.components.Schemas(endpoint, schemas, {
excludedEndpointByNames: ['logs']
}, service);
Methods
-
<static> Schemas#createResource(name, payload)
-
Create a Resource component based on, given Schema's name and optional payload
Parameters:
Name Type Description namestring Resource name based on given Schema names
payloadObject (optional) Resource payload object
Throws:
Returns:
Resource component based on given name & payload
-
<static> Schemas#get(schemaName)
-
Get an
apy.components.Schemainstance by its nameParameters:
Name Type Description schemaNamestring Schema's name
Throws:
Returns:
-
<static> Schemas#load()
-
Load all given Schema objects
-
<static> Schemas#schema2data(schema, keyName)
-
Create recursively based on a Schema a matching payload
Parameters:
Name Type Description schemaObject Schema object
keyNamestring key Schema's name
Returns:
A payload based on given schema
- Type
- Object
-
<static> Schemas#transformData(key, value)
-
Create recursively based on a Schema a matching payload
Parameters:
Name Type Description keystring Schema's name
valueObject Schema object
Returns:
Default value
- Type
- *