Circle · Activity Diagram

Luồng xử lý — Circle

Trang này thể hiện đường đi của request qua các bước xử lý, bao gồm điểm quyết định và nhánh lỗi có thể xảy ra.

Luồng xử lý chính

Luồng này mô tả điều gì xảy ra khi request đi qua module circle: server kiểm tra token, validate input, áp rule nghiệp vụ, rồi ghi DB/Redis hoặc enqueue job.

Bắt đầuNhận request/api/v1/circleToken hợp lệ?Trả 401/403auth failkhôngValidate DTOZod/schemaRule pass?Trả lỗi nghiệp vụ4xx/500khôngGhi DB/Queueservice result
Happy path đi thẳng xuống; nhánh đỏ bên phải là nơi request dừng sớm.
Điểm quyết địnhĐiều kiệnNhánh True →Nhánh False →Code kiểm tra ở đâu
Token hợp lệRoute có authorization và bearer token verify đượcĐi tiếp validate/controllerTrả 401/403src/middlewares/auth.ts
Input hợp lệRoute có validate(schema) và Zod passGọi controller/serviceTrả 400 validation failedsrc/modules/circle/circle.routes.ts
Business rule passService tìm thấy resource và quyền hợp lệGhi DB/queue/providerThrow exception hoặc Errorsrc/modules/circle/service/circle.service.ts
1
src/modules/circle/circle.routes.ts

Kiểm tra auth trước khi đọc userId. Bước này tồn tại để lỗi được phát hiện trước khi dữ liệu sai vào DB hoặc worker.

2
src/modules/circle/controller/circle.controller.ts

Validate DTO để tránh payload sai vào service. Bước này tồn tại để lỗi được phát hiện trước khi dữ liệu sai vào DB hoặc worker.

3
src/modules/circle/service/circle.service.ts

Service kiểm tra rule domain trước khi mutate. Bước này tồn tại để lỗi được phát hiện trước khi dữ liệu sai vào DB hoặc worker.

4
src/modules/circle/service/circle-enery.service.ts

Repository/provider thực thi side effect. Bước này tồn tại để lỗi được phát hiện trước khi dữ liệu sai vào DB hoặc worker.