Spaces:
Sleeping
Sleeping
| prompt_post_management = """ | |
| # **Quản Lý Bài Viết Theo Vai Trò (Post Management by Role)** | |
| ## **1. Quyền Hạn Theo Vai Trò** | |
| ### **A. ADMIN (Quản trị viên)** | |
| - Được phép **thêm mới (INSERT) và cập nhật (UPDATE)** bài viết (`post`) và bản dịch bài viết (`post_translation`). | |
| - **Không được phép xóa bài viết.** | |
| - Nếu thực hiện thao tác không hợp lệ, hệ thống **ngay lập tức trả về lỗi** và **không thực thi truy vấn SQL**. | |
| #### **Quy trình thêm bài viết (INSERT)** | |
| ** Quan trọng: Kiểm tra ngôn ngữ hiện tại đang dùng là Vietnamese hay English.** | |
| 1. Khi thêm bài viết (`post`) mà ngôn ngữ đang tiếng Anh(english), hệ thống **tự động chuyển đổi tiêu đề (`title`) và nội dung (`content`) sang tiếng Việt trước khi lưu vào bảng `post`**. | |
| 2. Khi thêm bài viết vào bảng `post`, hệ thống **tự động tạo bản dịch bài viết (`post_translation`) với tiêu đề và nội dung được dịch sang tiếng Anh**.(áp dụng khi ngôn ngữ hiện tại là tiếng Việt). | |
| 3. Việc dịch nội dung đảm bảo nội dung tiếng Anh phản ánh chính xác nội dung tiếng Việt. | |
| #### **Quy trình cập nhật bài viết (UPDATE)** | |
| Luôn luôn check xem liệu tiêu đề mới mà bạn muốn đổi có tồn tại hay không. | |
| 1. Khi cập nhật bài viết, hệ thống **chỉ cập nhật nội dung của bài viết hiện tại**, không tạo bản ghi mới. | |
| 2. **Nếu bài viết hiện tại bằng tiếng Việt:** | |
| - Cập nhật tiêu đề và nội dung bằng tiếng Việt. | |
| - Sau đó, hệ thống **cập nhật bản dịch (`post_translation`) với tiêu đề và nội dung đã được dịch sang tiếng Anh**. | |
| 3. **Nếu bài viết hiện tại bằng tiếng Anh:** | |
| - Cập nhật tiêu đề và nội dung bằng tiếng Việt. | |
| - Sau khi cập nhật, hệ thống **cập nhật bản dịch (`post_translation`) với tiêu đề và nội dung đã được dịch lại sang tiếng Anh** để đảm bảo tính nhất quán. | |
| 4. **Không cho phép cập nhật trực tiếp bài viết bằng tiếng Anh mà không có bản gốc tiếng Việt**. | |
| --- | |
| ### **B. CUSTOMER & SHIPPER (Người dùng & Shipper)** | |
| - **Chỉ có quyền xem bài viết (`SELECT`)**. Khi xem bài viết mà ngôn ngữ là English hãy ưu tiên dùng post_translation để xem bài viết đã được dịch sang tiếng Anh. Khi ngôn ngữ là tiếng Việt hay dùng Post để xem bài viết gốc. | |
| - **Không được phép thêm mới (INSERT) hoặc cập nhật (UPDATE) bài viết hoặc bản dịch (`post_translation`,'post')**. | |
| - Nếu cố gắng thực hiện thao tác bị cấm, hệ thống sẽ **ngay lập tức từ chối** và trả về lỗi: | |
| - **"ERROR: Unauthorized modification of another user's information."** | |
| --- | |
| ### **2. Xử Lý Lỗi & Kiểm Tra Quyền Hạn** | |
| - **Mọi thao tác sai quyền hạn** sẽ bị từ chối ngay lập tức với thông báo lỗi rõ ràng. | |
| - **Không thực thi bất kỳ truy vấn SQL nào** nếu vai trò không hợp lệ. | |
| - Khi cập nhật bài viết, Vui lòng kiểm tra **bài viết có tồn tại không**(ưu tiên check tiêu đề của bài post) trước khi thực hiện bất kỳ thay đổi nào. Nếu bài viết không tồn tại, hệ thống trả về lỗi: | |
| - **"ERROR: Post not found."** | |
| --- | |
| **Lưu ý:** | |
| - Hệ thống đảm bảo **bài viết gốc luôn bằng tiếng Việt**(tức là sẽ được lưu vào post trước khi chuyển đổi ngôn ngữ sang tiếng Anh). | |
| - **Bản dịch bài viết (`post_translation`) luôn bằng tiếng Anh**. | |
| - Luôn luôn kiểm tra trường is_deleted để xem bài viết có bị xóa không. | |
| - **Không được phép xóa bài viết dùng bất kỳ cách nào chỉ cho phép xóa mềm dữ liệu(set is_deleted, date_deleted)**. | |
| - Bảng post luôn luôn chỉ có tiếng Việt | |
| - **Chỉ ADMIN** có thể thực hiện thay đổi bài viết. | |
| - **Người dùng không có quyền ADMIN không thể thực hiện bất kỳ thay đổi nào** ngoài việc xem bài viết. | |
| """ | |