splitwise-sdk
Version:
Splitwise API SDK for Node.js
62 lines (61 loc) • 2.99 kB
TypeScript
import { HTTP_VERBS } from "./constants";
import SplitwiseOptions from "./types/SplitwiseOptions";
import * as types from "./types/api";
export declare class SplitwiseClient {
private consumerKey?;
private consumerSecret?;
private accessToken?;
private oauth2?;
private logger;
constructor(options: SplitwiseOptions);
private log;
/**
* Hilfsmethode, um Query-Strings aus einem Objekt zu erzeugen.
*/
private buildQueryString;
/**
* Holt den Access Token mithilfe der OAuth-Library.
* Falls bereits ein Token vorhanden ist, wird dieser genutzt.
*/
fetchAccessToken(): Promise<string>;
/**
* Generische Methode, um API-Anfragen zu stellen.
*/
request<T>(endpoint: string, method?: HTTP_VERBS.GET | HTTP_VERBS.POST, body?: unknown): Promise<T>;
getCurrentUser(): Promise<types.GetCurrentUserResponse>;
getUser(id: number): Promise<types.GetUserResponse>;
updateUser(id: number, body: types.UpdateUserRequest): Promise<types.UpdateUserResponse>;
getGroups(): Promise<types.GetGroupResponse>;
getGroup(id: number): Promise<types.GetGroupResponse>;
createGroup(body: types.CreateGroupRequest): Promise<types.CreateGroupResponse>;
deleteGroup(id: number): Promise<types.DeleteGroupResponse>;
undeleteGroup(id: number): Promise<types.UndeleteGroupResponse>;
addUserToGroup(body: types.AddUserToGroupRequest): Promise<types.AddUserToGroupResponse>;
removeUserFromGroup(body: {
group_id: number;
user_id: number;
}): Promise<types.RemoveUserFromGroupResponse>;
getFriends(): Promise<types.GetFriendsResponse>;
getFriend(id: number): Promise<types.GetFriendResponse>;
createFriend(body: types.CreateFriendRequest): Promise<types.CreateFriendResponse>;
createFriends(body: types.CreateFriendsResponse): Promise<types.CreateFriendsResponse>;
deleteFriend(id: number): Promise<types.DeleteFriendResponse>;
getCurrencies(): Promise<types.GetCurrenciesResponse>;
getExpense(id: number): Promise<types.GetExpenseResponse>;
getExpenses(queryParams?: types.GetExpensesRequestParams): Promise<types.GetExpensesResponse>;
createExpense(body: types.CreateExpenseRequest): Promise<types.CreateExpenseResponse>;
updateExpense(id: number, body: types.UpdateExpenseRequest): Promise<types.UpdateExpenseResponse>;
deleteExpense(id: number): Promise<types.DeleteExpenseResponse>;
undeleteExpense(id: number): Promise<types.UndeleteExpenseResponse>;
getComments(expense_id: number): Promise<types.GetCommentsResponse>;
createComment(body: {
expense_id?: number;
content?: string;
}): Promise<types.CreateCommentResponse>;
deleteComment(id: number): Promise<types.DeleteCommentResponse>;
getNotifications(queryParams?: {
updated_after?: string;
limit?: number;
}): Promise<types.GetNotificationsResponse>;
getCategories(): Promise<types.GetCategoriesResponse>;
}