mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-04 02:09:37 +02:00
Reorganize model files
This commit is contained in:
parent
15a302943d
commit
74889a71fe
43 changed files with 128 additions and 83 deletions
48
server/models/oauth/oauth-token-interface.ts
Normal file
48
server/models/oauth/oauth-token-interface.ts
Normal file
|
@ -0,0 +1,48 @@
|
|||
import * as Sequelize from 'sequelize'
|
||||
import * as Bluebird from 'bluebird'
|
||||
|
||||
import { UserModel } from '../user'
|
||||
|
||||
export type OAuthTokenInfo = {
|
||||
refreshToken: string
|
||||
refreshTokenExpiresAt: Date,
|
||||
client: {
|
||||
id: number
|
||||
},
|
||||
user: {
|
||||
id: number
|
||||
}
|
||||
}
|
||||
|
||||
export namespace OAuthTokenMethods {
|
||||
export type GetByRefreshTokenAndPopulateClient = (refreshToken: string) => Bluebird<OAuthTokenInfo>
|
||||
export type GetByTokenAndPopulateUser = (bearerToken: string) => Bluebird<OAuthTokenInstance>
|
||||
export type GetByRefreshTokenAndPopulateUser = (refreshToken: string) => Bluebird<OAuthTokenInstance>
|
||||
|
||||
export type RemoveByUserIdCallback = (err: Error) => void
|
||||
export type RemoveByUserId = (userId, callback) => void
|
||||
}
|
||||
|
||||
export interface OAuthTokenClass {
|
||||
getByRefreshTokenAndPopulateClient: OAuthTokenMethods.GetByRefreshTokenAndPopulateClient
|
||||
getByTokenAndPopulateUser: OAuthTokenMethods.GetByTokenAndPopulateUser
|
||||
getByRefreshTokenAndPopulateUser: OAuthTokenMethods.GetByRefreshTokenAndPopulateUser
|
||||
removeByUserId: OAuthTokenMethods.RemoveByUserId
|
||||
}
|
||||
|
||||
export interface OAuthTokenAttributes {
|
||||
accessToken: string
|
||||
accessTokenExpiresAt: Date
|
||||
refreshToken: string
|
||||
refreshTokenExpiresAt: Date
|
||||
|
||||
User?: UserModel
|
||||
}
|
||||
|
||||
export interface OAuthTokenInstance extends OAuthTokenClass, OAuthTokenAttributes, Sequelize.Instance<OAuthTokenAttributes> {
|
||||
id: number
|
||||
createdAt: Date
|
||||
updatedAt: Date
|
||||
}
|
||||
|
||||
export interface OAuthTokenModel extends OAuthTokenClass, Sequelize.Model<OAuthTokenInstance, OAuthTokenAttributes> {}
|
Loading…
Add table
Add a link
Reference in a new issue