Fix lint
[oweals/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> {}