UNPKG

splitwise-sdk

Version:
62 lines (61 loc) 2.99 kB
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>; }