Merge branch 'deploy-fix'

This commit is contained in:
Justin 2020-05-06 19:14:45 +02:00
commit 1bbffe4ae2
7 changed files with 83 additions and 4 deletions

View File

@ -220,6 +220,7 @@ GroupMilestones
GroupProjects
GroupVariables
GroupLabels
GroupDeployTokens
Epics
EpicIssues
EpicNotes
@ -230,14 +231,14 @@ Branches
Commits
CommitDiscussions
ContainerRegistry
DeployKeys
Deployments
DeployKeys
Environments
Issues
IssueAwardEmojis
IssuesStatistics
IssueNotes
IssueDiscussions
IssuesStatistics
IssueAwardEmojis
Jobs
Labels
MergeRequests
@ -264,6 +265,7 @@ ProjectSnippetAwardEmojis
ProtectedBranches
ProtectedTags
ProjectVariables
ProjectDeployTokens
PushRules
Releases
ReleaseLinks
@ -272,6 +274,7 @@ RepositoryFiles
Runners
Services
Tags
Todos
Triggers
VulnerabilityFindings
@ -310,14 +313,15 @@ Currently there are three Bundles:
Branches
Commits
CommitDiscussions
ContainerRegistry
Deployments
DeployKeys
Environments
Issues
IssuesStatistics
IssueNotes
IssueDiscussions
IssueAwardEmojis
IssuesStatistics
Jobs
Labels
MergeRequests
@ -344,7 +348,10 @@ ProjectSnippetAwardEmojis
ProtectedBranches
ProtectedTags
ProjectVariables
ProjectDeployTokens
PushRules
Releases
ReleaseLinks
Repositories
RepositoryFiles
Runners
@ -379,6 +386,7 @@ GroupMilestones
GroupProjects
GroupVariables
GroupLabels
GroupDeployTokens
Epics
EpicIssues
EpicNotes
@ -698,6 +706,7 @@ This started as a fork from [node-gitlab-legacy](https://github.com/node-gitlab/
- [Kyrylo Fedorov](https://github.com/Kyr)
- [Claudio Vellage](https://github.com/jdalrymple/LRH539)
- [Seb0uil](https://github.com/seb0uil)
- [Dylan Taylor](https://github.com/dylanmtaylor)
## License

View File

@ -18,6 +18,7 @@ export const GroupsBundle = bundler({
GroupProjects: APIServices.GroupProjects,
GroupVariables: APIServices.GroupVariables,
GroupLabels: APIServices.GroupLabels,
GroupDeployTokens: APIServices.GroupDeployTokens,
Epics: APIServices.Epics,
EpicIssues: APIServices.EpicIssues,
EpicNotes: APIServices.EpicNotes,
@ -74,6 +75,7 @@ export const ProjectsBundle = bundler({
ProtectedBranches: APIServices.ProtectedBranches,
ProtectedTags: APIServices.ProtectedTags,
ProjectVariables: APIServices.ProjectVariables,
ProjectDeployTokens: APIServices.ProjectDeployTokens,
PushRules: APIServices.PushRules,
Releases: APIServices.Releases,
ReleaseLinks: APIServices.ReleaseLinks,
@ -82,6 +84,7 @@ export const ProjectsBundle = bundler({
Runners: APIServices.Runners,
Services: APIServices.Services,
Tags: APIServices.Tags,
Todos: APIServices.Todos,
Triggers: APIServices.Triggers,
VulnerabilityFindings: APIServices.VulnerabilityFindings,
});

View File

@ -0,0 +1,8 @@
import { ResourceDeployTokens } from '../templates';
import { BaseServiceOptions } from '../infrastructure';
export class GroupDeployTokens extends ResourceDeployTokens {
constructor(options: BaseServiceOptions = {}) {
super('groups', options);
}
}

View File

@ -0,0 +1,8 @@
import { ResourceDeployTokens } from '../templates';
import { BaseServiceOptions } from '../infrastructure';
export class ProjectDeployTokens extends ResourceDeployTokens {
constructor(options: BaseServiceOptions = {}) {
super('projects', options);
}
}

View File

@ -9,6 +9,7 @@ export { GroupMilestones } from './GroupMilestones';
export { GroupProjects } from './GroupProjects';
export { GroupVariables } from './GroupVariables';
export { GroupLabels } from './GroupLabels';
export { GroupDeployTokens } from './GroupDeployTokens';
export { Epics } from './Epics';
export { EpicIssues } from './EpicIssues';
export { EpicNotes } from './EpicNotes';
@ -61,6 +62,7 @@ export { ProjectSnippetAwardEmojis } from './ProjectSnippetAwardEmojis';
export { ProtectedBranches } from './ProtectedBranches';
export { ProtectedTags } from './ProtectedTags';
export { ProjectVariables } from './ProjectVariables';
export { ProjectDeployTokens } from './ProjectDeployTokens';
export { PushRules } from './PushRules';
export { Releases } from './Releases';
export { ReleaseLinks } from './ReleaseLinks';

View File

@ -0,0 +1,48 @@
import {
BaseRequestOptions,
BaseService,
BaseServiceOptions,
PaginatedRequestOptions,
RequestHelper,
Sudo,
} from '../infrastructure';
type DeployTokenScope = 'read_repository' | 'read_registry' | 'write_registry';
// https://docs.gitlab.com/ee/api/deploy_tokens.html
export class ResourceDeployTokens extends BaseService {
constructor(resourceType: string, options: BaseServiceOptions) {
super({ url: resourceType, ...options });
}
add(
resourceId: string | number,
tokenName: string,
tokenScopes: DeployTokenScope[],
options?: BaseRequestOptions,
) {
return RequestHelper.post(this, `${encodeURIComponent(resourceId)}/deploy_tokens`, {
name: tokenName,
scopes: tokenScopes,
...options,
});
}
all({ resourceId, ...options }: { resourceId?: string | number } & PaginatedRequestOptions) {
let url;
if (resourceId) {
url = `${encodeURIComponent(resourceId)}/deploy_tokens`;
} else {
url = 'deploy_tokens';
}
return RequestHelper.get(this, url, options);
}
remove(resourceId: string | number, tokenId: number, options?: Sudo) {
const [rId, tId] = [resourceId, tokenId].map(encodeURIComponent);
return RequestHelper.del(this, `${rId}/deploy_tokens/${tId}`, options);
}
}

View File

@ -2,6 +2,7 @@ export * from './ResourceAccessRequests';
export * from './ResourceAwardEmojis';
export * from './ResourceBadges';
export * from './ResourceCustomAttributes';
export * from './ResourceDeployTokens';
export * from './ResourceDiscussions';
export * from './ResourceIssueBoards';
export * from './ResourceLabels';