rowt-console-sdk
Version:
SDK for interacting with Rowt Server API from a client-side application.
102 lines (101 loc) • 2.19 kB
TypeScript
export interface RowtLink {
id: string;
url: string;
title?: string;
description?: string;
imageUrl?: string;
fallbackUrlOverride?: string;
additionalMetadata?: Record<string, any>;
properties: Record<string, any>;
lifetimeClicks: number;
interactions?: RowtInteraction[];
createdAt: Date;
}
export interface RowtInteraction {
id: string;
link: RowtLink;
referer?: string;
country?: string;
device?: string;
os?: string;
browser?: string;
timestamp: Date;
}
export interface RowtLoginDTO {
email: string;
password: string;
}
export interface RowtTokens {
access_token: string;
refresh_token: string;
}
export interface RowtUpdatePasswordDTO {
email: string;
password: string;
}
export interface RowtUser {
id: string;
email: string;
role: string;
emailVerified: boolean;
customerId: string;
}
export interface RowtLoginResponseDTO {
tokens: RowtTokens;
user: RowtUser;
}
export interface RowtGetProjectOptions {
includeLinks?: boolean;
includeInteractions?: boolean;
startDate?: Date;
endDate?: Date;
getPreviousPeriod?: boolean;
}
export interface RowtProject {
id: string;
apiKey: string;
userId: string;
name: string;
baseUrl: string;
fallbackUrl: string;
appstoreId?: string;
playstoreId?: string;
iosScheme?: string;
androidScheme?: string;
links?: RowtLink[];
previousPeriodInteractionCount?: number;
interactions?: RowtInteraction[];
}
export interface UpdateProjectDTO {
id: string;
apiKey: string;
userId: string;
name: string;
baseUrl: string;
fallbackUrl: string;
appstoreId?: string;
playstoreId?: string;
iosScheme?: string;
androidScheme?: string;
}
export interface CreateProjectDTO {
userId: string;
name: string;
baseUrl: string;
fallbackUrl: string;
}
export interface UsageStats {
links: number;
interactions: number;
period: {
start: Date;
end: Date;
};
}
export interface TierStats {
tier: number;
allowances: {
links: number;
interactions: number;
};
}