mirror of
https://github.com/jdalrymple/gitbeaker.git
synced 2026-01-18 15:55:30 +00:00
Adding dicussions API
This commit is contained in:
parent
234625c121
commit
ec9f69a9eb
@ -19,6 +19,7 @@ export const GroupsBundle = init(Pick(APIServices, [
|
||||
'Epics',
|
||||
'EpicIssues',
|
||||
'EpicNotes',
|
||||
'EpicDiscussions',
|
||||
]));
|
||||
|
||||
// Users
|
||||
@ -39,6 +40,7 @@ export const ProjectsBundle = init(Pick(APIServices, [
|
||||
'Environments',
|
||||
'Issues',
|
||||
'IssueNotes',
|
||||
'IssueDiscussions',
|
||||
'Jobs',
|
||||
'Labels',
|
||||
'MergeRequests',
|
||||
@ -57,6 +59,7 @@ export const ProjectsBundle = init(Pick(APIServices, [
|
||||
'ProjectMilestones',
|
||||
'ProjectSnippet',
|
||||
'ProjectSnippetNotes',
|
||||
'ProjectSnippetDiscussions',
|
||||
'ProtectedBranches',
|
||||
'ProjectVariables',
|
||||
'Repositories',
|
||||
|
||||
9
src/services/EpicDiscussions.js
Normal file
9
src/services/EpicDiscussions.js
Normal file
@ -0,0 +1,9 @@
|
||||
import { ResourceDiscussions } from '../templates';
|
||||
|
||||
class EpicDiscussions extends ResourceDiscussions {
|
||||
constructor(options) {
|
||||
super('groups', 'epics', options);
|
||||
}
|
||||
}
|
||||
|
||||
export default EpicDiscussions;
|
||||
9
src/services/IssueDiscussions.js
Normal file
9
src/services/IssueDiscussions.js
Normal file
@ -0,0 +1,9 @@
|
||||
import { ResourceDiscussions } from '../templates';
|
||||
|
||||
class IssueDiscussions extends ResourceDiscussions {
|
||||
constructor(options) {
|
||||
super('projects', 'issues', options);
|
||||
}
|
||||
}
|
||||
|
||||
export default IssueDiscussions;
|
||||
9
src/services/ProjectSnippetDiscussions.js
Normal file
9
src/services/ProjectSnippetDiscussions.js
Normal file
@ -0,0 +1,9 @@
|
||||
import { ResourceDiscussions } from '../templates';
|
||||
|
||||
class ProjectSnippetDiscussions extends ResourceDiscussions {
|
||||
constructor(options) {
|
||||
super('projects', 'snippets', options);
|
||||
}
|
||||
}
|
||||
|
||||
export default ProjectSnippetDiscussions;
|
||||
@ -11,6 +11,7 @@ export GroupVariables from './GroupVariables';
|
||||
export Epics from './Epics';
|
||||
export EpicIssues from './EpicIssues';
|
||||
export EpicNotes from './EpicNotes';
|
||||
export EpicDiscussions from './EpicDiscussions';
|
||||
|
||||
// Users
|
||||
export Users from './Users';
|
||||
@ -27,6 +28,7 @@ export DeployKeys from './DeployKeys';
|
||||
export Environments from './Environments';
|
||||
export Issues from './Issues';
|
||||
export IssueNotes from './IssueNotes';
|
||||
export IssueDiscussions from './IssueDiscussions';
|
||||
export IssueAwardEmojis from './IssueAwardEmojis';
|
||||
export Jobs from './Jobs';
|
||||
export Labels from './Labels';
|
||||
@ -44,8 +46,9 @@ export ProjectIssueBoards from './ProjectIssueBoards';
|
||||
export ProjectHooks from './ProjectHooks';
|
||||
export ProjectMembers from './ProjectMembers';
|
||||
export ProjectMilestones from './ProjectMilestones';
|
||||
export ProjectSnippet from './ProjectSnippet';
|
||||
export ProjectSnippets from './ProjectSnippets';
|
||||
export ProjectSnippetNotes from './ProjectSnippetNotes';
|
||||
export ProjectSnippetDiscussions from './ProjectSnippetDiscussions';
|
||||
export ProjectSnippetAwardEmojis from './ProjectSnippetAwardEmojis';
|
||||
export ProtectedBranches from './ProtectedBranches';
|
||||
export ProjectVariables from './ProjectVariables';
|
||||
|
||||
53
src/templates/ResourceDiscussions.js
Normal file
53
src/templates/ResourceDiscussions.js
Normal file
@ -0,0 +1,53 @@
|
||||
import URLJoin from 'url-join';
|
||||
import { BaseService, RequestHelper } from '../infrastructure';
|
||||
|
||||
class ResourceDiscussions extends BaseService {
|
||||
constructor(resourceType, resource2Type, ...args) {
|
||||
super(...args);
|
||||
|
||||
this.url = URLJoin(this.url, resourceType);
|
||||
this.resource2Type = resource2Type;
|
||||
}
|
||||
|
||||
addNote(resourceId, resource2Id, discussiodId, noteId, options) {
|
||||
if (!options.body) throw new Error('Missing required property: body');
|
||||
|
||||
const [rId, r2Id, dId, nId] = [resourceId, resource2Id, discussiodId, noteId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.put(this, `${rId}/${this.resource2Type}/${r2Id}/discussions/${dId}/notes/${nId}`, options);
|
||||
}
|
||||
|
||||
all(resourceId, resource2Id, options) {
|
||||
const [rId, r2Id] = [resourceId, resource2Id].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.get(this, `${rId}/${this.resource2Type}/${r2Id}/discussions`, options);
|
||||
}
|
||||
|
||||
create(resourceId, resource2Id, options) {
|
||||
if (!options.body) throw new Error('Missing required property: body');
|
||||
|
||||
const [rId, r2Id] = [resourceId, resource2Id].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.post(this, `${rId}/${this.resource2Type}/${r2Id}/discussions`, options);
|
||||
}
|
||||
|
||||
editNote(resourceId, resource2Id, discussiodId, noteId, body) {
|
||||
const [rId, r2Id, dId, nId] = [resourceId, resource2Id, discussiodId, noteId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.put(this, `${rId}/${this.resource2Type}/${r2Id}/discussions/${dId}/notes/${nId}`, { body });
|
||||
}
|
||||
|
||||
removeNote(resourceId, resource2Id, discussiodId, noteId) {
|
||||
const [rId, r2Id, dId, nId] = [resourceId, resource2Id, discussiodId, noteId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.delete(this, `${rId}/${this.resource2Type}/${r2Id}/discussions/${dId}/notes/${nId}`);
|
||||
}
|
||||
|
||||
show(resourceId, resource2Id, discussiodId) {
|
||||
const [rId, r2Id, dId] = [resourceId, resource2Id, discussiodId].map(encodeURIComponent);
|
||||
|
||||
return RequestHelper.get(this, `${rId}/${this.resource2Type}/${r2Id}/discussions/${dId}`);
|
||||
}
|
||||
}
|
||||
|
||||
export default ResourceDiscussions;
|
||||
Loading…
x
Reference in New Issue
Block a user