rest-on-couch-client
Advanced tools
Comparing version 3.1.0 to 3.2.0
# Changelog | ||
## [3.2.0](https://www.github.com/cheminfo/rest-on-couch-client/compare/v3.1.0...v3.2.0) (2021-08-25) | ||
### Features | ||
* add accessToken option ([0531a04](https://www.github.com/cheminfo/rest-on-couch-client/commit/0531a041e51a7350c79c925e691f54792610780b)) | ||
## [3.1.0](https://www.github.com/cheminfo/rest-on-couch-client/compare/v3.0.1...v3.1.0) (2021-08-10) | ||
@@ -4,0 +11,0 @@ |
@@ -6,3 +6,3 @@ import axios from 'axios'; | ||
import RocDocument from './RocDocument'; | ||
function createAxios(url) { | ||
function createAxios(url, accessToken) { | ||
return axios.create({ | ||
@@ -23,2 +23,5 @@ baseURL: url, | ||
} | ||
if (accessToken) { | ||
searchParams.append('token', accessToken); | ||
} | ||
return searchParams.toString(); | ||
@@ -33,2 +36,3 @@ }, | ||
dbRequest; | ||
accessToken; | ||
constructor(config) { | ||
@@ -43,5 +47,6 @@ super(); | ||
} | ||
this.request = createAxios(this.url); | ||
this.accessToken = config.accessToken; | ||
this.request = createAxios(this.url, config.accessToken); | ||
this.dbUrl = new URL(`db/${config.database}/`, this.url).href; | ||
this.dbRequest = createAxios(this.dbUrl); | ||
this.dbRequest = createAxios(this.dbUrl, config.accessToken); | ||
} | ||
@@ -54,9 +59,9 @@ async create(newDocument) { | ||
const url = new URL(`entry/${uuid}/`, this.dbUrl).href; | ||
return new RocDocument(uuid, createAxios(url)); | ||
return new RocDocument(uuid, createAxios(url, this.accessToken)); | ||
} | ||
getQuery(viewName, options = {}) { | ||
return new Query(viewName, options, createAxios(new URL(`_query/${viewName}`, this.dbUrl).href)); | ||
return new Query(viewName, options, createAxios(new URL(`_query/${viewName}`, this.dbUrl).href, this.accessToken)); | ||
} | ||
getReduceQuery(viewName, options = {}) { | ||
return new ReduceQuery(viewName, options, createAxios(new URL(`_view/${viewName}`, this.dbUrl).href)); | ||
return new ReduceQuery(viewName, options, createAxios(new URL(`_view/${viewName}`, this.dbUrl).href, this.accessToken)); | ||
} | ||
@@ -63,0 +68,0 @@ async getUser() { |
@@ -10,2 +10,3 @@ import { BaseRocReduceQuery } from '../base'; | ||
database: string; | ||
accessToken?: string; | ||
} | ||
@@ -17,2 +18,3 @@ export default class Roc extends BaseRoc { | ||
private dbRequest; | ||
private accessToken?; | ||
constructor(config: IRocConfig); | ||
@@ -19,0 +21,0 @@ create<ContentType>(newDocument: INewDocument<ContentType>): Promise<BaseRocDocument<ContentType>>; |
@@ -8,3 +8,3 @@ "use strict"; | ||
const RocDocument_1 = require("./RocDocument"); | ||
function createAxios(url) { | ||
function createAxios(url, accessToken) { | ||
return axios_1.default.create({ | ||
@@ -25,2 +25,5 @@ baseURL: url, | ||
} | ||
if (accessToken) { | ||
searchParams.append('token', accessToken); | ||
} | ||
return searchParams.toString(); | ||
@@ -35,2 +38,3 @@ }, | ||
dbRequest; | ||
accessToken; | ||
constructor(config) { | ||
@@ -45,5 +49,6 @@ super(); | ||
} | ||
this.request = createAxios(this.url); | ||
this.accessToken = config.accessToken; | ||
this.request = createAxios(this.url, config.accessToken); | ||
this.dbUrl = new URL(`db/${config.database}/`, this.url).href; | ||
this.dbRequest = createAxios(this.dbUrl); | ||
this.dbRequest = createAxios(this.dbUrl, config.accessToken); | ||
} | ||
@@ -56,9 +61,9 @@ async create(newDocument) { | ||
const url = new URL(`entry/${uuid}/`, this.dbUrl).href; | ||
return new RocDocument_1.default(uuid, createAxios(url)); | ||
return new RocDocument_1.default(uuid, createAxios(url, this.accessToken)); | ||
} | ||
getQuery(viewName, options = {}) { | ||
return new Query_1.default(viewName, options, createAxios(new URL(`_query/${viewName}`, this.dbUrl).href)); | ||
return new Query_1.default(viewName, options, createAxios(new URL(`_query/${viewName}`, this.dbUrl).href, this.accessToken)); | ||
} | ||
getReduceQuery(viewName, options = {}) { | ||
return new ReduceQuery_1.default(viewName, options, createAxios(new URL(`_view/${viewName}`, this.dbUrl).href)); | ||
return new ReduceQuery_1.default(viewName, options, createAxios(new URL(`_view/${viewName}`, this.dbUrl).href, this.accessToken)); | ||
} | ||
@@ -65,0 +70,0 @@ async getUser() { |
{ | ||
"name": "rest-on-couch-client", | ||
"version": "3.1.0", | ||
"version": "3.2.0", | ||
"description": "A nodejs / browser client for rest-on-couch backend", | ||
@@ -41,4 +41,4 @@ "main": "./lib/index.js", | ||
"devDependencies": { | ||
"@types/jest": "^26.0.24", | ||
"eslint": "^7.31.0", | ||
"@types/jest": "^27.0.1", | ||
"eslint": "^7.32.0", | ||
"eslint-config-cheminfo-typescript": "^8.0.9", | ||
@@ -48,7 +48,7 @@ "jest": "^27.0.6", | ||
"rimraf": "^3.0.2", | ||
"ts-jest": "^27.0.4", | ||
"ts-jest": "^27.0.5", | ||
"typescript": "^4.3.5" | ||
}, | ||
"dependencies": { | ||
"@types/node": "^16.4.5", | ||
"@types/node": "^16.7.1", | ||
"axios": "^0.21.1", | ||
@@ -55,0 +55,0 @@ "immer": "^9.0.5" |
222324
4972
Updated@types/node@^16.7.1