mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-05 02:39:33 +02:00
server/server -> server/core
This commit is contained in:
parent
114327d4ce
commit
5a3d0650c9
838 changed files with 111 additions and 111 deletions
|
@ -0,0 +1,23 @@
|
|||
import { EmailPayload, UserNotificationSettingValueType } from '@peertube/peertube-models'
|
||||
import { MUserWithNotificationSetting, UserNotificationModelForApi } from '@server/types/models/index.js'
|
||||
|
||||
export abstract class AbstractNotification <T, U = MUserWithNotificationSetting> {
|
||||
|
||||
constructor (protected readonly payload: T) {
|
||||
|
||||
}
|
||||
|
||||
abstract prepare (): Promise<void>
|
||||
abstract log (): void
|
||||
|
||||
abstract getSetting (user: U): UserNotificationSettingValueType
|
||||
abstract getTargetUsers (): U[]
|
||||
|
||||
abstract createNotification (user: U): UserNotificationModelForApi
|
||||
abstract createEmail (to: string): EmailPayload | Promise<EmailPayload>
|
||||
|
||||
isDisabled (): boolean | Promise<boolean> {
|
||||
return false
|
||||
}
|
||||
|
||||
}
|
1
server/core/lib/notifier/shared/common/index.ts
Normal file
1
server/core/lib/notifier/shared/common/index.ts
Normal file
|
@ -0,0 +1 @@
|
|||
export * from './abstract-notification.js'
|
Loading…
Add table
Add a link
Reference in a new issue