Welcome to mirror list, hosted at ThFree Co, Russian Federation.

DeckAPI.java « api « deck « nextcloud « niedermann « it « java « main « src « app - github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 229d0553c15f3dcdec777885fa2655d53bc93974 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
package it.niedermann.nextcloud.deck.api;


import java.util.Date;
import java.util.List;

import io.reactivex.Observable;
import it.niedermann.nextcloud.deck.model.Board;
import it.niedermann.nextcloud.deck.model.Card;
import it.niedermann.nextcloud.deck.model.Label;
import it.niedermann.nextcloud.deck.model.Stack;
import retrofit2.http.Body;
import retrofit2.http.DELETE;
import retrofit2.http.GET;
import retrofit2.http.Header;
import retrofit2.http.POST;
import retrofit2.http.PUT;
import retrofit2.http.Path;

public interface DeckAPI {

        // ### BOARDS
        @POST("boards")
        Observable createBoard(@Body Board board);

        @GET("boards/{id}")
        Observable<Board> getBoard(@Path("id") long id, @Header("If-Modified-Since") Date lastSync);

        @GET("boards")
        Observable<List<Board>> getBoards(@Header("If-Modified-Since") Date lastSync);


        // ### Stacks
        @POST("boards/{boardId}/stacks")
        Observable createStack(@Path("boardId") long boardId, @Body Stack stack);

        @PUT("boards/{boardId}/stacks/{stackId}")
        Observable<Stack> updateStack(@Path("boardId") long boardId, @Path("stackId") long id, @Body Stack stack);

        @DELETE("boards/{boardId}/stacks/{stackId}")
        Observable<Stack> deleteStack(@Path("boardId") long boardId, @Path("stackId") long id);

        @GET("boards/{boardId}/stacks/{stackId}")
        Observable<Stack> getStack(@Path("boardId") long boardId, @Path("stackId") long id, @Header("If-Modified-Since") Date lastSync);

        @GET("boards/{boardId}/stacks")
        Observable<List<Stack>> getStacks(@Path("boardId") long boardId, @Header("If-Modified-Since") Date lastSync);

        @GET("boards/{boardId}/stacks/archived")
        Observable<List<Stack>> getArchivedStacks(@Path("boardId") long boardId, @Header("If-Modified-Since") Date lastSync);


        // ### Cards
        @POST("boards/{boardId}/stacks/{stackId}/cards")
        Observable createCard(@Path("boardId") long boardId, @Path("stackId") long stackId, @Body Card card);

        @PUT("boards/{boardId}/stacks/{stackId}/cards/{cardId}")
        Observable<Card> updateCard(@Path("boardId") long boardId, @Path("stackId") long stackId, @Path("cardId") long cardId, @Body Card card);

        @DELETE("boards/{boardId}/stacks/{stackId}/cards/{cardId}")
        Observable<Card> deleteCard(@Path("boardId") long boardId, @Path("stackId") long stackId, @Path("cardId") long cardId);

        @GET("boards/{boardId}/stacks/{stackId}/cards/{cardId}")
        Observable<Card> getCard(@Path("boardId") long boardId, @Path("stackId") long stackId, @Path("cardId") long cardId, @Header("If-Modified-Since") Date lastSync);


        // ### LABELS
        @GET("boards/{boardId}labels/{labelId}")
        Observable<Label> getLabel(@Path("boardId") long boardId, @Path("labelId") long labelId, @Header("If-Modified-Since") Date lastSync);

        @PUT("boards/getBoards/{boardId}/labels/{labelId}")
        Observable<Label> updateLabel(@Path("boardId") long boardId, @Path("labelId") long labelId, @Body Label label);

        @POST("boards/getBoards/{boardId}/labels")
        Observable<Label> createLabel(@Path("boardId") long boardId, @Body Label label);

        @DELETE("boards/getBoards/{boardId}/labels/{labelId}")
        Observable<Label> deleteLabel(@Path("boardId") long boardId, @Path("labelId") long labelId);


}