請產生一支可直接執行的 Flask API 伺服器,需求: - 使用 mysql.connector 連線 資料庫資訊: DB_HOST = mysql.theaken.com DB_PORT = 33306 DB_NAME = db_A027 DB_USER = A027 DB_PASSWORD = E1CelfxqlKoj TABLE = employee - 路由: - GET /v1/employee:支援 ?Id、?main_course、?side_dish、?addon、?is_active,要多回傳 {meta} - GET /v1/employee/:找不到回 404 - POST /v1/employee:接收 JSON {ID,main_course,side_dish,addon,is_active},欄位驗證,成功回 201 並回新資料 - PATCH /v1/employee/:可更新任一欄位(ID/main_course/side_dish/addon/is_active),成功回 200 回更新後資料 - DELETE /v1/employee/:成功回 204 TABLE = employee_votes - 路由: - GET /v1/employee_votes:支援 ?Id、?emp_id、?name、?order_date、?menu_item_id、?order_qty,要多回傳 {meta} - GET /v1/employee_votes/:找不到回 404 - POST /v1/employee_votes:接收 JSON {Id,emp_id,name,order_date,menu_item_id,order_qty},欄位驗證,成功回 201 並回新資料 - PATCH /v1/employee_votes/:可更新任一欄位(Id/emp_id/name/order_date/menu_item_id/order_qty),成功回 200 回更新後資料 - DELETE /v1/employee_votes/:成功回 204 TABLE = menu_items - 路由: - GET /v1/menu_items:支援 ?Id、?main_course、?side_dish、?addon、?is_active,要多回傳 {meta} - GET /v1/menu_items/:找不到回 404 - POST /v1/menu_items:接收 JSON {ID,main_course,side_dish,addon,is_active},欄位驗證,成功回 201 並回新資料 - PATCH /v1/menu_items/:可更新任一欄位(ID/main_course/side_dish/addon/is_active),成功回 200 回更新後資料 - DELETE /v1/menu_items/:成功回 204 - 所有寫入請用參數化查詢避免 SQL 注入 - 統一格式 { status,code,message,data } - 統一錯誤格式 {status:"error", code, message} - 啟用 CORS(允許本機前端)