diff --git a/templates/eject/rust/src/satellite/satellite.did b/templates/eject/rust/src/satellite/satellite.did index 33b60cf..31ac750 100644 --- a/templates/eject/rust/src/satellite/satellite.did +++ b/templates/eject/rust/src/satellite/satellite.did @@ -1,3 +1,13 @@ +type AccessKey = record { + updated_at : nat64; + metadata : vec record { text; text }; + kind : opt AccessKeyKind; + created_at : nat64; + scope : AccessKeyScope; + expires_at : opt nat64; +}; +type AccessKeyKind = variant { Emulator; Automation }; +type AccessKeyScope = variant { Write; Admin; Submit }; type AssetEncodingNoContent = record { modified : nat64; sha256 : blob; @@ -78,6 +88,17 @@ type AutomationController = record { expires_at : nat64; }; type AutomationScope = variant { Write; Submit }; +type CertifyAssetsArgs = record { + cursor : CertifyAssetsCursor; + strategy : CertifyAssetsStrategy; + chunk_size : opt nat32; +}; +type CertifyAssetsCursor = variant { + Heap : record { offset : nat64 }; + Stable : record { key : opt AssetKey }; +}; +type CertifyAssetsResult = record { next_cursor : opt CertifyAssetsCursor }; +type CertifyAssetsStrategy = variant { Append; Clear; AppendWithRouting }; type CollectionType = variant { Db; Storage }; type CommitBatch = record { batch_id : nat; @@ -92,16 +113,6 @@ type Config = record { automation : opt AutomationConfig; }; type ConfigMaxMemorySize = record { stable : opt nat64; heap : opt nat64 }; -type Controller = record { - updated_at : nat64; - metadata : vec record { text; text }; - kind : opt ControllerKind; - created_at : nat64; - scope : ControllerScope; - expires_at : opt nat64; -}; -type ControllerKind = variant { Emulator; Automation }; -type ControllerScope = variant { Write; Admin; Submit }; type CustomDomain = record { updated_at : nat64; created_at : nat64; @@ -339,6 +350,12 @@ type SegmentsDeploymentOptions = record { mission_control_version : opt text; satellite_version : opt text; }; +type SetAccessKey = record { + metadata : vec record { text; text }; + kind : opt AccessKeyKind; + scope : AccessKeyScope; + expires_at : opt nat64; +}; type SetAuthenticationConfig = record { openid : opt AuthenticationConfigOpenId; version : opt nat64; @@ -349,14 +366,8 @@ type SetAutomationConfig = record { openid : opt AutomationConfigOpenId; version : opt nat64; }; -type SetController = record { - metadata : vec record { text; text }; - kind : opt ControllerKind; - scope : ControllerScope; - expires_at : opt nat64; -}; type SetControllersArgs = record { - controller : SetController; + controller : SetAccessKey; controllers : vec principal; }; type SetDbConfig = record { @@ -388,6 +399,11 @@ type SetStorageConfig = record { raw_access : opt StorageConfigRawAccess; redirects : opt vec record { text; StorageConfigRedirect }; }; +type SetStorageConfigOptions = record { skip_certification : opt bool }; +type SetStorageConfigWithOptions = record { + config : SetStorageConfig; + options : SetStorageConfigOptions; +}; type SignedDelegation = record { signature : blob; delegation : Delegation }; type StorageConfig = record { iframe : opt StorageConfigIFrame; @@ -439,6 +455,7 @@ service : (InitSatelliteArgs) -> { authenticate_automation : (AuthenticateAutomationArgs) -> ( AuthenticateAutomationResultResponse, ); + certify_assets_chunk : (CertifyAssetsArgs) -> (CertifyAssetsResult); commit_asset_upload : (CommitBatch) -> (); commit_proposal : (CommitProposal) -> (null); commit_proposal_asset_upload : (CommitBatch) -> (); @@ -452,7 +469,7 @@ service : (InitSatelliteArgs) -> { del_assets : (text) -> (); del_controller_self : () -> (); del_controllers : (DeleteControllersArgs) -> ( - vec record { principal; Controller }, + vec record { principal; AccessKey }, ); del_custom_domain : (text) -> (); del_doc : (text, text, DelDoc) -> (); @@ -491,7 +508,7 @@ service : (InitSatelliteArgs) -> { vec record { text; InitUploadResult }, ); list_assets : (text, ListParams) -> (ListResults) query; - list_controllers : () -> (vec record { principal; Controller }) query; + list_controllers : () -> (vec record { principal; AccessKey }) query; list_custom_domains : () -> (vec record { text; CustomDomain }) query; list_docs : (text, ListParams) -> (ListResults_1) query; list_proposals : (ListProposalsParams) -> (ListProposalResults) query; @@ -502,7 +519,7 @@ service : (InitSatelliteArgs) -> { set_auth_config : (SetAuthenticationConfig) -> (AuthenticationConfig); set_automation_config : (SetAutomationConfig) -> (AutomationConfig); set_controllers : (SetControllersArgs) -> ( - vec record { principal; Controller }, + vec record { principal; AccessKey }, ); set_custom_domain : (text, opt text) -> (); set_db_config : (SetDbConfig) -> (DbConfig); @@ -512,6 +529,9 @@ service : (InitSatelliteArgs) -> { ); set_rule : (CollectionType, text, SetRule) -> (Rule); set_storage_config : (SetStorageConfig) -> (StorageConfig); + set_storage_config_with_options : (SetStorageConfigWithOptions) -> ( + StorageConfig, + ); submit_proposal : (nat) -> (nat, Proposal); switch_storage_system_memory : () -> (); upload_asset_chunk : (UploadChunk) -> (UploadChunkResult);