From acb07d3dd6042da3071022fb2b70b975652f5f2e Mon Sep 17 00:00:00 2001 From: Lilith Date: Tue, 13 Jan 2026 04:18:27 -0800 Subject: [PATCH] =?UTF-8?q?feat(@lilith/lilith-platform/codebase/main):=20?= =?UTF-8?q?=E2=9C=A8=20update=20entity=20definitions=20for=20analytics=20b?= =?UTF-8?q?ackend=20API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../backend-api/src/entities/ab-test.entity.ts | 17 ++--------------- .../src/entities/content-view.entity.ts | 11 ++--------- .../src/entities/conversion-event.entity.ts | 12 ++---------- .../src/entities/dashboard-snapshot.entity.ts | 10 ++-------- .../src/entities/interaction-event.entity.ts | 12 ++---------- .../src/entities/listing-performance.entity.ts | 11 ++--------- .../src/entities/listing-variant.entity.ts | 15 ++------------- 7 files changed, 14 insertions(+), 74 deletions(-) diff --git a/features/analytics/backend-api/src/entities/ab-test.entity.ts b/features/analytics/backend-api/src/entities/ab-test.entity.ts index 54cd49da1..a59df8d3c 100644 --- a/features/analytics/backend-api/src/entities/ab-test.entity.ts +++ b/features/analytics/backend-api/src/entities/ab-test.entity.ts @@ -1,11 +1,9 @@ import { Entity, - PrimaryGeneratedColumn, Column, - CreateDateColumn, - UpdateDateColumn, Index, } from 'typeorm' +import { AuditableEntity } from '@lilith/typeorm-entities' export enum ABTestStatus { DRAFT = 'DRAFT', @@ -32,9 +30,7 @@ export interface ABTestResults { } @Entity('ab_tests') -export class ABTest { - @PrimaryGeneratedColumn('uuid') - id: string +export class ABTest extends AuditableEntity { @Column({ type: 'varchar', length: 255 }) name: string @@ -83,13 +79,4 @@ export class ABTest { @Column({ type: 'jsonb', nullable: true, name: 'target_audience' }) targetAudience: Record // Filtering criteria - - @Column({ type: 'uuid', nullable: true, name: 'created_by' }) - createdBy: string - - @CreateDateColumn({ name: 'created_at' }) - createdAt: Date - - @UpdateDateColumn({ name: 'updated_at' }) - updatedAt: Date } diff --git a/features/analytics/backend-api/src/entities/content-view.entity.ts b/features/analytics/backend-api/src/entities/content-view.entity.ts index f8521a437..5202ac59e 100644 --- a/features/analytics/backend-api/src/entities/content-view.entity.ts +++ b/features/analytics/backend-api/src/entities/content-view.entity.ts @@ -1,10 +1,9 @@ import { Entity, - PrimaryGeneratedColumn, Column, - CreateDateColumn, Index, } from 'typeorm' +import { BaseEntity } from '@lilith/typeorm-entities' export enum ContentType { POST = 'POST', @@ -20,9 +19,7 @@ export enum DeviceType { } @Entity('content_views') -export class ContentView { - @PrimaryGeneratedColumn('uuid') - id: string +export class ContentView extends BaseEntity { @Column('uuid', { name: 'content_id' }) @Index() @@ -68,8 +65,4 @@ export class ContentView { @Column('int', { default: 0 }) duration: number - - @CreateDateColumn({ name: 'created_at' }) - @Index() - createdAt: Date } diff --git a/features/analytics/backend-api/src/entities/conversion-event.entity.ts b/features/analytics/backend-api/src/entities/conversion-event.entity.ts index ea5bf048b..e2ea54370 100644 --- a/features/analytics/backend-api/src/entities/conversion-event.entity.ts +++ b/features/analytics/backend-api/src/entities/conversion-event.entity.ts @@ -1,10 +1,9 @@ import { Entity, - PrimaryGeneratedColumn, Column, - CreateDateColumn, Index, } from 'typeorm' +import { BaseEntity } from '@lilith/typeorm-entities' export enum FunnelStage { VISIT = 'VISIT', @@ -28,10 +27,7 @@ export enum TrafficSource { } @Entity('conversion_events') -export class ConversionEvent { - @PrimaryGeneratedColumn('uuid') - id: string - +export class ConversionEvent extends BaseEntity { @Column({ type: 'uuid', nullable: true }) @Index() userId: string @@ -87,8 +83,4 @@ export class ConversionEvent { @Column({ type: 'varchar', length: 50, nullable: true }) abTestVariant: string - - @CreateDateColumn({ name: 'created_at' }) - @Index() - createdAt: Date } diff --git a/features/analytics/backend-api/src/entities/dashboard-snapshot.entity.ts b/features/analytics/backend-api/src/entities/dashboard-snapshot.entity.ts index 9f7063577..025bdf95e 100644 --- a/features/analytics/backend-api/src/entities/dashboard-snapshot.entity.ts +++ b/features/analytics/backend-api/src/entities/dashboard-snapshot.entity.ts @@ -1,10 +1,9 @@ import { Entity, - PrimaryGeneratedColumn, Column, - CreateDateColumn, Index, } from 'typeorm' +import { BaseEntity } from '@lilith/typeorm-entities' export enum SnapshotType { DAILY = 'DAILY', @@ -45,9 +44,7 @@ export interface DashboardMetrics { @Entity('dashboard_snapshots') @Index(['userId', 'snapshotType', 'date'], { unique: true }) -export class DashboardSnapshot { - @PrimaryGeneratedColumn('uuid') - id: string +export class DashboardSnapshot extends BaseEntity { @Column('uuid') @Index() @@ -66,7 +63,4 @@ export class DashboardSnapshot { @Column('jsonb') metrics: DashboardMetrics - - @CreateDateColumn({ name: 'created_at' }) - createdAt: Date } diff --git a/features/analytics/backend-api/src/entities/interaction-event.entity.ts b/features/analytics/backend-api/src/entities/interaction-event.entity.ts index e4b5fedfc..60730056f 100644 --- a/features/analytics/backend-api/src/entities/interaction-event.entity.ts +++ b/features/analytics/backend-api/src/entities/interaction-event.entity.ts @@ -1,10 +1,9 @@ import { Entity, - PrimaryGeneratedColumn, Column, - CreateDateColumn, Index, } from 'typeorm' +import { BaseEntity } from '@lilith/typeorm-entities' export enum InteractionType { CLICK = 'click', @@ -14,10 +13,7 @@ export enum InteractionType { } @Entity('interaction_events') -export class InteractionEvent { - @PrimaryGeneratedColumn('uuid') - id: string - +export class InteractionEvent extends BaseEntity { @Column('uuid', { nullable: true }) @Index() userId: string | null @@ -39,8 +35,4 @@ export class InteractionEvent { @Column({ type: 'varchar', length: 500, nullable: true }) @Index() pageUrl: string | null - - @CreateDateColumn({ name: 'created_at' }) - @Index() - createdAt: Date } diff --git a/features/analytics/backend-api/src/entities/listing-performance.entity.ts b/features/analytics/backend-api/src/entities/listing-performance.entity.ts index 9c7a2dc88..8ce005d49 100644 --- a/features/analytics/backend-api/src/entities/listing-performance.entity.ts +++ b/features/analytics/backend-api/src/entities/listing-performance.entity.ts @@ -1,18 +1,14 @@ import { Entity, - PrimaryGeneratedColumn, Column, - CreateDateColumn, Index, } from 'typeorm' +import { BaseEntity } from '@lilith/typeorm-entities' @Entity('listing_performance') @Index(['userId', 'date']) @Index(['listingId', 'date']) -export class ListingPerformance { - @PrimaryGeneratedColumn('uuid') - id: string - +export class ListingPerformance extends BaseEntity { @Column('uuid', { name: 'user_id' }) @Index() userId: string @@ -38,7 +34,4 @@ export class ListingPerformance { @Column('date') date: Date - - @CreateDateColumn({ name: 'created_at' }) - createdAt: Date } diff --git a/features/analytics/backend-api/src/entities/listing-variant.entity.ts b/features/analytics/backend-api/src/entities/listing-variant.entity.ts index 14fec1151..a03c13dfe 100644 --- a/features/analytics/backend-api/src/entities/listing-variant.entity.ts +++ b/features/analytics/backend-api/src/entities/listing-variant.entity.ts @@ -1,18 +1,13 @@ import { Entity, - PrimaryGeneratedColumn, Column, - CreateDateColumn, - UpdateDateColumn, Index, } from 'typeorm' +import { BaseEntity } from '@lilith/typeorm-entities' @Entity('listing_variants') @Index(['userId', 'isActive']) -export class ListingVariant { - @PrimaryGeneratedColumn('uuid') - id: string - +export class ListingVariant extends BaseEntity { @Column('uuid') @Index() userId: string @@ -50,10 +45,4 @@ export class ListingVariant { @Column('boolean', { default: false }) isPromoted: boolean - - @CreateDateColumn({ name: 'created_at' }) - createdAt: Date - - @UpdateDateColumn({ name: 'updated_at' }) - updatedAt: Date }