@rsc-labs/medusa-store-analytics
Version:
Get analytics data about your store
63 lines (62 loc) • 2.31 kB
TypeScript
import { OrderStatus, TransactionBaseService } from "@medusajs/medusa";
type OrdersRegionsPopularity = {
date: string;
orderCount: number;
regionId: string;
regionName: string;
};
type OrdersRegionsPopularityResult = {
dateRangeFrom?: number;
dateRangeTo?: number;
dateRangeFromCompareTo?: number;
dateRangeToCompareTo?: number;
current: OrdersRegionsPopularity[];
previous: OrdersRegionsPopularity[];
};
type OrdersSalesChannelPopularity = {
date: string;
orderCount: number;
salesChannelId: string;
salesChannelName: string;
};
type OrdersSalesChannelPopularityResult = {
dateRangeFrom?: number;
dateRangeTo?: number;
dateRangeFromCompareTo?: number;
dateRangeToCompareTo?: number;
current: OrdersSalesChannelPopularity[];
previous: OrdersSalesChannelPopularity[];
};
type SalesHistory = {
date: Date;
total: string;
};
export type SalesHistoryResult = {
currencyCode: string;
currencyDecimalDigits: number;
dateRangeFrom?: number;
dateRangeTo?: number;
dateRangeFromCompareTo?: number;
dateRangeToCompareTo?: number;
current: SalesHistory[];
previous: SalesHistory[];
};
type RefundsResult = {
currencyCode: string;
currencyDecimalDigits: number;
dateRangeFrom?: number;
dateRangeTo?: number;
dateRangeFromCompareTo?: number;
dateRangeToCompareTo?: number;
current: string;
previous: string;
};
export default class SalesAnalyticsService extends TransactionBaseService {
private readonly orderService;
constructor(container: any);
getOrdersSales(orderStatuses: OrderStatus[], currencyCode: string, from?: Date, to?: Date, dateRangeFromCompareTo?: Date, dateRangeToCompareTo?: Date): Promise<SalesHistoryResult>;
getSalesChannelsPopularity(orderStatuses: OrderStatus[], from?: Date, to?: Date, dateRangeFromCompareTo?: Date, dateRangeToCompareTo?: Date): Promise<OrdersSalesChannelPopularityResult>;
getRegionsPopularity(orderStatuses: OrderStatus[], from?: Date, to?: Date, dateRangeFromCompareTo?: Date, dateRangeToCompareTo?: Date): Promise<OrdersRegionsPopularityResult>;
getRefunds(currencyCode: string, from?: Date, to?: Date, dateRangeFromCompareTo?: Date, dateRangeToCompareTo?: Date): Promise<RefundsResult>;
}
export {};