Merge pull request #2993 from omnivore-app/feat/admin-add-library-items

Add library items to /admin
This commit is contained in:
Jackson Harper
2023-10-24 14:47:25 +08:00
committed by GitHub
2 changed files with 73 additions and 0 deletions

View File

@ -50,6 +50,8 @@ export const registerDatabase = async (secrets: any): Promise<Connection> => {
Group,
Integration,
Subscription,
LibraryItem,
UploadFile,
],
})
@ -308,3 +310,72 @@ export class Subscription extends BaseEntity {
@Column({ type: 'timestamp', name: 'updated_at' })
updatedAt!: Date
}
@Entity({ name: 'library_item' })
export class LibraryItem extends BaseEntity {
@PrimaryGeneratedColumn('uuid')
id!: string
@JoinColumn({ name: 'user_id' })
@ManyToOne(() => User, (user) => user.articles, { eager: true })
user!: User
@Column({ type: 'text', name: 'original_url' })
originalUrl!: string
@Column('text')
slug!: string
@Column('text')
title!: string
@Column('text', { nullable: true })
author?: string | null
@Column('text', { nullable: true })
subscription?: string | null
@OneToOne(() => UploadFile, { onDelete: 'CASCADE' })
@JoinColumn({ name: 'upload_file_id' })
uploadFile?: UploadFile
@Column({ type: 'timestamp', name: 'saved_at' })
savedAt!: Date
@Column({ type: 'timestamp', name: 'deleted_at' })
deletedAt?: Date | null
@Column({ type: 'timestamp', name: 'created_at' })
createdAt!: Date
@Column({ type: 'timestamp', name: 'updated_at' })
updatedAt!: Date
}
@Entity({ name: 'upload_files' })
export class UploadFile extends BaseEntity {
@PrimaryGeneratedColumn('uuid')
id!: string
@JoinColumn({ name: 'user_id' })
@ManyToOne(() => User, (user) => user.articles, { eager: true })
user!: User
@Column('text')
url!: string
@Column('text')
fileName!: string
@Column('text')
contentType!: string
@Column('text')
status!: string
@Column({ type: 'timestamp', name: 'created_at' })
createdAt!: Date
@Column({ type: 'timestamp', name: 'updated_at' })
updatedAt!: Date
}

View File

@ -12,6 +12,7 @@ import {
ContentDisplayReport,
Subscription,
Integration,
LibraryItem,
} from './db'
import { compare, hashSync } from 'bcryptjs'
const readYamlFile = require('read-yaml-file')
@ -41,6 +42,7 @@ const ADMIN_USER_EMAIL =
{ resource: Group, options: { parent: { name: 'Users' } } },
{ resource: Subscription, options: { parent: { name: 'Users' } } },
{ resource: Integration, options: { parent: { name: 'Users' } } },
{ resource: LibraryItem, options: { parent: { name: 'Users' } } },
{
resource: ContentDisplayReport,
},