add public item stats

This commit is contained in:
Hongbo Wu
2024-05-24 15:48:24 +08:00
parent 6c9f0c81f6
commit 880a907679
3 changed files with 39 additions and 2 deletions

View File

@ -2,15 +2,20 @@ import {
Column,
CreateDateColumn,
Entity,
OneToOne,
PrimaryGeneratedColumn,
UpdateDateColumn,
} from 'typeorm'
import { PublicItemStats } from './public_item_stats'
@Entity({ name: 'public_item' })
export class PublicItem {
@PrimaryGeneratedColumn('uuid')
id!: string
@OneToOne(() => PublicItemStats)
stats!: PublicItemStats
@Column('text')
sourceName!: string

View File

@ -1,6 +1,31 @@
import { Entity } from 'typeorm'
import {
Column,
CreateDateColumn,
Entity,
PrimaryGeneratedColumn,
UpdateDateColumn,
} from 'typeorm'
@Entity({ name: 'public_item_stats' })
export class PublicItemStats {
@PrimaryGeneratedColumn('uuid')
id!: string
@Column('uuid')
publicItemId!: string
@Column('integer')
saveCount!: number
@Column('integer')
likeCount!: number
@Column('integer')
broadcastCount!: number
@CreateDateColumn()
createdAt!: Date
@UpdateDateColumn()
updatedAt!: Date
}

View File

@ -31,6 +31,10 @@ interface JustReadFeedItem {
dir?: string
wordCount?: number
sourceIcon?: string
saveCount?: number
likeCount?: number
broadcastCount?: number
}
interface JustReadFeedTopic {
@ -83,6 +87,9 @@ const publicItemToFeedItem = (item: PublicItem): JustReadFeedItem => ({
sourceName: item.sourceName,
siteName: item.siteName,
updatedAt: item.updatedAt,
saveCount: item.stats.saveCount,
likeCount: item.stats.likeCount,
broadcastCount: item.stats.broadcastCount,
})
interface FeedItemScore {