rove/pkg/accounts/accounts.proto

55 lines
1.5 KiB
Protocol Buffer
Raw Normal View History

syntax = "proto3";
option go_package = "github.com/mdiluz/rove/pkg/accounts";
package accounts;
service Accountant {
// Register should create a new account in the database
// It will return an error if the account already exists
rpc Register(RegisterInfo) returns (RegisterResponse) {}
// AssignValue assigns a key-value pair to an account, or overwrites an existing key
rpc AssignValue(DataKeyValue) returns (DataKeyResponse) {}
// GetValue will get the value for a key for an account
rpc GetValue(DataKey) returns (DataResponse) {}
}
// RegisterInfo contains the information needed to register an account
message RegisterInfo {
// The name for the account, must be unique
string name = 1;
}
// RegisterResponse is the response information from registering an account
message RegisterResponse {}
// DataKeyValue represents a simple key value pair to assign to an account
message DataKeyValue {
// The account to assign the new key value pair to
string account = 1;
// The key value pair to assign
string key = 2;
string value = 3;
}
// DataKeyResponse is a simple response
message DataKeyResponse {}
// DataKey describes a simple key value with an account, for fetching
message DataKey {
// The account to fetch data for
string account = 1;
// The key to fetch
string key = 2;
}
// DataResponse describes a data fetch response
message DataResponse {
// The value of the key
string value = 3;
}