mirror of https://github.com/Chocobozzz/PeerTube
				
				
				
			
		
			
				
	
	
		
			95 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
import { FollowState } from '../actors'
 | 
						|
 | 
						|
export enum UserNotificationType {
 | 
						|
  NEW_VIDEO_FROM_SUBSCRIPTION = 1,
 | 
						|
  NEW_COMMENT_ON_MY_VIDEO = 2,
 | 
						|
  NEW_VIDEO_ABUSE_FOR_MODERATORS = 3,
 | 
						|
 | 
						|
  BLACKLIST_ON_MY_VIDEO = 4,
 | 
						|
  UNBLACKLIST_ON_MY_VIDEO = 5,
 | 
						|
 | 
						|
  MY_VIDEO_PUBLISHED = 6,
 | 
						|
 | 
						|
  MY_VIDEO_IMPORT_SUCCESS = 7,
 | 
						|
  MY_VIDEO_IMPORT_ERROR = 8,
 | 
						|
 | 
						|
  NEW_USER_REGISTRATION = 9,
 | 
						|
  NEW_FOLLOW = 10,
 | 
						|
  COMMENT_MENTION = 11,
 | 
						|
 | 
						|
  VIDEO_AUTO_BLACKLIST_FOR_MODERATORS = 12,
 | 
						|
 | 
						|
  NEW_INSTANCE_FOLLOWER = 13,
 | 
						|
 | 
						|
  AUTO_INSTANCE_FOLLOWING = 14
 | 
						|
}
 | 
						|
 | 
						|
export interface VideoInfo {
 | 
						|
  id: number
 | 
						|
  uuid: string
 | 
						|
  name: string
 | 
						|
}
 | 
						|
 | 
						|
export interface ActorInfo {
 | 
						|
  id: number
 | 
						|
  displayName: string
 | 
						|
  name: string
 | 
						|
  host: string
 | 
						|
  avatar?: {
 | 
						|
    path: string
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
export interface UserNotification {
 | 
						|
  id: number
 | 
						|
  type: UserNotificationType
 | 
						|
  read: boolean
 | 
						|
 | 
						|
  video?: VideoInfo & {
 | 
						|
    channel: ActorInfo
 | 
						|
  }
 | 
						|
 | 
						|
  videoImport?: {
 | 
						|
    id: number
 | 
						|
    video?: VideoInfo
 | 
						|
    torrentName?: string
 | 
						|
    magnetUri?: string
 | 
						|
    targetUrl?: string
 | 
						|
  }
 | 
						|
 | 
						|
  comment?: {
 | 
						|
    id: number
 | 
						|
    threadId: number
 | 
						|
    account: ActorInfo
 | 
						|
    video: VideoInfo
 | 
						|
  }
 | 
						|
 | 
						|
  videoAbuse?: {
 | 
						|
    id: number
 | 
						|
    video: VideoInfo
 | 
						|
  }
 | 
						|
 | 
						|
  videoBlacklist?: {
 | 
						|
    id: number
 | 
						|
    video: VideoInfo
 | 
						|
  }
 | 
						|
 | 
						|
  account?: ActorInfo
 | 
						|
 | 
						|
  actorFollow?: {
 | 
						|
    id: number
 | 
						|
    follower: ActorInfo
 | 
						|
    state: FollowState
 | 
						|
 | 
						|
    following: {
 | 
						|
      type: 'account' | 'channel' | 'instance'
 | 
						|
      name: string
 | 
						|
      displayName: string
 | 
						|
      host: string
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  createdAt: string
 | 
						|
  updatedAt: string
 | 
						|
}
 |