/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
import{a as S}from"./CWXZSWUA.js";import{a as U,b as x}from"./4Z6UJJJR.js";import{d as j,g as L,h as C,i as N}from"./IHG7KTNC.js";import"./ZCU2WWVN.js";import"./WGO4EVOV.js";import{a as d}from"./23SGJQLW.js";import{b as f,c as y}from"./ZNWZWFMH.js";import{m as v,n as _}from"./N22MFQSQ.js";import{f as M}from"./3KGOZXJN.js";import"./N7BXCDA3.js";import"./43LVFNMF.js";import"./ZX3UHK6P.js";import"./Z4F2NZOT.js";import{a as O}from"./KOIDWEP3.js";import"./3KXMYZCU.js";import"./LP2JYX4X.js";import"./GF4QELNV.js";import{s as I}from"./AYSQIO6L.js";import"./YQHYMLC7.js";import"./DKD2EGQP.js";import"./5O53T3SW.js";import"./AJZDBHB6.js";import"./FES7B3SJ.js";import"./EXBEKVP5.js";var $="Discussion",P={name:"",tags:[],typeKeywords:["Hub Discussion"],permissions:[],catalogs:[],schemaVersion:1,isDiscussable:!0},K={item:{type:$,title:"",description:"",snippet:"",tags:[],typeKeywords:["Hub Discussion"],properties:{slug:"",schemaVersion:1}},data:{catalogs:[],prompt:""}};function h(t){return t.httpMethod="POST",d("/settings",t)}function A(t){return t.httpMethod="PATCH",d(`/settings/${t.id}`,t)}function V(t){return t.httpMethod="DELETE",d(`/settings/${t.id}`,t)}var F={discussions:{allowedChannelIds:null,allowedLocations:null}},w={discussion:{type:M.CONTENT,settings:Object.assign({},F)},site:null,project:null,initiative:null,initiativeTemplate:null,page:null,content:null,organization:null,org:null,group:null,template:null,survey:null,event:null,user:null,channel:null};function T(t){if(!w[t])throw new Error(`no default entity settings defined for ${t}`);return{type:w[t].type,settings:Object.assign({},w[t].settings)}}function E(){let t=U();return t.push({entityKey:"prompt",storeKey:"data.prompt"}),t.push({entityKey:"location",storeKey:"item.properties.location"}),t}function b(t,e,i){let o;return i.authentication&&(o=i.authentication.token),e=x(t.item,e),e.thumbnailUrl=v(t.item,i,o),e}async function dt(t,e){var i,o;let s=Object.assign(Object.assign({},P),t);s.slug||(s.slug=j(s.name,s.orgUrlKey)),await S(s,e),s.typeKeywords=f(s.typeKeywords,s.isDiscussable);let c=new y(E()),r=c.entityToStore(s,O(K));r=await C(r,e);let u=T("discussion"),a=Object.assign(Object.assign({},u.settings),{discussions:Object.assign(Object.assign({},u.settings.discussions),s.discussionSettings)});!((i=a.discussions.allowedChannelIds)===null||i===void 0)&&i.length||(a.discussions.allowedChannelIds=null),!((o=a.discussions.allowedLocations)===null||o===void 0)&&o.length||(a.discussions.allowedLocations=null),r.entitySettings=await h(Object.assign({data:{id:r.item.id,type:u.type,settings:a}},e));let n=c.storeToEntity(r,{});return n=b(r,n,e),n}async function gt(t,e){var i,o,s;await S(t,e),t.typeKeywords=f(t.typeKeywords,t.isDiscussable);let c=await L(t.id,e),r=new y(E()),u=r.entityToStore(t,c),a=await N(u,e),n=r.storeToEntity(a,t);n=b(c,n,e);let g;try{g=((i=n.location.geometries)===null||i===void 0?void 0:i.map(m=>_(m)))||null}catch(m){g=null,console.warn("Esri JSON conversion failed",m)}let p=T("discussion"),l=Object.assign(Object.assign({},p.settings),{discussions:Object.assign(Object.assign(Object.assign({},p.settings.discussions),n.discussionSettings),{allowedLocations:g})});!((o=l.discussions.allowedChannelIds)===null||o===void 0)&&o.length||(l.discussions.allowedChannelIds=null),!((s=l.discussions.allowedLocations)===null||s===void 0)&&s.length||(l.discussions.allowedLocations=null);let D=n.entitySettingsId?await A(Object.assign({id:n.entitySettingsId,data:{settings:l}},e)):await h(Object.assign({data:{id:n.id,type:p.type,settings:l}},e));return n.entitySettingsId=D.id,n.discussionSettings=D.settings.discussions,n}async function pt(t,e){let i=Object.assign(Object.assign({},e),{id:t});try{await V(Object.assign({id:t},e))}catch{}await I(i)}export{dt as createDiscussion,pt as deleteDiscussion,gt as updateDiscussion};
