feat: add club activation fields to network membership
Build and Deploy / build (push) Successful in 2m14s

This commit is contained in:
masoodafar-web
2025-12-14 04:15:22 +03:30
parent 4cffed9ce8
commit 6b72e88780
6 changed files with 57 additions and 2 deletions
@@ -16,4 +16,14 @@ public record GetNetworkTreeQuery : IRequest<GetNetworkTreeResponseDto>
/// فقط کاربران فعال (اختیاری) /// فقط کاربران فعال (اختیاری)
/// </summary> /// </summary>
public bool? OnlyActive { get; init; } public bool? OnlyActive { get; init; }
/// <summary>
/// فیلتر براساس وضعیت فعال بودن باشگاه مشتریان
/// </summary>
public bool? IsClubActive { get; init; }
/// <summary>
/// فیلتر براساس شماره هفته فعالسازی (مثال: 2025-W05)
/// </summary>
public string? ActivationWeekNumber { get; init; }
} }
@@ -44,4 +44,25 @@ public class NetworkTreeNodeDto
/// تاریخ عضویت /// تاریخ عضویت
/// </summary> /// </summary>
public DateTime? JoinedAt { get; set; } public DateTime? JoinedAt { get; set; }
/// <summary>
/// تاریخ فعال‌سازی در باشگاه مشتریان
/// </summary>
public DateTime? ClubActivatedAt { get; set; }
/// <summary>
/// وضعیت فعال بودن در باشگاه مشتریان
/// </summary>
public bool IsClubActive { get; set; }
public bool IsActivatedInTargetWeek { get; set; }
/// <summary>
/// شماره هفته فعال‌سازی
/// </summary>
public string ActivationWeekNumber { get; set; } = string.Empty;
/// <summary>
/// تاریخ ایجاد کاربر
/// </summary>
public DateTime? UserCreated { get; set; }
} }
@@ -7,7 +7,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Afrino.FMSMicroservice.Protobuf" Version="0.0.122" /> <PackageReference Include="Afrino.FMSMicroservice.Protobuf" Version="0.0.122" />
<PackageReference Include="Foursat.CMSMicroservice.Protobuf" Version="0.0.152" /> <PackageReference Include="Foursat.CMSMicroservice.Protobuf" Version="0.0.155" />
<PackageReference Include="Google.Protobuf" Version="3.23.3" /> <PackageReference Include="Google.Protobuf" Version="3.23.3" />
<PackageReference Include="Grpc.Net.ClientFactory" Version="2.54.0" /> <PackageReference Include="Grpc.Net.ClientFactory" Version="2.54.0" />
@@ -23,6 +23,15 @@ public class NetworkMembershipProfile : IRegister
IsActive = n.IsActive, IsActive = n.IsActive,
JoinedAt = n.JoinedAt.HasValue JoinedAt = n.JoinedAt.HasValue
? Timestamp.FromDateTime(DateTime.SpecifyKind(n.JoinedAt.Value, DateTimeKind.Utc)) ? Timestamp.FromDateTime(DateTime.SpecifyKind(n.JoinedAt.Value, DateTimeKind.Utc))
: null,
ClubActivatedAt = n.ClubActivatedAt.HasValue
? Timestamp.FromDateTime(DateTime.SpecifyKind(n.ClubActivatedAt.Value, DateTimeKind.Utc))
: null,
IsClubActive = n.IsClubActive,
ActivationWeekNumber = n.ActivationWeekNumber,
IsActivatedInTargetWeek =n.IsActivatedInTargetWeek,
UserCreated = n.UserCreated.HasValue
? Timestamp.FromDateTime(DateTime.SpecifyKind(n.UserCreated.Value, DateTimeKind.Utc))
: null : null
}) } }) }
}); });
@@ -39,6 +48,14 @@ public class NetworkMembershipProfile : IRegister
IsActive = src.IsActive, IsActive = src.IsActive,
JoinedAt = src.JoinedAt.HasValue JoinedAt = src.JoinedAt.HasValue
? Timestamp.FromDateTime(DateTime.SpecifyKind(src.JoinedAt.Value, DateTimeKind.Utc)) ? Timestamp.FromDateTime(DateTime.SpecifyKind(src.JoinedAt.Value, DateTimeKind.Utc))
: null,
ClubActivatedAt = src.ClubActivatedAt.HasValue
? Timestamp.FromDateTime(DateTime.SpecifyKind(src.ClubActivatedAt.Value, DateTimeKind.Utc))
: null,
IsClubActive = src.IsClubActive,
ActivationWeekNumber = src.ActivationWeekNumber,
UserCreated = src.UserCreated.HasValue
? Timestamp.FromDateTime(DateTime.SpecifyKind(src.UserCreated.Value, DateTimeKind.Utc))
: null : null
}); });
@@ -6,7 +6,7 @@
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<IsPackable>true</IsPackable> <IsPackable>true</IsPackable>
<PackageId>Foursat.BackOffice.BFF.NetworkMembership.Protobuf</PackageId> <PackageId>Foursat.BackOffice.BFF.NetworkMembership.Protobuf</PackageId>
<Version>0.0.7</Version> <Version>0.0.9</Version>
<Authors>FourSat</Authors> <Authors>FourSat</Authors>
<Company>FourSat</Company> <Company>FourSat</Company>
<Product>Foursat.BackOffice.BFF.NetworkMembership.Protobuf</Product> <Product>Foursat.BackOffice.BFF.NetworkMembership.Protobuf</Product>
@@ -155,6 +155,8 @@ message GetNetworkTreeRequest
int64 user_id = 1; int64 user_id = 1;
google.protobuf.Int32Value max_depth = 2; google.protobuf.Int32Value max_depth = 2;
google.protobuf.BoolValue only_active = 3; google.protobuf.BoolValue only_active = 3;
google.protobuf.BoolValue is_club_active = 4;
google.protobuf.StringValue activation_week_number = 5;
} }
message GetNetworkTreeResponse message GetNetworkTreeResponse
@@ -171,6 +173,11 @@ message NetworkTreeNodeModel
google.protobuf.Int32Value network_level = 5; google.protobuf.Int32Value network_level = 5;
google.protobuf.BoolValue is_active = 6; google.protobuf.BoolValue is_active = 6;
google.protobuf.Timestamp joined_at = 7; google.protobuf.Timestamp joined_at = 7;
google.protobuf.Timestamp club_activated_at = 8; // تاریخ فعال‌سازی در باشگاه
bool is_club_active = 9; // فعال بودن در باشگاه
string activation_week_number = 10; // شماره هفته فعال‌سازی
bool is_activated_in_target_week = 11; // آیا در هفته هدف فعال شده
google.protobuf.Timestamp user_created = 12; // تاریخ ایجاد کاربر
} }
// GetHistory Query // GetHistory Query