]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/models/video/author-interface.ts
Share models between server and client
[github/Chocobozzz/PeerTube.git] / server / models / video / author-interface.ts
1 import * as Sequelize from 'sequelize'
2
3 import { PodInstance } from '../pod'
4
5 export namespace AuthorMethods {
6 export type FindOrCreateAuthorCallback = (err: Error, authorInstance?: AuthorInstance) => void
7 export type FindOrCreateAuthor = (name: string, podId: number, userId: number, transaction: Sequelize.Transaction, callback: FindOrCreateAuthorCallback) => void
8 }
9
10 export interface AuthorClass {
11 findOrCreateAuthor: AuthorMethods.FindOrCreateAuthor
12 }
13
14 export interface AuthorAttributes {
15 name: string
16 }
17
18 export interface AuthorInstance extends AuthorClass, AuthorAttributes, Sequelize.Instance<AuthorAttributes> {
19 id: number
20 createdAt: Date
21 updatedAt: Date
22
23 podId: number
24 Pod: PodInstance
25 }
26
27 export interface AuthorModel extends AuthorClass, Sequelize.Model<AuthorInstance, AuthorAttributes> {}