]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/models/oauth/oauth-client-interface.ts
Share models between server and client
[github/Chocobozzz/PeerTube.git] / server / models / oauth / oauth-client-interface.ts
CommitLineData
e02643f3
C
1import * as Sequelize from 'sequelize'
2
3export namespace OAuthClientMethods {
69818c93
C
4 export type CountTotalCallback = (err: Error, total: number) => void
5 export type CountTotal = (callback: CountTotalCallback) => void
6
7 export type LoadFirstClientCallback = (err: Error, client: OAuthClientInstance) => void
8 export type LoadFirstClient = (callback: LoadFirstClientCallback) => void
9
e02643f3
C
10 export type GetByIdAndSecret = (clientId, clientSecret) => void
11}
12
13export interface OAuthClientClass {
14 countTotal: OAuthClientMethods.CountTotal
15 loadFirstClient: OAuthClientMethods.LoadFirstClient
16 getByIdAndSecret: OAuthClientMethods.GetByIdAndSecret
17}
18
19export interface OAuthClientAttributes {
20 clientId: string
21 clientSecret: string
22 grants: string[]
23 redirectUris: string[]
24}
25
26export interface OAuthClientInstance extends OAuthClientClass, OAuthClientAttributes, Sequelize.Instance<OAuthClientAttributes> {
27 id: number
28 createdAt: Date
29 updatedAt: Date
30}
31
32export interface OAuthClientModel extends OAuthClientClass, Sequelize.Model<OAuthClientInstance, OAuthClientAttributes> {}