@junobuild/cdn
Version:
A toolkit for working with modules that implement Juno's CDN functionality
3 lines (2 loc) • 3.63 kB
JavaScript
import{getConsoleActor as h,getSatelliteActor as x}from"@junobuild/ic-client/actor";var e=t=>"satellite"in t?x(t.satellite):h(t.console);var D=async({cdn:t,proposalType:a})=>{let{init_proposal:o}=await e(t);return o(a)},U=async({cdn:t,proposalId:a})=>{let{submit_proposal:o}=await e(t);return o(a)},d=async({cdn:t,proposal:a})=>{let{reject_proposal:o}=await e(t);await o(a)},y=async({cdn:t,proposal:a})=>{let{commit_proposal:o}=await e(t);await o(a)},i=async({cdn:t,proposalIds:a})=>{let{delete_proposal_assets:o}=await e(t);await o({proposal_ids:a})},M=async({cdn:t})=>{let{count_proposals:a}=await e(t);return a()},T=async({cdn:t,filter:a})=>{let{list_proposals:o}=await e(t);return o(a)},O=async({cdn:t,proposalId:a})=>{let{get_proposal:o}=await e(t);return o(a)};import{uploadAssetWithProposal as g,uploadAssetsWithProposal as I}from"@junobuild/storage";var z=async({cdn:t,...a})=>{let o=await e(t);await g({actor:o,...a})},B=async({cdn:t,...a})=>{let o=await e(t);await I({actor:o,...a})};import{nonNullish as v}from"@dfinity/utils";import{IcManagementCanister as f}from"@icp-sdk/canisters/ic-management";import{Principal as c}from"@icp-sdk/core/principal";import{useOrInitAgent as C}from"@junobuild/ic-client/actor";var _=async({actor:t,canisterId:a})=>{let o=await C(t),{listCanisterSnapshots:s}=f.create({agent:o});return s({canisterId:a})},j=async({actor:t,...a})=>{let o=await C(t),{takeCanisterSnapshot:s}=f.create({agent:o});return s(a)},w=async({cdn:t})=>{let o=(()=>{if("satellite"in t){let{satellite:{satelliteId:n,...P}}=t;return{canisterId:n instanceof c?n:c.from(n),actor:P}}let{console:{consoleId:r,...p}}=t;return{canisterId:r instanceof c?r:c.from(r),actor:p}})(),s=await _(o);await j({...o,snapshotId:s?.[0]?.id})};var u=(r=>(r[r.TakingSnapshot=0]="TakingSnapshot",r[r.CommittingProposal=1]="CommittingProposal",r[r.ClearingProposalAssets=2]="ClearingProposalAssets",r[r.PostApply=3]="PostApply",r))(u||{}),A=(s=>(s[s.RejectingProposal=0]="RejectingProposal",s[s.ClearingProposalAssets=1]="ClearingProposalAssets",s[s.PostReject=2]="PostReject",s))(A||{});var Z=async({takeSnapshot:t=!1,clearProposalAssets:a=!1,onProgress:o,cdn:s,proposal:r,postApply:p})=>{try{await l({fn:async()=>t?await w({cdn:s}):Promise.resolve(),onProgress:o,step:0}),await l({fn:async()=>await y({cdn:s,proposal:r}),onProgress:o,step:1}),await l({fn:async()=>a?await i({cdn:s,proposalIds:[r.proposal_id]}):Promise.resolve(),onProgress:o,step:2})}finally{await l({fn:async()=>v(p)?await p():Promise.resolve(),onProgress:o,step:3})}},l=async({fn:t,step:a,onProgress:o})=>{o?.({step:a,state:"in_progress"});try{await t(),o?.({step:a,state:"success"})}catch(s){throw o?.({step:a,state:"error"}),s}};import{nonNullish as k}from"@dfinity/utils";var so=async({clearProposalAssets:t=!1,onProgress:a,cdn:o,proposal:s,postReject:r})=>{try{await m({fn:async()=>await d({cdn:o,proposal:s}),onProgress:a,step:0}),await m({fn:async()=>t?await i({cdn:o,proposalIds:[s.proposal_id]}):Promise.resolve(),onProgress:a,step:1})}finally{await m({fn:async()=>k(r)?await r():Promise.resolve(),onProgress:a,step:2})}},m=async({fn:t,step:a,onProgress:o})=>{o?.({step:a,state:"in_progress"});try{await t(),o?.({step:a,state:"success"})}catch(s){throw o?.({step:a,state:"error"}),s}};export{u as ApplyProposalProgressStep,A as RejectProposalProgressStep,y as commitProposal,M as countProposals,i as deleteProposalAssets,Z as executeApplyProposal,so as executeRejectProposal,O as getProposal,D as initProposal,T as listProposals,d as rejectProposal,U as submitProposal,z as uploadAssetWithProposal,B as uploadAssetsWithProposal};
//# sourceMappingURL=index.js.map