b24a95fd89380380b34ffc2b2ed9eb034a8197e6
[oweals/peertube.git] / server / typings / models / oauth / oauth-token.ts
1 import { OAuthTokenModel } from '@server/models/oauth/oauth-token'
2 import { PickWith } from '@server/typings/utils'
3 import { MUserAccountUrl } from '../user/user'
4
5 type Use<K extends keyof OAuthTokenModel, M> = PickWith<OAuthTokenModel, K, M>
6
7 // ############################################################################
8
9 export type MOAuthToken = Omit<OAuthTokenModel, 'User' | 'OAuthClients'>
10
11 export type MOAuthTokenUser =
12   MOAuthToken &
13   Use<'User', MUserAccountUrl> &
14   { user?: MUserAccountUrl }