gitlab-fetch
Advanced tools
Comparing version 0.2.3-dev.10237518 to 0.3.0-dev.10241843
# Changelog | ||
## develop | ||
* [breaking] Use GitLab v4 API. | ||
- Removed `ProjectsApi#search`, `#getVisible`, `#getOwned`, `#getStarred`, `#getAllAdmin`. | ||
- `ListMergeRequestsParams#iid` to `#iids`. | ||
- `merge_when_build_succeeds` parameters to `merge_when_pipeline_succeeds`. | ||
- `MergeRequest#merge_when_build_succeeds` to `#merge_when_pipeline_succeeds`. | ||
- Remove `#public` from `CreateProjectParams` and `EditProjectParams`. | ||
- Replaced `#visiblity_level` with `#visibility`. | ||
- `build` -> `job`. | ||
- `MergeRequestApi` requires MR's IID, not ID. | ||
- Add new params to `CreateProjectParams`/`EditProjectParams` | ||
- Replaced `Issues#assignee` with `#assignees`. | ||
* [breaking] GitLab base URL must not include API version. | ||
* Add `ProjectApi#fork`. | ||
@@ -6,0 +18,0 @@ ## 0.2.2 |
@@ -22,3 +22,3 @@ "use strict"; | ||
create(name, ref) { | ||
return this.fetch('POST', undefined, { branch_name: name, ref }); | ||
return this.fetch('POST', undefined, { branch: name, ref }); | ||
} | ||
@@ -25,0 +25,0 @@ delete(name) { |
@@ -20,3 +20,3 @@ "use strict"; | ||
return this.fetch('POST', undefined, {}, { | ||
body: Object.assign({}, params, { branch_name: branch, commit_message: commitMessage, actions }), | ||
body: Object.assign({}, params, { branch, commit_message: commitMessage, actions }), | ||
}); | ||
@@ -23,0 +23,0 @@ } |
@@ -9,3 +9,3 @@ import { AbstractApi, Config } from '../common'; | ||
note_events?: boolean; | ||
build_events?: boolean; | ||
job_events?: boolean; | ||
pipeline_events?: boolean; | ||
@@ -12,0 +12,0 @@ wiki_events?: boolean; |
import { AbstractApi, Config } from '../common'; | ||
import { MergeRequest, Commit, Issue, Todo, MergeRequestVersionSummary, MergeRequestVersion } from '../models'; | ||
import { MergeRequestSummary, MergeRequest, Commit, Issue, Todo, MergeRequestVersionSummary, MergeRequestVersion } from '../models'; | ||
export interface ListMergeRequestsParams { | ||
iid?: number[]; | ||
iids?: number[]; | ||
state?: 'all' | 'merged' | 'opened' | 'closed'; | ||
@@ -25,3 +25,3 @@ order_by?: 'created_at' | 'updated_at'; | ||
should_remove_source_branch?: boolean; | ||
merge_when_build_succeeds?: boolean; | ||
merge_when_pipeline_succeeds?: boolean; | ||
sha?: string; | ||
@@ -32,17 +32,17 @@ } | ||
constructor(config: Config, namespace: string, projectName: string); | ||
getAll(params?: ListMergeRequestsParams): Promise<MergeRequest[]>; | ||
get(id: number): Promise<MergeRequest>; | ||
getCommits(id: number): Promise<Commit[]>; | ||
getChanges(id: number): Promise<MergeRequest>; | ||
getIssues(id: number): Promise<Issue[]>; | ||
getVersions(id: number): Promise<MergeRequestVersionSummary>; | ||
getVersion(id: number, versionId: number): Promise<MergeRequestVersion>; | ||
getAll(params?: ListMergeRequestsParams): Promise<MergeRequestSummary[]>; | ||
get(iid: number): Promise<MergeRequest>; | ||
getCommits(iid: number): Promise<Commit[]>; | ||
getChanges(iid: number): Promise<MergeRequest>; | ||
getIssues(iid: number): Promise<Issue[]>; | ||
getVersions(iid: number): Promise<MergeRequestVersionSummary>; | ||
getVersion(iid: number, versionId: number): Promise<MergeRequestVersion>; | ||
create(sourceBranch: string, targetBranch: string, title: string, params?: CreateMergeRequestsParams): Promise<MergeRequest>; | ||
edit(id: number, params?: EditMergeRequestParams): Promise<MergeRequest>; | ||
delete(id: number): Promise<void>; | ||
accept(id: number, params?: AcceptMergeRequestParams): Promise<MergeRequest>; | ||
cancel(id: number): Promise<MergeRequest>; | ||
subscribe(id: number): Promise<MergeRequest>; | ||
unsubscribe(id: number): Promise<MergeRequest>; | ||
createTodo(id: number): Promise<Todo<MergeRequest>>; | ||
edit(iid: number, params?: EditMergeRequestParams): Promise<MergeRequest>; | ||
delete(iid: number): Promise<void>; | ||
accept(iid: number, params?: AcceptMergeRequestParams): Promise<MergeRequest>; | ||
cancel(iid: number): Promise<MergeRequest>; | ||
subscribe(iid: number): Promise<MergeRequest>; | ||
unsubscribe(iid: number): Promise<MergeRequest>; | ||
createTodo(iid: number): Promise<Todo<MergeRequest>>; | ||
} |
@@ -12,19 +12,19 @@ "use strict"; | ||
} | ||
get(id) { | ||
return this.fetch('GET', `/${id}`); | ||
get(iid) { | ||
return this.fetch('GET', `/${iid}`); | ||
} | ||
getCommits(id) { | ||
return this.fetch('GET', `/${id}/commits`); | ||
getCommits(iid) { | ||
return this.fetch('GET', `/${iid}/commits`); | ||
} | ||
getChanges(id) { | ||
return this.fetch('GET', `/${id}/changes`); | ||
getChanges(iid) { | ||
return this.fetch('GET', `/${iid}/changes`); | ||
} | ||
getIssues(id) { | ||
return this.fetch('GET', `/${id}/closes_issues`); | ||
getIssues(iid) { | ||
return this.fetch('GET', `/${iid}/closes_issues`); | ||
} | ||
getVersions(id) { | ||
return this.fetch('GET', `/${id}/versions`); | ||
getVersions(iid) { | ||
return this.fetch('GET', `/${iid}/versions`); | ||
} | ||
getVersion(id, versionId) { | ||
return this.fetch('GET', `/${id}/versions/${versionId}`); | ||
getVersion(iid, versionId) { | ||
return this.fetch('GET', `/${iid}/versions/${versionId}`); | ||
} | ||
@@ -34,22 +34,22 @@ create(sourceBranch, targetBranch, title, params = {}) { | ||
} | ||
edit(id, params = {}) { | ||
return this.fetch('PUT', `/${id}`, params); | ||
edit(iid, params = {}) { | ||
return this.fetch('PUT', `/${iid}`, params); | ||
} | ||
delete(id) { | ||
return this.fetch('DELETE', `/${id}`); | ||
delete(iid) { | ||
return this.fetch('DELETE', `/${iid}`); | ||
} | ||
accept(id, params = {}) { | ||
return this.fetch('PUT', `/${id}/merge`, params); | ||
accept(iid, params = {}) { | ||
return this.fetch('PUT', `/${iid}/merge`, params); | ||
} | ||
cancel(id) { | ||
return this.fetch('PUT', `/${id}/cancel_merge_when_build_succeeds`); | ||
cancel(iid) { | ||
return this.fetch('PUT', `/${iid}/cancel_merge_when_pipeline_succeeds`); | ||
} | ||
subscribe(id) { | ||
return this.fetch('POST', `/${id}/subscription`); | ||
subscribe(iid) { | ||
return this.fetch('POST', `/${iid}/subscription`); | ||
} | ||
unsubscribe(id) { | ||
return this.fetch('DELETE', `/${id}/subscription`); | ||
unsubscribe(iid) { | ||
return this.fetch('DELETE', `/${iid}/subscription`); | ||
} | ||
createTodo(id) { | ||
return this.fetch('POST', `/${id}/todo`); | ||
createTodo(iid) { | ||
return this.fetch('POST', `/${iid}/todo`); | ||
} | ||
@@ -56,0 +56,0 @@ } |
import { AbstractApi, Config } from '../common'; | ||
import { Project, UserSummary, Event, UploadedFile } from '../models'; | ||
import { Project, UserSummary, Visibility, Event, UploadedFile } from '../models'; | ||
export interface EditProjectParams { | ||
@@ -10,3 +10,3 @@ name?: string; | ||
merge_requests_enabled?: boolean; | ||
builds_enabled?: boolean; | ||
jobs_enabled?: boolean; | ||
wiki_enabled?: boolean; | ||
@@ -16,10 +16,12 @@ snippets_enabled?: boolean; | ||
shared_runners_enabled?: boolean; | ||
public?: boolean; | ||
visiblity_level?: number; | ||
visibility?: Visibility; | ||
import_url?: string; | ||
public_builds?: boolean; | ||
only_allow_merge_if_build_succeeds?: boolean; | ||
public_jobs?: boolean; | ||
only_allow_merge_if_pipeline_succeeds?: boolean; | ||
only_allow_merge_if_all_discussions_are_resolved?: boolean; | ||
lfs_enabled?: boolean; | ||
request_access_enabled?: boolean; | ||
tag_list?: string[]; | ||
printing_merge_request_link_enabled?: boolean; | ||
ci_config_path?: string; | ||
} | ||
@@ -44,4 +46,5 @@ export interface ShareProjectParams { | ||
unshare(groupId: number): Promise<void>; | ||
fork(namespace: number | string): Promise<void>; | ||
createForkRelation(forkedFromId: number): Promise<void>; | ||
deleteForkRelation(): Promise<void>; | ||
} |
@@ -32,3 +32,3 @@ "use strict"; | ||
unstar() { | ||
return this.fetch('DELETE', '/star'); | ||
return this.fetch('POST', '/unstar'); | ||
} | ||
@@ -56,2 +56,5 @@ archive() { | ||
} | ||
fork(namespace) { | ||
return this.fetch('POST', `/fork`, { namespace }); | ||
} | ||
createForkRelation(forkedFromId) { | ||
@@ -58,0 +61,0 @@ return this.fetch('POST', `/fork/${forkedFromId}`); |
import { AbstractApi, Config } from '../common'; | ||
import { Project } from '../models'; | ||
import { Project, Visibility } from '../models'; | ||
export interface ListProjectsParams { | ||
archived?: boolean; | ||
visibility?: 'public' | 'internal' | 'private'; | ||
visibility?: Visibility; | ||
orderBy?: 'id' | 'name' | 'path' | 'created_at' | 'updated_at' | 'last_activity_at'; | ||
sort?: 'asc' | 'desc'; | ||
search?: string; | ||
simple?: boolean; | ||
owned?: boolean; | ||
membership?: boolean; | ||
starred?: boolean; | ||
statistics?: boolean; | ||
with_issues_enabled?: boolean; | ||
with_merge_requests_enabled?: boolean; | ||
} | ||
@@ -16,3 +23,3 @@ export interface CreateProjectParams { | ||
merge_requests_enabled?: boolean; | ||
builds_enabled?: boolean; | ||
jobs_enabled?: boolean; | ||
wiki_enabled?: boolean; | ||
@@ -22,25 +29,18 @@ snippets_enabled?: boolean; | ||
shared_runners_enabled?: boolean; | ||
public?: boolean; | ||
visiblity_level?: number; | ||
visibility?: Visibility; | ||
import_url?: string; | ||
public_builds?: boolean; | ||
only_allow_merge_if_build_succeeds?: boolean; | ||
public_jobs?: boolean; | ||
only_allow_merge_if_pipeline_succeeds?: boolean; | ||
only_allow_merge_if_all_discussions_are_resolved?: boolean; | ||
lfs_enabled?: boolean; | ||
request_access_enabled?: boolean; | ||
tag_list?: string[]; | ||
printing_merge_request_link_enabled?: boolean; | ||
ci_config_path?: string; | ||
} | ||
export interface SearchProjectsParams { | ||
order_by?: 'id' | 'name' | 'created_at' | 'last_activity_at'; | ||
sort?: 'asc' | 'desc'; | ||
} | ||
export declare class ProjectsApi extends AbstractApi { | ||
constructor(config: Config); | ||
getAll(params?: ListProjectsParams): Promise<Project[]>; | ||
getVisible(params?: ListProjectsParams): Promise<Project[]>; | ||
getOwned(params?: ListProjectsParams): Promise<Project[]>; | ||
getStarred(params?: ListProjectsParams): Promise<Project[]>; | ||
getAllAdmin(params?: ListProjectsParams): Promise<Project[]>; | ||
search(query: string, params?: SearchProjectsParams): Promise<Project[]>; | ||
create(name: string, params?: CreateProjectParams): Promise<Project>; | ||
createAdmin(userId: number, name: string, params?: CreateProjectParams): Promise<Project>; | ||
} |
@@ -11,17 +11,2 @@ "use strict"; | ||
} | ||
getVisible(params = {}) { | ||
return this.fetch('GET', '/visible', params); | ||
} | ||
getOwned(params = {}) { | ||
return this.fetch('GET', '/owned', params); | ||
} | ||
getStarred(params = {}) { | ||
return this.fetch('GET', '/starred', params); | ||
} | ||
getAllAdmin(params = {}) { | ||
return this.fetch('GET', '/all', params); | ||
} | ||
search(query, params = {}) { | ||
return this.fetch('GET', `/projects/search/${encodeURIComponent(query)}`, params); | ||
} | ||
create(name, params = {}) { | ||
@@ -28,0 +13,0 @@ return this.fetch('POST', undefined, Object.assign({ name }, params)); |
@@ -30,7 +30,7 @@ "use strict"; | ||
getTree(params = {}) { | ||
return this.fetch('GET', '/tree', Object.assign({ ref_name: this.ref }, params)); | ||
return this.fetch('GET', '/tree', Object.assign({ ref: this.ref }, params)); | ||
} | ||
getFile(path, ifExists = false) { | ||
return __awaiter(this, void 0, void 0, function* () { | ||
const [response, file] = yield this.fetchUnchecked('GET', '/files', { ref: this.ref, file_path: path }); | ||
const [response, file] = yield this.fetchUnchecked('GET', `/files/${encodeURIComponent(path)}`, { ref: this.ref }); | ||
if (response.status === 200) { | ||
@@ -47,17 +47,17 @@ return file; | ||
getFileContent(path) { | ||
return this.fetch('GET', `/blobs/${encodeURIComponent(this.ref)}`, { filepath: path }); | ||
return this.fetch('GET', `/files/${encodeURIComponent(path)}/raw`, { ref: this.ref }); | ||
} | ||
getBlobContent(sha) { | ||
return this.fetch('GET', `/raw_blobs/${encodeURIComponent(sha)}`); | ||
return this.fetch('GET', `/blobs/${encodeURIComponent(sha)}/raw`); | ||
} | ||
createFile(path, content, commitMessage, params = {}) { | ||
const fullParams = Object.assign({ file_path: path, branch_name: this.ref, content, commit_message: commitMessage }, params); | ||
const fullParams = Object.assign({ file_path: path, branch: this.ref, content, commit_message: commitMessage }, params); | ||
return this.fetch('POST', '/files', fullParams); | ||
} | ||
editFile(path, content, commitMessage, params = {}) { | ||
const fullParams = Object.assign({ file_path: path, branch_name: this.ref, ref: this.ref, content, commit_message: commitMessage }, params); | ||
const fullParams = Object.assign({ file_path: path, branch: this.ref, content, commit_message: commitMessage }, params); | ||
return this.fetch('PUT', '/files', fullParams); | ||
} | ||
deleteFile(path, commitMessage, params = {}) { | ||
const fullParams = Object.assign({ file_path: path, branch_name: this.ref, commit_message: commitMessage }, params); | ||
const fullParams = Object.assign({ file_path: path, branch: this.ref, commit_message: commitMessage }, params); | ||
return this.fetch('DELETE', '/files', fullParams); | ||
@@ -64,0 +64,0 @@ } |
@@ -17,8 +17,2 @@ "use strict"; | ||
} | ||
// create(): Promise<User> { | ||
// TODO | ||
// } | ||
// edit(id: number): Promise<User> { | ||
// TODO | ||
// } | ||
delete(id) { | ||
@@ -25,0 +19,0 @@ return this.fetch('DELETE', `/${id}`); |
@@ -124,3 +124,3 @@ "use strict"; | ||
this.enhanceHeaders(headers); | ||
let url = `${this.config.baseUrl}/v3${baseApiPath}${path}`; | ||
let url = `${this.config.baseUrl}/v4${baseApiPath}${path}`; | ||
const query = query_string_1.stringify(AbstractApi.cleanParams(params)); | ||
@@ -127,0 +127,0 @@ if (query) { |
@@ -10,3 +10,3 @@ export interface Hook { | ||
note_events: boolean; | ||
build_events: boolean; | ||
job_events: boolean; | ||
pipeline_events: boolean; | ||
@@ -13,0 +13,0 @@ wiki_page_events: boolean; |
@@ -18,2 +18,3 @@ export * from './branch'; | ||
export * from './user'; | ||
export * from './visibility'; | ||
export * from './services'; |
@@ -9,3 +9,3 @@ import { UserSummary } from './user'; | ||
project_id: number; | ||
assignee?: UserSummary; | ||
assignees?: UserSummary[]; | ||
updated_at: string; | ||
@@ -12,0 +12,0 @@ id: number; |
import { UserSummary } from './user'; | ||
import { Milestone } from './milestone'; | ||
import { Commit, Diff } from './commit'; | ||
export interface MergeRequest { | ||
export interface MergeRequestSummary { | ||
id: number; | ||
@@ -22,5 +22,4 @@ iid: number; | ||
milestone: Milestone; | ||
merge_when_build_succeeds: boolean; | ||
merge_when_pipeline_succeeds: boolean; | ||
merge_status: string; | ||
subscribed: boolean; | ||
sha: string; | ||
@@ -33,2 +32,5 @@ merge_commit_sha: string; | ||
} | ||
export interface MergeRequest extends MergeRequestSummary { | ||
subscribed: boolean; | ||
} | ||
export interface MergeRequestVersionSummary { | ||
@@ -35,0 +37,0 @@ id: number; |
import { UserSummary } from './user'; | ||
import { Visibility } from './visibility'; | ||
export interface Project { | ||
@@ -7,3 +8,3 @@ id: number; | ||
'public': boolean; | ||
visibility_level: number; | ||
visibility: Visibility; | ||
ssh_url_to_repo: string; | ||
@@ -30,3 +31,3 @@ http_url_to_repo: string; | ||
merge_requests_enabled: boolean; | ||
builds_enabled: boolean; | ||
jobs_enabled: boolean; | ||
wiki_enabled: boolean; | ||
@@ -33,0 +34,0 @@ snippets_enabled: boolean; |
@@ -12,3 +12,3 @@ export interface Service { | ||
note_events: boolean; | ||
build_events: boolean; | ||
job_events: boolean; | ||
pipeline_events: boolean; | ||
@@ -15,0 +15,0 @@ } |
{ | ||
"name": "gitlab-fetch", | ||
"version": "0.2.3-dev.10237518", | ||
"version": "0.3.0-dev.10241843", | ||
"author": "Jay Anslow <jay@anslow.me.uk>", | ||
@@ -5,0 +5,0 @@ "license": "MIT", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
120
78273
1457