diff --git a/src/endpoints/DashboardWrapper.ts b/src/endpoints/DashboardWrapper.ts index 15808dc..162798d 100644 --- a/src/endpoints/DashboardWrapper.ts +++ b/src/endpoints/DashboardWrapper.ts @@ -1,5 +1,5 @@ import APIBaseWrapper from './APIBaseWrapper'; -import type {ItemArrayDataWrappedWithMeta, ItemDataWrapped} from '../types'; +import type {DataWrappedWithMeta, ItemDataWrapped} from '../types'; export type DashboardTotal = { invested: number; @@ -17,8 +17,8 @@ export type DashboardTiles = { }; export type Dashboard = { - favouriteItems: ItemArrayDataWrappedWithMeta; - suggestedItems: ItemArrayDataWrappedWithMeta; + favouriteItems: DataWrappedWithMeta; + suggestedItems: DataWrappedWithMeta; tiles: { data: DashboardTiles; }; diff --git a/src/endpoints/FavouriteItemsWrapper.ts b/src/endpoints/FavouriteItemsWrapper.ts index 002f199..d2c604e 100644 --- a/src/endpoints/FavouriteItemsWrapper.ts +++ b/src/endpoints/FavouriteItemsWrapper.ts @@ -1,13 +1,20 @@ import APIBaseWrapper from './APIBaseWrapper'; +import type {Item, ItemListPromise} from '../types'; -export interface FavouriteItemReorder { +export type FavouriteItemReorder = { item_id: number; order: number; -} +}; export type FavouriteItemReorderRequest = Array; +export type FavouriteItem = Item & {favouriteItemsId: number}; + export default class FavouriteItemsWrapper extends APIBaseWrapper { + getItems(): ItemListPromise { + return this._wrapGet('favourite-items'); + } + addItem(itemId: number) { return this._wrapPost(`favourite-items`, { item_id: itemId, @@ -22,10 +29,6 @@ export default class FavouriteItemsWrapper extends APIBaseWrapper { return this._wrapDelete(`favourite-items/itemId/${itemId}`); } - getItems(opts = {filters: false}) { - return this._wrapGet(this.parseOptions('favourite-items', opts)); - } - /** * Update favourite items sort order * diff --git a/src/types.ts b/src/types.ts index 28dc6f1..e867670 100644 --- a/src/types.ts +++ b/src/types.ts @@ -53,12 +53,12 @@ export interface Item { export type MetaCount = {count: number}; -export type ItemListPromise = Promise; -export type ItemPromise = Promise; +export type ItemListPromise = Promise; +export type ItemPromise = Promise; export type DataWrapped = {data: T}; +export type DataWrappedWithMeta = {data: T[]; meta: MetaCount}; export type ItemDataWrapped = DataWrapped; export type ItemArrayDataWrapped = DataWrapped; -export type ItemArrayDataWrappedWithMeta = {data: Item[]; meta: MetaCount}; export interface StatusResponse { status_code: number; @@ -178,3 +178,5 @@ export type Paginated = { export type PaginatedResponse = { data: T[]; } & PaginationType; + +export type MaybePromise = T | Promise;