feat: add IsActive field to UserClubFeatures for admin management
This commit is contained in:
@@ -50,6 +50,19 @@ service ClubMembershipContract
|
||||
get: "/ClubMembership/GetStatistics"
|
||||
};
|
||||
};
|
||||
|
||||
// New: Admin Club Feature Management
|
||||
rpc GetUserClubFeatures(GetUserClubFeaturesRequest) returns (GetUserClubFeaturesResponse){
|
||||
option (google.api.http) = {
|
||||
get: "/ClubFeature/GetUserFeatures"
|
||||
};
|
||||
};
|
||||
rpc ToggleUserClubFeature(ToggleUserClubFeatureRequest) returns (ToggleUserClubFeatureResponse){
|
||||
option (google.api.http) = {
|
||||
post: "/ClubFeature/ToggleFeature"
|
||||
body: "*"
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
// Activate Command
|
||||
@@ -205,3 +218,43 @@ message MonthlyMembershipTrend
|
||||
int32 expirations = 3;
|
||||
int32 net_change = 4;
|
||||
}
|
||||
|
||||
// GetUserClubFeatures Query
|
||||
message GetUserClubFeaturesRequest
|
||||
{
|
||||
int64 user_id = 1;
|
||||
}
|
||||
|
||||
message GetUserClubFeaturesResponse
|
||||
{
|
||||
repeated UserClubFeatureModel features = 1;
|
||||
}
|
||||
|
||||
message UserClubFeatureModel
|
||||
{
|
||||
int64 id = 1;
|
||||
int64 user_id = 2;
|
||||
int64 club_membership_id = 3;
|
||||
int64 club_feature_id = 4;
|
||||
string feature_title = 5;
|
||||
string feature_description = 6;
|
||||
bool is_active = 7;
|
||||
google.protobuf.Timestamp granted_at = 8;
|
||||
string notes = 9;
|
||||
}
|
||||
|
||||
// ToggleUserClubFeature Command
|
||||
message ToggleUserClubFeatureRequest
|
||||
{
|
||||
int64 user_id = 1;
|
||||
int64 club_feature_id = 2;
|
||||
bool is_active = 3;
|
||||
}
|
||||
|
||||
message ToggleUserClubFeatureResponse
|
||||
{
|
||||
bool success = 1;
|
||||
string message = 2;
|
||||
google.protobuf.Int64Value user_club_feature_id = 3;
|
||||
google.protobuf.BoolValue is_active = 4;
|
||||
}
|
||||
|
||||
@@ -105,6 +105,11 @@ service CommissionContract
|
||||
get: "/Commission/GetWorkerLogs"
|
||||
};
|
||||
};
|
||||
rpc GetAvailableWeeks(GetAvailableWeeksRequest) returns (GetAvailableWeeksResponse){
|
||||
option (google.api.http) = {
|
||||
get: "/Commission/GetAvailableWeeks"
|
||||
};
|
||||
};
|
||||
|
||||
// Financial Reports
|
||||
rpc GetWithdrawalReports(GetWithdrawalReportsRequest) returns (GetWithdrawalReportsResponse){
|
||||
@@ -247,9 +252,39 @@ message CommissionPayoutHistoryModel
|
||||
int32 action = 9; // CommissionPayoutAction enum
|
||||
string performed_by = 10;
|
||||
string reason = 11;
|
||||
google.protobuf.Timestamp created = 12;
|
||||
google.protobuf.Timestamp created = 13;
|
||||
}
|
||||
|
||||
// ============ GetAvailableWeeks ============
|
||||
|
||||
message GetAvailableWeeksRequest
|
||||
{
|
||||
int32 future_weeks_count = 1; // تعداد هفتههای آینده (پیشفرض: 4)
|
||||
int32 past_weeks_count = 2; // تعداد هفتههای گذشته (پیشفرض: 12)
|
||||
}
|
||||
|
||||
message GetAvailableWeeksResponse
|
||||
{
|
||||
WeekInfo current_week = 1;
|
||||
repeated WeekInfo calculated_weeks = 2;
|
||||
repeated WeekInfo pending_weeks = 3;
|
||||
repeated WeekInfo future_weeks = 4;
|
||||
}
|
||||
|
||||
message WeekInfo
|
||||
{
|
||||
string week_number = 1; // YYYY-Www format
|
||||
google.protobuf.Timestamp start_date = 2;
|
||||
google.protobuf.Timestamp end_date = 3;
|
||||
bool is_calculated = 4;
|
||||
google.protobuf.Timestamp calculated_at = 5;
|
||||
string last_execution_status = 6;
|
||||
int64 total_pool_amount = 7;
|
||||
int32 eligible_users_count = 8;
|
||||
string display_text = 9; // نمایش فارسی برای UI
|
||||
}
|
||||
|
||||
|
||||
// GetUserWeeklyBalances Query
|
||||
message GetUserWeeklyBalancesRequest
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user