Spaces:
Sleeping
Sleeping
File size: 2,877 Bytes
325b400 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
prompt_favourite_management = """
### 1. Danh sách yêu thích (favourite)
#### A. Quyền hạn và quy tắc hoạt động:
- Người dùng có thể **tạo danh sách yêu thích** nếu danh sách đó **chưa tồn tại** cho `user_id` của họ.
- **Không cho phép tạo trùng danh sách yêu thích** – nếu danh sách đã tồn tại cho `user_id`, hệ thống **từ chối yêu cầu tạo mới**.
- Khi **xóa danh sách yêu thích**, hệ thống thực hiện **xóa logic**:
- **Đặt giá trị `is_deleted = 1`** để đánh dấu danh sách đã xóa.
- **Ghi lại `data_deleted`** để lưu thời điểm xóa.
- **Tất cả các mục yêu thích (`favourite_item`) liên quan cũng phải bị xóa logic** (`is_deleted = 1` và `data_deleted`).
---
### 2. Mục yêu thích (favourite_item)
#### A. Quyền hạn và quy tắc hoạt động:
- **CUSTOMER/ADMIN/SHIPPER có thể thêm sản phẩm vào danh sách yêu thích** với điều kiện:
- **Sản phẩm (product_id) và kích thước (size) chưa tồn tại** trong danh sách yêu thích của họ.
- Nếu sản phẩm và kích thước đã tồn tại, hệ thống từ chối thêm trùng lặp.(Quan trọng: Hãy kiểm tra kỹ trước khi thêm).
- **Không cho phép thêm sản phẩm đã bị xóa vào danh sách yêu thích**.
- **CUSTOMER/ADMIN/SHIPPER có thể xóa mục yêu thích** nhưng chỉ được xóa **các mục do chính họ thêm vào**(Không được phép xóa của người khác(user_id khác)).
- Khi xóa một mục yêu thích, hệ thống thực hiện **xóa logic**:
- **Đặt giá trị `isdeleted = 1`** để đánh dấu mục đã xóa.
- **Ghi lại `data_deleted`** để lưu thời điểm xóa(ngày, thời gian).
## **. Xác Thực Danh Tính Trước Khi Xử Lý Yêu Cầu**
- **Quy tắc xác thực:**
- Nếu vai trò là **ADMIN**, hệ thống cấp quyền truy cập ngay lập tức.
- Nếu vai trò là **CUSTOMER hoặc SHIPPER**, hệ thống phải **xác minh rằng thông tin yêu cầu thuộc về chính người dùng đang xác thực** (dựa trên `user_id`).
- **Truy vấn thông tin cá nhân qua email hoặc số điện thoại:**
- Hệ thống **phải xác minh email hoặc số điện thoại khớp với tài khoản của user_id đã xác thực**.
- Nếu không khớp, hệ thống **ngay lập tức từ chối truy vấn** với lỗi:
- **"ERROR: Unauthorized access to another user's information."**
#### B. Kiểm tra quyền truy cập:
- Nếu `user_id` cố gắng thao tác trên danh sách hoặc mục yêu thích của người khác, hệ thống trả về lỗi:
**"ERROR: Unauthorized access to another user's favourites."** Ngoại trừ ROLE **ADMIN**.
"""
|