aboutsummaryrefslogtreecommitdiffstats
path: root/code/app/src/services/api-tokens-service.ts
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2023-02-25 13:15:44 +0100
committerivarlovlie <git@ivarlovlie.no>2023-02-25 13:15:44 +0100
commit900bb5e845c3ad44defbd427cae3d44a4a43321f (patch)
treedf3d96a93771884add571e82336c29fc3d9c7a1c /code/app/src/services/api-tokens-service.ts
downloadgreatoffice-900bb5e845c3ad44defbd427cae3d44a4a43321f.tar.xz
greatoffice-900bb5e845c3ad44defbd427cae3d44a4a43321f.zip
feat: Initial commit
Diffstat (limited to 'code/app/src/services/api-tokens-service.ts')
-rw-r--r--code/app/src/services/api-tokens-service.ts22
1 files changed, 22 insertions, 0 deletions
diff --git a/code/app/src/services/api-tokens-service.ts b/code/app/src/services/api-tokens-service.ts
new file mode 100644
index 0000000..fb8b126
--- /dev/null
+++ b/code/app/src/services/api-tokens-service.ts
@@ -0,0 +1,22 @@
+import { api_base } from "$configuration";
+import { http_delete_async, http_get_async, http_post_async } from "$utilities/_fetch";
+import type { CreateTokenPayload, CreateTokenResponse, DeleteTokenPayload, DeleteTokenResponse, GetTokensResponse, IApiTokenService, TokenQuery } from "./abstractions/IApiTokenService";
+
+export class ApiTokenService implements IApiTokenService {
+ constructor() { }
+ static resolve() {
+ return new ApiTokenService();
+ }
+ async create_token_async(payload: CreateTokenPayload): Promise<CreateTokenResponse> {
+ const response = await http_post_async(api_base("v1/api-tokens/create"), payload);
+ return;
+ };
+ async delete_token_async(payload: DeleteTokenPayload): Promise<DeleteTokenResponse> {
+ const response = await http_delete_async(api_base("v1/api-tokens/delete"), payload);
+ return;
+ };
+ async get_tokens_async(query: TokenQuery): Promise<GetTokensResponse> {
+ const response = await http_get_async(api_base("v1/api-tokens"));
+ return;
+ };
+} \ No newline at end of file