import{h as a,A as r,a as e,b as s,c as t,d as n,Q as o}from"./_requests-35c9d4c3.js";import{b as i,c as u,u as E}from"./vendor-query-a3e439f2.js";import{V as d}from"./vendor-toast-598db4db.js";const c=a=>i({queryKey:[o.GET_ROLES,a],queryFn:()=>(async a=>{try{const e={};(null==a?void 0:a.search)&&(e.search=a.search),(null==a?void 0:a.page)&&(e.page=a.page),(null==a?void 0:a.limit)&&(e.limit=a.limit);const s=await t(r(n.GET_ROLES,e));return s.data&&s.data.roles&&Array.isArray(s.data.roles)?s.data.roles:[]}catch(e){return[]}})(a)}),y=a=>i({queryKey:[o.GET_ROLE,a],queryFn:()=>(async a=>{try{const e=await t(r(n.GET_ROLE(a)));if(e.data&&e.data.role)return e.data.role;if(e.data)return e.data;throw new Error("No role data found in response")}catch(e){throw e}})(a),enabled:!!a}),l=()=>{const e=u();return E({mutationFn:e=>(async e=>(await a(r(n.CREATE_ROLE),e)).data)(e),onSuccess:()=>{e.invalidateQueries({queryKey:[o.GET_ROLES]}),d.success("نقش با موفقیت ایجاد شد")},onError:a=>{d.error((null==a?void 0:a.message)||"خطا در ایجاد نقش")}})},S=()=>{const a=u();return E({mutationFn:a=>(async(a,s)=>(await e(r(n.UPDATE_ROLE(a)),s)).data)(a.id.toString(),a),onSuccess:r=>{a.invalidateQueries({queryKey:[o.GET_ROLES]}),a.invalidateQueries({queryKey:[o.GET_ROLE,r.id.toString()]}),d.success("نقش با موفقیت به‌روزرسانی شد")},onError:a=>{d.error((null==a?void 0:a.message)||"خطا در به‌روزرسانی نقش")}})},R=()=>{const a=u();return E({mutationFn:a=>(async a=>(await s(r(n.DELETE_ROLE(a)))).data)(a),onSuccess:()=>{a.invalidateQueries({queryKey:[o.GET_ROLES]}),d.success("نقش با موفقیت حذف شد")},onError:a=>{d.error((null==a?void 0:a.message)||"خطا در حذف نقش")}})},O=a=>i({queryKey:[o.GET_ROLE_PERMISSIONS,a],queryFn:()=>(async a=>{try{const e=await t(r(n.GET_ROLE_PERMISSIONS(a)));return e.data&&e.data.permissions&&Array.isArray(e.data.permissions)?e.data.permissions:[]}catch(e){return[]}})(a),enabled:!!a}),_=()=>{const e=u();return E({mutationFn:({roleId:e,permissionId:s})=>(async(e,s)=>(await a(r(n.ASSIGN_ROLE_PERMISSION(e,s)),{})).data)(e,s),onSuccess:(a,r)=>{e.invalidateQueries({queryKey:[o.GET_ROLE_PERMISSIONS,r.roleId]}),e.invalidateQueries({queryKey:[o.GET_ROLE,r.roleId]}),d.success("دسترسی با موفقیت اختصاص داده شد")},onError:a=>{d.error((null==a?void 0:a.message)||"خطا در اختصاص دسترسی")}})},I=()=>{const a=u();return E({mutationFn:({roleId:a,permissionId:e})=>(async(a,e)=>(await s(r(n.REMOVE_ROLE_PERMISSION(a,e)))).data)(a,e),onSuccess:(r,e)=>{a.invalidateQueries({queryKey:[o.GET_ROLE_PERMISSIONS,e.roleId]}),a.invalidateQueries({queryKey:[o.GET_ROLE,e.roleId]}),d.success("دسترسی با موفقیت حذف شد")},onError:a=>{d.error((null==a?void 0:a.message)||"خطا در حذف دسترسی")}})},m=()=>i({queryKey:[o.GET_PERMISSIONS],queryFn:()=>(async()=>(await t(r(n.GET_PERMISSIONS))).data)()});export{R as a,y as b,l as c,S as d,O as e,m as f,_ as g,I as h,c as u};