@overmap-ai/core 1.0.78-nested-procedure-steps.5 → 1.0.78-nested-procedure-steps.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/overmap-core.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(s,U){typeof exports=="object"&&typeof module<"u"?U(exports,require("@redux-offline/redux-offline/lib/types"),require("@reduxjs/toolkit"),require("superagent"),require("uuid"),require("file-saver"),require("fast-tree-builder"),require("ts-tree-lib"),require("react"),require("@redux-offline/redux-offline"),require("@redux-offline/redux-offline/lib/defaults"),require("buffer"),require("localforage"),require("redux-persist-migrate"),require("@overmap-ai/forms"),require("idb"),require("jwt-decode"),require("dependency-graph"),require("@tiptap/core")):typeof define=="function"&&define.amd?define(["exports","@redux-offline/redux-offline/lib/types","@reduxjs/toolkit","superagent","uuid","file-saver","fast-tree-builder","ts-tree-lib","react","@redux-offline/redux-offline","@redux-offline/redux-offline/lib/defaults","buffer","localforage","redux-persist-migrate","@overmap-ai/forms","idb","jwt-decode","dependency-graph","@tiptap/core"],U):(s=typeof globalThis<"u"?globalThis:s||self,U(s["overmap-core"]={},null,s.toolkit,s.request,s.uuid,s.fileSaver,s.buildTree,s.tsTreeLib,s.react,s.reduxOffline,s.offlineConfig,null,s.localforage,s.createMigration,null,s.idb,s.jwtDecode,s.dependencyGraph))})(this,function(s,U,d,Je,Xe,Gp,Lp,xn,Np,Hp,ec,EF,Wp,Kp,VF,Yp,Zp,Jp){"use strict";var wF=Object.defineProperty;var MF=(s,U,d)=>U in s?wF(s,U,{enumerable:!0,configurable:!0,writable:!0,value:d}):s[U]=d;var S=(s,U,d)=>MF(s,typeof U!="symbol"?U+"":U,d);var $p;const tc=Object.freeze([]),sc=Object.freeze({});var ic=(t=>(t[t.GUEST=0]="GUEST",t[t.BASIC=2]="BASIC",t[t.ADMIN=4]="ADMIN",t))(ic||{}),l=(t=>(t.GET="GET",t.POST="POST",t.PATCH="PATCH",t.PUT="PUT",t.DELETE="DELETE",t))(l||{}),ac=(t=>(t.Issue="issue",t.Asset="asset",t.AssetType="asset_type",t.Project="project",t.Document="document",t))(ac||{}),xt=(t=>(t[t.LOWEST=0]="LOWEST",t[t.LOW=2]="LOW",t[t.MEDIUM=4]="MEDIUM",t[t.HIGH=6]="HIGH",t[t.HIGHEST=8]="HIGHEST",t))(xt||{}),es=(t=>(t[t.BACKLOG=0]="BACKLOG",t[t.SELECTED=2]="SELECTED",t[t.DONE=4]="DONE",t))(es||{}),E=(t=>(t.STATUS="status",t.PRIORITY="priority",t.CATEGORY="category",t.DESCRIPTION="description",t.TITLE="title",t.ASSIGNED_TO="assigned_to",t.DUE_DATE="due_date",t))(E||{});const Xp=es.BACKLOG,Qp=xt.MEDIUM,nc=6e4;function P(t){return{addOne:(p,y)=>{const A=t(y.payload);p.instances[A]=y.payload},addMany:(p,y)=>{for(const A of y.payload){const I=t(A);p.instances[I]=A}},setOne:(p,y)=>{const A=t(y.payload);p.instances[A]=y.payload},setMany:(p,y)=>{for(const A of y.payload){const I=t(A);p.instances[I]=A}},updateOne:(p,y)=>{const A=t(y.payload);p.instances[A]=y.payload},updateMany:(p,y)=>{for(const A of y.payload){const I=t(A);p.instances[I]=A}},deleteOne:(p,y)=>{delete p.instances[y.payload]},deleteMany:(p,y)=>{for(const A of y.payload)delete p.instances[A]},initialize:(p,y)=>{p.instances={};const A=new Set;for(const I of y.payload){const F=t(I);A.add(F),p.instances[F]=I}A.size!==y.payload.length&&console.warn("duplicate ids detected when initializing model instances.")},getInitialState:p=>({...p,instances:{}})}}function xp(){return{initializeSelection:(m,o)=>{m.selection=Array.from(new Set(o.payload))},selectOne:(m,o)=>{new Set(m.selection).has(o.payload)||m.selection.push(o.payload)},selectMany:(m,o)=>{const h=new Set(m.selection);for(const p of o.payload)h.has(p)||h.add(p);m.selection=Array.from(h)},unselectOne:(m,o)=>{const h=new Set(m.selection);h.has(o.payload)&&(h.delete(o.payload),m.selection=Array.from(h))},unselectMany:(m,o)=>{const h=new Set(m.selection);for(const p of o.payload)h.has(p)&&h.delete(p);m.selection=Array.from(h)},toggleOne:(m,o)=>{const h=new Set(m.selection);h.has(o.payload)?h.delete(o.payload):h.add(o.payload),m.selection=Array.from(h)},toggleMany:(m,o)=>{const h=new Set(m.selection);for(const p of o.payload)h.has(p)?h.delete(p):h.add(p);m.selection=Array.from(h)},getInitialState:m=>({...m,selection:[]})}}const it="versioning",g=d.createAction("RESET"),M=d.createAction("RESET_PROJECT_STATE"),O=d.createAction("RESET_ORGANIZATION_STATE");$p=Symbol.toStringTag;class cc{constructor(){S(this,$p,"Promise");S(this,"_promise");S(this,"_resolve");S(this,"_reject");S(this,"_state","pending");this._resolve=null,this._reject=null,this._promise=new Promise((e,i)=>{this._resolve=e,this._reject=i})}get state(){return this._state}then(e,i){return this._promise.then(e,i)}catch(e){return this._promise.catch(e)}resolve(e){if(!this._resolve)throw new Error("No resolve callback");this._resolve(e),this._state="fulfilled"}reject(e){if(!this._reject)throw e;this._reject(e),this._state="rejected"}finally(e){throw new Error("`finally` not implemented")}}let ts=!1;["true","1"].includes("".toLowerCase())&&(ts=!0);function ey(t,e){if(t===e)return!0;if(typeof t!=typeof e)return!1;const i=Object.keys(t),a=Object.keys(e),n=i.length;if(n!==a.length)return!1;for(let c=0;c<n;c++){const r=i[c];if(!Object.prototype.hasOwnProperty.call(e,r)||t[r]!==e[r])return!1}return!0}function ss(t){const e={};return function(){const i=Array.prototype.slice.call(arguments);return i in e?(ts&&console.debug(`Memoization debug: Using memorized return value for ${t.toString()}(`,i,")"),e[i]):(ts&&console.debug(`Memoization debug: Cache miss! Memoizing ${t.toString()}(`,i,")"),e[i]=t.apply(this,i))}}function ty(t,e){if(t.length!==e.length)return!1;for(let i=0;i<t.length;i++)if(t[i]!==e[i])return!1;return!0}const T=t=>t.length===0?tc:t,_t=t=>Object.keys(t).length===0?sc:t,rc=ss(t=>{if(!t)return"";const e=new Date(t),i=e.getFullYear()===is.getFullYear(),a={day:"numeric",month:"short"};return i||(a.year="numeric"),e.toLocaleDateString([],a)}),sy=new Intl.RelativeTimeFormat([],{style:"long",numeric:"auto"}),iy=1e3*86400,is=new Date,ay=t=>new Date(t).toDateString()===is.toDateString(),ny=ss((t,e,i)=>{const a=Math.round((new Date(t).getTime()-is.getTime())/iy);return a<e||a>i?rc(t):sy.format(a,"days")});function cy(t){return new Uint8Array(t).reduce((i,a)=>i+a.toString(16).padStart(2,"0"),"")}const as=async(t,e)=>{e||(e=await Qe(t));let i=t.type;if(i.includes("/")&&(i=i.split("/")[1]),!i)throw new Error(`Could not extract file type from ${t.type}`);return`${e}.${i}`};function Qe(t){return new Promise((e,i)=>{const a=new FileReader;a.onload=()=>{const n=a.result;if(!n){i(new Error("FileReader did not return a valid ArrayBuffer."));return}crypto.subtle.digest("SHA-1",n).then(c=>{const r=cy(c);e(r)})},a.readAsArrayBuffer(t)})}function ry(t){if(!t.name||!t.type||!t.size){const e="File has no name, type, and/or size";throw new Error(e)}return`${t.name}&${t.type}${t.size}`}function dc(t,e){return new File([t],e,{type:t.type})}function dy(t,e){const i=document.createElement("a");i.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(e)),i.setAttribute("download",t),i.style.display="none",document.body.appendChild(i),i.click(),document.body.removeChild(i)}const uy=async t=>{const e={};for(const i of t){const a=await Qe(i);e[a]={sha1:a,extension:i.name.split(".").pop()||"",file_type:i.type,size:i.size}}return Object.values(e)},uc=async t=>(await fetch(t)).blob(),oy=t=>new Promise((e,i)=>{const a=new FileReader;a.onloadend=()=>{var n;e(((n=a.result)==null?void 0:n.toString())||"")},a.readAsDataURL(t)});function ly(t){const e=new Blob([t]);Gp.saveAs(e,t.name)}const oc={};function hy(t,e,i,...a){const n=oc[t];let c=!1;n?n[e]||(n[e]=!0,c=!0):(oc[t]={[e]:!0},c=!0),c&&console[i](...a)}const lc=["created_at","updated_at","index","revision","tree_id","level"];function b(t){return{...t,uuid:Xe.v4()}}function hc(t){const e={};for(const i of t)e[i.uuid]=i;return e}function mc(t){return t.map(({uuid:e})=>e)}function my(t,e=void 0,i=255){let a=t.replace(/[^a-z0-9_\-.]/gi,"_").replace(/_{2,}/g,"_");if(!e){const c=t.split(".");c.length>1&&(e=c[c.length-1])}e&&!e.startsWith(".")&&(e="."+e);const n=e?e.length:0;return a.length+n>i&&(a=a.slice(0,i-n)+(e||"")),a}function py(t){return t.toLowerCase().replace(" ","-")}function yy(t,e=!1){return t.normalize("NFKD").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,e?"_":"-")}function Ay(t,e){if(t.length<=e)return t;const i=t.slice(0,e-1);return i.slice(0,i.lastIndexOf(" "))+"…"}const f=t=>e=>i=>t(i,e);function pc(t,e,i){return i.findIndex(a=>a.uuid===t.uuid)===e}function fy(t,e,i){return i.findIndex(a=>a.file_sha1===t.file_sha1)===e}const Sy=/^.+@.+\..+$/;function v(t){const e={...t};for(const i of[...lc,"created_by"])i in e&&delete e[i];return e}const yc=t=>{const e=t.toSorted((i,a)=>i.order-a.order);return Lp(e,{id:i=>i.uuid,parentId:i=>i.parent,includeEmptyChildrenArray:!0,valueKey:!1})},Ty=t=>{const{roots:e}=yc(t);return e.map(i=>new xn.Tree(i))},Ac=(t,e)=>{const{nodes:i}=yc(e),a=i.get(t);if(!a)throw new Error(`Node with uuid ${t} does not exist in asset procedure step tree.`);return new xn.Tree(a)},k=P(t=>t.uuid),fc=k.getInitialState({}),ns=d.createSlice({name:"agents",initialState:fc,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,fc)),reducers:{initializeConversations:k.initialize,addConversation:k.addOne,addConversations:k.addMany,setConversation:k.setOne,setConversations:k.setMany,updateConversation:k.updateOne,updateConversations:k.updateMany,deleteConversation:k.deleteOne,deleteConversations:k.deleteMany}}),{initializeConversations:Sc,addConversation:Tc,addConversations:Iy,setConversation:Ic,setConversations:gy,updateConversation:gc,updateConversations:by,deleteConversation:Fy,deleteConversations:Py}=ns.actions,cs=t=>t.agentsReducer.instances,Oy=d.createSelector([cs],t=>Object.values(t)),_y=f(d.createSelector([cs,(t,e)=>e],(t,e)=>t[e])),bc=ns.reducer,B=P(t=>t.uuid),Fc=B.getInitialState({}),rs=d.createSlice({name:"assetAttachments",initialState:Fc,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,Fc)),reducers:{initializeAssetAttachments:B.initialize,addAssetAttachment:B.addOne,addAssetAttachments:B.addMany,setAssetAttachment:B.setOne,setAssetAttachments:B.setMany,updateAssetAttachment:B.updateOne,updateAssetAttachments:B.updateMany,deleteAssetAttachment:B.deleteOne,deleteAssetAttachments:B.deleteMany}}),{initializeAssetAttachments:ds,addAssetAttachment:Ry,addAssetAttachments:us,setAssetAttachment:Pc,setAssetAttachments:vy,updateAssetAttachment:wy,updateAssetAttachments:Oc,deleteAssetAttachment:_c,deleteAssetAttachments:os}=rs.actions,Rc=t=>t.assetAttachmentReducer.instances,vc=d.createSelector([Rc],t=>Object.values(t)),wc=t=>e=>e.assetAttachmentReducer.instances[t],Mc=f(d.createSelector([vc,(t,e)=>e],(t,e)=>T(t.filter(({asset:i})=>e===i)))),Ec=rs.reducer,$=P(({uuid:t})=>t),Vc=$.getInitialState({}),ls=d.createSlice({name:"assetProcedureTypeAttachments",initialState:Vc,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Vc)),reducers:{initializeAssetProcedureTypeAttachments:$.initialize,addAssetProcedureTypeAttachment:$.addOne,addAssetProcedureTypeAttachments:$.addMany,setAssetProcedureTypeAttachment:$.setOne,setAssetProcedureTypeAttachments:$.setMany,updateAssetProcedureTypeAttachment:$.updateOne,updateAssetProcedureTypeAttachments:$.updateMany,deleteAssetProcedureTypeAttachment:$.deleteOne,deleteAssetProcedureTypeAttachments:$.deleteMany}}),{initializeAssetProcedureTypeAttachments:jc,addAssetProcedureTypeAttachment:My,addAssetProcedureTypeAttachments:qc,setAssetProcedureTypeAttachment:zc,setAssetProcedureTypeAttachments:Ey,updateAssetProcedureTypeAttachment:Vy,updateAssetProcedureTypeAttachments:Uc,deleteAssetProcedureTypeAttachment:Dc,deleteAssetProcedureTypeAttachments:Cc}=ls.actions,kc=ls.reducer,Bc=t=>t.assetProcedureTypeAttachmentReducer.instances,$c=d.createSelector([Bc],t=>Object.values(t)),Gc=t=>e=>e.assetProcedureTypeAttachmentReducer.instances[t],jy=f(d.createSelector([$c,(t,e)=>e],(t,e)=>T(t.filter(({asset_procedure_type:i})=>e===i)))),G=P(({uuid:t})=>t),Lc=G.getInitialState({}),hs=d.createSlice({name:"assetProcedureTypeFieldsAttachments",initialState:Lc,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Lc)),reducers:{initializeAssetProcedureTypeFieldsAttachments:G.initialize,addAssetProcedureTypeFieldsAttachment:G.addOne,addAssetProcedureTypeFieldsAttachments:G.addMany,setAssetProcedureTypeFieldsAttachment:G.setOne,setAssetProcedureTypeFieldsAttachments:G.setMany,updateAssetProcedureTypeFieldsAttachment:G.updateOne,updateAssetProcedureTypeFieldsAttachments:G.updateMany,deleteAssetProcedureTypeFieldsAttachment:G.deleteOne,deleteAssetProcedureTypeFieldsAttachments:G.deleteMany}}),{initializeAssetProcedureTypeFieldsAttachments:Nc,addAssetProcedureTypeFieldsAttachment:qy,addAssetProcedureTypeFieldsAttachments:Hc,setAssetProcedureTypeFieldsAttachment:zy,setAssetProcedureTypeFieldsAttachments:Uy,updateAssetProcedureTypeFieldsAttachment:Dy,updateAssetProcedureTypeFieldsAttachments:Wc,deleteAssetProcedureTypeFieldsAttachment:Cy,deleteAssetProcedureTypeFieldsAttachments:Kc}=hs.actions,Yc=hs.reducer,Zc=t=>t.assetProcedureTypeFieldsAttachmentReducer.instances,Jc=d.createSelector([Zc],t=>Object.values(t)),ky=f(d.createSelector([Jc,(t,e)=>e],(t,e)=>T(t.filter(i=>i.fields_revision===e)))),By=t=>e=>e.assetProcedureTypeFieldsAttachmentReducer.instances[t],L=P(({uuid:t})=>t),Xc=L.getInitialState({}),ms=d.createSlice({name:"assetProcedureTypeFields",initialState:Xc,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Xc)),reducers:{initializeAssetProcedureTypeFields:L.initialize,addAssetProcedureTypeFields:L.addOne,addAssetProcedureTypeFieldsMany:L.addMany,setAssetProcedureTypeFields:L.setOne,setAssetProcedureTypeFieldsMany:L.setMany,updateAssetProcedureTypeFields:L.updateOne,updateAssetProcedureTypeFieldsMany:L.updateMany,deleteAssetProcedureTypeFields:L.deleteOne,deleteAssetProcedureTypeFieldsMany:L.deleteMany}}),{initializeAssetProcedureTypeFields:Qc,addAssetProcedureTypeFields:xc,addAssetProcedureTypeFieldsMany:$y,setAssetProcedureTypeFields:Gy,setAssetProcedureTypeFieldsMany:Ly,updateAssetProcedureTypeFields:er,updateAssetProcedureTypeFieldsMany:Ny,deleteAssetProcedureTypeFields:tr,deleteAssetProcedureTypeFieldsMany:Hy}=ms.actions,sr=ms.reducer,ir=t=>t.assetProcedureTypeFieldsReducer.instances,ps=d.createSelector([ir],t=>Object.values(t)),Wy=f(d.createSelector([ps,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_procedure_type===e)))),Ky=f(d.createSelector([ps,(t,e)=>e],(t,e)=>t.filter(i=>i.asset_procedure_type===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),Yy=t=>e=>e.assetProcedureTypeFieldsReducer.instances[t],N=P(({uuid:t})=>t),ar=N.getInitialState({}),ys=d.createSlice({name:"assetProcedureTypeFieldValuesAttachments",initialState:ar,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,ar)),reducers:{initializeAssetProcedureTypeFieldValuesAttachments:N.initialize,addAssetProcedureTypeFieldValuesAttachment:N.addOne,addAssetProcedureTypeFieldValuesAttachments:N.addMany,setAssetProcedureTypeFieldValuesAttachment:N.setOne,setAssetProcedureTypeFieldValuesAttachments:N.setMany,updateAssetProcedureTypeFieldValuesAttachment:N.updateOne,updateAssetProcedureTypeFieldValuesAttachments:N.updateMany,deleteAssetProcedureTypeFieldValuesAttachment:N.deleteOne,deleteAssetProcedureTypeFieldValuesAttachments:N.deleteMany}}),{initializeAssetProcedureTypeFieldValuesAttachments:nr,addAssetProcedureTypeFieldValuesAttachment:Zy,addAssetProcedureTypeFieldValuesAttachments:Rt,setAssetProcedureTypeFieldValuesAttachment:Jy,setAssetProcedureTypeFieldValuesAttachments:Xy,updateAssetProcedureTypeFieldValuesAttachment:Qy,updateAssetProcedureTypeFieldValuesAttachments:cr,deleteAssetProcedureTypeFieldValuesAttachment:xy,deleteAssetProcedureTypeFieldValuesAttachments:vt}=ys.actions,rr=ys.reducer,As=t=>t.assetProcedureTypeFieldValuesAttachmentReducer.instances,dr=d.createSelector([As],t=>Object.values(t)),eA=t=>e=>e.assetProcedureTypeFieldValuesAttachmentReducer.instances[t],ur=f(d.createSelector([As,(t,e)=>e],(t,e)=>{const i=new Set(e);return T(Object.values(t).filter(a=>i.has(a.uuid)))})),or=f(d.createSelector([dr,(t,e)=>e],(t,e)=>T(t.filter(i=>i.field_values===e)))),H=P(({uuid:t})=>t),lr=H.getInitialState({}),fs=d.createSlice({name:"assetProcedureTypeFieldValues",initialState:lr,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,lr)),reducers:{initializeAssetProcedureTypeFieldValues:H.initialize,addAssetProcedureTypeFieldValues:H.addOne,addAssetProcedureTypeFieldValuesMany:H.addMany,setAssetProcedureTypeFieldValues:H.setOne,setAssetProcedureTypeFieldValuesMany:H.setMany,updateAssetProcedureTypeFieldValues:H.updateOne,updateAssetProcedureTypeFieldValuesMany:H.updateMany,deleteAssetProcedureTypeFieldValues:H.deleteOne,deleteAssetProcedureTypeFieldValuesMany:H.deleteMany}}),{initializeAssetProcedureTypeFieldValues:hr,addAssetProcedureTypeFieldValues:Ss,addAssetProcedureTypeFieldValuesMany:mr,setAssetProcedureTypeFieldValues:tA,setAssetProcedureTypeFieldValuesMany:sA,updateAssetProcedureTypeFieldValues:at,updateAssetProcedureTypeFieldValuesMany:pr,deleteAssetProcedureTypeFieldValues:Ts,deleteAssetProcedureTypeFieldValuesMany:yr}=fs.actions,Ar=fs.reducer,fr=t=>t.assetProcedureFieldValuesReducer.instances,Is=d.createSelector([fr],t=>Object.values(t)),iA=f(d.createSelector([Is,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset===e)))),aA=f(d.createSelector([Is,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_procedure===e)))),gs=t=>e=>e.assetProcedureFieldValuesReducer.instances[t],W=P(({uuid:t})=>t),Sr=W.getInitialState({}),bs=d.createSlice({name:"assetProcedures",initialState:Sr,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,Sr)),reducers:{initializeAssetProcedures:W.initialize,addAssetProcedure:W.addOne,addAssetProcedures:W.addMany,setAssetProcedure:W.setOne,setAssetProcedures:W.setMany,updateAssetProcedure:W.updateOne,updateAssetProcedures:W.updateMany,deleteAssetProcedure:W.deleteOne,deleteAssetProcedures:W.deleteMany}}),{initializeAssetProcedures:Tr,addAssetProcedure:Fs,addAssetProcedures:Ir,updateAssetProcedure:nt,updateAssetProcedures:nA,deleteAssetProcedure:Ps,deleteAssetProcedures:gr,setAssetProcedure:cA,setAssetProcedures:rA}=bs.actions,br=bs.reducer,Os=t=>t.assetProcedureReducer.instances,_s=d.createSelector([Os],t=>Object.values(t)),Fr=f(d.createSelector([_s,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_procedure_type===e)))),dA=f(d.createSelector([_s,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_type===e)))),Rs=t=>e=>e.assetProcedureReducer.instances[t],uA=f(d.createSelector([Os,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const n=t[a];n&&i.push(n)}return T(i)})),K=P(t=>t.uuid),Pr=K.getInitialState({}),vs=d.createSlice({name:"assetProcedureTypes",initialState:Pr,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Pr)),reducers:{initializeAssetProcedureTypes:K.initialize,addAssetProcedureType:K.addOne,addAssetProcedureTypes:K.addMany,setAssetProcedureType:K.setOne,setAssetProcedureTypes:K.setMany,updateAssetProcedureType:K.updateOne,updateAssetProcedureTypes:K.updateMany,deleteAssetProcedureType:K.deleteOne,deleteAssetProcedureTypes:K.deleteMany}}),{initializeAssetProcedureTypes:Or,addAssetProcedureType:ws,addAssetProcedureTypes:oA,updateAssetProcedureType:ct,updateAssetProcedureTypes:lA,deleteAssetProcedureType:Ms,deleteAssetProcedureTypes:hA,setAssetProcedureType:mA,setAssetProcedureTypes:pA}=vs.actions,_r=vs.reducer,Es=t=>t.assetProcedureTypeReducer.instances,Rr=d.createSelector([Es],t=>Object.values(t)),Vs=t=>e=>e.assetProcedureTypeReducer.instances[t],yA=f(d.createSelector([Es,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const n=t[a];n&&i.push(n)}return T(i)})),AA=f(d.createSelector([Rr,(t,e)=>e],(t,e)=>T(t.filter(i=>i.organization===e)))),Y=P(t=>t.uuid),vr=Y.getInitialState({}),js=d.createSlice({name:"assetProcedureStepFieldsAttachments",initialState:vr,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,vr)),reducers:{initializeAssetProcedureStepFieldsAttachments:Y.initialize,addAssetProcedureStepFieldsAttachment:Y.addOne,addAssetProcedureStepFieldsAttachments:Y.addMany,setAssetProcedureStepFieldsAttachment:Y.setOne,setAssetProcedureStepFieldsAttachments:Y.setMany,updateAssetProcedureStepFieldsAttachment:Y.updateOne,updateAssetProcedureStepFieldsAttachments:Y.updateMany,deleteAssetProcedureStepFieldsAttachment:Y.deleteOne,deleteAssetProcedureStepFieldsAttachments:Y.deleteMany}}),{initializeAssetProcedureStepFieldsAttachments:wr,addAssetProcedureStepFieldsAttachment:fA,addAssetProcedureStepFieldsAttachments:Mr,setAssetProcedureStepFieldsAttachment:SA,setAssetProcedureStepFieldsAttachments:TA,updateAssetProcedureStepFieldsAttachment:IA,updateAssetProcedureStepFieldsAttachments:Er,deleteAssetProcedureStepFieldsAttachment:gA,deleteAssetProcedureStepFieldsAttachments:Vr}=js.actions,jr=t=>t.assetProcedureStepFieldsAttachmentReducer.instances,qr=d.createSelector([jr],t=>Object.values(t)),bA=f(d.createSelector([qr,(t,e)=>e],(t,e)=>T(t.filter(i=>i.fields_revision===e)))),FA=t=>e=>e.assetProcedureStepFieldsAttachmentReducer.instances[t],zr=js.reducer,Z=P(t=>t.uuid),Ur=Z.getInitialState({}),qs=d.createSlice({name:"assetProcedureStepFields",initialState:Ur,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Ur)),reducers:{initializeAssetProcedureStepFields:Z.initialize,addAssetProcedureStepFields:Z.addOne,addAssetProcedureStepFieldsMany:Z.addMany,setAssetProcedureStepFields:Z.setOne,setAssetProcedureStepFieldsMany:Z.setMany,updateAssetProcedureStepFields:Z.updateOne,updateAssetProcedureStepFieldsMany:Z.updateMany,deleteAssetProcedureStepFields:Z.deleteOne,deleteAssetProcedureStepFieldsMany:Z.deleteMany}}),{initializeAssetProcedureStepFields:Dr,addAssetProcedureStepFields:zs,addAssetProcedureStepFieldsMany:PA,setAssetProcedureStepFields:OA,setAssetProcedureStepFieldsMany:_A,updateAssetProcedureStepFields:rt,updateAssetProcedureStepFieldsMany:RA,deleteAssetProcedureStepFields:Us,deleteAssetProcedureStepFieldsMany:vA}=qs.actions,Ds=t=>t.assetProcedureStepFieldsReducer.instances,Cs=d.createSelector([Ds],t=>Object.values(t)),wA=f(d.createSelector([Cs,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_procedure_step===e)))),MA=f(d.createSelector([Cs,(t,e)=>e],(t,e)=>t.filter(i=>i.asset_procedure_step===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),EA=d.createSelector([Ds],t=>{const e={};for(const i of Object.values(t)){const a=e[i.asset_procedure_step];(!a||a.submitted_at<i.submitted_at)&&(e[i.asset_procedure_step]=i)}return e}),VA=t=>e=>e.assetProcedureStepFieldsReducer.instances[t],Cr=qs.reducer,J=P(t=>t.uuid),kr=J.getInitialState({}),ks=d.createSlice({name:"assetProcedureStepFieldValuesAttachments",initialState:kr,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,kr)),reducers:{initializeAssetProcedureStepFieldValuesAttachments:J.initialize,addAssetProcedureStepFieldValuesAttachment:J.addOne,addAssetProcedureStepFieldValuesAttachments:J.addMany,setAssetProcedureStepFieldValuesAttachment:J.setOne,setAssetProcedureStepFieldValuesAttachments:J.setMany,updateAssetProcedureStepFieldValuesAttachment:J.updateOne,updateAssetProcedureStepFieldValuesAttachments:J.updateMany,deleteAssetProcedureStepFieldValuesAttachment:J.deleteOne,deleteAssetProcedureStepFieldValuesAttachments:J.deleteMany}}),{initializeAssetProcedureStepFieldValuesAttachments:Br,addAssetProcedureStepFieldValuesAttachment:jA,addAssetProcedureStepFieldValuesAttachments:wt,setAssetProcedureStepFieldValuesAttachment:qA,setAssetProcedureStepFieldValuesAttachments:zA,updateAssetProcedureStepFieldValuesAttachment:UA,updateAssetProcedureStepFieldValuesAttachments:$r,deleteAssetProcedureStepFieldValuesAttachment:DA,deleteAssetProcedureStepFieldValuesAttachments:Mt}=ks.actions,Bs=t=>t.assetProcedureStepFieldValuesAttachmentReducer.instances,Gr=d.createSelector([Bs],t=>Object.values(t)),CA=t=>e=>e.assetProcedureStepFieldValuesAttachmentReducer.instances[t],Lr=f(d.createSelector([Bs,(t,e)=>e],(t,e)=>{const i=new Set(e);return T(Object.values(t).filter(a=>i.has(a.uuid)))})),Nr=f(d.createSelector([Gr,(t,e)=>e],(t,e)=>T(t.filter(i=>i.field_values===e)))),Hr=ks.reducer,X=P(t=>t.uuid),Wr=X.getInitialState({}),$s=d.createSlice({name:"assetProcedureStepFieldValues",initialState:Wr,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,Wr)),reducers:{initializeAssetProcedureStepFieldValues:X.initialize,addAssetProcedureStepFieldValues:X.addOne,addAssetProcedureStepFieldValuesMany:X.addMany,setAssetProcedureStepFieldValues:X.setOne,setAssetProcedureStepFieldValuesMany:X.setMany,updateAssetProcedureStepFieldValues:X.updateOne,updateAssetProcedureStepFieldValuesMany:X.updateMany,deleteAssetProcedureStepFieldValues:X.deleteOne,deleteAssetProcedureStepFieldValuesMany:X.deleteMany}}),{initializeAssetProcedureStepFieldValues:Kr,addAssetProcedureStepFieldValues:Gs,addAssetProcedureStepFieldValuesMany:Yr,setAssetProcedureStepFieldValues:kA,setAssetProcedureStepFieldValuesMany:BA,updateAssetProcedureStepFieldValues:dt,updateAssetProcedureStepFieldValuesMany:Zr,deleteAssetProcedureStepFieldValues:Ls,deleteAssetProcedureStepFieldValuesMany:Jr}=$s.actions,Xr=t=>t.assetProcedureStepFieldValuesReducer.instances,Et=d.createSelector([Xr],t=>Object.values(t)),$A=f(d.createSelector([Et,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset===e)))),GA=f(d.createSelector([Et,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_procedure===e)))),LA=f(d.createSelector([Et,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_procedure_step===e)))),Ns=t=>e=>e.assetProcedureStepFieldValuesReducer.instances[t],Qr=$s.reducer,Q=P(t=>t.uuid),xr=Q.getInitialState({}),Hs=d.createSlice({name:"assetProcedureSteps",initialState:xr,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,xr)),reducers:{initializeAssetProcedureSteps:Q.initialize,setAssetProcedureStep:Q.setOne,setAssetProcedureSteps:Q.setMany,addAssetProcedureStep:Q.addOne,addAssetProcedureSteps:Q.addMany,updateAssetProcedureStep:Q.updateOne,updateAssetProcedureSteps:Q.updateMany,deleteAssetProcedureStep:Q.deleteOne,deleteAssetProcedureSteps:Q.deleteMany}}),{initializeAssetProcedureSteps:ed,setAssetProcedureStep:td,setAssetProcedureSteps:NA,addAssetProcedureStep:sd,addAssetProcedureSteps:id,updateAssetProcedureStep:Vt,updateAssetProcedureSteps:HA,deleteAssetProcedureStep:ad,deleteAssetProcedureSteps:nd}=Hs.actions,cd=Hs.reducer,ut=t=>t.assetProcedureStepReducer.instances,Ws=t=>e=>e.assetProcedureStepReducer.instances[t],rd=d.createSelector([ut],t=>Object.values(t)),WA=f(d.createSelector([ut,(t,e)=>e],(t,e)=>{const i={};for(const[a,n]of Object.entries(t))n.asset_procedure_type===e&&(i[a]=n);return _t(i)})),KA=f(d.createSelector([rd,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_procedure_type===e)))),YA=f(d.createSelector([ut,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const n=t[a];n?i.push(n):console.warn("selectAssetProcedureStepsByIds: No step exists with the id",a)}return T(i)})),dd=f(d.createSelector([ut,(t,e)=>e],(t,e)=>{if(!t[e])return T([]);const n=Ac(e,Object.values(t)).all().map(({model:c})=>c);return T(n)})),x=P(t=>t.uuid),ud=x.getInitialState({}),Ks=d.createSlice({name:"assets",initialState:ud,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,ud)),reducers:{initializeAssets:x.initialize,addAsset:x.addOne,addAssets:x.addMany,setAsset:x.setOne,setAssets:x.setMany,updateAsset:x.updateOne,updateAssets:x.updateMany,deleteAsset:x.deleteOne,deleteAssets:x.deleteMany}}),{initializeAssets:od,addAsset:Ys,addAssets:jt,updateAsset:ot,updateAssets:ZA,deleteAsset:Zs,deleteAssets:Js,setAsset:JA,setAssets:XA}=Ks.actions,Xs=t=>t.assetReducer.instances,ld=d.createSelector([Xs],t=>T(Object.values(t))),Qs=f(d.createSelector([ld,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_type===e)))),xs=t=>e=>e.assetReducer.instances[t],hd=f(d.createSelector([Xs,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const n=t[a];n&&i.push(n)}return T(i)})),QA=t=>e=>Qs(t)(e).length,md=Ks.reducer,ee=P(t=>t.uuid),pd=ee.getInitialState({}),ei=d.createSlice({name:"assetStageCompletions",initialState:pd,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,pd)),reducers:{initializeAssetStageCompletions:ee.initialize,addAssetStageCompletion:ee.addOne,addAssetStageCompletions:ee.addMany,setAssetStageCompletion:ee.setOne,setAssetStageCompletions:ee.setMany,updateAssetStageCompletion:ee.updateOne,updateAssetStageCompletions:ee.updateMany,deleteAssetStageCompletion:ee.deleteOne,deleteAssetStageCompletions:ee.deleteMany}}),{initializeAssetStageCompletions:yd,addAssetStageCompletion:ti,addAssetStageCompletions:si,setAssetStageCompletion:xA,setAssetStageCompletions:ef,updateAssetStageCompletion:Ad,updateAssetStageCompletions:fd,deleteAssetStageCompletion:ii,deleteAssetStageCompletions:ai}=ei.actions,Sd=ei.reducer,ni=t=>t.assetStageCompletionReducer.instances,tf=d.createSelector([ni],t=>Object.values(t)),Td=t=>e=>e.assetStageCompletionReducer.instances[t],Id=f(d.createSelector([ni,(t,e)=>e],(t,e)=>{const i=new Set(e);return T(Object.values(t).filter(a=>i.has(a.uuid)))})),te=P(t=>t.uuid),gd=te.getInitialState({}),ci=d.createSlice({name:"assetStages",initialState:gd,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,gd)),reducers:{initializeAssetStages:te.initialize,setAssetStage:te.setOne,setAssetStages:te.setMany,addAssetStage:te.addOne,addAssetStages:te.addMany,updateAssetStage:te.updateOne,updateAssetStages:te.updateMany,deleteAssetStage:te.deleteOne,deleteAssetStages:te.deleteMany}}),{initializeAssetStages:bd,setAssetStage:Fd,setAssetStages:sf,addAssetStage:ri,addAssetStages:af,updateAssetStage:qt,updateAssetStages:nf,deleteAssetStage:di,deleteAssetStages:cf}=ci.actions,Pd=ci.reducer,zt=t=>t.assetStageReducer.instances,ui=t=>e=>e.assetStageReducer.instances[t],Od=d.createSelector([zt],t=>Object.values(t)),rf=f(d.createSelector([zt,(t,e)=>e],(t,e)=>{const i={};for(const[a,n]of Object.entries(t))n.asset_procedure_type===e&&(i[a]=n);return _t(i)})),df=f(d.createSelector([Od,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_procedure_type===e)))),uf=f(d.createSelector([zt,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const n=t[a];n?i.push(n):console.warn("selectStagesFromStageIds: No stage exists with the id",a)}return T(i)})),se=P(t=>t.uuid),_d=se.getInitialState({}),oi=d.createSlice({name:"assetTypeAttachments",initialState:_d,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,_d)),reducers:{initializeAssetTypeAttachments:se.initialize,addAssetTypeAttachment:se.addOne,addAssetTypeAttachments:se.addMany,setAssetTypeAttachment:se.setOne,setAssetTypeAttachments:se.setMany,updateAssetTypeAttachment:se.updateOne,updateAssetTypeAttachments:se.updateMany,deleteAssetTypeAttachment:se.deleteOne,deleteAssetTypeAttachments:se.deleteMany}}),{initializeAssetTypeAttachments:Rd,addAssetTypeAttachment:of,addAssetTypeAttachments:li,setAssetTypeAttachment:vd,setAssetTypeAttachments:lf,updateAssetTypeAttachment:hf,updateAssetTypeAttachments:wd,deleteAssetTypeAttachment:Md,deleteAssetTypeAttachments:hi}=oi.actions,Ed=t=>t.assetTypeAttachmentReducer.instances,Vd=d.createSelector([Ed],t=>Object.values(t)),jd=t=>e=>e.assetTypeAttachmentReducer.instances[t],qd=f(d.createSelector([Vd,(t,e)=>e],(t,e)=>T(t.filter(({asset_type:i})=>e===i)))),zd=oi.reducer,ie=P(t=>t.uuid),Ud=ie.getInitialState({}),mi=d.createSlice({name:"assetTypeFieldsAttachments",initialState:Ud,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Ud)),reducers:{initializeAssetTypeFieldsAttachments:ie.initialize,addAssetTypeFieldsAttachment:ie.addOne,addAssetTypeFieldsAttachments:ie.addMany,setAssetTypeFieldsAttachment:ie.setOne,setAssetTypeFieldsAttachments:ie.setMany,updateAssetTypeFieldsAttachment:ie.updateOne,updateAssetTypeFieldsAttachments:ie.updateMany,deleteAssetTypeFieldsAttachment:ie.deleteOne,deleteAssetTypeFieldsAttachments:ie.deleteMany}}),{initializeAssetTypeFieldsAttachments:Dd,addAssetTypeFieldsAttachment:mf,addAssetTypeFieldsAttachments:Cd,setAssetTypeFieldsAttachment:pf,setAssetTypeFieldsAttachments:yf,updateAssetTypeFieldsAttachment:Af,updateAssetTypeFieldsAttachments:kd,deleteAssetTypeFieldsAttachment:ff,deleteAssetTypeFieldsAttachments:Bd}=mi.actions,$d=t=>t.assetTypeFieldsAttachmentReducer.instances,Gd=d.createSelector([$d],t=>Object.values(t)),Sf=f(d.createSelector([Gd,(t,e)=>e],(t,e)=>T(t.filter(i=>i.fields_revision===e)))),Tf=t=>e=>e.assetTypeFieldsAttachmentReducer.instances[t],Ld=mi.reducer,ae=P(t=>t.uuid),Nd=ae.getInitialState({}),pi=d.createSlice({name:"assetTypeFields",initialState:Nd,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Nd)),reducers:{initializeAssetTypeFields:ae.initialize,addAssetTypeFields:ae.addOne,addAssetTypeFieldsMany:ae.addMany,setAssetTypeFields:ae.setOne,setAssetTypeFieldsMany:ae.setMany,updateAssetTypeFields:ae.updateOne,updateAssetTypeFieldsMany:ae.updateMany,deleteAssetTypeFields:ae.deleteOne,deleteAssetTypeFieldsMany:ae.deleteMany}}),{initializeAssetTypeFields:Hd,addAssetTypeFields:Wd,addAssetTypeFieldsMany:If,setAssetTypeFields:gf,setAssetTypeFieldsMany:bf,updateAssetTypeFields:Kd,updateAssetTypeFieldsMany:Ff,deleteAssetTypeFields:Yd,deleteAssetTypeFieldsMany:Pf}=pi.actions,Zd=t=>t.assetTypeFieldsReducer.instances,Ut=d.createSelector([Zd],t=>Object.values(t)),Of=f(d.createSelector([Ut,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_type===e)))),_f=f(d.createSelector([Ut,(t,e)=>e],(t,e)=>t.filter(i=>i.asset_type===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),Rf=t=>e=>e.assetTypeFieldsReducer.instances[t],Jd=pi.reducer,ne=P(t=>t.uuid),Xd=ne.getInitialState({}),yi=d.createSlice({name:"assetTypeFieldValuesAttachments",initialState:Xd,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,Xd)),reducers:{initializeAssetTypeFieldValuesAttachments:ne.initialize,addAssetTypeFieldValuesAttachment:ne.addOne,addAssetTypeFieldValuesAttachments:ne.addMany,setAssetTypeFieldValuesAttachment:ne.setOne,setAssetTypeFieldValuesAttachments:ne.setMany,updateAssetTypeFieldValuesAttachment:ne.updateOne,updateAssetTypeFieldValuesAttachments:ne.updateMany,deleteAssetTypeFieldValuesAttachment:ne.deleteOne,deleteAssetTypeFieldValuesAttachments:ne.deleteMany}}),{initializeAssetTypeFieldValuesAttachments:Qd,addAssetTypeFieldValuesAttachment:vf,addAssetTypeFieldValuesAttachments:Dt,setAssetTypeFieldValuesAttachment:wf,setAssetTypeFieldValuesAttachments:Mf,updateAssetTypeFieldValuesAttachment:Ef,updateAssetTypeFieldValuesAttachments:xd,deleteAssetTypeFieldValuesAttachment:Vf,deleteAssetTypeFieldValuesAttachments:Ct}=yi.actions,Ai=t=>t.assetTypeFieldValuesAttachmentReducer.instances,eu=d.createSelector([Ai],t=>Object.values(t)),jf=t=>e=>e.assetTypeFieldValuesAttachmentReducer.instances[t],tu=f(d.createSelector([Ai,(t,e)=>e],(t,e)=>{const i=new Set(e);return T(Object.values(t).filter(a=>i.has(a.uuid)))})),su=f(d.createSelector([eu,(t,e)=>e],(t,e)=>T(t.filter(i=>i.field_values===e)))),iu=yi.reducer,ce=P(t=>t.uuid),au=ce.getInitialState({}),fi=d.createSlice({name:"assetTypeFieldValues",initialState:au,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,au)),reducers:{initializeAssetTypeFieldValues:ce.initialize,addAssetTypeFieldValues:ce.addOne,addAssetTypeFieldValuesMany:ce.addMany,setAssetTypeFieldValues:ce.setOne,setAssetTypeFieldValuesMany:ce.setMany,updateAssetTypeFieldValues:ce.updateOne,updateAssetTypeFieldValuesMany:ce.updateMany,deleteAssetTypeFieldValues:ce.deleteOne,deleteAssetTypeFieldValuesMany:ce.deleteMany}}),{initializeAssetTypeFieldValues:nu,addAssetTypeFieldValues:Si,addAssetTypeFieldValuesMany:cu,setAssetTypeFieldValues:qf,setAssetTypeFieldValuesMany:zf,updateAssetTypeFieldValues:lt,updateAssetTypeFieldValuesMany:ru,deleteAssetTypeFieldValues:Ti,deleteAssetTypeFieldValuesMany:du}=fi.actions,uu=t=>t.assetTypeFieldValuesReducer.instances,Ii=d.createSelector([uu],t=>Object.values(t)),Uf=f(d.createSelector([Ii,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset===e)))),Df=f(d.createSelector([Ut,Ii,(t,e)=>e],(t,e,i)=>{const a=new Set(t.filter(n=>n.asset_type===i).map(n=>n.uuid));return T(e.filter(n=>a.has(n.fields_revision)))})),gi=t=>e=>e.assetTypeFieldValuesReducer.instances[t],ou=fi.reducer,re=P(t=>t.uuid),lu=re.getInitialState({}),bi=d.createSlice({name:"assetTypeIdentifiers",initialState:lu,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,lu)),reducers:{initializeAssetTypeIdentifiers:re.initialize,addAssetTypeIdentifier:re.addOne,addAssetTypeIdentifiers:re.addMany,setAssetTypeIdentifier:re.setOne,setAssetTypeIdentifiers:re.setMany,updateAssetTypeIdentifier:re.updateOne,updateAssetTypeIdentifiers:re.updateMany,deleteAssetTypeIdentifier:re.deleteOne,deleteAssetTypeIdentifiers:re.deleteMany}}),{initializeAssetTypeIdentifiers:hu,addAssetTypeIdentifier:Fi,addAssetTypeIdentifiers:Cf,setAssetTypeIdentifier:kf,setAssetTypeIdentifiers:Bf,updateAssetTypeIdentifier:ht,updateAssetTypeIdentifiers:$f,deleteAssetTypeIdentifier:Pi,deleteAssetTypeIdentifiers:Gf}=bi.actions,mu=t=>t.assetTypeIdentifierReducer.instances,pu=d.createSelector([mu],t=>Object.values(t)),Oi=t=>e=>e.assetTypeIdentifierReducer.instances[t],Lf=f(d.createSelector([pu,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_type===e)))),yu=bi.reducer,de=P(t=>t.uuid),Au=de.getInitialState({}),_i=d.createSlice({name:"assetTypeIdentifierValues",initialState:Au,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,Au)),reducers:{initializeAssetTypeIdentifierValues:de.initialize,addAssetTypeIdentifierValue:de.addOne,addAssetTypeIdentifierValues:de.addMany,setAssetTypeIdentifierValue:de.setOne,setAssetTypeIdentifierValues:de.setMany,updateAssetTypeIdentifierValue:de.updateOne,updateAssetTypeIdentifierValues:de.updateMany,deleteAssetTypeIdentifierValue:de.deleteOne,deleteAssetTypeIdentifierValues:de.deleteMany}}),{initializeAssetTypeIdentifierValues:fu,addAssetTypeIdentifierValue:Ri,addAssetTypeIdentifierValues:Nf,setAssetTypeIdentifierValue:Hf,setAssetTypeIdentifierValues:Wf,updateAssetTypeIdentifierValue:mt,updateAssetTypeIdentifierValues:Kf,deleteAssetTypeIdentifierValue:vi,deleteAssetTypeIdentifierValues:Yf}=_i.actions,Su=t=>t.assetTypeIdentifierValueReducer.instances,wi=d.createSelector([Su],t=>Object.values(t)),Mi=t=>e=>e.assetTypeIdentifierValueReducer.instances[t],Zf=f(d.createSelector([wi,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset===e)))),Jf=f(d.createSelector([wi,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_type_identifier===e)))),Tu=_i.reducer,ue=P(t=>t.uuid),Iu=ue.getInitialState({}),Ei=d.createSlice({name:"assetTypes",initialState:Iu,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Iu)),reducers:{initializeAssetTypes:ue.initialize,setAssetType:ue.setOne,setAssetTypes:ue.setMany,addAssetType:ue.addOne,addAssetTypes:ue.addMany,updateAssetType:ue.updateOne,updateAssetTypes:ue.updateMany,deleteAssetType:ue.deleteOne,deleteAssetTypes:ue.deleteMany}}),{initializeAssetTypes:gu,setAssetType:Xf,setAssetTypes:Qf,addAssetType:Vi,addAssetTypes:xf,updateAssetType:pt,updateAssetTypes:eS,deleteAssetType:ji,deleteAssetTypes:tS}=Ei.actions,qi=t=>t.assetTypeReducer.instances,bu=d.createSelector([qi],t=>Object.values(t)),zi=t=>e=>e.assetTypeReducer.instances[t],sS=f(d.createSelector([qi,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const n=t[a];n?i.push(n):console.warn("selectAssetTypesByIds: No assetType exists with the id",a)}return T(i)})),iS=f(d.createSelector([bu,(t,e)=>e],(t,e)=>T(t.filter(i=>i.organization===e)))),Fu=Ei.reducer,Pu={accessToken:"",refreshToken:"",isLoggedIn:!1},kt=d.createSlice({name:"auth",initialState:Pu,extraReducers:t=>t.addCase(g,e=>Object.assign(e,Pu)),reducers:{setTokens:(t,e)=>{t.accessToken=e.payload.accessToken,t.refreshToken=e.payload.refreshToken},clearTokens:t=>{t.accessToken="",t.refreshToken=""},setLoggedIn:(t,e)=>{e.payload||kt.caseReducers.clearTokens(t),t.isLoggedIn=e.payload}}}),{setTokens:aS,clearTokens:nS,setLoggedIn:Ou}=kt.actions,cS=t=>t.authReducer.accessToken,rS=t=>t.authReducer.isLoggedIn,_u=kt.reducer,oe=P(t=>t.uuid),Ru=oe.getInitialState({}),Ui=d.createSlice({name:"categories",initialState:Ru,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Ru)),reducers:{initializeCategories:oe.initialize,addCategory:oe.addOne,addCategories:oe.addMany,setCategory:oe.setOne,setCategories:oe.setMany,updateCategory:oe.updateOne,updateCategories:oe.updateMany,deleteCategory:oe.deleteOne,deleteCategories:oe.deleteMany}}),{initializeCategories:vu,addCategory:Di,addCategories:dS,setCategory:uS,setCategories:oS,updateCategory:wu,updateCategories:lS,deleteCategory:Mu,deleteCategories:hS}=Ui.actions,Ci=t=>t.categoryReducer.instances,Eu=d.createSelector([Ci],t=>Object.values(t)),ki=t=>e=>e.categoryReducer.instances[t],mS=f(d.createSelector([Ci,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const n=t[a];n?i.push(n):console.warn("selectCategoryByIds: No category exists with the id",a)}return T(i)})),pS=f(d.createSelector([Eu,(t,e)=>e],(t,e)=>T(t.filter(i=>i.project===e)))),Vu=Ui.reducer,le=P(t=>t.uuid),ju=le.getInitialState({}),Bi=d.createSlice({name:"documentAttachments",initialState:ju,extraReducers:t=>t.addCase(g,e=>Object.assign(e,ju)),reducers:{initializeDocumentAttachments:le.initialize,addDocumentAttachment:le.addOne,addDocumentAttachments:le.addMany,setDocumentAttachment:le.setOne,setDocumentAttachments:le.setMany,updateDocumentAttachment:le.updateOne,updateDocumentAttachments:le.updateMany,deleteDocumentAttachment:le.deleteOne,deleteDocumentAttachments:le.deleteMany}}),{initializeDocumentAttachments:qu,addDocumentAttachment:yS,addDocumentAttachments:zu,setDocumentAttachment:Uu,setDocumentAttachments:AS,updateDocumentAttachment:fS,updateDocumentAttachments:Du,deleteDocumentAttachment:Cu,deleteDocumentAttachments:ku}=Bi.actions,Bu=t=>t.documentAttachmentReducer.instances,$u=d.createSelector([Bu],t=>Object.values(t)),Gu=t=>e=>e.documentAttachmentReducer.instances[t],SS=f(d.createSelector([$u,(t,e)=>e],(t,e)=>T(t.filter(({document:i})=>e===i)))),Lu=Bi.reducer,Nu={documents:{}},$i=d.createSlice({name:"documents",initialState:Nu,extraReducers:t=>t.addCase(g,e=>{Object.assign(e,Nu)}),reducers:{setDocuments:(t,e)=>{if(e.payload.filter(pc).length!==e.payload.length)throw new Error("Tried to use setIssues reducer with duplicate ID's");t.documents=hc(e.payload)},addDocuments:(t,e)=>{for(const i of e.payload)if(i.uuid in t.documents)throw new Error(`attempting to add a document with uuid ${i.uuid} which already exists in state.documents.`);for(const i of e.payload){if(i.parent_document&&t.documents[i.parent_document]){const a=t.documents[i.parent_document];t.documents[i.parent_document]={...a,children_documents:[...a.children_documents,i.uuid]}}t.documents[i.uuid]=i}},updateDocuments:(t,e)=>{for(const i of e.payload)if(!(i.uuid in t.documents))throw new Error(`attempting to update a document with uuid ${i.uuid} which doesn't exists in state.documents.`);for(const i of e.payload){const a=t.documents[i.uuid];if(i.organization!==void 0&&i.organization!==a.organization)throw new Error("organization cannot be updated");if(i.project!==void 0&&i.project!==a.project)throw new Error("project cannot be updated");t.documents[i.uuid]={...a,...i}}},removeDocuments:(t,e)=>{for(const i of e.payload)if(!(i in t.documents))throw new Error(`attempting to delete a document with uuid ${i} which doesn't exists in state.documents.`);for(const i of e.payload){const a=t.documents[i];if(a.parent_document&&t.documents[a.parent_document]){const n=t.documents[a.parent_document];t.documents[a.parent_document]={...n,children_documents:n.children_documents.filter(c=>c!==a.uuid)}}delete t.documents[i]}}}}),{setDocuments:Hu,addDocuments:Wu,updateDocuments:xe,removeDocuments:Gi}=$i.actions,Bt=t=>t.documentsReducer.documents,Li=d.createSelector([Bt],t=>Object.values(t)),Ku=t=>e=>e.documentsReducer.documents[t],TS=f(d.createSelector([Bt,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const n=t[a];n?i.push(n):console.warn("selectDocumentByIds: No document exists with the id",a)}return T(i)})),IS=f(d.createSelector([Li,(t,e)=>e],(t,e)=>t.filter(i=>i.project===e))),gS=f(d.createSelector([Li,(t,e)=>e],(t,e)=>t.filter(i=>i.organization===e))),Yu=$i.reducer,he=P(t=>t.uuid),Zu=he.getInitialState({}),Ni=d.createSlice({name:"emailDomains",initialState:Zu,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Zu)),reducers:{initializeEmailDomains:he.initialize,addEmailDomain:he.addOne,addEmailDomains:he.addMany,setEmailDomain:he.setOne,setEmailDomains:he.setMany,updateEmailDomain:he.updateOne,updateEmailDomains:he.updateMany,deleteEmailDomain:he.deleteOne,deleteEmailDomains:he.deleteMany}}),{initializeEmailDomains:Ju,addEmailDomain:Xu,addEmailDomains:bS,setEmailDomain:FS,setEmailDomains:PS,updateEmailDomain:OS,updateEmailDomains:_S,deleteEmailDomain:Qu,deleteEmailDomains:RS}=Ni.actions,xu=t=>t.emailDomainsReducer.instances,eo=d.createSelector([xu],t=>Object.values(t)),vS=f(d.createSelector([eo,(t,e)=>e],(t,e)=>T(t.filter(i=>i.organization===e)))),to=Ni.reducer,so={s3Urls:{}},io=1e3*60*60,wS=io*24*7,Hi=d.createSlice({name:"file",initialState:so,extraReducers:t=>t.addCase(g,e=>Object.assign(e,so)),reducers:{setUploadUrl:(t,e)=>{const{url:i,fields:a,sha1:n}=e.payload,c=new Date,r=new Date(c.getTime()+wS);t.s3Urls[n]={url:i,fields:a,exp:r.getTime()}}}}),{setUploadUrl:ao}=Hi.actions,no=t=>e=>{const i=e.fileReducer.s3Urls[t];if(!i)return;const a=new Date().getTime();if(!((i.exp??a)-a<io))return i},co=Hi.reducer,me=P(t=>t.uuid),ro=me.getInitialState({}),Wi=d.createSlice({name:"formIdentifiers",initialState:ro,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,ro)),reducers:{initializeFormIdentifiers:me.initialize,addFormIdentifier:me.addOne,addFormIdentifiers:me.addMany,setFormIdentifier:me.setOne,setFormIdentifiers:me.setMany,updateFormIdentifier:me.updateOne,updateFormIdentifiers:me.updateMany,deleteFormIdentifier:me.deleteOne,deleteFormIdentifiers:me.deleteMany}}),{initializeFormIdentifiers:uo,addFormIdentifier:Ki,addFormIdentifiers:MS,setFormIdentifier:ES,setFormIdentifiers:VS,updateFormIdentifier:yt,updateFormIdentifiers:jS,deleteFormIdentifier:Yi,deleteFormIdentifiers:qS}=Wi.actions,oo=t=>t.formIdentifierReducer.instances,lo=d.createSelector([oo],t=>Object.values(t)),Zi=t=>e=>e.formIdentifierReducer.instances[t],zS=f(d.createSelector([lo,(t,e)=>e],(t,e)=>T(t.filter(i=>i.form===e)))),ho=Wi.reducer,pe=P(t=>t.uuid),mo=pe.getInitialState({}),Ji=d.createSlice({name:"formIdentifierValues",initialState:mo,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,mo)),reducers:{initializeFormIdentifierValues:pe.initialize,addFormIdentifierValue:pe.addOne,addFormIdentifierValues:pe.addMany,setFormIdentifierValue:pe.setOne,setFormIdentifierValues:pe.setMany,updateFormIdentifierValue:pe.updateOne,updateFormIdentifierValues:pe.updateMany,deleteFormIdentifierValue:pe.deleteOne,deleteFormIdentifierValues:pe.deleteMany}}),{initializeFormIdentifierValues:po,addFormIdentifierValue:Xi,addFormIdentifierValues:US,setFormIdentifierValue:DS,setFormIdentifierValues:CS,updateFormIdentifierValue:At,updateFormIdentifierValues:kS,deleteFormIdentifierValue:Qi,deleteFormIdentifierValues:BS}=Ji.actions,yo=t=>t.formIdentifierValueReducer.instances,xi=d.createSelector([yo],t=>Object.values(t)),ea=t=>e=>e.formIdentifierValueReducer.instances[t],$S=f(d.createSelector([xi,(t,e)=>e],(t,e)=>T(t.filter(i=>i.form_submission===e)))),GS=f(d.createSelector([xi,(t,e)=>e],(t,e)=>T(t.filter(i=>i.form_identifier===e)))),Ao=Ji.reducer,ye=P(t=>t.uuid),fo=ye.getInitialState({}),ta=d.createSlice({name:"formRevisionAttachments",initialState:fo,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,fo)),reducers:{initializeFormRevisionAttachments:ye.initialize,addFormRevisionAttachment:ye.addOne,addFormRevisionAttachments:ye.addMany,setFormRevisionAttachment:ye.setOne,setFormRevisionAttachments:ye.setMany,updateFormRevisionAttachment:ye.updateOne,updateFormRevisionAttachments:ye.updateMany,deleteFormRevisionAttachment:ye.deleteOne,deleteFormRevisionAttachments:ye.deleteMany}}),{initializeFormRevisionAttachments:So,addFormRevisionAttachment:LS,addFormRevisionAttachments:To,setFormRevisionAttachment:NS,setFormRevisionAttachments:HS,updateFormRevisionAttachment:WS,updateFormRevisionAttachments:Io,deleteFormRevisionAttachment:KS,deleteFormRevisionAttachments:go}=ta.actions,bo=t=>t.formRevisionAttachmentReducer.instances,YS=f(d.createSelector([bo,(t,e)=>e],(t,e)=>T(Object.values(t).filter(i=>i.form_revision===e)))),Fo=ta.reducer,Ae=P(t=>t.uuid),Po=Ae.getInitialState({}),sa=d.createSlice({name:"formRevisions",initialState:Po,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Po)),reducers:{initializeFormRevisions:Ae.initialize,addFormRevision:Ae.addOne,addFormRevisions:Ae.addMany,setFormRevision:Ae.setOne,setFormRevisions:Ae.setMany,updateFormRevision:Ae.updateOne,updateFormRevisions:Ae.updateMany,deleteFormRevision:Ae.deleteOne,deleteFormRevisions:Ae.deleteMany}}),{initializeFormRevisions:Oo,addFormRevision:ia,addFormRevisions:_o,setFormRevision:Ro,setFormRevisions:ZS,updateFormRevision:JS,updateFormRevisions:XS,deleteFormRevision:aa,deleteFormRevisions:vo}=sa.actions,na=t=>t.formRevisionReducer.instances,ca=d.createSelector([na],t=>Object.values(t)),QS=t=>e=>e.formRevisionReducer.instances[t],xS=f(d.createSelector([ca,(t,e)=>e],(t,e)=>t.filter(i=>i.form===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),wo=f(d.createSelector([ca,(t,e)=>e],(t,e)=>T(t.filter(i=>i.form===e)))),Mo=sa.reducer,fe=P(t=>t.uuid),Eo=fe.getInitialState({}),ra=d.createSlice({name:"forms",initialState:Eo,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Eo)),reducers:{initializeForms:fe.initialize,addForm:fe.addOne,addForms:fe.addMany,setForm:fe.setOne,setForms:fe.setMany,updateForm:fe.updateOne,updateForms:fe.updateMany,deleteForm:fe.deleteOne,deleteForms:fe.deleteMany}}),{initializeForms:Vo,addForm:da,addForms:eT,setForm:tT,setForms:sT,updateForm:iT,updateForms:aT,deleteForm:ua,deleteForms:nT}=ra.actions,jo=ra.reducer,qo=t=>t.formReducer.instances,zo=d.createSelector([qo],t=>Object.values(t)),Uo=t=>e=>e.formReducer.instances[t],cT=f(d.createSelector([zo,(t,e)=>e],(t,e)=>T(t.filter(i=>i.organization===e)))),Se=P(t=>t.uuid),Do=Se.getInitialState({}),oa=d.createSlice({name:"formSubmissionAttachments",initialState:Do,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Do)),reducers:{initializeFormSubmissionAttachments:Se.initialize,addFormSubmissionAttachment:Se.addOne,addFormSubmissionAttachments:Se.addMany,setFormSubmissionAttachment:Se.setOne,setFormSubmissionAttachments:Se.setMany,updateFormSubmissionAttachment:Se.updateOne,updateFormSubmissionAttachments:Se.updateMany,deleteFormSubmissionAttachment:Se.deleteOne,deleteFormSubmissionAttachments:Se.deleteMany}}),{initializeFormSubmissionAttachments:Co,addFormSubmissionAttachment:rT,addFormSubmissionAttachments:$t,setFormSubmissionAttachment:dT,setFormSubmissionAttachments:uT,updateFormSubmissionAttachment:oT,updateFormSubmissionAttachments:ko,deleteFormSubmissionAttachment:lT,deleteFormSubmissionAttachments:Gt}=oa.actions,Bo=t=>t.formSubmissionAttachmentReducer.instances,la=d.createSelector([Bo],t=>Object.values(t)),$o=f(d.createSelector([la,(t,e)=>e],(t,e)=>{const i=new Set(e);return T(t.filter(a=>i.has(a.uuid)))})),Go=f(d.createSelector([la,(t,e)=>e],(t,e)=>T(t.filter(i=>i.form_submission===e)))),Lo=oa.reducer,Te=P(t=>t.uuid),No=Te.getInitialState({}),ha=d.createSlice({name:"formSubmissions",initialState:No,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,No)),reducers:{initializeFormSubmissions:Te.initialize,setFormSubmission:Te.setOne,setFormSubmissions:Te.setMany,addFormSubmission:Te.addOne,addFormSubmissions:Te.addMany,updateFormSubmission:Te.updateOne,updateFormSubmissions:Te.updateMany,deleteFormSubmission:Te.deleteOne,deleteFormSubmissions:Te.deleteMany}}),{initializeFormSubmissions:Ho,setFormSubmission:Lt,setFormSubmissions:hT,addFormSubmission:ma,addFormSubmissions:Wo,updateFormSubmission:Ko,updateFormSubmissions:mT,deleteFormSubmission:pa,deleteFormSubmissions:Yo}=ha.actions,ya=t=>t.formSubmissionReducer.instances,pT=d.createSelector([ya],t=>Object.values(t)),Aa=t=>e=>e.formSubmissionReducer.instances[t],Zo=f(d.createSelector([ya,na,(t,e)=>e],(t,e,i)=>{const a=new Set;for(const n of Object.values(e))n.form===i&&a.add(n.uuid);return Object.values(t).filter(n=>a.has(n.form_revision))})),Jo=ha.reducer,Ie=P(t=>t.uuid),Xo=Ie.getInitialState({}),fa=d.createSlice({name:"geoImages",initialState:Xo,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,Xo)),reducers:{initializeGeoImages:Ie.initialize,setGeoImage:Ie.setOne,setGeoImages:Ie.setMany,addGeoImage:Ie.addOne,addGeoImages:Ie.addMany,updateGeoImage:Ie.updateOne,updateGeoImages:Ie.updateMany,deleteGeoImage:Ie.deleteOne,deleteGeoImages:Ie.deleteMany}}),{initializeGeoImages:Qo,setGeoImage:ft,setGeoImages:xo,addGeoImage:el,addGeoImages:tl,updateGeoImage:sl,updateGeoImages:yT,deleteGeoImage:Sa,deleteGeoImages:il}=fa.actions,al=t=>t.geoImageReducer.instances,nl=d.createSelector([al],t=>Object.values(t)),Ta=t=>e=>e.geoImageReducer.instances[t],AT=f(d.createSelector([nl,(t,e)=>e],(t,e)=>T(t.filter(i=>i.project===e)))),cl=fa.reducer,ge=P(t=>t.uuid),rl=ge.getInitialState({}),Ia=d.createSlice({name:"issueAssociations",initialState:rl,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,rl)),reducers:{initializeIssueAssociations:ge.initialize,addIssueAssociation:ge.addOne,addIssueAssociations:ge.addMany,setIssueAssociation:ge.setOne,setIssueAssociations:ge.setMany,updateIssueAssociation:ge.updateOne,updateIssueAssociations:ge.updateMany,deleteIssueAssociation:ge.deleteOne,deleteIssueAssociations:ge.deleteMany}}),{initializeIssueAssociations:dl,setIssueAssociations:fT,setIssueAssociation:ST,updateIssueAssociation:ul,updateIssueAssociations:TT,addIssueAssociation:ga,addIssueAssociations:ba,deleteIssueAssociation:Fa,deleteIssueAssociations:Pa}=Ia.actions,St=t=>t.issueAssociationReducer.instances,IT=d.createSelector([St],t=>Object.values(t)),ol=t=>e=>e.issueAssociationReducer.instances[t],ll=f(d.createSelector([St,(t,e)=>e],(t,e)=>T(Object.values(t).filter(i=>i.associated_issue===e)))),hl=f(d.createSelector([St,(t,e)=>e],(t,e)=>T(Object.values(t).filter(i=>i.issue===e)))),ml=f(d.createSelector([St,(t,e)=>e],(t,e)=>T(Object.values(t).filter(i=>i.asset===e)))),pl=Ia.reducer,be=P(t=>t.uuid),yl=be.getInitialState({}),Oa=d.createSlice({name:"issueAttachments",initialState:yl,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,yl)),reducers:{initializeIssueAttachments:be.initialize,addIssueAttachment:be.addOne,addIssueAttachments:be.addMany,setIssueAttachment:be.setOne,setIssueAttachments:be.setMany,updateIssueAttachment:be.updateOne,updateIssueAttachments:be.updateMany,deleteIssueAttachment:be.deleteOne,deleteIssueAttachments:be.deleteMany}}),{initializeIssueAttachments:_a,addIssueAttachment:gT,addIssueAttachments:Ra,setIssueAttachment:Al,setIssueAttachments:bT,updateIssueAttachment:FT,updateIssueAttachments:fl,deleteIssueAttachment:Sl,deleteIssueAttachments:va}=Oa.actions,Tl=t=>t.issueAttachmentReducer.instances,Il=d.createSelector([Tl],t=>Object.values(t)),gl=f(d.createSelector([Il,(t,e)=>e],(t,e)=>T(t.filter(({issue:i})=>e===i)))),bl=t=>e=>e.issueAttachmentReducer.instances[t],Fl=Oa.reducer,Fe=P(t=>t.uuid),Pl=Fe.getInitialState({}),wa=d.createSlice({name:"issueCommentAttachments",initialState:Pl,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,Pl)),reducers:{initializeIssueCommentAttachments:Fe.initialize,addIssueCommentAttachment:Fe.addOne,addIssueCommentAttachments:Fe.addMany,setIssueCommentAttachment:Fe.setOne,setIssueCommentAttachments:Fe.setMany,updateIssueCommentAttachment:Fe.updateOne,updateIssueCommentAttachments:Fe.updateMany,deleteIssueCommentAttachment:Fe.deleteOne,deleteIssueCommentAttachments:Fe.deleteMany}}),{initializeIssueCommentAttachments:Ma,addIssueCommentAttachment:PT,addIssueCommentAttachments:Ol,setIssueCommentAttachment:_l,setIssueCommentAttachments:OT,updateIssueCommentAttachment:_T,updateIssueCommentAttachments:Rl,deleteIssueCommentAttachment:vl,deleteIssueCommentAttachments:wl}=wa.actions,Ml=t=>t.issueCommentAttachmentReducer.instances,El=d.createSelector([Ml],t=>Object.values(t)),Vl=t=>e=>e.issueCommentAttachmentReducer.instances[t],RT=f(d.createSelector([El,(t,e)=>e],(t,e)=>T(t.filter(({issue_comment:i})=>e===i)))),jl=wa.reducer,Pe=P(t=>t.uuid),ql=Pe.getInitialState({}),Ea=d.createSlice({name:"issueComments",initialState:ql,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,ql)),reducers:{initializeIssueComments:Pe.initialize,addIssueComment:Pe.addOne,addIssueComments:Pe.addMany,setIssueComment:Pe.setOne,setIssueComments:Pe.setMany,updateIssueComment:Pe.updateOne,updateIssueComments:Pe.updateMany,deleteIssueComment:Pe.deleteOne,deleteIssueComments:Pe.deleteMany}}),{initializeIssueComments:vT,addIssueComment:Va,addIssueComments:wT,setIssueComment:ja,setIssueComments:zl,updateIssueComment:MT,updateIssueComments:ET,deleteIssueComment:qa,deleteIssueComments:VT}=Ea.actions,Ul=t=>t.issueCommentReducer.instances,za=t=>e=>e.issueCommentReducer.instances[t],jT=f(d.createSelector([Ul,(t,e)=>e],(t,e)=>T(Object.values(t).filter(i=>i.issue===e)))),Dl=Ea.reducer,Oe=P(t=>t.uuid),Cl=Oe.getInitialState({}),Ua=d.createSlice({name:"issues",initialState:Cl,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,Cl)),reducers:{initializeIssues:Oe.initialize,addIssue:Oe.addOne,addIssues:Oe.addMany,setIssue:Oe.setOne,setIssues:Oe.setMany,updateIssue:Oe.updateOne,updateIssues:Oe.updateMany,deleteIssue:Oe.deleteOne,deleteIssues:Oe.deleteMany}}),{initializeIssues:kl,addIssue:Da,addIssues:Bl,setIssue:qT,setIssues:zT,updateIssue:Nt,updateIssues:UT,deleteIssue:Ca,deleteIssues:$l}=Ua.actions,ka=t=>t.issueReducer.instances,Ba=d.createSelector([ka],t=>Object.values(t)),$a=t=>e=>e.issueReducer.instances[t],DT=f(d.createSelector([ka,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const n=t[a];n?i.push(n):console.warn("selectIssuesByIds: No issue exists with the id",a)}return T(i)})),CT=f(d.createSelector([Ba,(t,e)=>e],(t,e)=>t.filter(i=>i.project===e))),Gl=f(d.createSelector([Ba,(t,e)=>e],(t,e)=>t.filter(i=>i.issue_type===e))),Ll=Ua.reducer,_e=P(t=>t.uuid),Nl=_e.getInitialState({}),Ga=d.createSlice({name:"issueTypeAttachments",initialState:Nl,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Nl)),reducers:{initializeIssueTypeAttachments:_e.initialize,addIssueTypeAttachment:_e.addOne,addIssueTypeAttachments:_e.addMany,setIssueTypeAttachment:_e.setOne,setIssueTypeAttachments:_e.setMany,updateIssueTypeAttachment:_e.updateOne,updateIssueTypeAttachments:_e.updateMany,deleteIssueTypeAttachment:_e.deleteOne,deleteIssueTypeAttachments:_e.deleteMany}}),{initializeIssueTypeAttachments:La,addIssueTypeAttachment:kT,addIssueTypeAttachments:Hl,setIssueTypeAttachment:Wl,setIssueTypeAttachments:BT,updateIssueTypeAttachment:$T,updateIssueTypeAttachments:Kl,deleteIssueTypeAttachment:Yl,deleteIssueTypeAttachments:Zl}=Ga.actions,Jl=t=>t.issueTypeAttachmentReducer.instances,Xl=d.createSelector([Jl],t=>Object.values(t)),Ql=t=>e=>e.issueTypeAttachmentReducer.instances[t],GT=f(d.createSelector([Xl,(t,e)=>e],(t,e)=>T(t.filter(({issue_type:i})=>e===i)))),xl=Ga.reducer,Re=P(t=>t.uuid),eh=Re.getInitialState({}),Na=d.createSlice({name:"issueTypeFieldsAttachments",initialState:eh,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,eh)),reducers:{initializeIssueTypeFieldsAttachments:Re.initialize,addIssueTypeFieldsAttachment:Re.addOne,addIssueTypeFieldsAttachments:Re.addMany,setIssueTypeFieldsAttachment:Re.setOne,setIssueTypeFieldsAttachments:Re.setMany,updateIssueTypeFieldsAttachment:Re.updateOne,updateIssueTypeFieldsAttachments:Re.updateMany,deleteIssueTypeFieldsAttachment:Re.deleteOne,deleteIssueTypeFieldsAttachments:Re.deleteMany}}),{initializeIssueTypeFieldsAttachments:th,addIssueTypeFieldsAttachment:LT,addIssueTypeFieldsAttachments:sh,setIssueTypeFieldsAttachment:NT,setIssueTypeFieldsAttachments:HT,updateIssueTypeFieldsAttachment:WT,updateIssueTypeFieldsAttachments:ih,deleteIssueTypeFieldsAttachment:KT,deleteIssueTypeFieldsAttachments:ah}=Na.actions,nh=t=>t.issueTypeFieldsAttachmentReducer.instances,ch=d.createSelector([nh],t=>Object.values(t)),YT=f(d.createSelector([ch,(t,e)=>e],(t,e)=>T(t.filter(i=>i.fields_revision===e)))),ZT=t=>e=>e.issueTypeFieldsAttachmentReducer.instances[t],rh=Na.reducer,ve=P(t=>t.uuid),dh=ve.getInitialState({}),Ha=d.createSlice({name:"issueTypeFieldValues",initialState:dh,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,dh)),reducers:{initializeIssueTypeFieldValues:ve.initialize,addIssueTypeFieldValues:ve.addOne,addIssueTypeFieldValuesMany:ve.addMany,setIssueTypeFieldValues:ve.setOne,setIssueTypeFieldValuesMany:ve.setMany,updateIssueTypeFieldValues:ve.updateOne,updateIssueTypeFieldValuesMany:ve.updateMany,deleteIssueTypeFieldValues:ve.deleteOne,deleteIssueTypeFieldValuesMany:ve.deleteMany}}),{initializeIssueTypeFieldValues:uh,addIssueTypeFieldValues:Wa,addIssueTypeFieldValuesMany:JT,setIssueTypeFieldValues:XT,setIssueTypeFieldValuesMany:QT,updateIssueTypeFieldValues:Tt,updateIssueTypeFieldValuesMany:xT,deleteIssueTypeFieldValues:Ka,deleteIssueTypeFieldValuesMany:eI}=Ha.actions,oh=t=>t.issueTypeFieldValuesReducer.instances,Ya=d.createSelector([oh],t=>Object.values(t)),tI=f(d.createSelector([Ya,(t,e)=>e],(t,e)=>T(t.filter(i=>i.issue===e)))),Za=t=>e=>e.issueTypeFieldValuesReducer.instances[t],lh=Ha.reducer,we=P(t=>t.uuid),hh=we.getInitialState({}),Ja=d.createSlice({name:"issueTypeFields",initialState:hh,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,hh)),reducers:{initializeIssueTypeFields:we.initialize,addIssueTypeFields:we.addOne,addIssueTypeFieldsMany:we.addMany,setIssueTypeFields:we.setOne,setIssueTypeFieldsMany:we.setMany,updateIssueTypeFields:we.updateOne,updateIssueTypeFieldsMany:we.updateMany,deleteIssueTypeFields:we.deleteOne,deleteIssueTypeFieldsMany:we.deleteMany}}),{initializeIssueTypeFields:mh,addIssueTypeFields:ph,addIssueTypeFieldsMany:sI,setIssueTypeFields:iI,setIssueTypeFieldsMany:aI,updateIssueTypeFields:yh,updateIssueTypeFieldsMany:nI,deleteIssueTypeFields:Ah,deleteIssueTypeFieldsMany:cI}=Ja.actions,fh=t=>t.issueTypeFieldsReducer.instances,Ht=d.createSelector([fh],t=>Object.values(t)),rI=f(d.createSelector([Ht,(t,e)=>e],(t,e)=>T(t.filter(i=>i.issue_type===e)))),dI=f(d.createSelector([Ht,(t,e)=>e],(t,e)=>t.filter(i=>i.issue_type===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),uI=f(d.createSelector([Ht,Ya,(t,e)=>e],(t,e,i)=>{const a=new Set(t.filter(n=>n.issue_type===i).map(n=>n.uuid));return T(e.filter(n=>a.has(n.fields_revision)))})),oI=t=>e=>e.issueTypeFieldsReducer.instances[t],Sh=Ja.reducer,Me=P(t=>t.uuid),Th=Me.getInitialState({}),Xa=d.createSlice({name:"issueTypeFieldValuesAttachments",initialState:Th,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,Th)),reducers:{initializeIssueTypeFieldValuesAttachments:Me.initialize,addIssueTypeFieldValuesAttachment:Me.addOne,addIssueTypeFieldValuesAttachments:Me.addMany,setIssueTypeFieldValuesAttachment:Me.setOne,setIssueTypeFieldValuesAttachments:Me.setMany,updateIssueTypeFieldValuesAttachment:Me.updateOne,updateIssueTypeFieldValuesAttachments:Me.updateMany,deleteIssueTypeFieldValuesAttachment:Me.deleteOne,deleteIssueTypeFieldValuesAttachments:Me.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:Ih,addIssueTypeFieldValuesAttachment:lI,addIssueTypeFieldValuesAttachments:Wt,setIssueTypeFieldValuesAttachment:hI,setIssueTypeFieldValuesAttachments:mI,updateIssueTypeFieldValuesAttachment:pI,updateIssueTypeFieldValuesAttachments:gh,deleteIssueTypeFieldValuesAttachment:yI,deleteIssueTypeFieldValuesAttachments:Kt}=Xa.actions,bh=t=>t.issueTypeFieldValuesAttachmentReducer.instances,Qa=d.createSelector([bh],t=>Object.values(t)),AI=t=>e=>e.issueTypeFieldValuesAttachmentReducer.instances[t],Fh=f(d.createSelector([Qa,(t,e)=>e],(t,e)=>{const i=new Set(e);return T(t.filter(a=>i.has(a.uuid)))})),Ph=f(d.createSelector([Qa,(t,e)=>e],(t,e)=>T(t.filter(i=>i.field_values===e)))),Oh=Xa.reducer,Ee=P(t=>t.uuid),_h=Ee.getInitialState({}),xa=d.createSlice({name:"issueTypeIdentifiers",initialState:_h,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,_h)),reducers:{initializeIssueTypeIdentifiers:Ee.initialize,addIssueTypeIdentifier:Ee.addOne,addIssueTypeIdentifiers:Ee.addMany,setIssueTypeIdentifier:Ee.setOne,setIssueTypeIdentifiers:Ee.setMany,updateIssueTypeIdentifier:Ee.updateOne,updateIssueTypeIdentifiers:Ee.updateMany,deleteIssueTypeIdentifier:Ee.deleteOne,deleteIssueTypeIdentifiers:Ee.deleteMany}}),{initializeIssueTypeIdentifiers:Rh,addIssueTypeIdentifier:en,addIssueTypeIdentifiers:fI,setIssueTypeIdentifier:SI,setIssueTypeIdentifiers:TI,updateIssueTypeIdentifier:It,updateIssueTypeIdentifiers:II,deleteIssueTypeIdentifier:tn,deleteIssueTypeIdentifiers:gI}=xa.actions,vh=t=>t.issueTypeIdentifierReducer.instances,wh=d.createSelector([vh],t=>Object.values(t)),sn=t=>e=>e.issueTypeIdentifierReducer.instances[t],bI=f(d.createSelector([wh,(t,e)=>e],(t,e)=>T(t.filter(i=>i.issue_type===e)))),Mh=xa.reducer,Ve=P(t=>t.uuid),Eh=Ve.getInitialState({}),an=d.createSlice({name:"issueTypeIdentifierValues",initialState:Eh,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,Eh)),reducers:{initializeIssueTypeIdentifierValues:Ve.initialize,addIssueTypeIdentifierValue:Ve.addOne,addIssueTypeIdentifierValues:Ve.addMany,setIssueTypeIdentifierValue:Ve.setOne,setIssueTypeIdentifierValues:Ve.setMany,updateIssueTypeIdentifierValue:Ve.updateOne,updateIssueTypeIdentifierValues:Ve.updateMany,deleteIssueTypeIdentifierValue:Ve.deleteOne,deleteIssueTypeIdentifierValues:Ve.deleteMany}}),{initializeIssueTypeIdentifierValues:Vh,addIssueTypeIdentifierValue:nn,addIssueTypeIdentifierValues:FI,setIssueTypeIdentifierValue:PI,setIssueTypeIdentifierValues:OI,updateIssueTypeIdentifierValue:gt,updateIssueTypeIdentifierValues:_I,deleteIssueTypeIdentifierValue:cn,deleteIssueTypeIdentifierValues:RI}=an.actions,jh=t=>t.issueTypeIdentifierValueReducer.instances,rn=d.createSelector([jh],t=>Object.values(t)),dn=t=>e=>e.issueTypeIdentifierValueReducer.instances[t],vI=f(d.createSelector([rn,(t,e)=>e],(t,e)=>T(t.filter(i=>i.issue===e)))),wI=f(d.createSelector([rn,(t,e)=>e],(t,e)=>T(t.filter(i=>i.issue_type_identifier===e)))),qh=an.reducer,C=P(t=>t.uuid),zh=C.getInitialState({}),un=d.createSlice({name:"issueTypes",initialState:zh,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,zh)),reducers:{initializeIssueTypes:C.initialize,addIssueType:C.addOne,addIssueTypes:C.addMany,setIssueType:C.setOne,setIssueTypes:C.setMany,updateIssueType:C.updateOne,updateIssueTypes:C.updateMany,deleteIssueType:C.deleteOne,deleteIssueTypes:C.deleteMany,removeIssueType:C.deleteOne}}),{initializeIssueTypes:Uh,addIssueType:Dh,addIssueTypes:MI,setIssueType:bt,setIssueTypes:EI,updateIssueType:Ch,updateIssueTypes:VI,deleteIssueType:jI,deleteIssueTypes:qI,removeIssueType:on}=un.actions,ln=t=>t.issueTypeReducer.instances,kh=d.createSelector(ln,t=>Object.values(t)),hn=t=>e=>e.issueTypeReducer.instances[t],zI=f(d.createSelector([ln,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const n=t[a];n?i.push(n):console.warn("selectIssueTypesByIds: No issue type exists with the id",a)}return i})),UI=f(d.createSelector([kh,(t,e)=>e],(t,e)=>T(t.filter(i=>i.organization===e)))),Bh=un.reducer,je=P(t=>t.uuid),$h=je.getInitialState({}),mn=d.createSlice({name:"issueUpdates",initialState:$h,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,$h)),reducers:{initializeIssueUpdates:je.initialize,addIssueUpdate:je.addOne,addIssueUpdates:je.addMany,setIssueUpdate:je.setOne,setIssueUpdates:je.setMany,updateIssueUpdate:je.updateOne,updateIssueUpdates:je.updateMany,deleteIssueUpdate:je.deleteOne,deleteIssueUpdates:je.deleteMany}}),{initializeIssueUpdates:Gh,addIssueUpdate:Lh,addIssueUpdates:Nh,setIssueUpdate:DI,setIssueUpdates:CI,updateIssueUpdate:kI,updateIssueUpdates:BI,deleteIssueUpdate:Hh,deleteIssueUpdates:Wh}=mn.actions,Kh=t=>t.issueUpdateReducer.instances,Yh=d.createSelector([Kh],t=>Object.values(t)),Zh=f(d.createSelector([Yh,(t,e)=>e],(t,e)=>T(t.filter(i=>i.issue===e)))),Jh=mn.reducer,qe=P(t=>t.id),Xh=qe.getInitialState({currentUser:null}),pn=d.createSlice({name:"users",initialState:Xh,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Xh)),reducers:{initializeUsers:qe.initialize,setUsers:qe.setMany,setUser:qe.setOne,addUsers:qe.addMany,addUser:qe.addOne,updateUsers:qe.updateMany,updateUser:qe.updateOne,deleteUser:qe.deleteOne,deleteUsers:qe.deleteMany,setCurrentUser:(t,e)=>{t.currentUser=e.payload},setProfilePicture:(t,e)=>{if(!t.currentUser)return;t.currentUser.profile.file=e.payload.file??null,t.currentUser.profile.file_sha1=e.payload.file_sha1??null;const i=t.instances[t.currentUser.id];if(!i)throw new Error("Unable to find current user in users slice");i.profile.file=e.payload.file??null,i.profile.file_sha1=e.payload.file_sha1??null}}}),{initializeUsers:Qh,setUsers:$I,setUser:GI,addUsers:LI,addUser:xh,updateUsers:NI,updateUser:HI,deleteUser:em,deleteUsers:WI,setCurrentUser:KI,setProfilePicture:YI}=pn.actions,tm=pn.reducer,sm=t=>t.userReducer.currentUser,Yt=t=>t.userReducer.instances,yn=d.createSelector([Yt],t=>Object.values(t)),im=t=>e=>e.userReducer.instances[t],ZI=f(d.createSelector([Yt,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const n=t[a];n?i.push(n):console.warn("selectUsersByIds: No user exists with the id",a)}return T(i)})),ze=P(t=>t.uuid),am=ze.getInitialState({}),An=d.createSlice({name:"organizationAccess",initialState:am,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,am)),reducers:{initializeOrganizationAccesses:ze.initialize,addOrganizationAccess:ze.addOne,addOrganizationAccesses:ze.addMany,setOrganizationAccess:ze.setOne,setOrganizationAccesses:ze.setMany,updateOrganizationAccess:ze.updateOne,updateOrganizationAccesses:ze.updateMany,deleteOrganizationAccess:ze.deleteOne,deleteOrganizationAccesses:ze.deleteMany}}),{initializeOrganizationAccesses:nm,addOrganizationAccess:cm,addOrganizationAccesses:JI,setOrganizationAccess:XI,setOrganizationAccesses:QI,updateOrganizationAccess:Zt,updateOrganizationAccesses:xI,deleteOrganizationAccess:rm,deleteOrganizationAccesses:eg}=An.actions,dm=An.reducer,fn=t=>t.organizationAccessReducer.instances,Sn=t=>e=>e.organizationAccessReducer.instances[t],tg=d.createSelector([sm,fn],(t,e)=>Object.values(e).find(a=>a.user===(t==null?void 0:t.id))??null),um=d.createSelector([fn],t=>{const e={};for(const i of Object.values(t))e[i.user]=i;return _t(e)}),sg=f(d.createSelector([Yt,um,(t,e)=>e],(t,e,i)=>T(Object.values(t).filter(a=>{const n=e[a.id];return!!n&&n.organization===i})))),Ue=P(t=>t.uuid),om=Ue.getInitialState({}),Tn=d.createSlice({name:"organizations",initialState:om,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,om)),reducers:{initializeOrganizations:Ue.initialize,setOrganizations:Ue.setMany,setOrganization:Ue.setOne,addOrganizations:Ue.addMany,addOrganization:Ue.addOne,updateOrganizations:Ue.updateMany,updateOrganization:Ue.updateOne,deleteOrganization:Ue.deleteOne,deleteOrganizations:Ue.deleteMany}}),{initializeOrganizations:lm,setOrganizations:ig,setOrganization:ag,addOrganizations:ng,addOrganization:hm,updateOrganizations:cg,updateOrganization:mm,deleteOrganization:rg,deleteOrganizations:dg}=Tn.actions,pm=t=>t.organizationReducer.instances,ug=d.createSelector([pm],t=>Object.values(t)),og=t=>e=>e.organizationReducer.instances[t],ym=Tn.reducer,Am=(t,e,i)=>{const a=t.uuid?t:{...t,uuid:Xe.v4()};return{payload:a,type:"",meta:{offline:{effect:{timestamp:new Date().toISOString(),request:a,BASE_URL:e,serviceName:i}}}}},fm={deletedRequests:[],latestRetryTime:0},In=d.createSlice({name:"outbox",initialState:fm,extraReducers:t=>t.addCase(g,e=>Object.assign(e,fm)),reducers:{enqueueRequest:{reducer:(t,e)=>t,prepare:t=>{console.debug("Preparing to enqueue request",t);const{BASE_URL:e,serviceName:i,...a}=t;return Am(a,e,i)}},markForDeletion(t,e){t.deletedRequests.push(e.payload)},markAsDeleted(t,e){const i=t.deletedRequests.indexOf(e.payload);i!==-1&&t.deletedRequests.splice(i,1)},_setLatestRetryTime:(t,e)=>{t.latestRetryTime=e.payload}}}),lg=t=>t.outboxReducer.deletedRequests,hg=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:Sm,markForDeletion:mg,markAsDeleted:Tm,_setLatestRetryTime:Im}=In.actions,gm=In.reducer,De=P(t=>t.uuid),bm=De.getInitialState({}),gn=d.createSlice({name:"projectAccess",initialState:bm,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,bm)),reducers:{initializeProjectAccesses:De.initialize,addProjectAccess:De.addOne,addProjectAccesses:De.addMany,setProjectAccess:De.setOne,setProjectAccesses:De.setMany,updateProjectAccess:De.updateOne,updateProjectAccesses:De.updateMany,deleteProjectAccess:De.deleteOne,deleteProjectAccesses:De.deleteMany}}),{initializeProjectAccesses:Fm,addProjectAccess:bn,addProjectAccesses:Fn,setProjectAccess:pg,setProjectAccesses:yg,updateProjectAccess:Ft,updateProjectAccesses:Pm,deleteProjectAccess:Pn,deleteProjectAccesses:On}=gn.actions,Om=gn.reducer,_n=t=>t.projectAccessReducer.instances,Jt=d.createSelector(_n,t=>Object.values(t)),Rn=t=>e=>e.projectAccessReducer.instances[t],_m=f(d.createSelector([_n,(t,e)=>e],(t,e)=>T(Object.values(t).filter(i=>i.project===e)))),Ag=f(d.createSelector([Jt,(t,e)=>e],(t,e)=>{const i={};for(const a of t.filter(n=>n.project===e))i[a.user]=a;return i})),fg=f(d.createSelector([yn,Jt,(t,e)=>e],(t,e,i)=>{const a=new Set(e.filter(n=>n.project===i).map(n=>n.user));return T(t.filter(n=>a.has(n.id)))})),Ce=P(t=>t.uuid),Rm=Ce.getInitialState({}),vn=d.createSlice({name:"projectAttachments",initialState:Rm,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Rm)),reducers:{initializeProjectAttachments:Ce.initialize,addProjectAttachment:Ce.addOne,addProjectAttachments:Ce.addMany,setProjectAttachment:Ce.setOne,setProjectAttachments:Ce.setMany,updateProjectAttachment:Ce.updateOne,updateProjectAttachments:Ce.updateMany,deleteProjectAttachment:Ce.deleteOne,deleteProjectAttachments:Ce.deleteMany}}),{initializeProjectAttachments:vm,addProjectAttachment:Sg,addProjectAttachments:wm,setProjectAttachment:Mm,setProjectAttachments:Em,updateProjectAttachment:Tg,updateProjectAttachments:Vm,deleteProjectAttachment:jm,deleteProjectAttachments:wn}=vn.actions,qm=t=>t.projectAttachmentReducer.instances,zm=d.createSelector([qm],t=>Object.values(t)),Um=t=>e=>e.projectAttachmentReducer.instances[t],Dm=f(d.createSelector([zm,(t,e)=>e],(t,e)=>T(t.filter(({project:i})=>e===i)))),Cm=vn.reducer,ke=P(t=>t.uuid),km=ke.getInitialState({activeProjectFileId:null,isImportingProjectFile:!1}),Mn=d.createSlice({name:"projectFiles",initialState:km,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,km)),reducers:{initializeProjectFiles:ke.initialize,setProjectFile:ke.setOne,setProjectFiles:ke.setMany,addProjectFile:ke.addOne,addProjectFiles:ke.addMany,updateProjectFile:ke.updateOne,updateProjectFiles:ke.updateMany,deleteProjectFile:ke.deleteOne,deleteProjectFiles:ke.deleteMany,setIsImportingProjectFile:(t,e)=>{t.isImportingProjectFile=e.payload},saveActiveProjectFileBounds:(t,e)=>{const i=t.activeProjectFileId;if(!i)throw new Error("Tried to save bounds for active project file, but no active project file was set.");if(!t.instances[i])throw new Error(`Tried to save bounds for active project file, but project file with ID ${i}
|
|
1
|
+
(function(s,U){typeof exports=="object"&&typeof module<"u"?U(exports,require("@redux-offline/redux-offline/lib/types"),require("@reduxjs/toolkit"),require("superagent"),require("uuid"),require("file-saver"),require("fast-tree-builder"),require("ts-tree-lib"),require("react"),require("@redux-offline/redux-offline"),require("@redux-offline/redux-offline/lib/defaults"),require("buffer"),require("localforage"),require("redux-persist-migrate"),require("@overmap-ai/forms"),require("idb"),require("jwt-decode"),require("dependency-graph"),require("@tiptap/core")):typeof define=="function"&&define.amd?define(["exports","@redux-offline/redux-offline/lib/types","@reduxjs/toolkit","superagent","uuid","file-saver","fast-tree-builder","ts-tree-lib","react","@redux-offline/redux-offline","@redux-offline/redux-offline/lib/defaults","buffer","localforage","redux-persist-migrate","@overmap-ai/forms","idb","jwt-decode","dependency-graph","@tiptap/core"],U):(s=typeof globalThis<"u"?globalThis:s||self,U(s["overmap-core"]={},null,s.toolkit,s.request,s.uuid,s.fileSaver,s.buildTree,s.tsTreeLib,s.react,s.reduxOffline,s.offlineConfig,null,s.localforage,s.createMigration,null,s.idb,s.jwtDecode,s.dependencyGraph))})(this,function(s,U,d,Je,Xe,Gp,Lp,xn,Np,Hp,ec,EF,Wp,Kp,VF,Yp,Zp,Jp){"use strict";var wF=Object.defineProperty;var MF=(s,U,d)=>U in s?wF(s,U,{enumerable:!0,configurable:!0,writable:!0,value:d}):s[U]=d;var S=(s,U,d)=>MF(s,typeof U!="symbol"?U+"":U,d);var $p;const tc=Object.freeze([]),sc=Object.freeze({});var ic=(t=>(t[t.GUEST=0]="GUEST",t[t.BASIC=2]="BASIC",t[t.ADMIN=4]="ADMIN",t))(ic||{}),l=(t=>(t.GET="GET",t.POST="POST",t.PATCH="PATCH",t.PUT="PUT",t.DELETE="DELETE",t))(l||{}),ac=(t=>(t.Issue="issue",t.Asset="asset",t.AssetType="asset_type",t.Project="project",t.Document="document",t))(ac||{}),xt=(t=>(t[t.LOWEST=0]="LOWEST",t[t.LOW=2]="LOW",t[t.MEDIUM=4]="MEDIUM",t[t.HIGH=6]="HIGH",t[t.HIGHEST=8]="HIGHEST",t))(xt||{}),es=(t=>(t[t.BACKLOG=0]="BACKLOG",t[t.SELECTED=2]="SELECTED",t[t.DONE=4]="DONE",t))(es||{}),E=(t=>(t.STATUS="status",t.PRIORITY="priority",t.CATEGORY="category",t.DESCRIPTION="description",t.TITLE="title",t.ASSIGNED_TO="assigned_to",t.DUE_DATE="due_date",t))(E||{});const Xp=es.BACKLOG,Qp=xt.MEDIUM,nc=6e4;function P(t){return{addOne:(p,y)=>{const A=t(y.payload);p.instances[A]=y.payload},addMany:(p,y)=>{for(const A of y.payload){const I=t(A);p.instances[I]=A}},setOne:(p,y)=>{const A=t(y.payload);p.instances[A]=y.payload},setMany:(p,y)=>{for(const A of y.payload){const I=t(A);p.instances[I]=A}},updateOne:(p,y)=>{const A=t(y.payload);p.instances[A]=y.payload},updateMany:(p,y)=>{for(const A of y.payload){const I=t(A);p.instances[I]=A}},deleteOne:(p,y)=>{delete p.instances[y.payload]},deleteMany:(p,y)=>{for(const A of y.payload)delete p.instances[A]},initialize:(p,y)=>{p.instances={};const A=new Set;for(const I of y.payload){const F=t(I);A.add(F),p.instances[F]=I}A.size!==y.payload.length&&console.warn("duplicate ids detected when initializing model instances.")},getInitialState:p=>({...p,instances:{}})}}function xp(){return{initializeSelection:(m,o)=>{m.selection=Array.from(new Set(o.payload))},selectOne:(m,o)=>{new Set(m.selection).has(o.payload)||m.selection.push(o.payload)},selectMany:(m,o)=>{const h=new Set(m.selection);for(const p of o.payload)h.has(p)||h.add(p);m.selection=Array.from(h)},unselectOne:(m,o)=>{const h=new Set(m.selection);h.has(o.payload)&&(h.delete(o.payload),m.selection=Array.from(h))},unselectMany:(m,o)=>{const h=new Set(m.selection);for(const p of o.payload)h.has(p)&&h.delete(p);m.selection=Array.from(h)},toggleOne:(m,o)=>{const h=new Set(m.selection);h.has(o.payload)?h.delete(o.payload):h.add(o.payload),m.selection=Array.from(h)},toggleMany:(m,o)=>{const h=new Set(m.selection);for(const p of o.payload)h.has(p)?h.delete(p):h.add(p);m.selection=Array.from(h)},getInitialState:m=>({...m,selection:[]})}}const it="versioning",g=d.createAction("RESET"),M=d.createAction("RESET_PROJECT_STATE"),O=d.createAction("RESET_ORGANIZATION_STATE");$p=Symbol.toStringTag;class cc{constructor(){S(this,$p,"Promise");S(this,"_promise");S(this,"_resolve");S(this,"_reject");S(this,"_state","pending");this._resolve=null,this._reject=null,this._promise=new Promise((e,i)=>{this._resolve=e,this._reject=i})}get state(){return this._state}then(e,i){return this._promise.then(e,i)}catch(e){return this._promise.catch(e)}resolve(e){if(!this._resolve)throw new Error("No resolve callback");this._resolve(e),this._state="fulfilled"}reject(e){if(!this._reject)throw e;this._reject(e),this._state="rejected"}finally(e){throw new Error("`finally` not implemented")}}let ts=!1;["true","1"].includes("".toLowerCase())&&(ts=!0);function ey(t,e){if(t===e)return!0;if(typeof t!=typeof e)return!1;const i=Object.keys(t),a=Object.keys(e),n=i.length;if(n!==a.length)return!1;for(let c=0;c<n;c++){const r=i[c];if(!Object.prototype.hasOwnProperty.call(e,r)||t[r]!==e[r])return!1}return!0}function ss(t){const e={};return function(){const i=Array.prototype.slice.call(arguments);return i in e?(ts&&console.debug(`Memoization debug: Using memorized return value for ${t.toString()}(`,i,")"),e[i]):(ts&&console.debug(`Memoization debug: Cache miss! Memoizing ${t.toString()}(`,i,")"),e[i]=t.apply(this,i))}}function ty(t,e){if(t.length!==e.length)return!1;for(let i=0;i<t.length;i++)if(t[i]!==e[i])return!1;return!0}const T=t=>t.length===0?tc:t,_t=t=>Object.keys(t).length===0?sc:t,rc=ss(t=>{if(!t)return"";const e=new Date(t),i=e.getFullYear()===is.getFullYear(),a={day:"numeric",month:"short"};return i||(a.year="numeric"),e.toLocaleDateString([],a)}),sy=new Intl.RelativeTimeFormat([],{style:"long",numeric:"auto"}),iy=1e3*86400,is=new Date,ay=t=>new Date(t).toDateString()===is.toDateString(),ny=ss((t,e,i)=>{const a=Math.round((new Date(t).getTime()-is.getTime())/iy);return a<e||a>i?rc(t):sy.format(a,"days")});function cy(t){return new Uint8Array(t).reduce((i,a)=>i+a.toString(16).padStart(2,"0"),"")}const as=async(t,e)=>{e||(e=await Qe(t));let i=t.type;if(i.includes("/")&&(i=i.split("/")[1]),!i)throw new Error(`Could not extract file type from ${t.type}`);return`${e}.${i}`};function Qe(t){return new Promise((e,i)=>{const a=new FileReader;a.onload=()=>{const n=a.result;if(!n){i(new Error("FileReader did not return a valid ArrayBuffer."));return}crypto.subtle.digest("SHA-1",n).then(c=>{const r=cy(c);e(r)})},a.readAsArrayBuffer(t)})}function ry(t){if(!t.name||!t.type||!t.size){const e="File has no name, type, and/or size";throw new Error(e)}return`${t.name}&${t.type}${t.size}`}function dc(t,e){return new File([t],e,{type:t.type})}function dy(t,e){const i=document.createElement("a");i.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(e)),i.setAttribute("download",t),i.style.display="none",document.body.appendChild(i),i.click(),document.body.removeChild(i)}const uy=async t=>{const e={};for(const i of t){const a=await Qe(i);e[a]={sha1:a,extension:i.name.split(".").pop()||"",file_type:i.type,size:i.size}}return Object.values(e)},uc=async t=>(await fetch(t)).blob(),oy=t=>new Promise((e,i)=>{const a=new FileReader;a.onloadend=()=>{var n;e(((n=a.result)==null?void 0:n.toString())||"")},a.readAsDataURL(t)});function ly(t){const e=new Blob([t]);Gp.saveAs(e,t.name)}const oc={};function hy(t,e,i,...a){const n=oc[t];let c=!1;n?n[e]||(n[e]=!0,c=!0):(oc[t]={[e]:!0},c=!0),c&&console[i](...a)}const lc=["created_at","updated_at","index","revision"];function b(t){return{...t,uuid:Xe.v4()}}function hc(t){const e={};for(const i of t)e[i.uuid]=i;return e}function mc(t){return t.map(({uuid:e})=>e)}function my(t,e=void 0,i=255){let a=t.replace(/[^a-z0-9_\-.]/gi,"_").replace(/_{2,}/g,"_");if(!e){const c=t.split(".");c.length>1&&(e=c[c.length-1])}e&&!e.startsWith(".")&&(e="."+e);const n=e?e.length:0;return a.length+n>i&&(a=a.slice(0,i-n)+(e||"")),a}function py(t){return t.toLowerCase().replace(" ","-")}function yy(t,e=!1){return t.normalize("NFKD").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,e?"_":"-")}function Ay(t,e){if(t.length<=e)return t;const i=t.slice(0,e-1);return i.slice(0,i.lastIndexOf(" "))+"…"}const f=t=>e=>i=>t(i,e);function pc(t,e,i){return i.findIndex(a=>a.uuid===t.uuid)===e}function fy(t,e,i){return i.findIndex(a=>a.file_sha1===t.file_sha1)===e}const Sy=/^.+@.+\..+$/;function v(t){const e={...t};for(const i of[...lc,"created_by"])i in e&&delete e[i];return e}const yc=t=>{const e=t.toSorted((i,a)=>i.order-a.order);return Lp(e,{id:i=>i.uuid,parentId:i=>i.parent,includeEmptyChildrenArray:!0,valueKey:!1})},Ty=t=>{const{roots:e}=yc(t);return e.map(i=>new xn.Tree(i))},Ac=(t,e)=>{const{nodes:i}=yc(e),a=i.get(t);if(!a)throw new Error(`Node with uuid ${t} does not exist in asset procedure step tree.`);return new xn.Tree(a)},k=P(t=>t.uuid),fc=k.getInitialState({}),ns=d.createSlice({name:"agents",initialState:fc,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,fc)),reducers:{initializeConversations:k.initialize,addConversation:k.addOne,addConversations:k.addMany,setConversation:k.setOne,setConversations:k.setMany,updateConversation:k.updateOne,updateConversations:k.updateMany,deleteConversation:k.deleteOne,deleteConversations:k.deleteMany}}),{initializeConversations:Sc,addConversation:Tc,addConversations:Iy,setConversation:Ic,setConversations:gy,updateConversation:gc,updateConversations:by,deleteConversation:Fy,deleteConversations:Py}=ns.actions,cs=t=>t.agentsReducer.instances,Oy=d.createSelector([cs],t=>Object.values(t)),_y=f(d.createSelector([cs,(t,e)=>e],(t,e)=>t[e])),bc=ns.reducer,B=P(t=>t.uuid),Fc=B.getInitialState({}),rs=d.createSlice({name:"assetAttachments",initialState:Fc,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,Fc)),reducers:{initializeAssetAttachments:B.initialize,addAssetAttachment:B.addOne,addAssetAttachments:B.addMany,setAssetAttachment:B.setOne,setAssetAttachments:B.setMany,updateAssetAttachment:B.updateOne,updateAssetAttachments:B.updateMany,deleteAssetAttachment:B.deleteOne,deleteAssetAttachments:B.deleteMany}}),{initializeAssetAttachments:ds,addAssetAttachment:Ry,addAssetAttachments:us,setAssetAttachment:Pc,setAssetAttachments:vy,updateAssetAttachment:wy,updateAssetAttachments:Oc,deleteAssetAttachment:_c,deleteAssetAttachments:os}=rs.actions,Rc=t=>t.assetAttachmentReducer.instances,vc=d.createSelector([Rc],t=>Object.values(t)),wc=t=>e=>e.assetAttachmentReducer.instances[t],Mc=f(d.createSelector([vc,(t,e)=>e],(t,e)=>T(t.filter(({asset:i})=>e===i)))),Ec=rs.reducer,$=P(({uuid:t})=>t),Vc=$.getInitialState({}),ls=d.createSlice({name:"assetProcedureTypeAttachments",initialState:Vc,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Vc)),reducers:{initializeAssetProcedureTypeAttachments:$.initialize,addAssetProcedureTypeAttachment:$.addOne,addAssetProcedureTypeAttachments:$.addMany,setAssetProcedureTypeAttachment:$.setOne,setAssetProcedureTypeAttachments:$.setMany,updateAssetProcedureTypeAttachment:$.updateOne,updateAssetProcedureTypeAttachments:$.updateMany,deleteAssetProcedureTypeAttachment:$.deleteOne,deleteAssetProcedureTypeAttachments:$.deleteMany}}),{initializeAssetProcedureTypeAttachments:jc,addAssetProcedureTypeAttachment:My,addAssetProcedureTypeAttachments:qc,setAssetProcedureTypeAttachment:zc,setAssetProcedureTypeAttachments:Ey,updateAssetProcedureTypeAttachment:Vy,updateAssetProcedureTypeAttachments:Uc,deleteAssetProcedureTypeAttachment:Dc,deleteAssetProcedureTypeAttachments:Cc}=ls.actions,kc=ls.reducer,Bc=t=>t.assetProcedureTypeAttachmentReducer.instances,$c=d.createSelector([Bc],t=>Object.values(t)),Gc=t=>e=>e.assetProcedureTypeAttachmentReducer.instances[t],jy=f(d.createSelector([$c,(t,e)=>e],(t,e)=>T(t.filter(({asset_procedure_type:i})=>e===i)))),G=P(({uuid:t})=>t),Lc=G.getInitialState({}),hs=d.createSlice({name:"assetProcedureTypeFieldsAttachments",initialState:Lc,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Lc)),reducers:{initializeAssetProcedureTypeFieldsAttachments:G.initialize,addAssetProcedureTypeFieldsAttachment:G.addOne,addAssetProcedureTypeFieldsAttachments:G.addMany,setAssetProcedureTypeFieldsAttachment:G.setOne,setAssetProcedureTypeFieldsAttachments:G.setMany,updateAssetProcedureTypeFieldsAttachment:G.updateOne,updateAssetProcedureTypeFieldsAttachments:G.updateMany,deleteAssetProcedureTypeFieldsAttachment:G.deleteOne,deleteAssetProcedureTypeFieldsAttachments:G.deleteMany}}),{initializeAssetProcedureTypeFieldsAttachments:Nc,addAssetProcedureTypeFieldsAttachment:qy,addAssetProcedureTypeFieldsAttachments:Hc,setAssetProcedureTypeFieldsAttachment:zy,setAssetProcedureTypeFieldsAttachments:Uy,updateAssetProcedureTypeFieldsAttachment:Dy,updateAssetProcedureTypeFieldsAttachments:Wc,deleteAssetProcedureTypeFieldsAttachment:Cy,deleteAssetProcedureTypeFieldsAttachments:Kc}=hs.actions,Yc=hs.reducer,Zc=t=>t.assetProcedureTypeFieldsAttachmentReducer.instances,Jc=d.createSelector([Zc],t=>Object.values(t)),ky=f(d.createSelector([Jc,(t,e)=>e],(t,e)=>T(t.filter(i=>i.fields_revision===e)))),By=t=>e=>e.assetProcedureTypeFieldsAttachmentReducer.instances[t],L=P(({uuid:t})=>t),Xc=L.getInitialState({}),ms=d.createSlice({name:"assetProcedureTypeFields",initialState:Xc,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Xc)),reducers:{initializeAssetProcedureTypeFields:L.initialize,addAssetProcedureTypeFields:L.addOne,addAssetProcedureTypeFieldsMany:L.addMany,setAssetProcedureTypeFields:L.setOne,setAssetProcedureTypeFieldsMany:L.setMany,updateAssetProcedureTypeFields:L.updateOne,updateAssetProcedureTypeFieldsMany:L.updateMany,deleteAssetProcedureTypeFields:L.deleteOne,deleteAssetProcedureTypeFieldsMany:L.deleteMany}}),{initializeAssetProcedureTypeFields:Qc,addAssetProcedureTypeFields:xc,addAssetProcedureTypeFieldsMany:$y,setAssetProcedureTypeFields:Gy,setAssetProcedureTypeFieldsMany:Ly,updateAssetProcedureTypeFields:er,updateAssetProcedureTypeFieldsMany:Ny,deleteAssetProcedureTypeFields:tr,deleteAssetProcedureTypeFieldsMany:Hy}=ms.actions,sr=ms.reducer,ir=t=>t.assetProcedureTypeFieldsReducer.instances,ps=d.createSelector([ir],t=>Object.values(t)),Wy=f(d.createSelector([ps,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_procedure_type===e)))),Ky=f(d.createSelector([ps,(t,e)=>e],(t,e)=>t.filter(i=>i.asset_procedure_type===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),Yy=t=>e=>e.assetProcedureTypeFieldsReducer.instances[t],N=P(({uuid:t})=>t),ar=N.getInitialState({}),ys=d.createSlice({name:"assetProcedureTypeFieldValuesAttachments",initialState:ar,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,ar)),reducers:{initializeAssetProcedureTypeFieldValuesAttachments:N.initialize,addAssetProcedureTypeFieldValuesAttachment:N.addOne,addAssetProcedureTypeFieldValuesAttachments:N.addMany,setAssetProcedureTypeFieldValuesAttachment:N.setOne,setAssetProcedureTypeFieldValuesAttachments:N.setMany,updateAssetProcedureTypeFieldValuesAttachment:N.updateOne,updateAssetProcedureTypeFieldValuesAttachments:N.updateMany,deleteAssetProcedureTypeFieldValuesAttachment:N.deleteOne,deleteAssetProcedureTypeFieldValuesAttachments:N.deleteMany}}),{initializeAssetProcedureTypeFieldValuesAttachments:nr,addAssetProcedureTypeFieldValuesAttachment:Zy,addAssetProcedureTypeFieldValuesAttachments:Rt,setAssetProcedureTypeFieldValuesAttachment:Jy,setAssetProcedureTypeFieldValuesAttachments:Xy,updateAssetProcedureTypeFieldValuesAttachment:Qy,updateAssetProcedureTypeFieldValuesAttachments:cr,deleteAssetProcedureTypeFieldValuesAttachment:xy,deleteAssetProcedureTypeFieldValuesAttachments:vt}=ys.actions,rr=ys.reducer,As=t=>t.assetProcedureTypeFieldValuesAttachmentReducer.instances,dr=d.createSelector([As],t=>Object.values(t)),eA=t=>e=>e.assetProcedureTypeFieldValuesAttachmentReducer.instances[t],ur=f(d.createSelector([As,(t,e)=>e],(t,e)=>{const i=new Set(e);return T(Object.values(t).filter(a=>i.has(a.uuid)))})),or=f(d.createSelector([dr,(t,e)=>e],(t,e)=>T(t.filter(i=>i.field_values===e)))),H=P(({uuid:t})=>t),lr=H.getInitialState({}),fs=d.createSlice({name:"assetProcedureTypeFieldValues",initialState:lr,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,lr)),reducers:{initializeAssetProcedureTypeFieldValues:H.initialize,addAssetProcedureTypeFieldValues:H.addOne,addAssetProcedureTypeFieldValuesMany:H.addMany,setAssetProcedureTypeFieldValues:H.setOne,setAssetProcedureTypeFieldValuesMany:H.setMany,updateAssetProcedureTypeFieldValues:H.updateOne,updateAssetProcedureTypeFieldValuesMany:H.updateMany,deleteAssetProcedureTypeFieldValues:H.deleteOne,deleteAssetProcedureTypeFieldValuesMany:H.deleteMany}}),{initializeAssetProcedureTypeFieldValues:hr,addAssetProcedureTypeFieldValues:Ss,addAssetProcedureTypeFieldValuesMany:mr,setAssetProcedureTypeFieldValues:tA,setAssetProcedureTypeFieldValuesMany:sA,updateAssetProcedureTypeFieldValues:at,updateAssetProcedureTypeFieldValuesMany:pr,deleteAssetProcedureTypeFieldValues:Ts,deleteAssetProcedureTypeFieldValuesMany:yr}=fs.actions,Ar=fs.reducer,fr=t=>t.assetProcedureFieldValuesReducer.instances,Is=d.createSelector([fr],t=>Object.values(t)),iA=f(d.createSelector([Is,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset===e)))),aA=f(d.createSelector([Is,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_procedure===e)))),gs=t=>e=>e.assetProcedureFieldValuesReducer.instances[t],W=P(({uuid:t})=>t),Sr=W.getInitialState({}),bs=d.createSlice({name:"assetProcedures",initialState:Sr,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,Sr)),reducers:{initializeAssetProcedures:W.initialize,addAssetProcedure:W.addOne,addAssetProcedures:W.addMany,setAssetProcedure:W.setOne,setAssetProcedures:W.setMany,updateAssetProcedure:W.updateOne,updateAssetProcedures:W.updateMany,deleteAssetProcedure:W.deleteOne,deleteAssetProcedures:W.deleteMany}}),{initializeAssetProcedures:Tr,addAssetProcedure:Fs,addAssetProcedures:Ir,updateAssetProcedure:nt,updateAssetProcedures:nA,deleteAssetProcedure:Ps,deleteAssetProcedures:gr,setAssetProcedure:cA,setAssetProcedures:rA}=bs.actions,br=bs.reducer,Os=t=>t.assetProcedureReducer.instances,_s=d.createSelector([Os],t=>Object.values(t)),Fr=f(d.createSelector([_s,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_procedure_type===e)))),dA=f(d.createSelector([_s,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_type===e)))),Rs=t=>e=>e.assetProcedureReducer.instances[t],uA=f(d.createSelector([Os,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const n=t[a];n&&i.push(n)}return T(i)})),K=P(t=>t.uuid),Pr=K.getInitialState({}),vs=d.createSlice({name:"assetProcedureTypes",initialState:Pr,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Pr)),reducers:{initializeAssetProcedureTypes:K.initialize,addAssetProcedureType:K.addOne,addAssetProcedureTypes:K.addMany,setAssetProcedureType:K.setOne,setAssetProcedureTypes:K.setMany,updateAssetProcedureType:K.updateOne,updateAssetProcedureTypes:K.updateMany,deleteAssetProcedureType:K.deleteOne,deleteAssetProcedureTypes:K.deleteMany}}),{initializeAssetProcedureTypes:Or,addAssetProcedureType:ws,addAssetProcedureTypes:oA,updateAssetProcedureType:ct,updateAssetProcedureTypes:lA,deleteAssetProcedureType:Ms,deleteAssetProcedureTypes:hA,setAssetProcedureType:mA,setAssetProcedureTypes:pA}=vs.actions,_r=vs.reducer,Es=t=>t.assetProcedureTypeReducer.instances,Rr=d.createSelector([Es],t=>Object.values(t)),Vs=t=>e=>e.assetProcedureTypeReducer.instances[t],yA=f(d.createSelector([Es,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const n=t[a];n&&i.push(n)}return T(i)})),AA=f(d.createSelector([Rr,(t,e)=>e],(t,e)=>T(t.filter(i=>i.organization===e)))),Y=P(t=>t.uuid),vr=Y.getInitialState({}),js=d.createSlice({name:"assetProcedureStepFieldsAttachments",initialState:vr,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,vr)),reducers:{initializeAssetProcedureStepFieldsAttachments:Y.initialize,addAssetProcedureStepFieldsAttachment:Y.addOne,addAssetProcedureStepFieldsAttachments:Y.addMany,setAssetProcedureStepFieldsAttachment:Y.setOne,setAssetProcedureStepFieldsAttachments:Y.setMany,updateAssetProcedureStepFieldsAttachment:Y.updateOne,updateAssetProcedureStepFieldsAttachments:Y.updateMany,deleteAssetProcedureStepFieldsAttachment:Y.deleteOne,deleteAssetProcedureStepFieldsAttachments:Y.deleteMany}}),{initializeAssetProcedureStepFieldsAttachments:wr,addAssetProcedureStepFieldsAttachment:fA,addAssetProcedureStepFieldsAttachments:Mr,setAssetProcedureStepFieldsAttachment:SA,setAssetProcedureStepFieldsAttachments:TA,updateAssetProcedureStepFieldsAttachment:IA,updateAssetProcedureStepFieldsAttachments:Er,deleteAssetProcedureStepFieldsAttachment:gA,deleteAssetProcedureStepFieldsAttachments:Vr}=js.actions,jr=t=>t.assetProcedureStepFieldsAttachmentReducer.instances,qr=d.createSelector([jr],t=>Object.values(t)),bA=f(d.createSelector([qr,(t,e)=>e],(t,e)=>T(t.filter(i=>i.fields_revision===e)))),FA=t=>e=>e.assetProcedureStepFieldsAttachmentReducer.instances[t],zr=js.reducer,Z=P(t=>t.uuid),Ur=Z.getInitialState({}),qs=d.createSlice({name:"assetProcedureStepFields",initialState:Ur,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Ur)),reducers:{initializeAssetProcedureStepFields:Z.initialize,addAssetProcedureStepFields:Z.addOne,addAssetProcedureStepFieldsMany:Z.addMany,setAssetProcedureStepFields:Z.setOne,setAssetProcedureStepFieldsMany:Z.setMany,updateAssetProcedureStepFields:Z.updateOne,updateAssetProcedureStepFieldsMany:Z.updateMany,deleteAssetProcedureStepFields:Z.deleteOne,deleteAssetProcedureStepFieldsMany:Z.deleteMany}}),{initializeAssetProcedureStepFields:Dr,addAssetProcedureStepFields:zs,addAssetProcedureStepFieldsMany:PA,setAssetProcedureStepFields:OA,setAssetProcedureStepFieldsMany:_A,updateAssetProcedureStepFields:rt,updateAssetProcedureStepFieldsMany:RA,deleteAssetProcedureStepFields:Us,deleteAssetProcedureStepFieldsMany:vA}=qs.actions,Ds=t=>t.assetProcedureStepFieldsReducer.instances,Cs=d.createSelector([Ds],t=>Object.values(t)),wA=f(d.createSelector([Cs,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_procedure_step===e)))),MA=f(d.createSelector([Cs,(t,e)=>e],(t,e)=>t.filter(i=>i.asset_procedure_step===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),EA=d.createSelector([Ds],t=>{const e={};for(const i of Object.values(t)){const a=e[i.asset_procedure_step];(!a||a.submitted_at<i.submitted_at)&&(e[i.asset_procedure_step]=i)}return e}),VA=t=>e=>e.assetProcedureStepFieldsReducer.instances[t],Cr=qs.reducer,J=P(t=>t.uuid),kr=J.getInitialState({}),ks=d.createSlice({name:"assetProcedureStepFieldValuesAttachments",initialState:kr,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,kr)),reducers:{initializeAssetProcedureStepFieldValuesAttachments:J.initialize,addAssetProcedureStepFieldValuesAttachment:J.addOne,addAssetProcedureStepFieldValuesAttachments:J.addMany,setAssetProcedureStepFieldValuesAttachment:J.setOne,setAssetProcedureStepFieldValuesAttachments:J.setMany,updateAssetProcedureStepFieldValuesAttachment:J.updateOne,updateAssetProcedureStepFieldValuesAttachments:J.updateMany,deleteAssetProcedureStepFieldValuesAttachment:J.deleteOne,deleteAssetProcedureStepFieldValuesAttachments:J.deleteMany}}),{initializeAssetProcedureStepFieldValuesAttachments:Br,addAssetProcedureStepFieldValuesAttachment:jA,addAssetProcedureStepFieldValuesAttachments:wt,setAssetProcedureStepFieldValuesAttachment:qA,setAssetProcedureStepFieldValuesAttachments:zA,updateAssetProcedureStepFieldValuesAttachment:UA,updateAssetProcedureStepFieldValuesAttachments:$r,deleteAssetProcedureStepFieldValuesAttachment:DA,deleteAssetProcedureStepFieldValuesAttachments:Mt}=ks.actions,Bs=t=>t.assetProcedureStepFieldValuesAttachmentReducer.instances,Gr=d.createSelector([Bs],t=>Object.values(t)),CA=t=>e=>e.assetProcedureStepFieldValuesAttachmentReducer.instances[t],Lr=f(d.createSelector([Bs,(t,e)=>e],(t,e)=>{const i=new Set(e);return T(Object.values(t).filter(a=>i.has(a.uuid)))})),Nr=f(d.createSelector([Gr,(t,e)=>e],(t,e)=>T(t.filter(i=>i.field_values===e)))),Hr=ks.reducer,X=P(t=>t.uuid),Wr=X.getInitialState({}),$s=d.createSlice({name:"assetProcedureStepFieldValues",initialState:Wr,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,Wr)),reducers:{initializeAssetProcedureStepFieldValues:X.initialize,addAssetProcedureStepFieldValues:X.addOne,addAssetProcedureStepFieldValuesMany:X.addMany,setAssetProcedureStepFieldValues:X.setOne,setAssetProcedureStepFieldValuesMany:X.setMany,updateAssetProcedureStepFieldValues:X.updateOne,updateAssetProcedureStepFieldValuesMany:X.updateMany,deleteAssetProcedureStepFieldValues:X.deleteOne,deleteAssetProcedureStepFieldValuesMany:X.deleteMany}}),{initializeAssetProcedureStepFieldValues:Kr,addAssetProcedureStepFieldValues:Gs,addAssetProcedureStepFieldValuesMany:Yr,setAssetProcedureStepFieldValues:kA,setAssetProcedureStepFieldValuesMany:BA,updateAssetProcedureStepFieldValues:dt,updateAssetProcedureStepFieldValuesMany:Zr,deleteAssetProcedureStepFieldValues:Ls,deleteAssetProcedureStepFieldValuesMany:Jr}=$s.actions,Xr=t=>t.assetProcedureStepFieldValuesReducer.instances,Et=d.createSelector([Xr],t=>Object.values(t)),$A=f(d.createSelector([Et,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset===e)))),GA=f(d.createSelector([Et,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_procedure===e)))),LA=f(d.createSelector([Et,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_procedure_step===e)))),Ns=t=>e=>e.assetProcedureStepFieldValuesReducer.instances[t],Qr=$s.reducer,Q=P(t=>t.uuid),xr=Q.getInitialState({}),Hs=d.createSlice({name:"assetProcedureSteps",initialState:xr,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,xr)),reducers:{initializeAssetProcedureSteps:Q.initialize,setAssetProcedureStep:Q.setOne,setAssetProcedureSteps:Q.setMany,addAssetProcedureStep:Q.addOne,addAssetProcedureSteps:Q.addMany,updateAssetProcedureStep:Q.updateOne,updateAssetProcedureSteps:Q.updateMany,deleteAssetProcedureStep:Q.deleteOne,deleteAssetProcedureSteps:Q.deleteMany}}),{initializeAssetProcedureSteps:ed,setAssetProcedureStep:td,setAssetProcedureSteps:NA,addAssetProcedureStep:sd,addAssetProcedureSteps:id,updateAssetProcedureStep:Vt,updateAssetProcedureSteps:HA,deleteAssetProcedureStep:ad,deleteAssetProcedureSteps:nd}=Hs.actions,cd=Hs.reducer,ut=t=>t.assetProcedureStepReducer.instances,Ws=t=>e=>e.assetProcedureStepReducer.instances[t],rd=d.createSelector([ut],t=>Object.values(t)),WA=f(d.createSelector([ut,(t,e)=>e],(t,e)=>{const i={};for(const[a,n]of Object.entries(t))n.asset_procedure_type===e&&(i[a]=n);return _t(i)})),KA=f(d.createSelector([rd,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_procedure_type===e)))),YA=f(d.createSelector([ut,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const n=t[a];n?i.push(n):console.warn("selectAssetProcedureStepsByIds: No step exists with the id",a)}return T(i)})),dd=f(d.createSelector([ut,(t,e)=>e],(t,e)=>{if(!t[e])return T([]);const n=Ac(e,Object.values(t)).all().map(({model:c})=>c);return T(n)})),x=P(t=>t.uuid),ud=x.getInitialState({}),Ks=d.createSlice({name:"assets",initialState:ud,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,ud)),reducers:{initializeAssets:x.initialize,addAsset:x.addOne,addAssets:x.addMany,setAsset:x.setOne,setAssets:x.setMany,updateAsset:x.updateOne,updateAssets:x.updateMany,deleteAsset:x.deleteOne,deleteAssets:x.deleteMany}}),{initializeAssets:od,addAsset:Ys,addAssets:jt,updateAsset:ot,updateAssets:ZA,deleteAsset:Zs,deleteAssets:Js,setAsset:JA,setAssets:XA}=Ks.actions,Xs=t=>t.assetReducer.instances,ld=d.createSelector([Xs],t=>T(Object.values(t))),Qs=f(d.createSelector([ld,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_type===e)))),xs=t=>e=>e.assetReducer.instances[t],hd=f(d.createSelector([Xs,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const n=t[a];n&&i.push(n)}return T(i)})),QA=t=>e=>Qs(t)(e).length,md=Ks.reducer,ee=P(t=>t.uuid),pd=ee.getInitialState({}),ei=d.createSlice({name:"assetStageCompletions",initialState:pd,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,pd)),reducers:{initializeAssetStageCompletions:ee.initialize,addAssetStageCompletion:ee.addOne,addAssetStageCompletions:ee.addMany,setAssetStageCompletion:ee.setOne,setAssetStageCompletions:ee.setMany,updateAssetStageCompletion:ee.updateOne,updateAssetStageCompletions:ee.updateMany,deleteAssetStageCompletion:ee.deleteOne,deleteAssetStageCompletions:ee.deleteMany}}),{initializeAssetStageCompletions:yd,addAssetStageCompletion:ti,addAssetStageCompletions:si,setAssetStageCompletion:xA,setAssetStageCompletions:ef,updateAssetStageCompletion:Ad,updateAssetStageCompletions:fd,deleteAssetStageCompletion:ii,deleteAssetStageCompletions:ai}=ei.actions,Sd=ei.reducer,ni=t=>t.assetStageCompletionReducer.instances,tf=d.createSelector([ni],t=>Object.values(t)),Td=t=>e=>e.assetStageCompletionReducer.instances[t],Id=f(d.createSelector([ni,(t,e)=>e],(t,e)=>{const i=new Set(e);return T(Object.values(t).filter(a=>i.has(a.uuid)))})),te=P(t=>t.uuid),gd=te.getInitialState({}),ci=d.createSlice({name:"assetStages",initialState:gd,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,gd)),reducers:{initializeAssetStages:te.initialize,setAssetStage:te.setOne,setAssetStages:te.setMany,addAssetStage:te.addOne,addAssetStages:te.addMany,updateAssetStage:te.updateOne,updateAssetStages:te.updateMany,deleteAssetStage:te.deleteOne,deleteAssetStages:te.deleteMany}}),{initializeAssetStages:bd,setAssetStage:Fd,setAssetStages:sf,addAssetStage:ri,addAssetStages:af,updateAssetStage:qt,updateAssetStages:nf,deleteAssetStage:di,deleteAssetStages:cf}=ci.actions,Pd=ci.reducer,zt=t=>t.assetStageReducer.instances,ui=t=>e=>e.assetStageReducer.instances[t],Od=d.createSelector([zt],t=>Object.values(t)),rf=f(d.createSelector([zt,(t,e)=>e],(t,e)=>{const i={};for(const[a,n]of Object.entries(t))n.asset_procedure_type===e&&(i[a]=n);return _t(i)})),df=f(d.createSelector([Od,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_procedure_type===e)))),uf=f(d.createSelector([zt,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const n=t[a];n?i.push(n):console.warn("selectStagesFromStageIds: No stage exists with the id",a)}return T(i)})),se=P(t=>t.uuid),_d=se.getInitialState({}),oi=d.createSlice({name:"assetTypeAttachments",initialState:_d,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,_d)),reducers:{initializeAssetTypeAttachments:se.initialize,addAssetTypeAttachment:se.addOne,addAssetTypeAttachments:se.addMany,setAssetTypeAttachment:se.setOne,setAssetTypeAttachments:se.setMany,updateAssetTypeAttachment:se.updateOne,updateAssetTypeAttachments:se.updateMany,deleteAssetTypeAttachment:se.deleteOne,deleteAssetTypeAttachments:se.deleteMany}}),{initializeAssetTypeAttachments:Rd,addAssetTypeAttachment:of,addAssetTypeAttachments:li,setAssetTypeAttachment:vd,setAssetTypeAttachments:lf,updateAssetTypeAttachment:hf,updateAssetTypeAttachments:wd,deleteAssetTypeAttachment:Md,deleteAssetTypeAttachments:hi}=oi.actions,Ed=t=>t.assetTypeAttachmentReducer.instances,Vd=d.createSelector([Ed],t=>Object.values(t)),jd=t=>e=>e.assetTypeAttachmentReducer.instances[t],qd=f(d.createSelector([Vd,(t,e)=>e],(t,e)=>T(t.filter(({asset_type:i})=>e===i)))),zd=oi.reducer,ie=P(t=>t.uuid),Ud=ie.getInitialState({}),mi=d.createSlice({name:"assetTypeFieldsAttachments",initialState:Ud,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Ud)),reducers:{initializeAssetTypeFieldsAttachments:ie.initialize,addAssetTypeFieldsAttachment:ie.addOne,addAssetTypeFieldsAttachments:ie.addMany,setAssetTypeFieldsAttachment:ie.setOne,setAssetTypeFieldsAttachments:ie.setMany,updateAssetTypeFieldsAttachment:ie.updateOne,updateAssetTypeFieldsAttachments:ie.updateMany,deleteAssetTypeFieldsAttachment:ie.deleteOne,deleteAssetTypeFieldsAttachments:ie.deleteMany}}),{initializeAssetTypeFieldsAttachments:Dd,addAssetTypeFieldsAttachment:mf,addAssetTypeFieldsAttachments:Cd,setAssetTypeFieldsAttachment:pf,setAssetTypeFieldsAttachments:yf,updateAssetTypeFieldsAttachment:Af,updateAssetTypeFieldsAttachments:kd,deleteAssetTypeFieldsAttachment:ff,deleteAssetTypeFieldsAttachments:Bd}=mi.actions,$d=t=>t.assetTypeFieldsAttachmentReducer.instances,Gd=d.createSelector([$d],t=>Object.values(t)),Sf=f(d.createSelector([Gd,(t,e)=>e],(t,e)=>T(t.filter(i=>i.fields_revision===e)))),Tf=t=>e=>e.assetTypeFieldsAttachmentReducer.instances[t],Ld=mi.reducer,ae=P(t=>t.uuid),Nd=ae.getInitialState({}),pi=d.createSlice({name:"assetTypeFields",initialState:Nd,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Nd)),reducers:{initializeAssetTypeFields:ae.initialize,addAssetTypeFields:ae.addOne,addAssetTypeFieldsMany:ae.addMany,setAssetTypeFields:ae.setOne,setAssetTypeFieldsMany:ae.setMany,updateAssetTypeFields:ae.updateOne,updateAssetTypeFieldsMany:ae.updateMany,deleteAssetTypeFields:ae.deleteOne,deleteAssetTypeFieldsMany:ae.deleteMany}}),{initializeAssetTypeFields:Hd,addAssetTypeFields:Wd,addAssetTypeFieldsMany:If,setAssetTypeFields:gf,setAssetTypeFieldsMany:bf,updateAssetTypeFields:Kd,updateAssetTypeFieldsMany:Ff,deleteAssetTypeFields:Yd,deleteAssetTypeFieldsMany:Pf}=pi.actions,Zd=t=>t.assetTypeFieldsReducer.instances,Ut=d.createSelector([Zd],t=>Object.values(t)),Of=f(d.createSelector([Ut,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_type===e)))),_f=f(d.createSelector([Ut,(t,e)=>e],(t,e)=>t.filter(i=>i.asset_type===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),Rf=t=>e=>e.assetTypeFieldsReducer.instances[t],Jd=pi.reducer,ne=P(t=>t.uuid),Xd=ne.getInitialState({}),yi=d.createSlice({name:"assetTypeFieldValuesAttachments",initialState:Xd,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,Xd)),reducers:{initializeAssetTypeFieldValuesAttachments:ne.initialize,addAssetTypeFieldValuesAttachment:ne.addOne,addAssetTypeFieldValuesAttachments:ne.addMany,setAssetTypeFieldValuesAttachment:ne.setOne,setAssetTypeFieldValuesAttachments:ne.setMany,updateAssetTypeFieldValuesAttachment:ne.updateOne,updateAssetTypeFieldValuesAttachments:ne.updateMany,deleteAssetTypeFieldValuesAttachment:ne.deleteOne,deleteAssetTypeFieldValuesAttachments:ne.deleteMany}}),{initializeAssetTypeFieldValuesAttachments:Qd,addAssetTypeFieldValuesAttachment:vf,addAssetTypeFieldValuesAttachments:Dt,setAssetTypeFieldValuesAttachment:wf,setAssetTypeFieldValuesAttachments:Mf,updateAssetTypeFieldValuesAttachment:Ef,updateAssetTypeFieldValuesAttachments:xd,deleteAssetTypeFieldValuesAttachment:Vf,deleteAssetTypeFieldValuesAttachments:Ct}=yi.actions,Ai=t=>t.assetTypeFieldValuesAttachmentReducer.instances,eu=d.createSelector([Ai],t=>Object.values(t)),jf=t=>e=>e.assetTypeFieldValuesAttachmentReducer.instances[t],tu=f(d.createSelector([Ai,(t,e)=>e],(t,e)=>{const i=new Set(e);return T(Object.values(t).filter(a=>i.has(a.uuid)))})),su=f(d.createSelector([eu,(t,e)=>e],(t,e)=>T(t.filter(i=>i.field_values===e)))),iu=yi.reducer,ce=P(t=>t.uuid),au=ce.getInitialState({}),fi=d.createSlice({name:"assetTypeFieldValues",initialState:au,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,au)),reducers:{initializeAssetTypeFieldValues:ce.initialize,addAssetTypeFieldValues:ce.addOne,addAssetTypeFieldValuesMany:ce.addMany,setAssetTypeFieldValues:ce.setOne,setAssetTypeFieldValuesMany:ce.setMany,updateAssetTypeFieldValues:ce.updateOne,updateAssetTypeFieldValuesMany:ce.updateMany,deleteAssetTypeFieldValues:ce.deleteOne,deleteAssetTypeFieldValuesMany:ce.deleteMany}}),{initializeAssetTypeFieldValues:nu,addAssetTypeFieldValues:Si,addAssetTypeFieldValuesMany:cu,setAssetTypeFieldValues:qf,setAssetTypeFieldValuesMany:zf,updateAssetTypeFieldValues:lt,updateAssetTypeFieldValuesMany:ru,deleteAssetTypeFieldValues:Ti,deleteAssetTypeFieldValuesMany:du}=fi.actions,uu=t=>t.assetTypeFieldValuesReducer.instances,Ii=d.createSelector([uu],t=>Object.values(t)),Uf=f(d.createSelector([Ii,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset===e)))),Df=f(d.createSelector([Ut,Ii,(t,e)=>e],(t,e,i)=>{const a=new Set(t.filter(n=>n.asset_type===i).map(n=>n.uuid));return T(e.filter(n=>a.has(n.fields_revision)))})),gi=t=>e=>e.assetTypeFieldValuesReducer.instances[t],ou=fi.reducer,re=P(t=>t.uuid),lu=re.getInitialState({}),bi=d.createSlice({name:"assetTypeIdentifiers",initialState:lu,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,lu)),reducers:{initializeAssetTypeIdentifiers:re.initialize,addAssetTypeIdentifier:re.addOne,addAssetTypeIdentifiers:re.addMany,setAssetTypeIdentifier:re.setOne,setAssetTypeIdentifiers:re.setMany,updateAssetTypeIdentifier:re.updateOne,updateAssetTypeIdentifiers:re.updateMany,deleteAssetTypeIdentifier:re.deleteOne,deleteAssetTypeIdentifiers:re.deleteMany}}),{initializeAssetTypeIdentifiers:hu,addAssetTypeIdentifier:Fi,addAssetTypeIdentifiers:Cf,setAssetTypeIdentifier:kf,setAssetTypeIdentifiers:Bf,updateAssetTypeIdentifier:ht,updateAssetTypeIdentifiers:$f,deleteAssetTypeIdentifier:Pi,deleteAssetTypeIdentifiers:Gf}=bi.actions,mu=t=>t.assetTypeIdentifierReducer.instances,pu=d.createSelector([mu],t=>Object.values(t)),Oi=t=>e=>e.assetTypeIdentifierReducer.instances[t],Lf=f(d.createSelector([pu,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_type===e)))),yu=bi.reducer,de=P(t=>t.uuid),Au=de.getInitialState({}),_i=d.createSlice({name:"assetTypeIdentifierValues",initialState:Au,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,Au)),reducers:{initializeAssetTypeIdentifierValues:de.initialize,addAssetTypeIdentifierValue:de.addOne,addAssetTypeIdentifierValues:de.addMany,setAssetTypeIdentifierValue:de.setOne,setAssetTypeIdentifierValues:de.setMany,updateAssetTypeIdentifierValue:de.updateOne,updateAssetTypeIdentifierValues:de.updateMany,deleteAssetTypeIdentifierValue:de.deleteOne,deleteAssetTypeIdentifierValues:de.deleteMany}}),{initializeAssetTypeIdentifierValues:fu,addAssetTypeIdentifierValue:Ri,addAssetTypeIdentifierValues:Nf,setAssetTypeIdentifierValue:Hf,setAssetTypeIdentifierValues:Wf,updateAssetTypeIdentifierValue:mt,updateAssetTypeIdentifierValues:Kf,deleteAssetTypeIdentifierValue:vi,deleteAssetTypeIdentifierValues:Yf}=_i.actions,Su=t=>t.assetTypeIdentifierValueReducer.instances,wi=d.createSelector([Su],t=>Object.values(t)),Mi=t=>e=>e.assetTypeIdentifierValueReducer.instances[t],Zf=f(d.createSelector([wi,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset===e)))),Jf=f(d.createSelector([wi,(t,e)=>e],(t,e)=>T(t.filter(i=>i.asset_type_identifier===e)))),Tu=_i.reducer,ue=P(t=>t.uuid),Iu=ue.getInitialState({}),Ei=d.createSlice({name:"assetTypes",initialState:Iu,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Iu)),reducers:{initializeAssetTypes:ue.initialize,setAssetType:ue.setOne,setAssetTypes:ue.setMany,addAssetType:ue.addOne,addAssetTypes:ue.addMany,updateAssetType:ue.updateOne,updateAssetTypes:ue.updateMany,deleteAssetType:ue.deleteOne,deleteAssetTypes:ue.deleteMany}}),{initializeAssetTypes:gu,setAssetType:Xf,setAssetTypes:Qf,addAssetType:Vi,addAssetTypes:xf,updateAssetType:pt,updateAssetTypes:eS,deleteAssetType:ji,deleteAssetTypes:tS}=Ei.actions,qi=t=>t.assetTypeReducer.instances,bu=d.createSelector([qi],t=>Object.values(t)),zi=t=>e=>e.assetTypeReducer.instances[t],sS=f(d.createSelector([qi,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const n=t[a];n?i.push(n):console.warn("selectAssetTypesByIds: No assetType exists with the id",a)}return T(i)})),iS=f(d.createSelector([bu,(t,e)=>e],(t,e)=>T(t.filter(i=>i.organization===e)))),Fu=Ei.reducer,Pu={accessToken:"",refreshToken:"",isLoggedIn:!1},kt=d.createSlice({name:"auth",initialState:Pu,extraReducers:t=>t.addCase(g,e=>Object.assign(e,Pu)),reducers:{setTokens:(t,e)=>{t.accessToken=e.payload.accessToken,t.refreshToken=e.payload.refreshToken},clearTokens:t=>{t.accessToken="",t.refreshToken=""},setLoggedIn:(t,e)=>{e.payload||kt.caseReducers.clearTokens(t),t.isLoggedIn=e.payload}}}),{setTokens:aS,clearTokens:nS,setLoggedIn:Ou}=kt.actions,cS=t=>t.authReducer.accessToken,rS=t=>t.authReducer.isLoggedIn,_u=kt.reducer,oe=P(t=>t.uuid),Ru=oe.getInitialState({}),Ui=d.createSlice({name:"categories",initialState:Ru,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Ru)),reducers:{initializeCategories:oe.initialize,addCategory:oe.addOne,addCategories:oe.addMany,setCategory:oe.setOne,setCategories:oe.setMany,updateCategory:oe.updateOne,updateCategories:oe.updateMany,deleteCategory:oe.deleteOne,deleteCategories:oe.deleteMany}}),{initializeCategories:vu,addCategory:Di,addCategories:dS,setCategory:uS,setCategories:oS,updateCategory:wu,updateCategories:lS,deleteCategory:Mu,deleteCategories:hS}=Ui.actions,Ci=t=>t.categoryReducer.instances,Eu=d.createSelector([Ci],t=>Object.values(t)),ki=t=>e=>e.categoryReducer.instances[t],mS=f(d.createSelector([Ci,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const n=t[a];n?i.push(n):console.warn("selectCategoryByIds: No category exists with the id",a)}return T(i)})),pS=f(d.createSelector([Eu,(t,e)=>e],(t,e)=>T(t.filter(i=>i.project===e)))),Vu=Ui.reducer,le=P(t=>t.uuid),ju=le.getInitialState({}),Bi=d.createSlice({name:"documentAttachments",initialState:ju,extraReducers:t=>t.addCase(g,e=>Object.assign(e,ju)),reducers:{initializeDocumentAttachments:le.initialize,addDocumentAttachment:le.addOne,addDocumentAttachments:le.addMany,setDocumentAttachment:le.setOne,setDocumentAttachments:le.setMany,updateDocumentAttachment:le.updateOne,updateDocumentAttachments:le.updateMany,deleteDocumentAttachment:le.deleteOne,deleteDocumentAttachments:le.deleteMany}}),{initializeDocumentAttachments:qu,addDocumentAttachment:yS,addDocumentAttachments:zu,setDocumentAttachment:Uu,setDocumentAttachments:AS,updateDocumentAttachment:fS,updateDocumentAttachments:Du,deleteDocumentAttachment:Cu,deleteDocumentAttachments:ku}=Bi.actions,Bu=t=>t.documentAttachmentReducer.instances,$u=d.createSelector([Bu],t=>Object.values(t)),Gu=t=>e=>e.documentAttachmentReducer.instances[t],SS=f(d.createSelector([$u,(t,e)=>e],(t,e)=>T(t.filter(({document:i})=>e===i)))),Lu=Bi.reducer,Nu={documents:{}},$i=d.createSlice({name:"documents",initialState:Nu,extraReducers:t=>t.addCase(g,e=>{Object.assign(e,Nu)}),reducers:{setDocuments:(t,e)=>{if(e.payload.filter(pc).length!==e.payload.length)throw new Error("Tried to use setIssues reducer with duplicate ID's");t.documents=hc(e.payload)},addDocuments:(t,e)=>{for(const i of e.payload)if(i.uuid in t.documents)throw new Error(`attempting to add a document with uuid ${i.uuid} which already exists in state.documents.`);for(const i of e.payload){if(i.parent_document&&t.documents[i.parent_document]){const a=t.documents[i.parent_document];t.documents[i.parent_document]={...a,children_documents:[...a.children_documents,i.uuid]}}t.documents[i.uuid]=i}},updateDocuments:(t,e)=>{for(const i of e.payload)if(!(i.uuid in t.documents))throw new Error(`attempting to update a document with uuid ${i.uuid} which doesn't exists in state.documents.`);for(const i of e.payload){const a=t.documents[i.uuid];if(i.organization!==void 0&&i.organization!==a.organization)throw new Error("organization cannot be updated");if(i.project!==void 0&&i.project!==a.project)throw new Error("project cannot be updated");t.documents[i.uuid]={...a,...i}}},removeDocuments:(t,e)=>{for(const i of e.payload)if(!(i in t.documents))throw new Error(`attempting to delete a document with uuid ${i} which doesn't exists in state.documents.`);for(const i of e.payload){const a=t.documents[i];if(a.parent_document&&t.documents[a.parent_document]){const n=t.documents[a.parent_document];t.documents[a.parent_document]={...n,children_documents:n.children_documents.filter(c=>c!==a.uuid)}}delete t.documents[i]}}}}),{setDocuments:Hu,addDocuments:Wu,updateDocuments:xe,removeDocuments:Gi}=$i.actions,Bt=t=>t.documentsReducer.documents,Li=d.createSelector([Bt],t=>Object.values(t)),Ku=t=>e=>e.documentsReducer.documents[t],TS=f(d.createSelector([Bt,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const n=t[a];n?i.push(n):console.warn("selectDocumentByIds: No document exists with the id",a)}return T(i)})),IS=f(d.createSelector([Li,(t,e)=>e],(t,e)=>t.filter(i=>i.project===e))),gS=f(d.createSelector([Li,(t,e)=>e],(t,e)=>t.filter(i=>i.organization===e))),Yu=$i.reducer,he=P(t=>t.uuid),Zu=he.getInitialState({}),Ni=d.createSlice({name:"emailDomains",initialState:Zu,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Zu)),reducers:{initializeEmailDomains:he.initialize,addEmailDomain:he.addOne,addEmailDomains:he.addMany,setEmailDomain:he.setOne,setEmailDomains:he.setMany,updateEmailDomain:he.updateOne,updateEmailDomains:he.updateMany,deleteEmailDomain:he.deleteOne,deleteEmailDomains:he.deleteMany}}),{initializeEmailDomains:Ju,addEmailDomain:Xu,addEmailDomains:bS,setEmailDomain:FS,setEmailDomains:PS,updateEmailDomain:OS,updateEmailDomains:_S,deleteEmailDomain:Qu,deleteEmailDomains:RS}=Ni.actions,xu=t=>t.emailDomainsReducer.instances,eo=d.createSelector([xu],t=>Object.values(t)),vS=f(d.createSelector([eo,(t,e)=>e],(t,e)=>T(t.filter(i=>i.organization===e)))),to=Ni.reducer,so={s3Urls:{}},io=1e3*60*60,wS=io*24*7,Hi=d.createSlice({name:"file",initialState:so,extraReducers:t=>t.addCase(g,e=>Object.assign(e,so)),reducers:{setUploadUrl:(t,e)=>{const{url:i,fields:a,sha1:n}=e.payload,c=new Date,r=new Date(c.getTime()+wS);t.s3Urls[n]={url:i,fields:a,exp:r.getTime()}}}}),{setUploadUrl:ao}=Hi.actions,no=t=>e=>{const i=e.fileReducer.s3Urls[t];if(!i)return;const a=new Date().getTime();if(!((i.exp??a)-a<io))return i},co=Hi.reducer,me=P(t=>t.uuid),ro=me.getInitialState({}),Wi=d.createSlice({name:"formIdentifiers",initialState:ro,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,ro)),reducers:{initializeFormIdentifiers:me.initialize,addFormIdentifier:me.addOne,addFormIdentifiers:me.addMany,setFormIdentifier:me.setOne,setFormIdentifiers:me.setMany,updateFormIdentifier:me.updateOne,updateFormIdentifiers:me.updateMany,deleteFormIdentifier:me.deleteOne,deleteFormIdentifiers:me.deleteMany}}),{initializeFormIdentifiers:uo,addFormIdentifier:Ki,addFormIdentifiers:MS,setFormIdentifier:ES,setFormIdentifiers:VS,updateFormIdentifier:yt,updateFormIdentifiers:jS,deleteFormIdentifier:Yi,deleteFormIdentifiers:qS}=Wi.actions,oo=t=>t.formIdentifierReducer.instances,lo=d.createSelector([oo],t=>Object.values(t)),Zi=t=>e=>e.formIdentifierReducer.instances[t],zS=f(d.createSelector([lo,(t,e)=>e],(t,e)=>T(t.filter(i=>i.form===e)))),ho=Wi.reducer,pe=P(t=>t.uuid),mo=pe.getInitialState({}),Ji=d.createSlice({name:"formIdentifierValues",initialState:mo,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,mo)),reducers:{initializeFormIdentifierValues:pe.initialize,addFormIdentifierValue:pe.addOne,addFormIdentifierValues:pe.addMany,setFormIdentifierValue:pe.setOne,setFormIdentifierValues:pe.setMany,updateFormIdentifierValue:pe.updateOne,updateFormIdentifierValues:pe.updateMany,deleteFormIdentifierValue:pe.deleteOne,deleteFormIdentifierValues:pe.deleteMany}}),{initializeFormIdentifierValues:po,addFormIdentifierValue:Xi,addFormIdentifierValues:US,setFormIdentifierValue:DS,setFormIdentifierValues:CS,updateFormIdentifierValue:At,updateFormIdentifierValues:kS,deleteFormIdentifierValue:Qi,deleteFormIdentifierValues:BS}=Ji.actions,yo=t=>t.formIdentifierValueReducer.instances,xi=d.createSelector([yo],t=>Object.values(t)),ea=t=>e=>e.formIdentifierValueReducer.instances[t],$S=f(d.createSelector([xi,(t,e)=>e],(t,e)=>T(t.filter(i=>i.form_submission===e)))),GS=f(d.createSelector([xi,(t,e)=>e],(t,e)=>T(t.filter(i=>i.form_identifier===e)))),Ao=Ji.reducer,ye=P(t=>t.uuid),fo=ye.getInitialState({}),ta=d.createSlice({name:"formRevisionAttachments",initialState:fo,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,fo)),reducers:{initializeFormRevisionAttachments:ye.initialize,addFormRevisionAttachment:ye.addOne,addFormRevisionAttachments:ye.addMany,setFormRevisionAttachment:ye.setOne,setFormRevisionAttachments:ye.setMany,updateFormRevisionAttachment:ye.updateOne,updateFormRevisionAttachments:ye.updateMany,deleteFormRevisionAttachment:ye.deleteOne,deleteFormRevisionAttachments:ye.deleteMany}}),{initializeFormRevisionAttachments:So,addFormRevisionAttachment:LS,addFormRevisionAttachments:To,setFormRevisionAttachment:NS,setFormRevisionAttachments:HS,updateFormRevisionAttachment:WS,updateFormRevisionAttachments:Io,deleteFormRevisionAttachment:KS,deleteFormRevisionAttachments:go}=ta.actions,bo=t=>t.formRevisionAttachmentReducer.instances,YS=f(d.createSelector([bo,(t,e)=>e],(t,e)=>T(Object.values(t).filter(i=>i.form_revision===e)))),Fo=ta.reducer,Ae=P(t=>t.uuid),Po=Ae.getInitialState({}),sa=d.createSlice({name:"formRevisions",initialState:Po,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Po)),reducers:{initializeFormRevisions:Ae.initialize,addFormRevision:Ae.addOne,addFormRevisions:Ae.addMany,setFormRevision:Ae.setOne,setFormRevisions:Ae.setMany,updateFormRevision:Ae.updateOne,updateFormRevisions:Ae.updateMany,deleteFormRevision:Ae.deleteOne,deleteFormRevisions:Ae.deleteMany}}),{initializeFormRevisions:Oo,addFormRevision:ia,addFormRevisions:_o,setFormRevision:Ro,setFormRevisions:ZS,updateFormRevision:JS,updateFormRevisions:XS,deleteFormRevision:aa,deleteFormRevisions:vo}=sa.actions,na=t=>t.formRevisionReducer.instances,ca=d.createSelector([na],t=>Object.values(t)),QS=t=>e=>e.formRevisionReducer.instances[t],xS=f(d.createSelector([ca,(t,e)=>e],(t,e)=>t.filter(i=>i.form===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),wo=f(d.createSelector([ca,(t,e)=>e],(t,e)=>T(t.filter(i=>i.form===e)))),Mo=sa.reducer,fe=P(t=>t.uuid),Eo=fe.getInitialState({}),ra=d.createSlice({name:"forms",initialState:Eo,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Eo)),reducers:{initializeForms:fe.initialize,addForm:fe.addOne,addForms:fe.addMany,setForm:fe.setOne,setForms:fe.setMany,updateForm:fe.updateOne,updateForms:fe.updateMany,deleteForm:fe.deleteOne,deleteForms:fe.deleteMany}}),{initializeForms:Vo,addForm:da,addForms:eT,setForm:tT,setForms:sT,updateForm:iT,updateForms:aT,deleteForm:ua,deleteForms:nT}=ra.actions,jo=ra.reducer,qo=t=>t.formReducer.instances,zo=d.createSelector([qo],t=>Object.values(t)),Uo=t=>e=>e.formReducer.instances[t],cT=f(d.createSelector([zo,(t,e)=>e],(t,e)=>T(t.filter(i=>i.organization===e)))),Se=P(t=>t.uuid),Do=Se.getInitialState({}),oa=d.createSlice({name:"formSubmissionAttachments",initialState:Do,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Do)),reducers:{initializeFormSubmissionAttachments:Se.initialize,addFormSubmissionAttachment:Se.addOne,addFormSubmissionAttachments:Se.addMany,setFormSubmissionAttachment:Se.setOne,setFormSubmissionAttachments:Se.setMany,updateFormSubmissionAttachment:Se.updateOne,updateFormSubmissionAttachments:Se.updateMany,deleteFormSubmissionAttachment:Se.deleteOne,deleteFormSubmissionAttachments:Se.deleteMany}}),{initializeFormSubmissionAttachments:Co,addFormSubmissionAttachment:rT,addFormSubmissionAttachments:$t,setFormSubmissionAttachment:dT,setFormSubmissionAttachments:uT,updateFormSubmissionAttachment:oT,updateFormSubmissionAttachments:ko,deleteFormSubmissionAttachment:lT,deleteFormSubmissionAttachments:Gt}=oa.actions,Bo=t=>t.formSubmissionAttachmentReducer.instances,la=d.createSelector([Bo],t=>Object.values(t)),$o=f(d.createSelector([la,(t,e)=>e],(t,e)=>{const i=new Set(e);return T(t.filter(a=>i.has(a.uuid)))})),Go=f(d.createSelector([la,(t,e)=>e],(t,e)=>T(t.filter(i=>i.form_submission===e)))),Lo=oa.reducer,Te=P(t=>t.uuid),No=Te.getInitialState({}),ha=d.createSlice({name:"formSubmissions",initialState:No,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,No)),reducers:{initializeFormSubmissions:Te.initialize,setFormSubmission:Te.setOne,setFormSubmissions:Te.setMany,addFormSubmission:Te.addOne,addFormSubmissions:Te.addMany,updateFormSubmission:Te.updateOne,updateFormSubmissions:Te.updateMany,deleteFormSubmission:Te.deleteOne,deleteFormSubmissions:Te.deleteMany}}),{initializeFormSubmissions:Ho,setFormSubmission:Lt,setFormSubmissions:hT,addFormSubmission:ma,addFormSubmissions:Wo,updateFormSubmission:Ko,updateFormSubmissions:mT,deleteFormSubmission:pa,deleteFormSubmissions:Yo}=ha.actions,ya=t=>t.formSubmissionReducer.instances,pT=d.createSelector([ya],t=>Object.values(t)),Aa=t=>e=>e.formSubmissionReducer.instances[t],Zo=f(d.createSelector([ya,na,(t,e)=>e],(t,e,i)=>{const a=new Set;for(const n of Object.values(e))n.form===i&&a.add(n.uuid);return Object.values(t).filter(n=>a.has(n.form_revision))})),Jo=ha.reducer,Ie=P(t=>t.uuid),Xo=Ie.getInitialState({}),fa=d.createSlice({name:"geoImages",initialState:Xo,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,Xo)),reducers:{initializeGeoImages:Ie.initialize,setGeoImage:Ie.setOne,setGeoImages:Ie.setMany,addGeoImage:Ie.addOne,addGeoImages:Ie.addMany,updateGeoImage:Ie.updateOne,updateGeoImages:Ie.updateMany,deleteGeoImage:Ie.deleteOne,deleteGeoImages:Ie.deleteMany}}),{initializeGeoImages:Qo,setGeoImage:ft,setGeoImages:xo,addGeoImage:el,addGeoImages:tl,updateGeoImage:sl,updateGeoImages:yT,deleteGeoImage:Sa,deleteGeoImages:il}=fa.actions,al=t=>t.geoImageReducer.instances,nl=d.createSelector([al],t=>Object.values(t)),Ta=t=>e=>e.geoImageReducer.instances[t],AT=f(d.createSelector([nl,(t,e)=>e],(t,e)=>T(t.filter(i=>i.project===e)))),cl=fa.reducer,ge=P(t=>t.uuid),rl=ge.getInitialState({}),Ia=d.createSlice({name:"issueAssociations",initialState:rl,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,rl)),reducers:{initializeIssueAssociations:ge.initialize,addIssueAssociation:ge.addOne,addIssueAssociations:ge.addMany,setIssueAssociation:ge.setOne,setIssueAssociations:ge.setMany,updateIssueAssociation:ge.updateOne,updateIssueAssociations:ge.updateMany,deleteIssueAssociation:ge.deleteOne,deleteIssueAssociations:ge.deleteMany}}),{initializeIssueAssociations:dl,setIssueAssociations:fT,setIssueAssociation:ST,updateIssueAssociation:ul,updateIssueAssociations:TT,addIssueAssociation:ga,addIssueAssociations:ba,deleteIssueAssociation:Fa,deleteIssueAssociations:Pa}=Ia.actions,St=t=>t.issueAssociationReducer.instances,IT=d.createSelector([St],t=>Object.values(t)),ol=t=>e=>e.issueAssociationReducer.instances[t],ll=f(d.createSelector([St,(t,e)=>e],(t,e)=>T(Object.values(t).filter(i=>i.associated_issue===e)))),hl=f(d.createSelector([St,(t,e)=>e],(t,e)=>T(Object.values(t).filter(i=>i.issue===e)))),ml=f(d.createSelector([St,(t,e)=>e],(t,e)=>T(Object.values(t).filter(i=>i.asset===e)))),pl=Ia.reducer,be=P(t=>t.uuid),yl=be.getInitialState({}),Oa=d.createSlice({name:"issueAttachments",initialState:yl,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,yl)),reducers:{initializeIssueAttachments:be.initialize,addIssueAttachment:be.addOne,addIssueAttachments:be.addMany,setIssueAttachment:be.setOne,setIssueAttachments:be.setMany,updateIssueAttachment:be.updateOne,updateIssueAttachments:be.updateMany,deleteIssueAttachment:be.deleteOne,deleteIssueAttachments:be.deleteMany}}),{initializeIssueAttachments:_a,addIssueAttachment:gT,addIssueAttachments:Ra,setIssueAttachment:Al,setIssueAttachments:bT,updateIssueAttachment:FT,updateIssueAttachments:fl,deleteIssueAttachment:Sl,deleteIssueAttachments:va}=Oa.actions,Tl=t=>t.issueAttachmentReducer.instances,Il=d.createSelector([Tl],t=>Object.values(t)),gl=f(d.createSelector([Il,(t,e)=>e],(t,e)=>T(t.filter(({issue:i})=>e===i)))),bl=t=>e=>e.issueAttachmentReducer.instances[t],Fl=Oa.reducer,Fe=P(t=>t.uuid),Pl=Fe.getInitialState({}),wa=d.createSlice({name:"issueCommentAttachments",initialState:Pl,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,Pl)),reducers:{initializeIssueCommentAttachments:Fe.initialize,addIssueCommentAttachment:Fe.addOne,addIssueCommentAttachments:Fe.addMany,setIssueCommentAttachment:Fe.setOne,setIssueCommentAttachments:Fe.setMany,updateIssueCommentAttachment:Fe.updateOne,updateIssueCommentAttachments:Fe.updateMany,deleteIssueCommentAttachment:Fe.deleteOne,deleteIssueCommentAttachments:Fe.deleteMany}}),{initializeIssueCommentAttachments:Ma,addIssueCommentAttachment:PT,addIssueCommentAttachments:Ol,setIssueCommentAttachment:_l,setIssueCommentAttachments:OT,updateIssueCommentAttachment:_T,updateIssueCommentAttachments:Rl,deleteIssueCommentAttachment:vl,deleteIssueCommentAttachments:wl}=wa.actions,Ml=t=>t.issueCommentAttachmentReducer.instances,El=d.createSelector([Ml],t=>Object.values(t)),Vl=t=>e=>e.issueCommentAttachmentReducer.instances[t],RT=f(d.createSelector([El,(t,e)=>e],(t,e)=>T(t.filter(({issue_comment:i})=>e===i)))),jl=wa.reducer,Pe=P(t=>t.uuid),ql=Pe.getInitialState({}),Ea=d.createSlice({name:"issueComments",initialState:ql,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,ql)),reducers:{initializeIssueComments:Pe.initialize,addIssueComment:Pe.addOne,addIssueComments:Pe.addMany,setIssueComment:Pe.setOne,setIssueComments:Pe.setMany,updateIssueComment:Pe.updateOne,updateIssueComments:Pe.updateMany,deleteIssueComment:Pe.deleteOne,deleteIssueComments:Pe.deleteMany}}),{initializeIssueComments:vT,addIssueComment:Va,addIssueComments:wT,setIssueComment:ja,setIssueComments:zl,updateIssueComment:MT,updateIssueComments:ET,deleteIssueComment:qa,deleteIssueComments:VT}=Ea.actions,Ul=t=>t.issueCommentReducer.instances,za=t=>e=>e.issueCommentReducer.instances[t],jT=f(d.createSelector([Ul,(t,e)=>e],(t,e)=>T(Object.values(t).filter(i=>i.issue===e)))),Dl=Ea.reducer,Oe=P(t=>t.uuid),Cl=Oe.getInitialState({}),Ua=d.createSlice({name:"issues",initialState:Cl,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,Cl)),reducers:{initializeIssues:Oe.initialize,addIssue:Oe.addOne,addIssues:Oe.addMany,setIssue:Oe.setOne,setIssues:Oe.setMany,updateIssue:Oe.updateOne,updateIssues:Oe.updateMany,deleteIssue:Oe.deleteOne,deleteIssues:Oe.deleteMany}}),{initializeIssues:kl,addIssue:Da,addIssues:Bl,setIssue:qT,setIssues:zT,updateIssue:Nt,updateIssues:UT,deleteIssue:Ca,deleteIssues:$l}=Ua.actions,ka=t=>t.issueReducer.instances,Ba=d.createSelector([ka],t=>Object.values(t)),$a=t=>e=>e.issueReducer.instances[t],DT=f(d.createSelector([ka,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const n=t[a];n?i.push(n):console.warn("selectIssuesByIds: No issue exists with the id",a)}return T(i)})),CT=f(d.createSelector([Ba,(t,e)=>e],(t,e)=>t.filter(i=>i.project===e))),Gl=f(d.createSelector([Ba,(t,e)=>e],(t,e)=>t.filter(i=>i.issue_type===e))),Ll=Ua.reducer,_e=P(t=>t.uuid),Nl=_e.getInitialState({}),Ga=d.createSlice({name:"issueTypeAttachments",initialState:Nl,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Nl)),reducers:{initializeIssueTypeAttachments:_e.initialize,addIssueTypeAttachment:_e.addOne,addIssueTypeAttachments:_e.addMany,setIssueTypeAttachment:_e.setOne,setIssueTypeAttachments:_e.setMany,updateIssueTypeAttachment:_e.updateOne,updateIssueTypeAttachments:_e.updateMany,deleteIssueTypeAttachment:_e.deleteOne,deleteIssueTypeAttachments:_e.deleteMany}}),{initializeIssueTypeAttachments:La,addIssueTypeAttachment:kT,addIssueTypeAttachments:Hl,setIssueTypeAttachment:Wl,setIssueTypeAttachments:BT,updateIssueTypeAttachment:$T,updateIssueTypeAttachments:Kl,deleteIssueTypeAttachment:Yl,deleteIssueTypeAttachments:Zl}=Ga.actions,Jl=t=>t.issueTypeAttachmentReducer.instances,Xl=d.createSelector([Jl],t=>Object.values(t)),Ql=t=>e=>e.issueTypeAttachmentReducer.instances[t],GT=f(d.createSelector([Xl,(t,e)=>e],(t,e)=>T(t.filter(({issue_type:i})=>e===i)))),xl=Ga.reducer,Re=P(t=>t.uuid),eh=Re.getInitialState({}),Na=d.createSlice({name:"issueTypeFieldsAttachments",initialState:eh,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,eh)),reducers:{initializeIssueTypeFieldsAttachments:Re.initialize,addIssueTypeFieldsAttachment:Re.addOne,addIssueTypeFieldsAttachments:Re.addMany,setIssueTypeFieldsAttachment:Re.setOne,setIssueTypeFieldsAttachments:Re.setMany,updateIssueTypeFieldsAttachment:Re.updateOne,updateIssueTypeFieldsAttachments:Re.updateMany,deleteIssueTypeFieldsAttachment:Re.deleteOne,deleteIssueTypeFieldsAttachments:Re.deleteMany}}),{initializeIssueTypeFieldsAttachments:th,addIssueTypeFieldsAttachment:LT,addIssueTypeFieldsAttachments:sh,setIssueTypeFieldsAttachment:NT,setIssueTypeFieldsAttachments:HT,updateIssueTypeFieldsAttachment:WT,updateIssueTypeFieldsAttachments:ih,deleteIssueTypeFieldsAttachment:KT,deleteIssueTypeFieldsAttachments:ah}=Na.actions,nh=t=>t.issueTypeFieldsAttachmentReducer.instances,ch=d.createSelector([nh],t=>Object.values(t)),YT=f(d.createSelector([ch,(t,e)=>e],(t,e)=>T(t.filter(i=>i.fields_revision===e)))),ZT=t=>e=>e.issueTypeFieldsAttachmentReducer.instances[t],rh=Na.reducer,ve=P(t=>t.uuid),dh=ve.getInitialState({}),Ha=d.createSlice({name:"issueTypeFieldValues",initialState:dh,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,dh)),reducers:{initializeIssueTypeFieldValues:ve.initialize,addIssueTypeFieldValues:ve.addOne,addIssueTypeFieldValuesMany:ve.addMany,setIssueTypeFieldValues:ve.setOne,setIssueTypeFieldValuesMany:ve.setMany,updateIssueTypeFieldValues:ve.updateOne,updateIssueTypeFieldValuesMany:ve.updateMany,deleteIssueTypeFieldValues:ve.deleteOne,deleteIssueTypeFieldValuesMany:ve.deleteMany}}),{initializeIssueTypeFieldValues:uh,addIssueTypeFieldValues:Wa,addIssueTypeFieldValuesMany:JT,setIssueTypeFieldValues:XT,setIssueTypeFieldValuesMany:QT,updateIssueTypeFieldValues:Tt,updateIssueTypeFieldValuesMany:xT,deleteIssueTypeFieldValues:Ka,deleteIssueTypeFieldValuesMany:eI}=Ha.actions,oh=t=>t.issueTypeFieldValuesReducer.instances,Ya=d.createSelector([oh],t=>Object.values(t)),tI=f(d.createSelector([Ya,(t,e)=>e],(t,e)=>T(t.filter(i=>i.issue===e)))),Za=t=>e=>e.issueTypeFieldValuesReducer.instances[t],lh=Ha.reducer,we=P(t=>t.uuid),hh=we.getInitialState({}),Ja=d.createSlice({name:"issueTypeFields",initialState:hh,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,hh)),reducers:{initializeIssueTypeFields:we.initialize,addIssueTypeFields:we.addOne,addIssueTypeFieldsMany:we.addMany,setIssueTypeFields:we.setOne,setIssueTypeFieldsMany:we.setMany,updateIssueTypeFields:we.updateOne,updateIssueTypeFieldsMany:we.updateMany,deleteIssueTypeFields:we.deleteOne,deleteIssueTypeFieldsMany:we.deleteMany}}),{initializeIssueTypeFields:mh,addIssueTypeFields:ph,addIssueTypeFieldsMany:sI,setIssueTypeFields:iI,setIssueTypeFieldsMany:aI,updateIssueTypeFields:yh,updateIssueTypeFieldsMany:nI,deleteIssueTypeFields:Ah,deleteIssueTypeFieldsMany:cI}=Ja.actions,fh=t=>t.issueTypeFieldsReducer.instances,Ht=d.createSelector([fh],t=>Object.values(t)),rI=f(d.createSelector([Ht,(t,e)=>e],(t,e)=>T(t.filter(i=>i.issue_type===e)))),dI=f(d.createSelector([Ht,(t,e)=>e],(t,e)=>t.filter(i=>i.issue_type===e).sort((i,a)=>i.submitted_at>a.submitted_at?-1:1)[0])),uI=f(d.createSelector([Ht,Ya,(t,e)=>e],(t,e,i)=>{const a=new Set(t.filter(n=>n.issue_type===i).map(n=>n.uuid));return T(e.filter(n=>a.has(n.fields_revision)))})),oI=t=>e=>e.issueTypeFieldsReducer.instances[t],Sh=Ja.reducer,Me=P(t=>t.uuid),Th=Me.getInitialState({}),Xa=d.createSlice({name:"issueTypeFieldValuesAttachments",initialState:Th,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,Th)),reducers:{initializeIssueTypeFieldValuesAttachments:Me.initialize,addIssueTypeFieldValuesAttachment:Me.addOne,addIssueTypeFieldValuesAttachments:Me.addMany,setIssueTypeFieldValuesAttachment:Me.setOne,setIssueTypeFieldValuesAttachments:Me.setMany,updateIssueTypeFieldValuesAttachment:Me.updateOne,updateIssueTypeFieldValuesAttachments:Me.updateMany,deleteIssueTypeFieldValuesAttachment:Me.deleteOne,deleteIssueTypeFieldValuesAttachments:Me.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:Ih,addIssueTypeFieldValuesAttachment:lI,addIssueTypeFieldValuesAttachments:Wt,setIssueTypeFieldValuesAttachment:hI,setIssueTypeFieldValuesAttachments:mI,updateIssueTypeFieldValuesAttachment:pI,updateIssueTypeFieldValuesAttachments:gh,deleteIssueTypeFieldValuesAttachment:yI,deleteIssueTypeFieldValuesAttachments:Kt}=Xa.actions,bh=t=>t.issueTypeFieldValuesAttachmentReducer.instances,Qa=d.createSelector([bh],t=>Object.values(t)),AI=t=>e=>e.issueTypeFieldValuesAttachmentReducer.instances[t],Fh=f(d.createSelector([Qa,(t,e)=>e],(t,e)=>{const i=new Set(e);return T(t.filter(a=>i.has(a.uuid)))})),Ph=f(d.createSelector([Qa,(t,e)=>e],(t,e)=>T(t.filter(i=>i.field_values===e)))),Oh=Xa.reducer,Ee=P(t=>t.uuid),_h=Ee.getInitialState({}),xa=d.createSlice({name:"issueTypeIdentifiers",initialState:_h,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,_h)),reducers:{initializeIssueTypeIdentifiers:Ee.initialize,addIssueTypeIdentifier:Ee.addOne,addIssueTypeIdentifiers:Ee.addMany,setIssueTypeIdentifier:Ee.setOne,setIssueTypeIdentifiers:Ee.setMany,updateIssueTypeIdentifier:Ee.updateOne,updateIssueTypeIdentifiers:Ee.updateMany,deleteIssueTypeIdentifier:Ee.deleteOne,deleteIssueTypeIdentifiers:Ee.deleteMany}}),{initializeIssueTypeIdentifiers:Rh,addIssueTypeIdentifier:en,addIssueTypeIdentifiers:fI,setIssueTypeIdentifier:SI,setIssueTypeIdentifiers:TI,updateIssueTypeIdentifier:It,updateIssueTypeIdentifiers:II,deleteIssueTypeIdentifier:tn,deleteIssueTypeIdentifiers:gI}=xa.actions,vh=t=>t.issueTypeIdentifierReducer.instances,wh=d.createSelector([vh],t=>Object.values(t)),sn=t=>e=>e.issueTypeIdentifierReducer.instances[t],bI=f(d.createSelector([wh,(t,e)=>e],(t,e)=>T(t.filter(i=>i.issue_type===e)))),Mh=xa.reducer,Ve=P(t=>t.uuid),Eh=Ve.getInitialState({}),an=d.createSlice({name:"issueTypeIdentifierValues",initialState:Eh,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,Eh)),reducers:{initializeIssueTypeIdentifierValues:Ve.initialize,addIssueTypeIdentifierValue:Ve.addOne,addIssueTypeIdentifierValues:Ve.addMany,setIssueTypeIdentifierValue:Ve.setOne,setIssueTypeIdentifierValues:Ve.setMany,updateIssueTypeIdentifierValue:Ve.updateOne,updateIssueTypeIdentifierValues:Ve.updateMany,deleteIssueTypeIdentifierValue:Ve.deleteOne,deleteIssueTypeIdentifierValues:Ve.deleteMany}}),{initializeIssueTypeIdentifierValues:Vh,addIssueTypeIdentifierValue:nn,addIssueTypeIdentifierValues:FI,setIssueTypeIdentifierValue:PI,setIssueTypeIdentifierValues:OI,updateIssueTypeIdentifierValue:gt,updateIssueTypeIdentifierValues:_I,deleteIssueTypeIdentifierValue:cn,deleteIssueTypeIdentifierValues:RI}=an.actions,jh=t=>t.issueTypeIdentifierValueReducer.instances,rn=d.createSelector([jh],t=>Object.values(t)),dn=t=>e=>e.issueTypeIdentifierValueReducer.instances[t],vI=f(d.createSelector([rn,(t,e)=>e],(t,e)=>T(t.filter(i=>i.issue===e)))),wI=f(d.createSelector([rn,(t,e)=>e],(t,e)=>T(t.filter(i=>i.issue_type_identifier===e)))),qh=an.reducer,C=P(t=>t.uuid),zh=C.getInitialState({}),un=d.createSlice({name:"issueTypes",initialState:zh,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,zh)),reducers:{initializeIssueTypes:C.initialize,addIssueType:C.addOne,addIssueTypes:C.addMany,setIssueType:C.setOne,setIssueTypes:C.setMany,updateIssueType:C.updateOne,updateIssueTypes:C.updateMany,deleteIssueType:C.deleteOne,deleteIssueTypes:C.deleteMany,removeIssueType:C.deleteOne}}),{initializeIssueTypes:Uh,addIssueType:Dh,addIssueTypes:MI,setIssueType:bt,setIssueTypes:EI,updateIssueType:Ch,updateIssueTypes:VI,deleteIssueType:jI,deleteIssueTypes:qI,removeIssueType:on}=un.actions,ln=t=>t.issueTypeReducer.instances,kh=d.createSelector(ln,t=>Object.values(t)),hn=t=>e=>e.issueTypeReducer.instances[t],zI=f(d.createSelector([ln,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const n=t[a];n?i.push(n):console.warn("selectIssueTypesByIds: No issue type exists with the id",a)}return i})),UI=f(d.createSelector([kh,(t,e)=>e],(t,e)=>T(t.filter(i=>i.organization===e)))),Bh=un.reducer,je=P(t=>t.uuid),$h=je.getInitialState({}),mn=d.createSlice({name:"issueUpdates",initialState:$h,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,$h)),reducers:{initializeIssueUpdates:je.initialize,addIssueUpdate:je.addOne,addIssueUpdates:je.addMany,setIssueUpdate:je.setOne,setIssueUpdates:je.setMany,updateIssueUpdate:je.updateOne,updateIssueUpdates:je.updateMany,deleteIssueUpdate:je.deleteOne,deleteIssueUpdates:je.deleteMany}}),{initializeIssueUpdates:Gh,addIssueUpdate:Lh,addIssueUpdates:Nh,setIssueUpdate:DI,setIssueUpdates:CI,updateIssueUpdate:kI,updateIssueUpdates:BI,deleteIssueUpdate:Hh,deleteIssueUpdates:Wh}=mn.actions,Kh=t=>t.issueUpdateReducer.instances,Yh=d.createSelector([Kh],t=>Object.values(t)),Zh=f(d.createSelector([Yh,(t,e)=>e],(t,e)=>T(t.filter(i=>i.issue===e)))),Jh=mn.reducer,qe=P(t=>t.id),Xh=qe.getInitialState({currentUser:null}),pn=d.createSlice({name:"users",initialState:Xh,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Xh)),reducers:{initializeUsers:qe.initialize,setUsers:qe.setMany,setUser:qe.setOne,addUsers:qe.addMany,addUser:qe.addOne,updateUsers:qe.updateMany,updateUser:qe.updateOne,deleteUser:qe.deleteOne,deleteUsers:qe.deleteMany,setCurrentUser:(t,e)=>{t.currentUser=e.payload},setProfilePicture:(t,e)=>{if(!t.currentUser)return;t.currentUser.profile.file=e.payload.file??null,t.currentUser.profile.file_sha1=e.payload.file_sha1??null;const i=t.instances[t.currentUser.id];if(!i)throw new Error("Unable to find current user in users slice");i.profile.file=e.payload.file??null,i.profile.file_sha1=e.payload.file_sha1??null}}}),{initializeUsers:Qh,setUsers:$I,setUser:GI,addUsers:LI,addUser:xh,updateUsers:NI,updateUser:HI,deleteUser:em,deleteUsers:WI,setCurrentUser:KI,setProfilePicture:YI}=pn.actions,tm=pn.reducer,sm=t=>t.userReducer.currentUser,Yt=t=>t.userReducer.instances,yn=d.createSelector([Yt],t=>Object.values(t)),im=t=>e=>e.userReducer.instances[t],ZI=f(d.createSelector([Yt,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const n=t[a];n?i.push(n):console.warn("selectUsersByIds: No user exists with the id",a)}return T(i)})),ze=P(t=>t.uuid),am=ze.getInitialState({}),An=d.createSlice({name:"organizationAccess",initialState:am,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,am)),reducers:{initializeOrganizationAccesses:ze.initialize,addOrganizationAccess:ze.addOne,addOrganizationAccesses:ze.addMany,setOrganizationAccess:ze.setOne,setOrganizationAccesses:ze.setMany,updateOrganizationAccess:ze.updateOne,updateOrganizationAccesses:ze.updateMany,deleteOrganizationAccess:ze.deleteOne,deleteOrganizationAccesses:ze.deleteMany}}),{initializeOrganizationAccesses:nm,addOrganizationAccess:cm,addOrganizationAccesses:JI,setOrganizationAccess:XI,setOrganizationAccesses:QI,updateOrganizationAccess:Zt,updateOrganizationAccesses:xI,deleteOrganizationAccess:rm,deleteOrganizationAccesses:eg}=An.actions,dm=An.reducer,fn=t=>t.organizationAccessReducer.instances,Sn=t=>e=>e.organizationAccessReducer.instances[t],tg=d.createSelector([sm,fn],(t,e)=>Object.values(e).find(a=>a.user===(t==null?void 0:t.id))??null),um=d.createSelector([fn],t=>{const e={};for(const i of Object.values(t))e[i.user]=i;return _t(e)}),sg=f(d.createSelector([Yt,um,(t,e)=>e],(t,e,i)=>T(Object.values(t).filter(a=>{const n=e[a.id];return!!n&&n.organization===i})))),Ue=P(t=>t.uuid),om=Ue.getInitialState({}),Tn=d.createSlice({name:"organizations",initialState:om,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,om)),reducers:{initializeOrganizations:Ue.initialize,setOrganizations:Ue.setMany,setOrganization:Ue.setOne,addOrganizations:Ue.addMany,addOrganization:Ue.addOne,updateOrganizations:Ue.updateMany,updateOrganization:Ue.updateOne,deleteOrganization:Ue.deleteOne,deleteOrganizations:Ue.deleteMany}}),{initializeOrganizations:lm,setOrganizations:ig,setOrganization:ag,addOrganizations:ng,addOrganization:hm,updateOrganizations:cg,updateOrganization:mm,deleteOrganization:rg,deleteOrganizations:dg}=Tn.actions,pm=t=>t.organizationReducer.instances,ug=d.createSelector([pm],t=>Object.values(t)),og=t=>e=>e.organizationReducer.instances[t],ym=Tn.reducer,Am=(t,e,i)=>{const a=t.uuid?t:{...t,uuid:Xe.v4()};return{payload:a,type:"",meta:{offline:{effect:{timestamp:new Date().toISOString(),request:a,BASE_URL:e,serviceName:i}}}}},fm={deletedRequests:[],latestRetryTime:0},In=d.createSlice({name:"outbox",initialState:fm,extraReducers:t=>t.addCase(g,e=>Object.assign(e,fm)),reducers:{enqueueRequest:{reducer:(t,e)=>t,prepare:t=>{console.debug("Preparing to enqueue request",t);const{BASE_URL:e,serviceName:i,...a}=t;return Am(a,e,i)}},markForDeletion(t,e){t.deletedRequests.push(e.payload)},markAsDeleted(t,e){const i=t.deletedRequests.indexOf(e.payload);i!==-1&&t.deletedRequests.splice(i,1)},_setLatestRetryTime:(t,e)=>{t.latestRetryTime=e.payload}}}),lg=t=>t.outboxReducer.deletedRequests,hg=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:Sm,markForDeletion:mg,markAsDeleted:Tm,_setLatestRetryTime:Im}=In.actions,gm=In.reducer,De=P(t=>t.uuid),bm=De.getInitialState({}),gn=d.createSlice({name:"projectAccess",initialState:bm,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,bm)),reducers:{initializeProjectAccesses:De.initialize,addProjectAccess:De.addOne,addProjectAccesses:De.addMany,setProjectAccess:De.setOne,setProjectAccesses:De.setMany,updateProjectAccess:De.updateOne,updateProjectAccesses:De.updateMany,deleteProjectAccess:De.deleteOne,deleteProjectAccesses:De.deleteMany}}),{initializeProjectAccesses:Fm,addProjectAccess:bn,addProjectAccesses:Fn,setProjectAccess:pg,setProjectAccesses:yg,updateProjectAccess:Ft,updateProjectAccesses:Pm,deleteProjectAccess:Pn,deleteProjectAccesses:On}=gn.actions,Om=gn.reducer,_n=t=>t.projectAccessReducer.instances,Jt=d.createSelector(_n,t=>Object.values(t)),Rn=t=>e=>e.projectAccessReducer.instances[t],_m=f(d.createSelector([_n,(t,e)=>e],(t,e)=>T(Object.values(t).filter(i=>i.project===e)))),Ag=f(d.createSelector([Jt,(t,e)=>e],(t,e)=>{const i={};for(const a of t.filter(n=>n.project===e))i[a.user]=a;return i})),fg=f(d.createSelector([yn,Jt,(t,e)=>e],(t,e,i)=>{const a=new Set(e.filter(n=>n.project===i).map(n=>n.user));return T(t.filter(n=>a.has(n.id)))})),Ce=P(t=>t.uuid),Rm=Ce.getInitialState({}),vn=d.createSlice({name:"projectAttachments",initialState:Rm,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Rm)),reducers:{initializeProjectAttachments:Ce.initialize,addProjectAttachment:Ce.addOne,addProjectAttachments:Ce.addMany,setProjectAttachment:Ce.setOne,setProjectAttachments:Ce.setMany,updateProjectAttachment:Ce.updateOne,updateProjectAttachments:Ce.updateMany,deleteProjectAttachment:Ce.deleteOne,deleteProjectAttachments:Ce.deleteMany}}),{initializeProjectAttachments:vm,addProjectAttachment:Sg,addProjectAttachments:wm,setProjectAttachment:Mm,setProjectAttachments:Em,updateProjectAttachment:Tg,updateProjectAttachments:Vm,deleteProjectAttachment:jm,deleteProjectAttachments:wn}=vn.actions,qm=t=>t.projectAttachmentReducer.instances,zm=d.createSelector([qm],t=>Object.values(t)),Um=t=>e=>e.projectAttachmentReducer.instances[t],Dm=f(d.createSelector([zm,(t,e)=>e],(t,e)=>T(t.filter(({project:i})=>e===i)))),Cm=vn.reducer,ke=P(t=>t.uuid),km=ke.getInitialState({activeProjectFileId:null,isImportingProjectFile:!1}),Mn=d.createSlice({name:"projectFiles",initialState:km,extraReducers:t=>t.addMatcher(d.isAnyOf(g,M,O),e=>Object.assign(e,km)),reducers:{initializeProjectFiles:ke.initialize,setProjectFile:ke.setOne,setProjectFiles:ke.setMany,addProjectFile:ke.addOne,addProjectFiles:ke.addMany,updateProjectFile:ke.updateOne,updateProjectFiles:ke.updateMany,deleteProjectFile:ke.deleteOne,deleteProjectFiles:ke.deleteMany,setIsImportingProjectFile:(t,e)=>{t.isImportingProjectFile=e.payload},saveActiveProjectFileBounds:(t,e)=>{const i=t.activeProjectFileId;if(!i)throw new Error("Tried to save bounds for active project file, but no active project file was set.");if(!t.instances[i])throw new Error(`Tried to save bounds for active project file, but project file with ID ${i}
|
|
2
2
|
doesn't exist.`);t.instances[i].bounds=e.payload},setActiveProjectFileId:(t,e)=>{t.activeProjectFileId=e.payload},resetProjectFileObjectUrls:(t,...e)=>{for(const i in t.instances)delete t.instances[i].objectURL}}}),{initializeProjectFiles:Bm,setProjectFile:Ig,setProjectFiles:gg,addProjectFile:bg,addProjectFiles:$m,updateProjectFile:En,updateProjectFiles:Fg,deleteProjectFile:Gm,deleteProjectFiles:Lm,setIsImportingProjectFile:Nm,setActiveProjectFileId:Hm,saveActiveProjectFileBounds:Wm,resetProjectFileObjectUrls:Pg}=Mn.actions,Km=t=>t.projectFileReducer.instances,Ym=d.createSelector([Km],t=>T(Object.values(t).sort((e,i)=>e.z_index-i.z_index))),Og=t=>e=>e.projectFileReducer.instances[t],_g=t=>t.projectFileReducer.activeProjectFileId,Rg=t=>t.projectFileReducer.isImportingProjectFile,Zm=Mn.reducer,Be=P(t=>t.uuid),Jm=Be.getInitialState({}),Vn=d.createSlice({name:"projects",initialState:Jm,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,Jm)),reducers:{initializeProjects:Be.initialize,setProjects:Be.setMany,setProject:Be.setOne,addProjects:Be.addMany,addProject:Be.addOne,updateProjects:Be.updateMany,updateProject:Be.updateOne,deleteProject:Be.deleteOne,deleteProjects:Be.deleteMany}}),{initializeProjects:Xm,setProjects:vg,setProject:wg,addProjects:Mg,addProject:jn,updateProjects:Eg,updateProject:Qm,deleteProject:qn,deleteProjects:Vg}=Vn.actions,xm=Vn.reducer,ep=t=>t.projectReducer.instances,zn=d.createSelector([ep],t=>T(Object.values(t))),tp=t=>e=>e.projectReducer.instances[t],jg=f(d.createSelector([zn,Jt,(t,e)=>e],(t,e,i)=>{const a=new Set(e.filter(n=>n.user===i).map(n=>n.project));return T(t.filter(n=>a.has(n.uuid)))})),qg=f(d.createSelector([zn,(t,e)=>e],(t,e)=>T(t.filter(i=>i.organization===e)))),zg={isRehydrated:!1},Un=d.createSlice({name:"rehydrated",initialState:zg,reducers:{setRehydrated:(t,e)=>{t.isRehydrated=e.payload}}}),{setRehydrated:Ug}=Un.actions,Dg=t=>t.rehydratedReducer.isRehydrated,sp=Un.reducer,$e=P(t=>t.uuid),ip=$e.getInitialState({}),Dn=d.createSlice({name:"teamMemberships",initialState:ip,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,ip)),reducers:{initializeTeamMemberships:$e.initialize,addTeamMembership:$e.addOne,addTeamMemberships:$e.addMany,setTeamMembership:$e.setOne,setTeamMemberships:$e.setMany,updateTeamMembership:$e.updateOne,updateTeamMemberships:$e.updateMany,deleteTeamMembership:$e.deleteOne,deleteTeamMemberships:$e.deleteMany}}),{initializeTeamMemberships:ap,addTeamMembership:np,addTeamMemberships:cp,setTeamMembership:Cn,setTeamMemberships:rp,updateTeamMembership:Cg,updateTeamMemberships:kg,deleteTeamMembership:kn,deleteTeamMemberships:dp}=Dn.actions,up=Dn.reducer,op=t=>t.teamMembershipReducer.instances,Bn=d.createSelector([op],t=>Object.values(t)),lp=t=>e=>e.teamMembershipReducer.instances[t],Bg=f(d.createSelector([Bn,(t,e)=>e],(t,e)=>{const i={};for(const a of t.filter(n=>n.team===e))i[a.user]=a;return i})),$g=f(d.createSelector([yn,Bn,(t,e)=>e],(t,e,i)=>{const a=new Set(e.filter(n=>n.team===i).map(n=>n.user));return T(t.filter(n=>a.has(n.id)))})),Ge=P(t=>t.uuid),hp=Ge.getInitialState({}),$n=d.createSlice({name:"teams",initialState:hp,extraReducers:t=>t.addMatcher(d.isAnyOf(g,O),e=>Object.assign(e,hp)),reducers:{initializeTeams:Ge.initialize,addTeam:Ge.addOne,addTeams:Ge.addMany,setTeam:Ge.setOne,setTeams:Ge.setMany,updateTeam:Ge.updateOne,updateTeams:Ge.updateMany,deleteTeam:Ge.deleteOne,deleteTeams:Ge.deleteMany}}),{initializeTeams:mp,addTeam:pp,addTeams:Gg,setTeam:Pt,setTeams:Lg,updateTeam:yp,updateTeams:Ng,deleteTeam:Gn,deleteTeams:Hg}=$n.actions,Ln=t=>t.teamReducer.instances,Ap=d.createSelector([Ln],t=>Object.values(t)),Nn=t=>e=>e.teamReducer.instances[t],Wg=f(d.createSelector([Ln,(t,e)=>e],(t,e)=>{const i=[];for(const a of e){const n=t[a];n?i.push(n):console.warn("selectTeamsByIds: No team exists with the id",a)}return T(i)})),Kg=f(d.createSelector([Ap,(t,e)=>e],(t,e)=>T(t.filter(i=>i.organization===e)))),fp=$n.reducer,Yg={version:0},Sp=d.createSlice({name:"versioning",initialState:Yg,reducers:{}}),Tp=Sp.reducer,Hn={outboxReducer:gm,fileReducer:co,authReducer:_u},Zg=d.combineReducers(Hn),Ip={...Hn,[it]:Tp,categoryReducer:Vu,assetReducer:md,assetAttachmentReducer:Ec,assetStageCompletionReducer:Sd,assetStageReducer:Pd,assetTypeReducer:Fu,assetTypeAttachmentReducer:zd,issueReducer:Ll,issueAttachmentReducer:Fl,issueTypeReducer:Bh,issueTypeAttachmentReducer:xl,organizationReducer:ym,projectReducer:xm,projectAttachmentReducer:Cm,projectAccessReducer:Om,organizationAccessReducer:dm,projectFileReducer:Zm,rehydratedReducer:sp,formReducer:jo,formRevisionReducer:Mo,formRevisionAttachmentReducer:Fo,formSubmissionAttachmentReducer:Lo,formSubmissionReducer:Jo,formIdentifierReducer:ho,formIdentifierValueReducer:Ao,userReducer:tm,emailDomainsReducer:to,documentsReducer:Yu,documentAttachmentReducer:Lu,teamReducer:fp,agentsReducer:bc,issueCommentReducer:Dl,issueCommentAttachmentReducer:jl,issueUpdateReducer:Jh,geoImageReducer:cl,issueAssociationReducer:pl,issueTypeFieldsReducer:Sh,issueTypeFieldValuesReducer:lh,issueTypeFieldsAttachmentReducer:rh,issueTypeFieldValuesAttachmentReducer:Oh,issueTypeIdentifierReducer:Mh,issueTypeIdentifierValueReducer:qh,assetTypeFieldsReducer:Jd,assetTypeFieldValuesReducer:ou,assetTypeFieldsAttachmentReducer:Ld,assetTypeFieldValuesAttachmentReducer:iu,assetTypeIdentifierReducer:yu,assetTypeIdentifierValueReducer:Tu,assetProcedureTypeReducer:_r,assetProcedureReducer:br,assetProcedureTypeFieldsReducer:sr,assetProcedureFieldValuesReducer:Ar,assetProcedureTypeFieldsAttachmentReducer:Yc,assetProcedureTypeFieldValuesAttachmentReducer:rr,assetProcedureTypeAttachmentReducer:kc,assetProcedureStepFieldsAttachmentReducer:zr,assetProcedureStepFieldsReducer:Cr,assetProcedureStepFieldValuesAttachmentReducer:Hr,assetProcedureStepFieldValuesReducer:Qr,assetProcedureStepReducer:cd,teamMembershipReducer:up},Jg=d.combineReducers(Ip);function Xg(t,e){return Np.useMemo(t,e)}class Qg{constructor(e){S(this,"operations",[]);S(this,"getData");this.getData=e}performOperations(e){let i=e;for(const a of this.operations)i=a(i);return i}filter(e,i){return this.operations.push(a=>a.filter(n=>n[e]===i)),this}exclude(e,i){return this.operations.push(a=>a.filter(n=>n[e]!==i)),this}orderBy(e){return this.operations.push(i=>[...i].sort((a,n)=>a[e]<=n[e]?1:-1)),this}reverse(){return this.operations.push(e=>[...e].reverse()),this}all(){return this.operations.push(e=>e),this}get(e,i){return d.createSelector([this.getData],a=>this.performOperations(a).find(n=>n[e]===i))}count(){return d.createSelector([this.getData],e=>this.performOperations(e).length)}first(){return d.createSelector([this.getData],e=>this.performOperations(e)[0])}last(){return d.createSelector([this.getData],e=>{const i=this.performOperations(e);return i[i.length-1]})}exists(){return d.createSelector([this.getData],e=>this.performOperations(e).length>0)}toSelector(){return d.createSelector([this.getData],e=>T(this.performOperations(e)))}}const gp={};class bp{constructor(e){S(this,"client");gp[this.constructor.name]=this,this.client=e}async enqueueRequest(e,i){return this.client.enqueueRequest(e,this.host,this.constructor.name,i)}async performPagination(e,i,a){const n=[];let c=await this.client.enqueueRequest(e,this.host,this.constructor.name,a);for(n.push(c.results);c.next;)c=await this.client.enqueueRequest(i(c.next),this.host,this.constructor.name,a),n.push(c.results);return n}dispatch(e){this.client.store.dispatch(e)}}const Fp=()=>_p.length-1,Pp=t=>(t[it]={version:Fp()},t),Op=()=>Pp({}),xg=t=>(t.outboxReducer&&(t.outboxReducer.deletedRequests=[]),t),eb=t=>e=>{var i;return e===void 0&&(e={}),((i=e[it])==null?void 0:i.version)===Fp()?e:t(e)},_p=[Pp,Op,Op,xg],tb=Object.fromEntries(_p.map((t,e)=>[e,eb(t)])),sb=t=>{if(t)throw t;const e=st();e?e.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},Rp=(t,e,i)=>{const a=Ze();return a?(a.addRequest(e),a.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},vp=(t,e,i)=>{const a=Ze();if(!a)return console.warn("Outbox coordinator not set; cannot dequeue request yet."),[];const c=e.meta.offlineAction.payload.uuid;return a.remove(c),a.getQueue()};async function ib(t,e){if(!e.payload)throw new Error("Received empty payload");return kp(e)}const ab={...ec,effect:ib,discard:Kn,returnPromises:!0,persistCallback:sb,retry:ub,persistOptions:{storage:Wp},queue:{...ec.queue,enqueue:Rp,dequeue:vp,peek:(...t)=>db(...t)}},nb=Kp(tb,it),cb=d.compose(Hp.offline(ab),nb);function rb(t){function e(i){return typeof i=="object"&&i!==null&&["ok","redirect","clientError","serverError","error"].every(n=>n in i)}if(e(t))return t;if(typeof t=="object"&&t!==null){const i=t;if(e(i.response))return i.response;if(i.response&&e(i.response.response))return i.response.response}}async function Wn(t,e,i){const a=gp[t.meta.offline.effect.serviceName];if(!a)throw new Error(`Service ${t.meta.offline.effect.serviceName} not found`);const n=a instanceof R;if(e.store.getState().outboxReducer.deletedRequests.includes(t.payload.uuid))throw new Error("Request was marked for deletion");n&&t.payload.checkAuth!==!1&&await a.auth.prepareAuth();const r={queryParams:"",isAuthNeeded:!0},u=t.meta.offline.effect,{payload:m,headers:o,method:h,queryParams:p,attachmentHash:y,isExternalUrl:A,isAuthNeeded:I,isResponseBlob:F}={...r,...u.request},_=u.request;let w=_.url;const z=y?await e.files.fetchCache(y):void 0;if(y&&!z)throw new Error(`Cannot upload file ${y} because it's not cached.`);!A&&!w.startsWith("http")&&(!w.startsWith("/")&&!w.startsWith("blob:")&&(w="/"+w),w=t.meta.offline.effect.BASE_URL+w);const Le=q=>{if(y){const Ne=_.s3url;if(!Ne)throw new Error(`No S3 URL for file ${y}`);if("warning"in Ne)throw new Error(`S3 URL warning for file ${y}`);if(!z)throw new Error(`No file for file ${y}`);const Ot=Ne.fields["x-amz-checksum-sha1"];if(!Ot)throw new Error(`No checksum for file ${y}`);return q.set("x-amz-checksum-sha1",Ot).field({...m,...Ne.fields}).attach("file",z)}return q.send(m)},vF={[l.GET]:()=>F?Je.get(w.toString()).responseType("blob"):Je.get(w.toString()),[l.POST]:()=>{const q=Je.post(w.toString());return Le(q)},[l.PATCH]:()=>{const q=Je.patch(w.toString());return Le(q)},[l.PUT]:()=>{const q=Je.put(w.toString());return Le(q)},[l.DELETE]:()=>{const q=Je.delete(w.toString());return Le(q)}}[h];let Ke=vF();if(i==null||i.addEventListener("abort",()=>{console.debug("aborting request:",_),Ke.abort()}),I&&n){const q=a.auth.getAuthHeader();Ke=Ke.set("Authorization",q)}o&&(Ke=Ke.set(o));try{return await Ke.query(p)}catch(q){const Ne=rb(q),Ot=Ne==null?void 0:Ne.status;if(n&&Ot===401)return await a.auth.handleUnauthorized(Ke,Ne),Ke.query(p);throw new D({response:Ne,innerError:q,discard:wp.includes(Ot)})}}const wp=[400,409,403,404,405,500];function Kn(t,e,i=0){var o;if(console.debug("Considering discarding request due to error:",t,`(${typeof t})`,`
|
|
3
3
|
Action:`,e,`
|
|
4
4
|
Retries:`,i),!(t instanceof Error))throw console.error("ENCOUNTERED NON-ERROR ERROR:",t,"(throwing immediately, which may lead to unexpected behavior)"),t;const a=st(),c=a.getState().outboxReducer.deletedRequests,r=e.payload.uuid;function u(){a.dispatch(Tm(r));const h=Ze();if(!h)throw new Error("Outbox coordinator not set");h.remove(e.payload.uuid);const p=e.meta.offline.rollback;throw p&&(console.warn("Rolling back request due to SDK error:",e),a.dispatch(p)),t}if(t instanceof D&&t.options.discard)return console.debug("Discarding request due to explicit discard:",e),u();if(c.includes(r))return console.debug("Discarding request due to deletion:",e),u();if(t instanceof D){const h=t.status||((o=t.response)==null?void 0:o.status);if(h||console.warn("Error has no status code:",t),h!==void 0&&wp.includes(h)){console.warn("Discarding request due to error:",t,`
|
|
@@ -25,8 +25,6 @@ export type Submitted<TModel> = Omit<TModel, CommonAutoFields> & PropertyUndefin
|
|
|
25
25
|
updated_at: "updated_at" extends keyof TModel ? undefined : never;
|
|
26
26
|
index: "index" extends keyof TModel ? undefined : never;
|
|
27
27
|
revision: "revision" extends keyof TModel ? undefined : never;
|
|
28
|
-
tree_id: "tree_id" extends keyof TModel ? undefined : never;
|
|
29
|
-
level: "level" extends keyof TModel ? undefined : never;
|
|
30
28
|
}>>;
|
|
31
29
|
/**
|
|
32
30
|
* Represents a model instance that has been submitted to the backend, accepted, then downloaded. Created models
|
|
@@ -102,8 +100,6 @@ export interface Attachment extends UUIDModel, TimestampedModel, SubmittedAtMode
|
|
|
102
100
|
file_type: string;
|
|
103
101
|
}
|
|
104
102
|
export interface TreeModel<TId extends string | number | symbol> {
|
|
105
|
-
tree_id: number;
|
|
106
103
|
parent: TId | null;
|
|
107
|
-
level: number;
|
|
108
104
|
}
|
|
109
105
|
export {};
|
package/dist/utils/uuid.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { UUID, UUIDModel } from '../typings';
|
|
2
|
-
export declare const COMMON_AUTO_FIELDS: readonly ["created_at", "updated_at", "index", "revision"
|
|
2
|
+
export declare const COMMON_AUTO_FIELDS: readonly ["created_at", "updated_at", "index", "revision"];
|
|
3
3
|
export declare function uuidObj<T>(draft: T): UUID<T>;
|
|
4
4
|
export declare function toUuidIdRecord<TModel extends UUIDModel>(array: TModel[]): Record<string, TModel>;
|
|
5
5
|
export declare function toUuidArray<TModel extends UUIDModel>(array: TModel[]): string[];
|