From 10214ac58a285aa7ec03628ac1ca471c5c60399c Mon Sep 17 00:00:00 2001 From: Robert Lindstaedt Date: Mon, 24 Sep 2018 15:12:12 +0200 Subject: [PATCH] feat: fixes put; fixes options --- package-lock.json | 54 +++++++++++++++++---------------------------- package.json | 4 +++- src/v1/templates.ts | 18 +++++++++------ 3 files changed, 34 insertions(+), 42 deletions(-) diff --git a/package-lock.json b/package-lock.json index aff3930fa2b..9430dd015e3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2848,6 +2848,12 @@ "integrity": "sha512-fCHV45gS+m3hH17zgkgADUSi2RR1Vht6wOZ0jyHP8rjiQra9f+mIcgwPQHllmDocYOstIEbKlxbFDYlgrTPYqw==", "dev": true }, + "@types/qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-mNhVdZHdtKHMMxbqzNK3RzkBcN1cux3AvuCYGTvjEIQT2uheH3eCAyYsbMbh2Bq8nXkeOWs1kyDiF7geWRFQ4Q==", + "dev": true + }, "@types/shelljs": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.0.tgz", @@ -4389,7 +4395,7 @@ }, "babel-plugin-istanbul": { "version": "4.1.6", - "resolved": "http://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz", "integrity": "sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==", "dev": true, "requires": { @@ -9094,8 +9100,7 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "aproba": { "version": "1.2.0", @@ -9116,14 +9121,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -9138,20 +9141,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -9268,8 +9268,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -9281,7 +9280,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -9296,7 +9294,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -9304,14 +9301,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.2.4", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -9330,7 +9325,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -9411,8 +9405,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -9424,7 +9417,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -9510,8 +9502,7 @@ "safe-buffer": { "version": "5.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "safer-buffer": { "version": "2.1.2", @@ -9547,7 +9538,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -9567,7 +9557,6 @@ "version": "3.0.1", "bundled": true, "dev": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -9611,14 +9600,12 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "yallist": { "version": "3.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true } } }, @@ -19158,8 +19145,7 @@ "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, "querystring": { "version": "0.2.0", @@ -25771,7 +25757,7 @@ }, "yargs": { "version": "11.1.0", - "resolved": "http://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", "dev": true, "requires": { diff --git a/package.json b/package.json index 0b908be2500..f7eead3dec8 100644 --- a/package.json +++ b/package.json @@ -90,6 +90,7 @@ "@storybook/addon-actions": "^3.4.10", "@storybook/react": "^4.0.0-alpha.21", "@types/jest": "^23.3.2", + "@types/qs": "^6.5.1", "axios-mock-adapter": "^1.15.0", "babel-core": "^6.26.3", "babel-loader": "^8.0.2", @@ -142,7 +143,8 @@ "webpack-cli": "^3.1.0" }, "dependencies": { - "axios": "^0.18.0" + "axios": "^0.18.0", + "qs": "^6.5.2" }, "release": { "verifyConditions": [ diff --git a/src/v1/templates.ts b/src/v1/templates.ts index f541f5650ec..9a5de41ea13 100644 --- a/src/v1/templates.ts +++ b/src/v1/templates.ts @@ -1,9 +1,11 @@ +import qs from 'qs' import { Client } from '../client' import * as errors from '../errors' -export interface TemplatesQuery { +export interface TemplatesOptions { limit?: number uri?: string + query?: any } type TemplateTypes = 'delivery_note_v1' | 'invoice_v1' | 'full_receipt_v1' @@ -74,9 +76,9 @@ export class Templates { }) } - put(template: Template): Promise { + put(templateId: string, template: Template): Promise { return new Promise(async (resolve, reject) => { - const uri = `${this.options.base}${this.endpoint}/${this.options.user}` + const uri = `${this.options.base}${this.endpoint}/${this.options.user}/${templateId}` try { const response = await this.http.getClient().put(uri, template) @@ -90,14 +92,16 @@ export class Templates { }) } - getAll(query?: TemplatesQuery | undefined): Promise { + getAll(options?: TemplatesOptions | undefined): Promise { return new Promise(async (resolve, reject) => { try { let uri - if (query && query.uri) { - uri = query.uri + if (options && options.uri) { + uri = options.uri } else { - uri = `${this.options.base}${this.endpoint}/${this.options.user}` + uri = `${this.options.base}${this.endpoint}/${this.options.user}${ + options && options.query ? qs.stringify(options.query) : '' + }` } const response = await this.http.getClient().get(uri)