
    lOi
                     P   S r SSKJr  SSKJr  SSKJr  SSKJr  SSK	J
r
Jr  SSKJrJrJr  SSKJr  \R$                  " S	S
/S9\S 5       5       r\R$                  " S	S/S9\S 5       5       r\R$                  " SS/S9\S 5       5       r\R$                  " SS/S9\S 5       5       rg)uV   
方向管理员权限 API

提供方向管理员的添加、删除和查询功能。
    )request)category_api_bp)admin_required)APIResponse)NotFoundErrorValidationError)dbUserCategoryAdmin)CategoryServicez/<category_id>/adminsGET)methodsc                     [         R                  R                  U S9R                  5       n[        R
                  " SU Vs/ s H  o"R                  5       PM     sn0S9$ s  snf )u   获取方向管理员列表)category_idadmins)data)r   query	filter_byallr   successto_dict)r   r   as      I   /Users/yu22x/Desktop/ddd_副本121/ctf/app/routes/admin/category/admin.pyget_category_adminsr      sW       **{*CGGIFf5ff56 5s   A 
POSTc                    [         R                  " 5       nU(       a  SU;  a
  [        SSS9eUS   nUR                  SS5      n[        R
                  R                  U5      nU(       d  [        S5      e[        R
                  R                  U US9R                  5       nU(       aI  X5l
        [        R                  R                  5         [        R                  " SUR!                  5       0S	S
9$ [        U UUS9n[        R                  R#                  U5        [        R                  R                  5         [        R                  " SUR!                  5       0SS
9$ )u   添加方向管理员user_idu   请指定用户)fieldroleeditoru   用户不存在r   r   adminu   管理员角色已更新)r   message)r   r   r   u   方向管理员添加成功)r   get_jsonr   getr
   r   r   r   r   firstr   r	   sessioncommitr   r   r   add)r   r   r   r   userexistingr"   s          r   add_category_adminr,      s1    D9D(/yAA9oG88FH%D ::>>'"D-.. "",, -  eg 
 


""8++-..
 	

 E
 JJNN5JJu}}'-     z#/<category_id>/admins/<int:user_id>DELETEc                     [         R                  R                  U US9R                  5       nU(       d  [	        S5      e[
        R                  R                  U5        [
        R                  R                  5         [        R                  " SS9$ )u   移除方向管理员r!   u   管理员不存在u   方向管理员已移除r#   )r   r   r   r&   r   r	   r'   deleter(   r   r   )r   r   r"   s      r   remove_category_adminr2   F   sv     )) *  eg 

 011JJeJJ'ABBr-   z/initc                       [         R                  " 5         [        R                  " SS9$ ! [         a,  n [        R
                  " S[        U 5       35      s Sn A $ Sn A ff = f)u   初始化默认方向配置u!   默认方向配置初始化成功r0   u   初始化失败: N)r   init_default_categoriesr   r   	Exceptionserver_errorstr)es    r   init_categoriesr9   X   sU    F//1""+NOO F''*;CF8(DEEFs   (+ 
A!!AA!A!N)__doc__flaskr   app.routes.admin.categoryr   app.middleware.authr   app.utils.responser   app.utils.exceptionsr   r   app.models.database.modelsr	   r
   r   app.services.categoryr   router   r,   r2   r9    r-   r   <module>rD      s   
  5 . * ? > > 1 .@  A .A'  B'T <xjQC  RC  w1F  2Fr-   