feat: add GetAvailableWeeks query and update protobuf imports
Build and Deploy / build (push) Successful in 2m18s

This commit is contained in:
masoodafar-web
2025-12-12 05:57:32 +03:30
parent ce3b5db822
commit fe56b8f139
80 changed files with 308 additions and 238 deletions
@@ -1,12 +1,8 @@
using BackOffice.BFF.Application.CommissionCQ.Queries.GetWeeklyPool;
using BackOffice.BFF.Application.CommissionCQ.Queries.GetUserPayouts;
using BackOffice.BFF.Application.CommissionCQ.Queries.GetAllWeeklyPools;
using BackOffice.BFF.Application.CommissionCQ.Queries.GetUserWeeklyBalances;
using BackOffice.BFF.Application.CommissionCQ.Queries.GetWithdrawalRequests;
using BackOffice.BFF.Application.CommissionCQ.Queries.GetWithdrawalReports;
using BackOffice.BFF.Application.CommissionCQ.Queries.GetAvailableWeeks;
using Foursat.BackOffice.BFF.Commission.Protos;
using Google.Protobuf.WellKnownTypes;
using BackOffice.BFF.Protobuf.Common;
namespace BackOffice.BFF.WebApi.Common.Mappings;
@@ -20,16 +16,15 @@ public class CommissionProfile : IRegister
{
Id = src.Id,
WeekNumber = src.WeekNumber ?? string.Empty,
// TotalPoolValue = src.TotalPoolValue,
// TotalContributions = src.TotalContributions,
// TotalPayouts = src.TotalPayouts,
// LeftBalance = src.LeftBalance,
// ActiveMembersCount = src.ActiveMembersCount,
TotalBalances = (int)src.TotalBalances,
TotalPoolAmount = src.TotalPoolAmount,
IsCalculated = src.IsCalculated,
CalculatedAt = src.CalculatedAt.HasValue
? Timestamp.FromDateTime(DateTime.SpecifyKind(src.CalculatedAt.Value, DateTimeKind.Utc))
: null,
Created = Timestamp.FromDateTime(DateTime.SpecifyKind(src.CreatedAt, DateTimeKind.Utc))
Created = Timestamp.FromDateTime(DateTime.SpecifyKind(src.Created.DateTime, DateTimeKind.Utc)),
ValuePerBalance = (long)src.ValuePerBalance
});
// GetUserPayoutsResponseDto -> GetUserCommissionPayoutsResponse
@@ -168,5 +163,33 @@ public class CommissionProfile : IRegister
// : null
// }) }
// });
// GetAvailableWeeksResponseDto -> GetAvailableWeeksResponse
config.NewConfig<GetAvailableWeeksResponseDto, GetAvailableWeeksResponse>()
.MapWith(src => new GetAvailableWeeksResponse
{
CurrentWeek = MapWeekInfo(src.CurrentWeek),
CalculatedWeeks = { src.CalculatedWeeks.Select(MapWeekInfo) },
PendingWeeks = { src.PendingWeeks.Select(MapWeekInfo) },
FutureWeeks = { src.FutureWeeks.Select(MapWeekInfo) }
});
}
private static WeekInfo MapWeekInfo(WeekInfoDto dto)
{
return new WeekInfo
{
WeekNumber = dto.WeekNumber,
StartDate = Timestamp.FromDateTime(dto.StartDate.ToUniversalTime()),
EndDate = Timestamp.FromDateTime(dto.EndDate.ToUniversalTime()),
IsCalculated = dto.IsCalculated,
CalculatedAt = dto.CalculatedAt.HasValue
? Timestamp.FromDateTime(dto.CalculatedAt.Value.ToUniversalTime())
: null,
LastExecutionStatus = dto.LastExecutionStatus ?? string.Empty,
TotalPoolAmount = dto.TotalPoolAmount ?? 0,
EligibleUsersCount = dto.EligibleUsersCount ?? 0,
DisplayText = dto.DisplayText
};
}
}