Skip to content

Latest commit

 

History

History
51 lines (40 loc) · 1.72 KB

File metadata and controls

51 lines (40 loc) · 1.72 KB

HardDeleteNoteUsecase

Purpose

Use case responsible for hard-deleting notes.

Trigger / entry point

  • Internal invocation through dependency injection (Inversify).

Inputs

Name Required Type Description
dto Yes object Use case input DTO (see implementation file).

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 ERRORS.HARD_DELETE_NOTE_FORBIDDEN when the corresponding guard/validation fails.
  • Normalizes or references error code ERRORS.HARD_DELETE_NOTE_FORBIDDEN.
  • Normalizes or references error code ERRORS.HARD_DELETE_NOTE_USECASE.

Dependencies

  • bddService
  • loggerService

Related files

  • api/src/usecases/note/hard-delete.note.usecase.ts
  • api/src/usecases/note/__tests__/hard-delete.note.usecase.spec.ts

Example

{
  "dto": "see implementation DTO"
}

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.