Added new reducer for visits overview, and added it to overview page

This commit is contained in:
Alejandro Celaya
2020-12-07 12:12:39 +01:00
parent 032e9c53f3
commit d9e39eee2b
11 changed files with 181 additions and 91 deletions

View File

@@ -15,6 +15,7 @@ import {
ShlinkShortUrlMeta,
ShlinkDomain,
ShlinkDomainsResponse,
ShlinkVisitsOverview,
} from './types';
const buildShlinkBaseUrl = (url: string, apiVersion: number) => url ? `${url}/rest/v${apiVersion}` : '';
@@ -50,6 +51,10 @@ export default class ShlinkApiClient {
this.performRequest<{ visits: ShlinkVisits }>(`/tags/${tag}/visits`, 'GET', query)
.then(({ data }) => data.visits);
public readonly getVisitsOverview = async (): Promise<ShlinkVisitsOverview> =>
this.performRequest<{ visits: ShlinkVisitsOverview }>('/visits', 'GET')
.then(({ data }) => data.visits);
public readonly getShortUrl = async (shortCode: string, domain?: OptionalString): Promise<ShortUrl> =>
this.performRequest<ShortUrl>(`/short-urls/${shortCode}`, 'GET', { domain })
.then(({ data }) => data);

View File

@@ -44,6 +44,10 @@ export interface ShlinkVisits {
pagination?: ShlinkPaginator; // Is only optional in old Shlink versions
}
export interface ShlinkVisitsOverview {
visitsCount: number;
}
export interface ShlinkVisitsParams {
domain?: OptionalString;
page?: number;