syntax = "proto3"; package configuration; import "google/protobuf/empty.proto"; import "google/protobuf/wrappers.proto"; import "google/protobuf/timestamp.proto"; import "google/api/annotations.proto"; option csharp_namespace = "FrontOffice.BFF.Configuration.Protobuf.Protos.Configuration"; service ConfigurationContract { // دریافت تنظیمات باشگاه مشتریان rpc GetClubConfiguration(google.protobuf.Empty) returns (GetClubConfigurationResponse){ option (google.api.http) = { get: "/Configuration/Club" }; }; // دریافت لیست فیچرهای باشگاه مشتریان rpc GetClubFeatures(google.protobuf.Empty) returns (GetClubFeaturesResponse){ option (google.api.http) = { get: "/Configuration/ClubFeatures" }; }; } // پاسخ تنظیمات باشگاه message GetClubConfigurationResponse { int64 activation_fee = 1; // هزینه فعال‌سازی (ریال) int64 membership_gift_value = 2; // مبلغ هدیه عضویت (ریال) } // پاسخ فیچرهای باشگاه message GetClubFeaturesResponse { repeated ClubFeatureModel features = 1; } message ClubFeatureModel { int64 id = 1; string title = 2; string description = 3; bool is_enabled = 4; // آیا فعال است (از UserClubFeature) int32 display_order = 5; // ترتیب نمایش google.protobuf.Timestamp granted_at = 6; // تاریخ فعال‌سازی google.protobuf.Timestamp created_at = 7; // تاریخ ایجاد string notes = 8; // یادداشت (برای نمایش در مدال جزئیات) }