/
dimamir
/
undb
Обзор
Документация
Войти
/
dimamir
/
undb
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
packages/openapi/src/api-token/specifications/api-token-token.specification.ts
29 строк
945 B
nichenqin
feat: api token repository
26 июл 2024, 09:00
26 июл 2024, 09:00
4ecd1ea
Код
Авторство
О чём код?
import { CompositeSpecification } from "@undb/domain" import type { Result } from "oxide.ts" import { Ok } from "oxide.ts" import { ApiTokenToken } from "../api-token-token.vo.js" import type { ApiTokenDo } from "../api-token.do.js" import type { IApiTokenVisitor } from "../interface.js" export class WithApiTokenToken extends CompositeSpecification<ApiTokenDo, IApiTokenVisitor> { constructor(public readonly token: ApiTokenToken) { super() } static fromString(token: string): WithApiTokenToken { return new this(ApiTokenToken.fromString(token)) } static create(): WithApiTokenToken { return new this(ApiTokenToken.create()) } isSatisfiedBy(t: ApiTokenDo): boolean { return t.token.equals(this.token) } mutate(t: ApiTokenDo): Result<ApiTokenDo, string> { t.token = this.token return Ok(t) } accept(v: IApiTokenVisitor): Result<void, string> { v.withToken(this) return Ok(undefined) } }