49 lines
1.2 KiB
Protocol Buffer
49 lines
1.2 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package achievements;
|
|
|
|
import "google/protobuf/timestamp.proto";
|
|
import "google/protobuf/empty.proto";
|
|
|
|
option go_package = "pkg/api/achievements";
|
|
|
|
service AchievementsService {
|
|
rpc CreateAchievement(Achievement) returns (Achievement);
|
|
rpc GetAchievement(GetAchievementRequest) returns (Achievement);
|
|
rpc EditAchievement(Achievement) returns (Achievement);
|
|
rpc DeleteAchievement(DeleteAchievementRequest) returns (google.protobuf.Empty);
|
|
rpc ListAchievements(google.protobuf.Empty) returns (ListAchievementsResponse);
|
|
rpc GetUserAchievements(GetUserAchievementsRequest) returns (GetUserAchievementsResponse);
|
|
}
|
|
|
|
message Achievement {
|
|
string id = 1;
|
|
string name = 2;
|
|
string description = 3;
|
|
string icon_url = 4;
|
|
}
|
|
|
|
message AchievementUser {
|
|
Achievement achievement = 1;
|
|
google.protobuf.Timestamp received_at = 2;
|
|
}
|
|
|
|
message GetAchievementRequest {
|
|
string id = 1;
|
|
}
|
|
|
|
message DeleteAchievementRequest {
|
|
string achievement_id = 1;
|
|
}
|
|
|
|
message ListAchievementsResponse {
|
|
repeated Achievement achievements = 1;
|
|
}
|
|
|
|
message GetUserAchievementsRequest {
|
|
string user_id = 1;
|
|
}
|
|
message GetUserAchievementsResponse {
|
|
repeated AchievementUser user_achievements = 1;
|
|
}
|