feature/1125 offload sync service worker (#1144)

- **feat: provide access to block time**
- **refactor: move block expiry calculation to helper function**
- **feat: register decentralized web node HTMX views**
- **feat: Reorganize methods in layout.templ file alphabetically**
- **feat: add support for layout variants**
- **feat: update Allocate RPC to use GET request with path parameters**
- **feat: add gRPC Gateway endpoint for Allocate**
- **refactor: rename SyncCurrent to Sync**
- **feat: improve code organization by making vault assembly private**
- **feat: add a new method for syncing DID documents**
This commit is contained in:
Prad Nukala
2024-10-18 13:07:52 -04:00
committed by GitHub
parent c2f7a53017
commit 2cd44c0b66
23 changed files with 571 additions and 4641 deletions
+5 -30
View File
@@ -22,20 +22,14 @@ service Query {
// Allocate initializes a Target Vault available for claims with a compatible
// Authentication mechanism. The default authentication mechanism is WebAuthn.
rpc Allocate(AllocateRequest) returns (AllocateResponse) {
option (google.api.http).post = "/vault/v1/allocate";
option (google.api.http).get = "/vault/v1/allocate/{origin}/{subject}";
}
// Sync queries the DID document by its id. And returns the required PKL
// information
rpc SyncInitial(SyncInitialRequest) returns (SyncInitialResponse) {
rpc Sync(SyncRequest) returns (SyncResponse) {
option (google.api.http).post = "/vault/v1/sync-initial";
}
// SyncCurrent queries the DID document by its id. And returns the required PKL
// information
rpc SyncCurrent(SyncCurrentRequest) returns (SyncCurrentResponse) {
option (google.api.http).post = "/vault/v1/sync-current";
}
}
// QueryParamsRequest is the request type for the Query/Params RPC method.
@@ -72,31 +66,12 @@ message AllocateResponse {
}
// SyncRequest is the request type for the Sync RPC method.
message SyncInitialRequest {
message SyncRequest {
string did = 1;
}
// SyncInitialResponse is the response type for the Sync RPC method.
message SyncInitialResponse {
bool success = 1;
// Schema is the DID document.
Schema schema = 2;
// Address is the address of the calling DID.
string address = 3;
// ChainID is the chain ID of the current network.
string chainID = 4;
}
// SyncCurrentRequest is the request type for the Sync RPC method.
message SyncCurrentRequest {
string macaroon = 1;
}
// SyncCurrentResponse is the response type for the Sync RPC method.
message SyncCurrentResponse {
// SyncResponse is the response type for the Sync RPC method.
message SyncResponse {
bool success = 1;
// Schema is the DID document.
-37
View File
@@ -12,49 +12,12 @@ option go_package = "github.com/onsonr/sonr/x/vault/types";
// Msg defines the Msg service.
service Msg {
option (cosmos.msg.v1.service) = true;
// AllocateVault assembles a sqlite3 database in a local directory and returns
// the CID of the database. this operation is called by services initiating a
// controller registration.
rpc AllocateVault(MsgAllocateVault) returns (MsgAllocateVaultResponse) {
option (google.api.http).post = "/vault/v1/allocate";
}
// UpdateParams defines a governance operation for updating the parameters.
//
// Since: cosmos-sdk 0.47
rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse);
}
// MsgAllocateVault is the message type for the AllocateVault RPC.
message MsgAllocateVault {
option (cosmos.msg.v1.signer) = "authority";
// authority is the address of the service account.
string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
// subject is a unique human-defined identifier to associate with the vault.
string subject = 2;
// origin is the origin of the request in wildcard form.
string origin = 3;
}
// MsgAllocateVaultResponse is the response type for the AllocateVault RPC.
message MsgAllocateVaultResponse {
// CID is the content identifier of the vault.
string cid = 1;
// ExpiryBlock is the block number at which the vault will expire.
int64 expiry_block = 2;
// RegistrationOptions is a json string of the
// PublicKeyCredentialCreationOptions for WebAuthn
string token = 3;
// IsLocalhost is a flag to indicate if the vault is localhost
bool localhost = 4;
}
// MsgUpdateParams is the Msg/UpdateParams request type.
//
// Since: cosmos-sdk 0.47