This commit is contained in:
Justin Dalrymple 2018-03-28 15:37:21 -04:00
parent 02e6bc019f
commit 0977803528
9 changed files with 44 additions and 39 deletions

View File

@ -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

View File

@ -10,4 +10,4 @@ function init(...services) {
};
}
export { init };
default export init;

View File

@ -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,

View File

@ -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}`);
}
}

View File

@ -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}`);
}
}

View File

@ -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}`);
}
}

View File

@ -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}`);
}
}

View File

@ -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}`,
);
}
}

View File

@ -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}`);
}
}