add public item stats
This commit is contained in:
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user