https://github.com/mastilver/couchbase-model-decorator
https://github.com/mastilver/couchbase-model-decorator
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/mastilver/couchbase-model-decorator
- Owner: mastilver
- License: mit
- Created: 2015-12-24T18:07:30.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-12-23T12:58:47.000Z (over 9 years ago)
- Last Synced: 2025-09-21T18:57:07.708Z (10 months ago)
- Language: JavaScript
- Size: 5.86 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
- License: license
Awesome Lists containing this project
README
# couchbase-model-decorator [](https://travis-ci.org/mastilver/couchbase-model-decorator)
> A [couchbase](http://couchbase.com/) interface using decorator and [joi](https://github.com/hapijs/joi)
## Install
```
$ npm install --save couchbase-model-decorator
```
## Usage
`orm.js`:
```js
import path from 'path';
import couchbase from 'couchbase';
import couchbaseModelDecorator from 'couchbase-model-decorator';
const cluster = new couchbase.Cluster();
const bucket = cluster.openBucket();
export const model = couchbaseModelDecorator(bucket);
```
`models/user.js`:
```js
import Joi from 'joi';
import {model} from './orm';
@model('user')
export default class {
username = Joi.string().alphanum();
password = Joi.string();
email = Joi.string();
}
```
```js
import user from './models/user';
user.insert({
username: 'user',
password: 'pass',
email: 'test@test.com'
})
.then(result => {
console.log(result);
})
```
## API
### couchbaseModelDecorator(couchbaseBucket)
return a decorator method which can be used on models
#### couchbaseBucket
Type: `Bucket`
couchbase bucket to which we will connect to
## License
MIT © [Thomas Sileghem](http://mastilver.com)