From 74889a71fe687dda74f2a687653122327807af36 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 16 Jun 2017 09:45:46 +0200 Subject: Reorganize model files --- server/models/oauth/oauth-token-interface.ts | 48 ++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 server/models/oauth/oauth-token-interface.ts (limited to 'server/models/oauth/oauth-token-interface.ts') diff --git a/server/models/oauth/oauth-token-interface.ts b/server/models/oauth/oauth-token-interface.ts new file mode 100644 index 000000000..815ad5eef --- /dev/null +++ b/server/models/oauth/oauth-token-interface.ts @@ -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 + export type GetByTokenAndPopulateUser = (bearerToken: string) => Bluebird + export type GetByRefreshTokenAndPopulateUser = (refreshToken: string) => Bluebird + + 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 { + id: number + createdAt: Date + updatedAt: Date +} + +export interface OAuthTokenModel extends OAuthTokenClass, Sequelize.Model {} -- cgit v1.2.3