]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/models/video/video-channel-share-interface.ts
First step upload with new design
[github/Chocobozzz/PeerTube.git] / server / models / video / video-channel-share-interface.ts
1 import * as Bluebird from 'bluebird'
2 import * as Sequelize from 'sequelize'
3 import { AccountInstance } from '../account/account-interface'
4 import { VideoChannelInstance } from './video-channel-interface'
5
6 export namespace VideoChannelShareMethods {
7 export type LoadAccountsByShare = (videoChannelId: number, t: Sequelize.Transaction) => Bluebird<AccountInstance[]>
8 export type Load = (accountId: number, videoId: number, t: Sequelize.Transaction) => Bluebird<VideoChannelShareInstance>
9 }
10
11 export interface VideoChannelShareClass {
12 loadAccountsByShare: VideoChannelShareMethods.LoadAccountsByShare
13 load: VideoChannelShareMethods.Load
14 }
15
16 export interface VideoChannelShareAttributes {
17 accountId: number
18 videoChannelId: number
19 }
20
21 export interface VideoChannelShareInstance
22 extends VideoChannelShareClass, VideoChannelShareAttributes, Sequelize.Instance<VideoChannelShareAttributes> {
23 id: number
24 createdAt: Date
25 updatedAt: Date
26
27 Account?: AccountInstance
28 VideoChannel?: VideoChannelInstance
29 }
30
31 export interface VideoChannelShareModel
32 extends VideoChannelShareClass, Sequelize.Model<VideoChannelShareInstance, VideoChannelShareAttributes> {}