1import{f as U,A as a,_ as h}from"./index-e410f525.js";import{a as c}from"./vendor-sweetalert2-cfa1285a.js";import{d as D,r as b,w as A,a as E,H as i,K as o,U as C,b5 as I,Q as g,af as R,W as F,ap as H,B as d,Y as v,X as _,I as x}from"./vendor-vue-61d73241.js";import"./vendor-bootstrap-c17a3fde.js";import"./vendor-utils-3b44de43.js";import"./vendor-cjs-helpers-de833af9.js";import"./vendor-charts-72fa718d.js";import"./vendor-prism-dba95ea4.js";import"./vendor-element-plus-a1318771.js";const V=D({name:"user-roles-assignment",components:{KTIcon:U},setup(){const t=b([]),s=b([]),l=b(null),m=b(null),f=b([]),w=async()=>{var n,u;try{a.setHeader();const r=await a.query("users",{params:{limit:1e3}});t.value=r.data}catch(r){c.fire({text:((u=(n=r.response)==null?void 0:n.data)==null?void 0:u.error)||"ÐайдаланÑÑÑлаÑÐ´Ñ Ð¶Ò¯ÐºÑÐµÑ ÒаÑеÑÑ",icon:"error",buttonsStyling:!1,confirmButtonText:"ÐаÑайдÑ"})}},B=async()=>{var n,u;try{a.setHeader();const r=await a.query("roles",{});s.value=r.data}catch(r){c.fire({text:((u=(n=r.response)==null?void 0:n.data)==null?void 0:u.error)||"РөлдеÑÐ´Ñ Ð¶Ò¯ÐºÑÐµÑ ÒаÑеÑÑ",icon:"error",buttonsStyling:!1,confirmButtonText:"ÐаÑайдÑ"})}},e=async()=>{if(!l.value){f.value=[];return}try{a.setHeader();const u=(await a.get("users",l.value.toString())).data;if(u.roles&&Array.isArray(u.roles)){const p=(await a.query("roles",{})).data;f.value=p.filter(y=>u.roles.includes(y.name))}else f.value=[]}catch(n){console.error("Failed to load user roles:",n),f.value=[]}},k=async()=>{var n,u;if(!(!l.value||!m.value))try{a.setHeader(),await a.post("user-roles/assign",{user_id:l.value,role_id:m.value}),c.fire({text:"Рөл ÑÓÑÑÑ ÑаÒайÑндалдÑ",icon:"success",buttonsStyling:!1,confirmButtonText:"ÐаÑайдÑ"}),await e(),m.value=null}catch(r){c.fire({text:((u=(n=r.response)==null?void 0:n.data)==null?void 0:u.error)||"ÒаÑе пайда болдÑ",icon:"error",buttonsStyling:!1,confirmButtonText:"ÐаÑайдÑ"})}},T=async()=>{var u,r;if(!l.value||!m.value)return;if((await c.fire({text:"Ð Ó©Ð»Ð´Ñ Ð°Ð»Ñп ÑаÑÑаÑÒа ÑенÑмдÑÑÑз бе?",icon:"warning",showCancelButton:!0,buttonsStyling:!1,confirmButtonText:"ÐÓ, алÑп ÑаÑÑаÑ",cancelButtonText:"ÐоÒ",customClass:{confirmButton:"btn btn-primary",cancelButton:"btn btn-light"}})).isConfirmed)try{a.setHeader(),await a.post("user-roles/revoke",{user_id:l.value,role_id:m.value}),c.fire({text:"Рөл ÑÓÑÑÑ Ð°Ð»Ñп ÑаÑÑалдÑ",icon:"success",buttonsStyling:!1,confirmButtonText:"ÐаÑайдÑ"}),await e(),m.value=null}catch(p){c.fire({text:((r=(u=p.response)==null?void 0:u.data)==null?void 0:r.error)||"ÒаÑе пайда болдÑ",icon:"error",buttonsStyling:!1,confirmButtonText:"ÐаÑайдÑ"})}},S=async n=>{var r,p;if(!l.value)return;if((await c.fire({text:"Ð Ó©Ð»Ð´Ñ Ð°Ð»Ñп ÑаÑÑаÑÒа ÑенÑмдÑÑÑз бе?",icon:"warning",showCancelButton:!0,buttonsStyling:!1,confirmButtonText:"ÐÓ, алÑп ÑаÑÑаÑ",cancelButtonText:"ÐоÒ",customClass:{confirmButton:"btn btn-primary",cancelButton:"btn btn-light"}})).isConfirmed)try{a.setHeader(),await a.post("user-roles/revoke",{user_id:l.value,role_id:n}),await e()}catch(y){c.fire({text:((p=(r=y.response)==null?void 0:r.data)==null?void 0:p.error)||"ÒаÑе пайда болдÑ",icon:"error",buttonsStyling:!1,confirmButtonText:"ÐаÑайдÑ"})}};return A(l,()=>{e()}),E(async()=>{await w(),await B()}),{users:t,roles:s,selectedUserId:l,selectedRoleId:m,userRoles:f,loadUserRoles:e,assignRole:k,revokeRole:T,removeRole:S}}}),$={class:"card"},K={class:"card-body pt-0"},N={class:"row mb-10"},q={class:"col-md-6"},M=["value"],L={class:"col-md-6"},Q=["value"],W={class:"d-flex gap-2 mb-10"},X=["disabled"],Y=["disabled"],j={key:0,class:"card"},z={class:"card-body"},G={key:0,class:"text-muted"},J={key:1},O=["onClick"];function P(t,s,l,m,f,w){const B=H("KTIcon");return d(),i("div",$,[s[10]||(s[10]=o("div",{class:"card-header border-0 pt-6"},[o("div",{class:"card-title"},[o("h3",{class:"fw-bold m-0"},"ÐайдаланÑÑÑлаÑÒа ÑөлдеÑÐ´Ñ ÑаÒайÑндаÑ")])],-1)),o("div",K,[o("div",N,[o("div",q,[s[6]||(s[6]=o("label",{class:"form-label fw-semibold"},"ÐайдаланÑÑÑ",-1)),C(o("select",{"onUpdate:modelValue":s[0]||(s[0]=e=>t.selectedUserId=e),class:"form-select form-select-solid",onChange:s[1]||(s[1]=(...e)=>t.loadUserRoles&&t.loadUserRoles(...e))},[s[5]||(s[5]=o("option",{value:""},"ÐайдаланÑÑÑÐ½Ñ ÑаңдаңÑз",-1)),(d(!0),i(g,null,R(t.users,e=>(d(),i("option",{key:e.id,value:e.id},v(e.name)+" "+v(e.surname)+" ("+v(e.email)+") ",9,M))),128))],544),[[I,t.selectedUserId]])]),o("div",L,[s[8]||(s[8]=o("label",{class:"form-label fw-semibold"},"Рөл",-1)),C(o("select",{"onUpdate:modelValue":s[2]||(s[2]=e=>t.selectedRoleId=e),class:"form-select form-select-solid"},[s[7]||(s[7]=o("option",{value:""},"Ð Ó©Ð»Ð´Ñ ÑаңдаңÑз",-1)),(d(!0),i(g,null,R(t.roles,e=>(d(),i("option",{key:e.id,value:e.id},v(e.name)+" - "+v(e.description),9,Q))),128))],512),[[I,t.selectedRoleId]])])]),o("div",W,[o("button",{type:"button",class:"btn btn-primary",onClick:s[3]||(s[3]=(...e)=>t.assignRole&&t.assignRole(...e)),disabled:!t.selectedUserId||!t.selectedRoleId}," Ð Ó©Ð»Ð´Ñ ÑаÒайÑÐ½Ð´Ð°Ñ ",8,X),o("button",{type:"button",class:"btn btn-danger",onClick:s[4]||(s[4]=(...e)=>t.revokeRole&&t.revokeRole(...e)),disabled:!t.selectedUserId||!t.selectedRoleId}," Ð Ó©Ð»Ð´Ñ Ð°Ð»Ñп ÑаÑÑÐ°Ñ ",8,Y)]),t.selectedUserId?(d(),i("div",j,[s[9]||(s[9]=o("div",{class:"card-header"},[o("h4",{class:"card-title"},"ÐайдаланÑÑÑнÑÒ£ ÑөлдеÑÑ")],-1)),o("div",z,[t.userRoles.length===0?(d(),i("div",G," Ð Ó©Ð»Ð´ÐµÑ ÑаÒайÑндалмаÒан ")):(d(),i("div",J,[(d(!0),i(g,null,R(t.userRoles,e=>(d(),i("span",{key:e.id,class:"badge badge-light-primary me-2 mb-2"},[_(v(e.name)+" ",1),o("button",{class:"btn btn-sm btn-icon btn-active-color-primary ms-2",onClick:k=>t.removeRole(e.id)},[x(B,{"icon-name":"cross","icon-class":"fs-5"})],8,O)]))),128))]))])])):F("",!0)])])}const le=h(V,[["render",P]]);export{le as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.