Files
Datarush/api/proto/achievements.proto

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;
}