mirror of
https://github.com/aykhans/slash-e.git
synced 2025-04-24 23:23:08 +00:00
59 lines
1.6 KiB
Protocol Buffer
59 lines
1.6 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package slash.api.v1;
|
|
|
|
import "google/api/annotations.proto";
|
|
import "google/api/field_behavior.proto";
|
|
import "google/protobuf/timestamp.proto";
|
|
|
|
option go_package = "gen/api/v1";
|
|
|
|
service SubscriptionService {
|
|
// GetSubscription gets the current subscription of Slash instance.
|
|
rpc GetSubscription(GetSubscriptionRequest) returns (Subscription) {
|
|
option (google.api.http) = {get: "/v1/subscription"};
|
|
}
|
|
// UpdateSubscription updates the subscription.
|
|
rpc UpdateSubscription(UpdateSubscriptionRequest) returns (Subscription) {
|
|
option (google.api.http) = {
|
|
patch: "/v1/subscription"
|
|
body: "*"
|
|
};
|
|
}
|
|
// DeleteSubscription deletes the subscription.
|
|
rpc DeleteSubscription(DeleteSubscriptionRequest) returns (Subscription) {
|
|
option (google.api.http) = {delete: "/v1/subscription"};
|
|
}
|
|
}
|
|
|
|
message Subscription {
|
|
PlanType plan = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
google.protobuf.Timestamp started_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
google.protobuf.Timestamp expires_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
repeated string features = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
int32 seats = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
int32 shortcuts_limit = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
int32 collections_limit = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
enum PlanType {
|
|
PLAN_TYPE_UNSPECIFIED = 0;
|
|
FREE = 1;
|
|
PRO = 2;
|
|
ENTERPRISE = 3;
|
|
}
|
|
|
|
message GetSubscriptionRequest {}
|
|
|
|
message UpdateSubscriptionRequest {
|
|
string license_key = 1 [(google.api.field_behavior) = REQUIRED];
|
|
}
|
|
|
|
message DeleteSubscriptionRequest {}
|