- FarmEntityMethods :
Object
The methods for writing to local copies of farmOS data structures, such as assets, logs, etc, and for transmitting those entities to a farmOS server.
- FarmObject :
Object
A collection of functions for working with farmOS data structures, their associated metadata and schemata, and for interacting with farmOS servers.
- EntityConfig :
EntityConfig
To enable support for each entity type, its config object must be provided.
- farmOS ⇒
FarmObject
The main farmOS factory function for creating a new farm object.
- JsonSchema :
JsonSchema
JSON Schema for defining the entities supported by a farmOS instance.
- JsonSchemaDereferenced :
JsonSchemaDereferenced
JSON Schema Dereferenced: A JSON Schema, but w/o any $ref keywords. As such, it may contain circular references that cannot be serialized.
- BundleSchemata :
Object.<string, JsonSchema>
An object containing the schemata for the bundles of a farmOS entity, with the bundle name as key and its corresponding schema as its value.
- EntitySchemata :
Object.<string, BundleSchemata>
An object containing the schemata for the bundles of a farmOS entity, with the bundle name as key and its corresponding schema as its value.
- ModelEntityMethods :
Object
The methods for writing to local copies of farmOS data structures, such as assets, logs, etc.
- FarmModel :
Object
A collection of functions for working with farmOS data structures, their associated metadata and schemata.
- EntityConfig :
EntityConfig
- model ⇒
FarmModel
Create a farm model for generating and manipulating farmOS data structures.
- ClientEntityMethods :
Object
The methods for transmitting farmOS data structures, such as assets, logs, etc, to a farmOS server.
- FetchSchema ⇒
Promise.<(EntitySchemata|BundleSchemata|JsonSchema)>
Fetch JSON Schema documents for farmOS data structures.
- AuthMixin ⇒
Object.<string, function()>
- FarmClient :
Object
A collection of functions for transmitting farmOS data structures to and from a farmOS Drupal 9 server using JSON:API.
- EntityConfig :
EntityConfig
- client ⇒
FarmClient
Create a farm client for interacting with farmOS servers.
- EntityReference :
Object
- Entity :
Object
- EntityConfig :
Object
- DefaultEntities :
Object.<String, EntityConfig>
The methods for writing to local copies of farmOS data structures, such as assets, logs, etc, and for transmitting those entities to a farmOS server.
Kind: global typedef
Properties
Name | Type |
---|---|
create | createEntity |
update | updateEntity |
merge | mergeEntity |
[fetch] | fetchEntity |
[send] | sendEntity |
[delete] | deleteEntity |
A collection of functions for working with farmOS data structures, their associated metadata and schemata, and for interacting with farmOS servers.
Kind: global typedef
Properties
Name | Type |
---|---|
schema | Object |
schema.get | function |
schema.set | function |
schema.on | function |
[schema.fetch] | function |
meta | Object |
meta.isUnsynced | function |
remote | Object |
remote.request | module:axios~AxiosInstance |
[remote.info] | function |
[remote.authorize] | function |
[remote.getToken] | function |
asset | FarmEntityMethods |
file | FarmEntityMethods |
log | FarmEntityMethods |
plan | FarmEntityMethods |
quantity | FarmEntityMethods |
term | FarmEntityMethods |
user | FarmEntityMethods |
EntityConfig : EntityConfig
To enable support for each entity type, its config object must be provided.
farmOS ⇒ FarmObject
The main farmOS factory function for creating a new farm object.
Kind: global typedef
Param | Type |
---|---|
farmConfig | Object |
Properties
Name | Type | Default |
---|---|---|
[config.schemata] | EntitySchemata |
|
[config.remote] | Object |
|
[config.remote.adapter] | client |
d9JsonApiAdapter |
[config.entities] | Object.<String, EntityConfig> |
defaultEntities |
JsonSchema : JsonSchema
JSON Schema for defining the entities supported by a farmOS instance.
Kind: global typedef
See: https://json-schema.org/understanding-json-schema/index.html
JsonSchemaDereferenced : JsonSchemaDereferenced
JSON Schema Dereferenced: A JSON Schema, but w/o any $ref keywords. As such, it may contain circular references that cannot be serialized.
An object containing the schemata for the bundles of a farmOS entity, with the bundle name as key and its corresponding schema as its value.
An object containing the schemata for the bundles of a farmOS entity, with the bundle name as key and its corresponding schema as its value.
The methods for writing to local copies of farmOS data structures, such as assets, logs, etc.
Kind: global typedef
Properties
Name | Type |
---|---|
create | createEntity |
update | updateEntity |
merge | mergeEntity |
A collection of functions for working with farmOS data structures, their associated metadata and schemata.
Kind: global typedef
Properties
Name | Type |
---|---|
schema | Object |
schema.get | function |
schema.set | function |
schema.on | function |
meta | Object |
meta.isUnsynced | function |
asset | ModelEntityMethods |
file | ModelEntityMethods |
log | ModelEntityMethods |
plan | ModelEntityMethods |
quantity | ModelEntityMethods |
term | ModelEntityMethods |
user | ModelEntityMethods |
EntityConfig : EntityConfig
model ⇒ FarmModel
Create a farm model for generating and manipulating farmOS data structures.
Kind: global typedef
Param | Type |
---|---|
options | Object |
Properties
Name | Type | Default |
---|---|---|
[options.schemata] | EntitySchemata |
|
[options.entities] | Object.<String, EntityConfig> |
defaultEntities |
model~getSchemata(...args) ⇒ EntitySchemata
| BundleSchemata
| JsonSchemaDereferenced
Retrieve all schemata that have been previously set, or the schemata of a particular entity, or one bundle's schema, if specified.
Kind: inner method of model
Param | Type |
---|---|
...args | String |
Load all schemata, the schemata of a particular entity, or one bundle's schema, if specified.
Kind: inner method of model
Void:
Param | Type |
---|---|
...args | String | EntitySchemata | BundleSchemata | JsonSchema |
The methods for transmitting farmOS data structures, such as assets, logs, etc, to a farmOS server.
Kind: global typedef
Properties
Name | Type |
---|---|
fetch | fetchEntity |
send | sendEntity |
delete | deleteEntity |
Fetch JSON Schema documents for farmOS data structures.
Kind: global typedef
Param | Type | Description |
---|---|---|
[entity] | string |
The farmOS entity for which you wish to retrieve schemata. |
[bundle] | string |
The entity bundle for which you wish to retrieve schemata. |
Kind: global typedef
Param | Type |
---|---|
request | module:axios~AxiosInstance |
authOptions | Object |
Properties
Name | Type |
---|---|
authOptions.host | String |
A collection of functions for transmitting farmOS data structures to and from a farmOS Drupal 9 server using JSON:API.
Kind: global typedef
Properties
Name | Type |
---|---|
request | module:axios~AxiosInstance |
[authorize] | function |
[getToken] | function |
info | function |
schema | Object |
schema.fetch | FetchSchema |
asset | ClientEntityMethods |
file | ClientEntityMethods |
log | ClientEntityMethods |
plan | ClientEntityMethods |
quantity | ClientEntityMethods |
term | ClientEntityMethods |
user | ClientEntityMethods |
EntityConfig : EntityConfig
client ⇒ FarmClient
Create a farm client for interacting with farmOS servers.
Kind: global typedef
Param | Type |
---|---|
host | String |
[options] | Object |
Properties
Name | Type | Default |
---|---|---|
[options.auth] | AuthMixin |
oauth |
[options.entities] | Object.<String, EntityConfig> |
defaultEntities |
[options.clientId] | String |
|
[options.getToken] | function |
|
[options.setToken] | function |
Kind: global typedef
Properties
Name | Type | Description |
---|---|---|
id | String |
A v4 UUID as specified by RFC 4122. |
type | String |
Corresponding to the entity bundle (eg, 'activity'). |
Kind: global typedef
Properties
Name | Type | Description |
---|---|---|
id | String |
A v4 UUID as specified by RFC 4122. |
type | String |
The combined form of entity & bundle (eg, 'log--activity'). |
attributes | Object |
Values directly attributable to this entity. |
relationships | Object.<String, (EntityReference|Array.<EntityReference>)> |
References to other entities that define a one-to-one or one-to-many relationship. |
meta | Object |
Non-domain information associated with the creation, modification, storage and transmission of the entity. |
meta.created | String |
An ISO 8601 date-time string indicating when the entity was first created, either locally or remotely. |
meta.changed | String |
An ISO 8601 date-time string indicating when the entity was last changed, either locally or remotely. |
meta.remote | Object |
|
meta.fieldChanges | Object |
|
meta.conflicts | Array |
Kind: global typedef
Properties
Name | Type |
---|---|
nomenclature | Object |
nomenclature.name | Object |
nomenclature.shortName | Object |
nomenclature.plural | Object |
nomenclature.shortPlural | Object |
nomenclature.display | Object |
nomenclature.displayPlural | Object |
defaultOptions | Object |
defaultOptions.byType | Object |
defaultOptions.byFormat | Object |
Kind: global typedef
Properties
Name | Type |
---|---|
asset | EntityConfig |
file | EntityConfig |
log | EntityConfig |
plan | EntityConfig |
quantity | EntityConfig |
taxonomy_term | EntityConfig |
user | EntityConfig |