@jake-story/trellor
Version:
Trello service module
85 lines (84 loc) • 2.18 kB
TypeScript
interface INamedItem {
id: string;
name: string;
}
interface List extends INamedItem {
cards: Card[];
}
interface Board extends INamedItem {
lists: List[];
}
interface Card extends INamedItem {
}
export { Trellor, List, Board, Card };
/**
*
* ().boards
* .get((Board[]))
* .add("board name", (Board))
* .find("board name", (Board[]))
*
* ().board("boardId")
* .get((Board))
* .remove()
* .clear()
* .lists
* .get((List[]))
* .add("list name", (List))
* .find("list name", (List[]))
*
* ().list("listId")
* .clear()
* .remove()
* .card("cardId")
* .remove()
* .cards
* .get((Card[]))
* .add("card name", (Card))
*
*/
declare class Trellor {
constructor(apiKey: string, apiToken: string);
boards: BoardsActor;
board: (id: string) => BoardActor;
list: (id: string) => ListActor;
}
declare class BoardsActor {
get: () => Promise<Board[]>;
findAll: (name: string) => Promise<Board[]>;
find: (name: string) => Promise<Board>;
add: (name: string) => Promise<Board>;
}
declare class ListsActor {
private boardId;
constructor(boardId: string);
get: () => Promise<List[]>;
add: (name: string) => Promise<List>;
}
declare class BoardActor {
private boardId;
constructor(boardId: string);
lists: ListsActor;
get: () => Promise<Board>;
remove: () => Promise<void>;
clear: () => Promise<void>;
}
declare class ListActor {
private listId;
constructor(listId: string);
clear: () => Promise<void>;
remove: () => Promise<void>;
card: (cardId: string) => CardActor;
cards: CardsActor;
}
declare class CardsActor {
private listId;
constructor(listId: string);
get: () => Promise<Card[]>;
add: (name: string) => Promise<Card>;
}
declare class CardActor {
private id;
constructor(id: string);
remove: () => Promise<void>;
}