1818
1919import retrofit .Call ;
2020import retrofit .http .DELETE ;
21+ import retrofit .http .Field ;
22+ import retrofit .http .FormUrlEncoded ;
2123import retrofit .http .GET ;
2224import retrofit .http .POST ;
2325import retrofit .http .PUT ;
2426import retrofit .http .Path ;
2527import retrofit .http .Query ;
2628
2729public interface GitLab {
28- String API_VERSION = "/api/v3" ;
29- /* --- LOGIN --- */
30-
31- @ POST (API_VERSION + "/session" )
32- Call <Session > getSessionByUsername (@ Query ("login" ) String login ,
33- @ Query ("password" ) String password );
34-
35- @ POST (API_VERSION + "/session" )
36- Call <Session > getSessionByEmail (@ Query ("email" ) String email ,
37- @ Query ("password" ) String password );
30+ String API_VERSION = "/api/v3" ;
31+ /* --- LOGIN --- */
32+
33+ @ FormUrlEncoded
34+ @ POST (API_VERSION + "/session" )
35+ Call <Session > getSessionByUsername (@ Field ("login" ) String login ,
36+ @ Field ("password" ) String password );
37+
38+ @ FormUrlEncoded
39+ @ POST (API_VERSION + "/session" )
40+ Call <Session > getSessionByEmail (@ Field ("email" ) String email ,
41+ @ Field ("password" ) String password );
3842
3943 /* --- MAIN --- */
40-
41- @ GET (API_VERSION + "/groups?per_page=100" )
42- Call <List <Group >> getGroups ();
43-
44- @ GET (API_VERSION + "/users?per_page=100" )
45- Call <List <User >> getUsers ();
46-
47- @ GET (API_VERSION + "/projects?per_page=100" )
48- Call <List <Project >> getProjects ();
44+
45+ @ GET (API_VERSION + "/groups?per_page=100" )
46+ Call <List <Group >> getGroups ();
47+
48+ @ GET (API_VERSION + "/users?per_page=100" )
49+ Call <List <User >> getUsers ();
50+
51+ @ GET (API_VERSION + "/projects?per_page=100" )
52+ Call <List <Project >> getProjects ();
4953
5054 /* --- MISC --- */
51-
52- @ GET (API_VERSION + "/projects/{id}/repository/branches?per_page=100" )
53- Call <List <Branch >> getBranches (@ Path ("id" ) long projectId );
54-
55- @ GET (API_VERSION + "/projects/{id}/milestones?per_page=100" )
56- Call <List <Milestone >> getMilestones (@ Path ("id" ) long projectId );
57-
58- @ GET (API_VERSION + "/projects/{id}/members?per_page=100" )
59- Call <List <User >> getUsersFallback (@ Path ("id" ) long projectId );
55+
56+ @ GET (API_VERSION + "/projects/{id}/repository/branches?per_page=100" )
57+ Call <List <Branch >> getBranches (@ Path ("id" ) long projectId );
58+
59+ @ GET (API_VERSION + "/projects/{id}/milestones?per_page=100" )
60+ Call <List <Milestone >> getMilestones (@ Path ("id" ) long projectId );
61+
62+ @ GET (API_VERSION + "/projects/{id}/members?per_page=100" )
63+ Call <List <User >> getUsersFallback (@ Path ("id" ) long projectId );
6064
6165 /* --- COMMITS --- */
62-
63- @ GET (API_VERSION + "/projects/{id}/repository/commits?per_page=100" )
64- Call <List <DiffLine >> getCommits (@ Path ("id" ) long projectId ,
65- @ Query ("ref_name" ) String branchName );
6666
67- @ GET (API_VERSION + "/projects/{id}/repository/commits/{sha}" )
68- Call <DiffLine > getCommit (@ Path ("id" ) long projectId ,
69- @ Path ("sha" ) String commitSHA );
70-
71- @ GET (API_VERSION + "/projects/{id}/repository/commits/{sha}/diff" )
72- Call <List <Diff >> getCommitDiff (@ Path ("id" ) long projectId ,
73- @ Path ("sha" ) String commitSHA );
67+ @ GET (API_VERSION + "/projects/{id}/repository/commits?per_page=100" )
68+ Call <List <DiffLine >> getCommits (@ Path ("id" ) long projectId ,
69+ @ Query ("ref_name" ) String branchName );
70+
71+ @ GET (API_VERSION + "/projects/{id}/repository/commits/{sha}" )
72+ Call <DiffLine > getCommit (@ Path ("id" ) long projectId ,
73+ @ Path ("sha" ) String commitSHA );
74+
75+ @ GET (API_VERSION + "/projects/{id}/repository/commits/{sha}/diff" )
76+ Call <List <Diff >> getCommitDiff (@ Path ("id" ) long projectId ,
77+ @ Path ("sha" ) String commitSHA );
7478
7579 /* --- ISSUE --- */
76-
77- @ GET (API_VERSION + "/projects/{id}/issues?per_page=100" )
78- Call <List <Issue >> getIssues (@ Path ("id" ) long projectId );
79-
80- @ POST (API_VERSION + "/projects/{id}/issues" )
81- Call <Issue > postIssue (@ Path ("id" ) long projectId ,
82- @ Query ("title" ) String title ,
83- @ Query ("description" ) String description );
84-
85- @ PUT (API_VERSION + "/projects/{id}/issues/{issue_id}" )
86- Call <Issue > editIssue (@ Path ("id" ) long projectId ,
87- @ Path ("issue_id" ) long issueId ,
88- @ Query ("state_event" ) String stateEvent ,
89- @ Query ("assignee_id" ) long assigneeId ,
90- @ Query ("milestone_id" ) long milestoneId );
91-
92- @ PUT (API_VERSION + "/projects/{id}/issues/{issue_id}" )
93- Call <Issue > editIssue (@ Path ("id" ) long projectId ,
94- @ Path ("issue_id" ) long issueId ,
95- @ Query ("state_event" ) String stateEvent );
96-
97- @ GET (API_VERSION + "/projects/{id}/issues/{issue_id}/notes?per_page=100" )
98- Call <List <Note >> getIssueNotes (@ Path ("id" ) long projectId ,
99- @ Path ("issue_id" ) long issueId );
100-
101- @ POST (API_VERSION + "/projects/{id}/issues/{issue_id}/notes" )
102- Call <Note > postIssueNote (@ Path ("id" ) long projectId ,
103- @ Path ("issue_id" ) long issueId ,
104- @ Query ("body" ) String body );
80+
81+ @ GET (API_VERSION + "/projects/{id}/issues?per_page=100" )
82+ Call <List <Issue >> getIssues (@ Path ("id" ) long projectId );
83+
84+ @ FormUrlEncoded
85+ @ POST (API_VERSION + "/projects/{id}/issues" )
86+ Call <Issue > postIssue (@ Path ("id" ) long projectId ,
87+ @ Field ("title" ) String title ,
88+ @ Field ("description" ) String description );
89+
90+ @ PUT (API_VERSION + "/projects/{id}/issues/{issue_id}" )
91+ Call <Issue > editIssue (@ Path ("id" ) long projectId ,
92+ @ Path ("issue_id" ) long issueId ,
93+ @ Query ("state_event" ) String stateEvent ,
94+ @ Query ("assignee_id" ) long assigneeId ,
95+ @ Query ("milestone_id" ) long milestoneId );
96+
97+ @ PUT (API_VERSION + "/projects/{id}/issues/{issue_id}" )
98+ Call <Issue > editIssue (@ Path ("id" ) long projectId ,
99+ @ Path ("issue_id" ) long issueId ,
100+ @ Query ("state_event" ) String stateEvent );
101+
102+ @ GET (API_VERSION + "/projects/{id}/issues/{issue_id}/notes?per_page=100" )
103+ Call <List <Note >> getIssueNotes (@ Path ("id" ) long projectId ,
104+ @ Path ("issue_id" ) long issueId );
105+
106+ @ FormUrlEncoded
107+ @ POST (API_VERSION + "/projects/{id}/issues/{issue_id}/notes" )
108+ Call <Note > postIssueNote (@ Path ("id" ) long projectId ,
109+ @ Path ("issue_id" ) long issueId ,
110+ @ Field ("body" ) String body );
105111
106112 /* --- FILES --- */
107-
108- @ GET (API_VERSION + "/projects/{id}/repository/tree?per_page=100" )
109- Call <List <TreeItem >> getTree (@ Path ("id" ) long projectId ,
110- @ Query ("ref_name" ) String branchName ,
111- @ Query ("path" ) String path );
112-
113- @ GET (API_VERSION + "/projects/{id}/repository/files" )
114- Call <FileResponse > getFile (@ Path ("id" ) long projectId ,
115- @ Query ("file_path" ) String path ,
116- @ Query ("ref" ) String ref );
113+
114+ @ GET (API_VERSION + "/projects/{id}/repository/tree?per_page=100" )
115+ Call <List <TreeItem >> getTree (@ Path ("id" ) long projectId ,
116+ @ Query ("ref_name" ) String branchName ,
117+ @ Query ("path" ) String path );
118+
119+ @ GET (API_VERSION + "/projects/{id}/repository/files" )
120+ Call <FileResponse > getFile (@ Path ("id" ) long projectId ,
121+ @ Query ("file_path" ) String path ,
122+ @ Query ("ref" ) String ref );
117123 /* --- USER --- */
118124
119- @ GET (API_VERSION + "/users/{id}" )
120- Call <User > getUser (@ Path ("id" ) long userId );
125+ @ GET (API_VERSION + "/users/{id}" )
126+ Call <User > getUser (@ Path ("id" ) long userId );
121127
122- /**
123- * Get currently authenticated user
124- */
125- @ GET (API_VERSION + "/user" )
126- Call <User > getUser ();
127-
128- @ GET (API_VERSION + "/groups/{id}/members?per_page=100" )
129- Call <List <User >> getGroupMembers (@ Path ("id" ) long groupId );
130-
131- @ POST (API_VERSION + "/groups/{id}/members" )
132- Call <User > addGroupMember (@ Path ("id" ) long groupId ,
133- @ Query ("user_id" ) long userId ,
134- @ Query ("access_level" ) String accessLevel );
135-
136- @ DELETE (API_VERSION + "/groups/{id}/members/{user_id}" )
137- Call <DeleteResponse > removeGroupMember (@ Path ("id" ) long groupId ,
138- @ Path ("user_id" ) long userId );
128+ /**
129+ * Get currently authenticated user
130+ */
131+ @ GET (API_VERSION + "/user" )
132+ Call <User > getUser ();
133+
134+ @ GET (API_VERSION + "/groups/{id}/members?per_page=100" )
135+ Call <List <User >> getGroupMembers (@ Path ("id" ) long groupId );
136+
137+ @ FormUrlEncoded
138+ @ POST (API_VERSION + "/groups/{id}/members" )
139+ Call <User > addGroupMember (@ Path ("id" ) long groupId ,
140+ @ Field ("user_id" ) long userId ,
141+ @ Field ("access_level" ) String accessLevel );
142+
143+ @ DELETE (API_VERSION + "/groups/{id}/members/{user_id}" )
144+ Call <DeleteResponse > removeGroupMember (@ Path ("id" ) long groupId ,
145+ @ Path ("user_id" ) long userId );
139146
140- @ GET (API_VERSION + "/users" )
141- Call <List <User >> searchUsers (@ Query ("search" ) String query );
147+ @ GET (API_VERSION + "/users" )
148+ Call <List <User >> searchUsers (@ Query ("search" ) String query );
142149}
0 commit comments