Cleanup models
[oweals/peertube.git] / server / models / video / tag-interface.ts
1 import * as Sequelize from 'sequelize'
2 import * as Promise from 'bluebird'
3
4 export namespace TagMethods {
5   export type FindOrCreateTags = (tags: string[], transaction: Sequelize.Transaction) => Promise<TagInstance[]>
6 }
7
8 export interface TagClass {
9   findOrCreateTags: TagMethods.FindOrCreateTags
10 }
11
12 export interface TagAttributes {
13   name: string
14 }
15
16 export interface TagInstance extends TagClass, TagAttributes, Sequelize.Instance<TagAttributes> {
17   id: number
18 }
19
20 export interface TagModel extends TagClass, Sequelize.Model<TagInstance, TagAttributes> {}