f501f08b7630f37c4b870330caf94817ff0795de
[oweals/peertube.git] / server / models / user / user-video-rate-interface.ts
1 import * as Sequelize from 'sequelize'
2 import * as Promise from 'bluebird'
3
4 import { VideoRateType } from '../../../shared/models/videos/video-rate.type'
5
6 export namespace UserVideoRateMethods {
7   export type Load = (userId: number, videoId: string, transaction: Sequelize.Transaction) => Promise<UserVideoRateInstance>
8 }
9
10 export interface UserVideoRateClass {
11   load: UserVideoRateMethods.Load
12 }
13
14 export interface UserVideoRateAttributes {
15   type: VideoRateType
16 }
17
18 export interface UserVideoRateInstance extends UserVideoRateClass, UserVideoRateAttributes, Sequelize.Instance<UserVideoRateAttributes> {
19   id: number
20   createdAt: Date
21   updatedAt: Date
22 }
23
24 export interface UserVideoRateModel extends UserVideoRateClass, Sequelize.Model<UserVideoRateInstance, UserVideoRateAttributes> {}