/
dimamir
/
undb
Обзор
Документация
Войти
/
dimamir
/
undb
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
packages/openapi/src/api-token/api-token.service.ts
25 строк
851 B
nichenqin
feat: openapi token
27 июл 2024, 06:20
27 июл 2024, 06:20
2cade92
Код
Авторство
О чём код?
import { inject, singleton } from "@undb/di" import { Option } from "@undb/domain" import { injectApiTokenQueryRepository, type IApiTokenQueryRepository } from "./api-token.repository" import { WithApiTokenToken } from "./specifications" export interface IApiTokenService { verify(token: string): Promise<Option<string>> } @singleton() export class ApiTokenService implements IApiTokenService { constructor( @injectApiTokenQueryRepository() private readonly repo: IApiTokenQueryRepository, ) {} async verify(token: string): Promise<Option<string>> { const spec = WithApiTokenToken.fromString(token) const apiToken = await this.repo.findOne(spec) return apiToken.map((t) => t.userId) } } export const API_TOKEN_SERVICE = Symbol("API_TOKEN_SERVICE") export const injectApiTokenService = () => inject(API_TOKEN_SERVICE)