diff --git a/src/index.js b/src/index.js index 4530a74a..2b9f60b3 100644 --- a/src/index.js +++ b/src/index.js @@ -1,6 +1,6 @@ import Pick from 'lodash.pick'; import * as APIServices from './services'; -import { init } from './infrastructure/Namespace'; +import init from './infrastructure/Namespace'; // All seperatly export * from './services'; @@ -13,7 +13,7 @@ export const GroupsBundle = init(Pick(APIServices, [ 'GroupMembers', 'GroupMilestones', 'GroupProjects', - 'GroupVariables' + 'GroupVariables', ])); // Users diff --git a/src/infrastructure/Namespace.js b/src/infrastructure/Namespace.js index 2c2ba4dc..bc230ab1 100644 --- a/src/infrastructure/Namespace.js +++ b/src/infrastructure/Namespace.js @@ -10,4 +10,4 @@ function init(...services) { }; } -export { init }; +default export init; diff --git a/src/infrastructure/RequestHelper.js b/src/infrastructure/RequestHelper.js index 0794896e..5fee2a0e 100644 --- a/src/infrastructure/RequestHelper.js +++ b/src/infrastructure/RequestHelper.js @@ -25,7 +25,6 @@ function defaultRequest( class RequestHelper { static async get(service, endpoint, options = {}) { - const response = await Request.get(defaultRequest(service.url, endpoint, { headers: service.headers, qs: options, diff --git a/src/templates/ResourceAccessRequests.js b/src/templates/ResourceAccessRequests.js index 7f3732f3..752b8d80 100644 --- a/src/templates/ResourceAccessRequests.js +++ b/src/templates/ResourceAccessRequests.js @@ -1,3 +1,4 @@ +import URLJoin from 'url-join'; import { BaseService, RequestHelper } from '../infrastructure'; export const ACCESS_LEVELS = { @@ -12,26 +13,26 @@ class ResourceAccessRequests extends BaseService { constructor(resourceType, ...args) { super(...args); - this.resourceType = resourceType; + this.url = URLJoin(this.url, resourceType); this.ACCESS_LEVELS = ACCESS_LEVELS; } all(resourceId) { const rId = encodeURIComponent(resourceId); - return RequestHelper.get(this, `${this.resourceType}/${rId}/access_requests`); + return RequestHelper.get(this, `${rId}/access_requests`); } request(resourceId) { const rId = encodeURIComponent(resourceId); - return RequestHelper.post(this, `${this.resourceType}/${rId}/access_requests`); + return RequestHelper.post(this, `${rId}/access_requests`); } approve(resourceId, userId, { accessLevel = 30 }) { const [rId, uId] = [resourceId, userId].map(encodeURIComponent); - return RequestHelper.post(this, `${this.resourceType}/${rId}/access_requests/${uId}/approve`, { + return RequestHelper.post(this, `${rId}/access_requests/${uId}/approve`, { accessLevel, }); } @@ -39,7 +40,7 @@ class ResourceAccessRequests extends BaseService { deny(resourceId, userId) { const [rId, uId] = [resourceId, userId].map(encodeURIComponent); - return RequestHelper.delete(this, `${this.resourceType}/${rId}/access_requests/${uId}/approve`); + return RequestHelper.delete(this, `${rId}/access_requests/${uId}`); } } diff --git a/src/templates/ResourceCustomAttributes.js b/src/templates/ResourceCustomAttributes.js index 136673df..a23d5224 100644 --- a/src/templates/ResourceCustomAttributes.js +++ b/src/templates/ResourceCustomAttributes.js @@ -1,22 +1,23 @@ +import URLJoin from 'url-join'; import { BaseService, RequestHelper } from '../infrastructure'; class ResourceCustomAttributes extends BaseService { constructor(resourceType, ...args) { super(...args); - this.resourceType = resourceType; + this.url = URLJoin(this.url, resourceType); } all(resourceId) { const rId = encodeURIComponent(resourceId); - return RequestHelper.get(this, `${this.resourceType}/${rId}/custom_attributes`); + return RequestHelper.get(this, `${rId}/custom_attributes`); } set(resourceId, customAttributeId, value) { const [rId, cId] = [resourceId, customAttributeId].map(encodeURIComponent); - return RequestHelper.put(this, `${this.resourceType}/${rId}/custom_attributes/${cId}`, { + return RequestHelper.put(this, `${rId}/custom_attributes/${cId}`, { value, }); } @@ -24,13 +25,13 @@ class ResourceCustomAttributes extends BaseService { remove(resourceId, customAttributeId) { const [rId, cId] = [resourceId, customAttributeId].map(encodeURIComponent); - return RequestHelper.delete(this, `${this.resourceType}/${rId}/custom_attributes/${cId}`); + return RequestHelper.delete(this, `${rId}/custom_attributes/${cId}`); } show(resourceId, customAttributeId) { const [rId, cId] = [resourceId, customAttributeId].map(encodeURIComponent); - return RequestHelper.get(this, `${this.resourceType}/${rId}/custom_attributes/${cId}`); + return RequestHelper.get(this, `${rId}/custom_attributes/${cId}`); } } diff --git a/src/templates/ResourceMembers.js b/src/templates/ResourceMembers.js index b66dd02c..2b2ca6a5 100644 --- a/src/templates/ResourceMembers.js +++ b/src/templates/ResourceMembers.js @@ -1,22 +1,23 @@ +import URLJoin from 'url-join'; import { BaseService, RequestHelper } from '../infrastructure'; class ResourceMembers extends BaseService { constructor(resourceType, ...args) { super(...args); - this.resourceType = resourceType; + this.url = URLJoin(this.url, resourceType); } all(resourceId) { const rId = encodeURIComponent(resourceId); - return RequestHelper.get(this, `${this.resourceType}/${rId}/members`); + return RequestHelper.get(this, `${rId}/members`); } add(resourceId, userId, accessLevel, options) { const [rId, uId] = [resourceId, userId].map(encodeURIComponent); - return RequestHelper.post(this, `${this.resourceType}/${rId}/members`, { + return RequestHelper.post(this, `${rId}/members`, { user_id: uId, access_level: parseInt(accessLevel, 10), ...options, @@ -26,7 +27,7 @@ class ResourceMembers extends BaseService { edit(resourceId, userId, accessLevel, options) { const [rId, uId] = [resourceId, userId].map(encodeURIComponent); - return RequestHelper.put(this, `${this.resourceType}/${rId}/members/${uId}`, { + return RequestHelper.put(this, `${rId}/members/${uId}`, { access_level: parseInt(accessLevel, 10), ...options, }); @@ -35,13 +36,13 @@ class ResourceMembers extends BaseService { show(resourceId, userId) { const [rId, uId] = [resourceId, userId].map(encodeURIComponent); - return RequestHelper.get(this, `${this.resourceType}/${rId}/members/${uId}`); + return RequestHelper.get(this, `${rId}/members/${uId}`); } remove(resourceId, userId) { const [rId, uId] = [resourceId, userId].map(encodeURIComponent); - return RequestHelper.delete(this, `${this.resourceType}/${rId}/members/${uId}`); + return RequestHelper.delete(this, `${rId}/members/${uId}`); } } diff --git a/src/templates/ResourceMilestones.js b/src/templates/ResourceMilestones.js index 7b0ee6e2..f908602f 100644 --- a/src/templates/ResourceMilestones.js +++ b/src/templates/ResourceMilestones.js @@ -1,46 +1,47 @@ +import URLJoin from 'url-join'; import { BaseService, RequestHelper } from '../infrastructure'; class ResourceMilestones extends BaseService { constructor(resourceType, ...args) { super(...args); - this.resourceType = resourceType; + this.url = URLJoin(this.url, resourceType); } all(resourceId, options) { const rId = encodeURIComponent(resourceId); - return RequestHelper.get(this, `${this.resourceType}/${rId}/milestones`, options); + return RequestHelper.get(this, `${rId}/milestones`, options); } create(resourceId, title, options) { const rId = encodeURIComponent(resourceId); - return RequestHelper.post(this, `${this.resourceType}/${rId}/milestones`, options); + return RequestHelper.post(this, `${rId}/milestones`, options); } edit(resourceId, milestoneId, options) { const [rId, mId] = [resourceId, milestoneId].map(encodeURIComponent); - return RequestHelper.put(this, `${this.resourceType}/${rId}/milestones/${mId}`, options); + return RequestHelper.put(this, `${rId}/milestones/${mId}`, options); } issues(resourceId, milestoneId) { const [rId, mId] = [resourceId, milestoneId].map(encodeURIComponent); - return RequestHelper.get(this, `${this.resourceType}/${rId}/milestones/${mId}/issues`); + return RequestHelper.get(this, `${rId}/milestones/${mId}/issues`); } mergeRequests(resourceId, milestoneId) { const [rId, mId] = [resourceId, milestoneId].map(encodeURIComponent); - return RequestHelper.get(this, `${this.resourceType}/${rId}/milestones/${mId}/merge_requests`); + return RequestHelper.get(this, `${rId}/milestones/${mId}/merge_requests`); } show(resourceId, milestoneId) { const [rId, mId] = [resourceId, milestoneId].map(encodeURIComponent); - return RequestHelper.get(this, `${this.resourceType}/${rId}/milestones/${mId}`); + return RequestHelper.get(this, `${rId}/milestones/${mId}`); } } diff --git a/src/templates/ResourceNotes.js b/src/templates/ResourceNotes.js index d88161ee..b6b46bc5 100644 --- a/src/templates/ResourceNotes.js +++ b/src/templates/ResourceNotes.js @@ -1,10 +1,11 @@ +import URLJoin from 'url-join'; import { BaseService, RequestHelper } from '../infrastructure'; class ResourceNotes extends BaseService { constructor(resourceType, resource2Type, ...args) { super(...args); - this.resourceType = resourceType; + this.url = URLJoin(this.url, resourceType); this.resource2Type = resource2Type; } @@ -13,7 +14,7 @@ class ResourceNotes extends BaseService { return RequestHelper.get( this, - `${this.resourceType}/${rId}/${this.resource2Type}/${r2Id}/notes`, + `${rId}/${this.resource2Type}/${r2Id}/notes`, options, ); } @@ -25,7 +26,7 @@ class ResourceNotes extends BaseService { return RequestHelper.post( this, - `${this.resourceType}/${rId}/${this.resource2Type}/${r2Id}/notes`, + `${rId}/${this.resource2Type}/${r2Id}/notes`, options, ); } @@ -37,7 +38,7 @@ class ResourceNotes extends BaseService { return RequestHelper.put( this, - `${this.resourceType}/${rId}/${this.resource2Type}/${r2Id}/notes/${nId}`, + `${rId}/${this.resource2Type}/${r2Id}/notes/${nId}`, options, ); } @@ -47,7 +48,7 @@ class ResourceNotes extends BaseService { return RequestHelper.delete( this, - `${this.resourceType}/${rId}/${this.resource2Type}/${r2Id}/notes/${nId}`, + `${rId}/${this.resource2Type}/${r2Id}/notes/${nId}`, ); } @@ -56,7 +57,7 @@ class ResourceNotes extends BaseService { return RequestHelper.get( this, - `${this.resourceType}/${rId}/${this.resource2Type}/${r2Id}/notes/${nId}`, + `${rId}/${this.resource2Type}/${r2Id}/notes/${nId}`, ); } } diff --git a/src/templates/ResourceVariables.js b/src/templates/ResourceVariables.js index 2533a3b2..e437b417 100644 --- a/src/templates/ResourceVariables.js +++ b/src/templates/ResourceVariables.js @@ -1,40 +1,41 @@ +import URLJoin from 'url-join'; import { BaseService, RequestHelper } from '../infrastructure'; class ResourceVariables extends BaseService { constructor(resourceType, ...args) { super(...args); - this.resourceType = resourceType; + this.url = URLJoin(this.url, resourceType); } all(resourceId) { const rId = encodeURIComponent(resourceId); - return RequestHelper.get(this, `${this.resourceType}/${rId}/s`); + return RequestHelper.get(this, `${rId}/variables`); } create(resourceId, options) { const rId = encodeURIComponent(resourceId); - return RequestHelper.post(this, `${this.resourceType}/${rId}/s`, options); + return RequestHelper.post(this, `${rId}/variables`, options); } edit(resourceId, keyId, options) { const [rId, kId] = [resourceId, keyId].map(encodeURIComponent); - return RequestHelper.put(this, `${this.resourceType}/${rId}/s/${kId}`, options); + return RequestHelper.put(this, `${rId}/variables/${kId}`, options); } show(resourceId, keyId) { const [rId, kId] = [resourceId, keyId].map(encodeURIComponent); - return RequestHelper.get(this, `${this.resourceType}/${rId}/s/${kId}`); + return RequestHelper.get(this, `${rId}/variables/${kId}`); } remove(resourceId, keyId) { const [rId, kId] = [resourceId, keyId].map(encodeURIComponent); - return RequestHelper.delete(this, `${this.resourceType}/${rId}/s/${kId}`); + return RequestHelper.delete(this, `${rId}/variables/${kId}`); } }