diff options
Diffstat (limited to 'server/models/oauth-token-interface.ts')
-rw-r--r-- | server/models/oauth-token-interface.ts | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/server/models/oauth-token-interface.ts b/server/models/oauth-token-interface.ts new file mode 100644 index 000000000..a0cd1ffe7 --- /dev/null +++ b/server/models/oauth-token-interface.ts | |||
@@ -0,0 +1,34 @@ | |||
1 | import * as Sequelize from 'sequelize' | ||
2 | |||
3 | import { UserModel } from './user-interface' | ||
4 | |||
5 | export namespace OAuthTokenMethods { | ||
6 | export type GetByRefreshTokenAndPopulateClient = (refreshToken) => void | ||
7 | export type GetByTokenAndPopulateUser = (bearerToken) => void | ||
8 | export type GetByRefreshTokenAndPopulateUser = (refreshToken) => any | ||
9 | export type RemoveByUserId = (userId, callback) => void | ||
10 | } | ||
11 | |||
12 | export interface OAuthTokenClass { | ||
13 | getByRefreshTokenAndPopulateClient: OAuthTokenMethods.GetByRefreshTokenAndPopulateClient | ||
14 | getByTokenAndPopulateUser: OAuthTokenMethods.GetByTokenAndPopulateUser | ||
15 | getByRefreshTokenAndPopulateUser: OAuthTokenMethods.GetByRefreshTokenAndPopulateUser | ||
16 | removeByUserId: OAuthTokenMethods.RemoveByUserId | ||
17 | } | ||
18 | |||
19 | export interface OAuthTokenAttributes { | ||
20 | accessToken: string | ||
21 | accessTokenExpiresAt: Date | ||
22 | refreshToken: string | ||
23 | refreshTokenExpiresAt: Date | ||
24 | |||
25 | User?: UserModel | ||
26 | } | ||
27 | |||
28 | export interface OAuthTokenInstance extends OAuthTokenClass, OAuthTokenAttributes, Sequelize.Instance<OAuthTokenAttributes> { | ||
29 | id: number | ||
30 | createdAt: Date | ||
31 | updatedAt: Date | ||
32 | } | ||
33 | |||
34 | export interface OAuthTokenModel extends OAuthTokenClass, Sequelize.Model<OAuthTokenInstance, OAuthTokenAttributes> {} | ||