vinmonopolet-ts
Version:
Extracts information on products, categories and stores from Vinmonopolet
67 lines (66 loc) • 1.88 kB
TypeScript
import Pagination from "../../models/Pagination";
import BaseStore from "../../models/store/BaseStore";
export interface ISearchStoresOptions {
/**
* Which page of the pagination you want to get. (Default: 1)
*/
page?: number;
/**
* A freetext query used to search for stores. Note that only query OR nearLocation can be used at once, with query giving precidence.
*/
query?: string;
/**
* Latitude and longitude coordinates used to search for stores near these coordinates. Note that only query OR nearLocation can be used at once, with query giving precidence.
*/
nearLocation?: {
lat: number;
lon: number;
};
/**
* The number of stores returned in a single page. Default:
*/
pageSize?: number;
}
export interface IStoreQuery {
[prop: string]: string;
currentPage: string;
longitude: string;
latitude: string;
pageSize: string;
fields: string;
}
export interface ISearchStoreResult {
/**
* A list of stores. Represents one page of the results, use pagination.next to fetch next page of results.
*/
stores: BaseStore[];
/**
* Pagination object used to traverse the results.
*/
pagination?: Pagination<ISearchStoreResult>;
}
export interface IGetStoresPagination {
currentPage: number;
pageSize: number;
totalPages: number;
totalResults: number;
}
export interface IStoreDTO {
displayName: string;
id: string;
name: string;
formattedDistance: string;
geoPoint: {
latitude: number;
longitude: number;
};
address: {
formattedAddress: string;
id: string;
line1: string;
};
}
export interface IGetStoresResult {
pagination: IGetStoresPagination;
stores: IStoreDTO[];
}