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: 309365014ecae848ed802a3627c639ba661c69d9 (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);


}