UNPKG

studiocms

Version:

Astro Native CMS for AstroDB. Built from the ground up by the Astro community.

65 lines (64 loc) 3.23 kB
import { Effect } from '../../../effect.js'; import { AstroDB, SDKCore_Generators, SDKCore_Users } from '../effect/index.js'; import { SDKCoreError } from '../errors.js'; import type { tsUserResetTokensSelect } from '../types/index.js'; import { SDKCore_UPDATE } from './update.js'; declare const SDKCore_ResetTokenBucket_base: Effect.Service.Class<SDKCore_ResetTokenBucket, "studiocms/sdk/SDKCore/modules/resetTokenBucket", { readonly dependencies: readonly [import("effect/Layer").Layer<AstroDB, never, never>, import("effect/Layer").Layer<SDKCore_Generators, never, never>, import("effect/Layer").Layer<SDKCore_Users, never, never>, import("effect/Layer").Layer<SDKCore_UPDATE, never, import("../utils.js").CacheContext>]; readonly effect: Effect.Effect<{ /** * Creates a new reset token for the specified user and stores it in the database. * @param userId - The ID of the user for whom to create the reset token. * @returns An effect yielding the created reset token record. */ new: (userId: string) => Effect.Effect<tsUserResetTokensSelect, SDKCoreError, never>; /** * Deletes all reset tokens associated with the specified user. * @param userId - The ID of the user whose reset tokens should be deleted. * @returns An effect yielding void. */ delete: (userId: string) => Effect.Effect<void, SDKCoreError, never>; /** * Validates whether a given token is valid and exists for a user. * @param token - The reset token to validate. * @returns An effect yielding a boolean indicating token validity. */ check: (token: string) => Effect.Effect<boolean, SDKCoreError, never>; }, never, AstroDB | SDKCore_Generators>; }>; /** * Provides an effectful service for managing user reset tokens in the StudioCMS SDK. * * This service includes methods to create, delete, and validate reset tokens for users. * It interacts with the database and token generator services, handling errors gracefully. * * @remarks * - Depends on AstroDB, SDKCore_Generators, SDKCore_Users, and SDKCore_UPDATE services. * - Handles database errors by wrapping them in `SDKCoreError`. * * @example * ```typescript * const resetTokenBucket = yield* SDKCore_ResetTokenBucket; * const token = yield* resetTokenBucket.new(userId); * const isValid = yield* resetTokenBucket.check(token); * yield* resetTokenBucket.delete(userId); * ``` * * @method new * Creates a new reset token for the specified user and stores it in the database. * @param userId - The ID of the user for whom to create the reset token. * @returns An effect yielding the created reset token record. * * @method delete * Deletes all reset tokens associated with the specified user. * @param userId - The ID of the user whose reset tokens should be deleted. * @returns An effect yielding void. * * @method check * Validates whether a given token is valid and exists for a user. * @param token - The reset token to validate. * @returns An effect yielding a boolean indicating token validity. */ export declare class SDKCore_ResetTokenBucket extends SDKCore_ResetTokenBucket_base { } export {};