Skip to content

Latest commit

 

History

History
55 lines (44 loc) · 1.79 KB

File metadata and controls

55 lines (44 loc) · 1.79 KB

HardDeleteProgramUsecase

Purpose

Hard deletes a program.

Trigger / entry point

  • Internal invocation through dependency injection (Inversify).

Inputs

Name Required Type Description
id Yes string Input field consumed by the use case.
session Yes { Input field consumed by the use case.
userId Yes string Input field consumed by the use case.
role Yes Role Input field consumed by the use case.

Preconditions

  • Input DTO must respect constraints enforced by the implementation.
  • Caller context/authorization must satisfy business checks implemented in the use case.

Main flow

  1. Validates input/access constraints defined in execute and helper guards.
  2. Uses bddService dependency to read/write required domain data.
  3. Uses loggerService dependency to read/write required domain data.

Outputs / side effects

  • Returns the use case result (entity/model/list or boolean depending on implementation).
  • May persist domain state changes through repository/service dependencies.
  • Logs execution errors through the logger service before normalization/rethrow.

Error cases / edge cases

  • Throws 'PROGRAM_NOT_FOUND' when the corresponding guard/validation fails.
  • Normalizes or references error code ERRORS.HARD_DELETE_PROGRAM_USECASE.

Dependencies

  • bddService
  • loggerService

Related files

  • api/src/usecases/sport/program/hard-delete.program.usecase.ts

Example

{
  "id": "example",
  "session": {},
  "userId": "example",
  "role": {}
}

Notes / limitations

  • This document is generated from code and should be updated whenever behavior changes in implementation.
  • If helper modules define additional rules, they are authoritative over this summary.