diff --git a/src/api.ts b/src/api.ts index 7ba8717c..1f2fa2d1 100644 --- a/src/api.ts +++ b/src/api.ts @@ -301,29 +301,28 @@ export class Api { * * @param options Options to get issues */ - public getIssues(options?: ApiGetIssuesOptions): Promise { - // set 'Meeting' as default milestone - const _options: ApiGetIssuesOptions = { - ...{ - milestone: 'Meeting', - }, - ...options, - }; - + public getIssues(options: ApiGetIssuesOptions = {}): Promise { // start to build request url let requestUrl = 'issues'; + // set initial divider for filter params + let divider = '?'; + // request issues only for specific group, if group ID is set - if (typeof _options.groupId === 'number') { - requestUrl = 'groups/' + _options.groupId + '/' + requestUrl; + if (typeof options.groupId === 'number') { + requestUrl = `groups/${options.groupId}/requestUrl`; } - // add milestone to request url - requestUrl += '?milestone=' + _options.milestone; + if (typeof options.milestone === 'string') { + // add milestone to request url + requestUrl += `${divider}milestone=${options.milestone}`; + divider = '&'; + } // request issues only for specific state, if state is set - if (typeof _options.state === 'string' && ['opened', 'closed'].indexOf(_options.state) >= 0) { - requestUrl += '&state=' + _options.state; + if (typeof options.state === 'string') { + requestUrl += `${divider}state=${options.state}`; + // divider = '&'; } return this.makeGitLabAPIRequest(requestUrl);