Auto-count storefront page views with 6-month event retention and lifetime counters, track product visit/cart/sale stats, persist SSL cert expiry with daily probes, and support owner titles plus annual contract renewal. Co-authored-by: Cursor <cursoragent@cursor.com>
24 lines
488 B
TypeScript
24 lines
488 B
TypeScript
import { Type } from 'class-transformer';
|
|
import { IsIn, IsInt, IsOptional, Max, Min } from 'class-validator';
|
|
import { WEBSITE_PAGE_KINDS } from '../website-analytics.types';
|
|
|
|
const ACTIVITY_KINDS = [
|
|
...WEBSITE_PAGE_KINDS,
|
|
'website',
|
|
'product',
|
|
'portfolio',
|
|
'blog',
|
|
] as const;
|
|
|
|
export class ViewActivityQueryDto {
|
|
@IsIn([...ACTIVITY_KINDS])
|
|
kind!: (typeof ACTIVITY_KINDS)[number];
|
|
|
|
@IsOptional()
|
|
@Type(() => Number)
|
|
@IsInt()
|
|
@Min(1)
|
|
@Max(90)
|
|
days?: number;
|
|
}
|