diff options
| author | ivarlovlie <git@ivarlovlie.no> | 2023-02-25 13:15:44 +0100 |
|---|---|---|
| committer | ivarlovlie <git@ivarlovlie.no> | 2023-02-25 13:15:44 +0100 |
| commit | 900bb5e845c3ad44defbd427cae3d44a4a43321f (patch) | |
| tree | df3d96a93771884add571e82336c29fc3d9c7a1c /code/app/src/services/abstractions/IApiTokenService.ts | |
| download | greatoffice-900bb5e845c3ad44defbd427cae3d44a4a43321f.tar.xz greatoffice-900bb5e845c3ad44defbd427cae3d44a4a43321f.zip | |
feat: Initial commit
Diffstat (limited to 'code/app/src/services/abstractions/IApiTokenService.ts')
| -rw-r--r-- | code/app/src/services/abstractions/IApiTokenService.ts | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/code/app/src/services/abstractions/IApiTokenService.ts b/code/app/src/services/abstractions/IApiTokenService.ts new file mode 100644 index 0000000..fdf82eb --- /dev/null +++ b/code/app/src/services/abstractions/IApiTokenService.ts @@ -0,0 +1,34 @@ +import type { Temporal } from "temporal-polyfill" + +export interface IApiTokenService { + create_token_async(payload: CreateTokenPayload): Promise<CreateTokenResponse>, + delete_token_async(payload: DeleteTokenPayload): Promise<DeleteTokenResponse>, + get_tokens_async(query: TokenQuery): Promise<GetTokensResponse> +} +export type GetTokensResponse = { + results: Array<GetTokensTokenModel> +}; +export type GetTokensTokenModel = { + id: string, + name: string, + permissions: string[] +} +export type TokenQuery = { + includeStale: boolean +}; +export type DeleteTokenResponse = { + isDeleted: boolean +}; +export type DeleteTokenPayload = { + id: string +}; +export type CreateTokenResponse = { + isCreated: boolean +}; +export type CreateTokenPayload = { + expiryDate: Temporal.PlainDateTime, + allowRead: boolean, + allowCreate: boolean, + allowUpdate: boolean, + allowDelete: boolean +};
\ No newline at end of file |
