Files
sonr/proto/did/v1/query.proto
T

184 lines
5.4 KiB
Protocol Buffer
Raw Normal View History

2024-07-05 22:20:13 -04:00
syntax = "proto3";
package did.v1;
import "did/v1/genesis.proto";
2024-08-31 12:49:44 -04:00
import "did/v1/models.proto";
2024-09-05 01:24:57 -04:00
import "google/api/annotations.proto";
import "did/v1/types.proto";
2024-07-05 22:20:13 -04:00
2024-09-05 01:24:57 -04:00
option go_package = "github.com/onsonr/sonr/x/did/types";
2024-07-05 22:20:13 -04:00
// Query provides defines the gRPC querier service.
service Query {
2024-09-05 01:24:57 -04:00
// Params queries all parameters of the module.
2024-09-14 12:47:25 -04:00
rpc Params(QueryRequest) returns (QueryParamsResponse) {
option (google.api.http).get = "/params";
}
// ParamsAssets queries all parameters of the module.
rpc ParamsAssets(QueryRequest) returns (QueryResponse) {
option (google.api.http).get = "/params/assets";
}
// Params queries all parameters of the module.
rpc ParamsByAsset(QueryRequest) returns (QueryResponse) {
option (google.api.http).get = "/params/assets/{asset}";
}
// ParamsKeys queries all parameters of the module.
rpc ParamsKeys(QueryRequest) returns (QueryResponse) {
option (google.api.http).get = "/params/keys";
}
// Params queries all parameters of the module.
rpc ParamsByKey(QueryRequest) returns (QueryResponse) {
option (google.api.http).get = "/params/keys/{key}";
}
// Params queries all parameters of the module.
rpc RegistrationOptionsByKey(QueryRequest) returns (QueryResponse) {
option (google.api.http).get = "/params/keys/{key}/registration";
2024-09-05 01:24:57 -04:00
}
// Resolve queries the DID document by its id.
2024-09-11 15:10:54 -04:00
rpc Resolve(QueryRequest) returns (QueryResponse) {
2024-09-05 01:24:57 -04:00
option (google.api.http).get = "/did/{did}";
}
// Service returns associated ServiceInfo for a given Origin
2024-09-11 15:10:54 -04:00
// if the servie is not found, a fingerprint is generated to be used
// as a TXT record in DNS. v=sonr, o=origin, p=protocol
rpc Service(QueryRequest) returns (QueryResponse) {
2024-09-05 01:24:57 -04:00
option (google.api.http).get = "/service/{origin}";
}
2024-07-05 22:20:13 -04:00
}
2024-09-05 01:24:57 -04:00
// Queryequest is the request type for the Query/Params RPC method.
message QueryRequest {
string did = 1;
string origin = 2;
2024-09-14 12:47:25 -04:00
string key = 3;
string asset = 4;
2024-07-05 22:20:13 -04:00
}
// QueryResolveResponse is the response type for the Query/Resolve RPC method.
2024-09-11 15:10:54 -04:00
message QueryResponse {
2024-09-05 01:24:57 -04:00
bool success = 1;
2024-09-11 15:10:54 -04:00
string query = 2;
Document document = 3;
ServiceInfo service = 4;
2024-09-07 18:12:58 -04:00
Params params = 5;
2024-09-05 01:24:57 -04:00
}
2024-09-14 12:47:25 -04:00
// QueryParamsResponse is the response type for the Query/Params RPC method.
message QueryParamsResponse {
Params params = 1;
}
message QueryParamsAssetsResponse {
repeated AssetInfo assets = 1;
// Accounts returns associated wallet accounts with the DID.
rpc Accounts(QueryAccountsRequest) returns (QueryAccountsResponse) {
option (google.api.http).get = "/did/{did}/accounts";
}
// Credentials returns associated credentials with the DID and Service Origin.
rpc Credentials(QueryCredentialsRequest) returns (QueryCredentialsResponse) {
option (google.api.http).get = "/did/{did}/{origin}/credentials";
}
// Identities returns associated identity with the DID.
rpc Identities(QueryIdentitiesRequest) returns (QueryIdentitiesResponse) {
option (google.api.http).get = "/did/{did}/identities";
}
// Resolve queries the DID document by its id.
rpc Resolve(QueryResolveRequest) returns (QueryResolveResponse) {
option (google.api.http).get = "/did/resolve/{did}";
2024-07-05 22:20:13 -04:00
}
// Service returns associated ServiceInfo for a given Origin
rpc Service(QueryServiceRequest) returns (QueryServiceResponse) {
option (google.api.http).get = "/did/service/{origin}";
2024-07-05 22:20:13 -04:00
}
}
// QueryParamsRequest is the request type for the Query/Params RPC method.
message QueryParamsRequest {}
// QueryParamsResponse is the response type for the Query/Params RPC method.
message QueryParamsResponse {
// params defines the parameters of the module.
Params params = 1;
}
// QueryAccountsRequest is the request type for the Query/Exists RPC method.
message QueryAccountsRequest {
string did = 1;
2024-07-05 22:20:13 -04:00
}
// QueryAccountsResponse is the response type for the Query/Exists RPC method.
message QueryAccountsResponse {
2024-07-05 22:20:13 -04:00
bool exists = 1;
}
// QueryCredentialsRequest is the request type for the Query/Exists RPC method.
message QueryCredentialsRequest {
string did = 1;
string origin = 2;
}
// QueryCredentialsResponse is the response type for the Query/Exists RPC method.
message QueryCredentialsResponse {
map<string, bytes> credentials = 1;
}
// QueryIdentitiesRequest is the request type for the Query/Exists RPC method.
message QueryIdentitiesRequest {
string did = 1;
}
// QueryIdentitiesResponse is the response type for the Query/Exists RPC method.
message QueryIdentitiesResponse {
bool exists = 1;
repeated VerificationMethod verificationMethod = 2;
}
2024-07-05 22:20:13 -04:00
// QueryResolveRequest is the request type for the Query/Resolve RPC method.
message QueryResolveRequest {
string did = 1;
2024-07-05 22:20:13 -04:00
}
// QueryResolveResponse is the response type for the Query/Resolve RPC method.
message QueryResolveResponse {
// document is the DID document
Document document = 1;
2024-07-05 22:20:13 -04:00
}
// QueryServiceRequest is the request type for the Query/LoginOptions RPC method.
message QueryServiceRequest {
string origin = 1;
2024-07-05 22:20:13 -04:00
}
// QueryLoginOptionsResponse is the response type for the Query/LoginOptions RPC method.
message QueryServiceResponse {
2024-07-05 22:20:13 -04:00
// options is the PublicKeyCredentialAttestationOptions
string options = 1;
2024-09-14 12:47:25 -04:00
}
message QueryParamsKeysResponse {
map<string, KeyInfo> keys = 1;
}
message QueryParamsByKeyResponse {
KeyInfo key = 1;
}
message QueryParamsByAssetResponse {
AssetInfo asset = 1;
}
message QueryRegistrationOptionsByKeyResponse {
repeated string registration_options = 1;
}