84 lines
2.3 KiB
Protocol Buffer
84 lines
2.3 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package proto;
|
|
|
|
option csharp_namespace = "DysonNetwork.Shared.Proto";
|
|
|
|
import "google/protobuf/timestamp.proto";
|
|
import "google/protobuf/empty.proto";
|
|
import "google/protobuf/field_mask.proto";
|
|
|
|
// ====================================
|
|
// Message Definitions
|
|
// ====================================
|
|
|
|
// SocialCreditRecord represents a record of social credit changes for an account
|
|
message SocialCreditRecord {
|
|
string id = 1; // UUID string
|
|
string reason_type = 2;
|
|
string reason = 3;
|
|
double delta = 4;
|
|
string account_id = 5; // UUID string
|
|
google.protobuf.Timestamp created_at = 6;
|
|
google.protobuf.Timestamp updated_at = 7;
|
|
}
|
|
|
|
// ExperienceRecord represents a record of experience points gained by an account
|
|
message ExperienceRecord {
|
|
string id = 1; // UUID string
|
|
string reason_type = 2;
|
|
string reason = 3;
|
|
int64 delta = 4;
|
|
double bonus_multiplier = 5;
|
|
string account_id = 6; // UUID string
|
|
google.protobuf.Timestamp created_at = 7;
|
|
google.protobuf.Timestamp updated_at = 8;
|
|
}
|
|
|
|
// ====================================
|
|
// Request/Response Messages
|
|
// ====================================
|
|
|
|
// Social Credit Requests/Responses
|
|
message AddSocialCreditRecordRequest {
|
|
string reason_type = 1;
|
|
string reason = 2;
|
|
double delta = 3;
|
|
string account_id = 4; // UUID string
|
|
}
|
|
|
|
message GetSocialCreditRequest {
|
|
string account_id = 1; // UUID string
|
|
}
|
|
|
|
message SocialCreditResponse {
|
|
double amount = 1;
|
|
}
|
|
|
|
// Experience Requests/Responses
|
|
message AddExperienceRecordRequest {
|
|
string reason_type = 1;
|
|
string reason = 2;
|
|
int64 delta = 3;
|
|
string account_id = 4; // UUID string
|
|
}
|
|
|
|
// ====================================
|
|
// Service Definitions
|
|
// ====================================
|
|
|
|
// SocialCreditService provides operations for managing social credit scores
|
|
service SocialCreditService {
|
|
// Adds a new social credit record for an account
|
|
rpc AddRecord(AddSocialCreditRecordRequest) returns (SocialCreditRecord);
|
|
|
|
// Gets the current social credit score for an account
|
|
rpc GetSocialCredit(GetSocialCreditRequest) returns (SocialCreditResponse);
|
|
}
|
|
|
|
// ExperienceService provides operations for managing experience points
|
|
service ExperienceService {
|
|
// Adds a new experience record for an account
|
|
rpc AddRecord(AddExperienceRecordRequest) returns (ExperienceRecord);
|
|
}
|