Methods
# abstract static isAdapterFor(rawResource) → {Boolean}
Checks if given adapter supports resource provided by the user. This function has to be implemented only if you want to create your custom database adapter.
For one time Admin Resource creation - it is not needed.
Parameters:
Name | Type | Description |
---|---|---|
rawResource |
any | resource provided in AdminBroOptions#resources array |
if given adapter supports this resource - returns true
# build(params) → {BaseRecord}
Builds new Record of given Resource.
Each Record is an representation of the resource item. Before it can be saved, it has to be instantiated.
This function has to be implemented if you want to create new records.
Parameters:
Name | Type | Description |
---|---|---|
params |
Record.<string, any> |
# async abstract count(filter) → {Promise.<Number>}
Returns number of elements for given resource by including filters
Parameters:
Name | Type | Description |
---|---|---|
filter |
Filter | represents what data should be included |
# async abstract create(params) → {Promise.<Object>}
Creates new record
Parameters:
Name | Type | Description |
---|---|---|
params |
Record.<string, any> |
If there are validation errors it should be thrown
created record converted to raw Object which can be used to initiate new BaseRecord instance
# abstract databaseName() → {String}
The name of the database to which resource belongs. When resource is a mongoose model it should be database name of the mongo database.
Visually, by default, all resources are nested in sidebar under their database names.
database name
# databaseType() → {String}
Returns type of the database. It is used to compute sidebar icon for given resource. Default: 'database'
# async abstract delete(id)
Delete given record by id
Parameters:
Name | Type | Description |
---|---|---|
id |
String | Number | id of the Record |
If there are validation errors it should be thrown
# async abstract find(filters, options) → {Promise.<Array.<BaseRecord>>}
Returns actual records for given resource
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
filters |
Filter | what data should be included |
|
options |
Object | ||
limit |
Number |
<optional> |
how many records should be taken |
offset |
Number |
<optional> |
offset |
sort |
Object |
<optional> |
sort |
sort.sortBy |
Number |
<optional> |
sortable field |
sort.direction |
Number |
<optional> |
either asc or desc |
list of records
Example
// filters example
{
name: 'Tom',
createdAt: { from: '2019-01-01', to: '2019-01-18' }
}
# async findMany(list) → {Promise.<Array.<BaseRecord>>}
Finds many records based on the resource ids
Parameters:
Name | Type | Description |
---|---|---|
list |
Array.<string> | of ids to find |
records
# async abstract findOne(id) → {Promise.<BaseRecord>|null}
Finds one Record in the Resource by its id
Parameters:
Name | Type | Description |
---|---|---|
id |
String | uniq id of the Resource Record |
record
# abstract id() → {String}
Each resource has to have uniq id which will be put to an URL of AdminBro routes.
For instance in Router path for the new
form is /resources/{resourceId}/new
uniq resource id
# abstract properties() → {Array.<BaseProperty>}
returns array of all properties which belongs to resource
# abstract property(path) → {BaseProperty|null}
returns property object for given field
Parameters:
Name | Type | Description |
---|---|---|
path |
String | path/name of the property. Take a look at BaseProperty to learn more about property paths. |
# async abstract update(id, params) → {Promise.<Object>}
Updates an the record.
Parameters:
Name | Type | Description |
---|---|---|
id |
String | uniq id of the Resource Record |
params |
Record.<string, any> |
If there are validation errors it should be thrown
created record converted to raw Object which can be used to initiate new BaseRecord instance