# clay-driver-base@4.1.8
Base driver for clay
+ Functions
+ [create(args)](#clay-driver-base-function-create)
+ [`Driver`](#clay-driver-base-class) Class
+ [new Driver()](#clay-driver-base-class-driver-constructor)
+ [driver.one(resourceName, id, options)](#clay-driver-base-class-driver-one)
+ [driver.list(resourceName, condition, options)](#clay-driver-base-class-driver-list)
+ [driver.create(resourceName, attributes)](#clay-driver-base-class-driver-create)
+ [driver.update(resourceName, id, attributes)](#clay-driver-base-class-driver-update)
+ [driver.destroy(resourceName, id)](#clay-driver-base-class-driver-destroy)
+ [driver.drop(resourceName)](#clay-driver-base-class-driver-drop)
+ [driver.resources()](#clay-driver-base-class-driver-resources)
## Functions
### create(args) -> `Driver`
Create driver instance
| Param | Type | Description |
| ----- | --- | -------- |
| args | * | |
## `Driver` Class
Abstract driver
### new Driver()
Constructor of Driver class
### driver.one(resourceName, id, options) -> `Promise.`
Get single entity from resource
| Param | Type | Description |
| ----- | --- | -------- |
| resourceName | string | Name of resource |
| id | ClayId | Resource id |
| options | Object | Options settings |
### driver.list(resourceName, condition, options) -> `Promise.`
List entities from resource
| Param | Type | Description |
| ----- | --- | -------- |
| resourceName | string | Name of resource |
| condition | ListCondition | List condition query |
| options | Object | Options settings |
### driver.create(resourceName, attributes) -> `Promise.`
Create a new entity with resource
| Param | Type | Description |
| ----- | --- | -------- |
| resourceName | string | Name of resource |
| attributes | Object | Resource attributes to create |
### driver.update(resourceName, id, attributes) -> `Promise.`
Update an existing entity in resource
| Param | Type | Description |
| ----- | --- | -------- |
| resourceName | string | Name of resource |
| id | ClayId | Resource id |
| attributes | Object | Resource attributes to update |
### driver.destroy(resourceName, id) -> `Promise.`
Delete a entity resource
| Param | Type | Description |
| ----- | --- | -------- |
| resourceName | string | Name of resource |
| id | ClayId | Resource id |
### driver.drop(resourceName) -> `Promise.`
Drop resource
| Param | Type | Description |
| ----- | --- | -------- |
| resourceName | string | Name of resource |
### driver.resources() -> `Promise.`
List resources