Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using FluentValidation;
using Orbit.Application.ApiKeys.Queries;

namespace Orbit.Application.ApiKeys.Validators;

public class GetApiKeysQueryValidator : AbstractValidator<GetApiKeysQuery>
{
public GetApiKeysQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using FluentValidation;
using Orbit.Application.Calendar.Queries;

namespace Orbit.Application.Calendar.Validators;

public class GetCalendarAutoSyncStateQueryValidator : AbstractValidator<GetCalendarAutoSyncStateQuery>
{
public GetCalendarAutoSyncStateQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using FluentValidation;
using Orbit.Application.Calendar.Queries;

namespace Orbit.Application.Calendar.Validators;

public class GetCalendarEventsQueryValidator : AbstractValidator<GetCalendarEventsQuery>
{
public GetCalendarEventsQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using FluentValidation;
using Orbit.Application.Calendar.Queries;

namespace Orbit.Application.Calendar.Validators;

public class GetCalendarSyncSuggestionsQueryValidator : AbstractValidator<GetCalendarSyncSuggestionsQuery>
{
public GetCalendarSyncSuggestionsQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using FluentValidation;
using Orbit.Application.Calendar.Queries;

namespace Orbit.Application.Calendar.Validators;

public class GetUserCalendarsQueryValidator : AbstractValidator<GetUserCalendarsQuery>
{
public GetUserCalendarsQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using FluentValidation;
using Orbit.Application.ChecklistTemplates.Queries;

namespace Orbit.Application.ChecklistTemplates.Validators;

public class GetChecklistTemplatesQueryValidator : AbstractValidator<GetChecklistTemplatesQuery>
{
public GetChecklistTemplatesQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using FluentValidation;
using Orbit.Application.Gamification.Queries;

namespace Orbit.Application.Gamification.Validators;

public class GetAchievementsQueryValidator : AbstractValidator<GetAchievementsQuery>
{
public GetAchievementsQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using FluentValidation;
using Orbit.Application.Gamification.Queries;

namespace Orbit.Application.Gamification.Validators;

public class GetGamificationProfileQueryValidator : AbstractValidator<GetGamificationProfileQuery>
{
public GetGamificationProfileQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using FluentValidation;
using Orbit.Application.Gamification.Queries;

namespace Orbit.Application.Gamification.Validators;

public class GetStreakInfoQueryValidator : AbstractValidator<GetStreakInfoQuery>
{
public GetStreakInfoQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
using FluentValidation;
using Orbit.Application.Goals.Queries;

namespace Orbit.Application.Goals.Validators;

public class GetGoalByIdQueryValidator : AbstractValidator<GetGoalByIdQuery>
{
public GetGoalByIdQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();
RuleFor(x => x.GoalId).NotEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
using FluentValidation;
using Orbit.Application.Goals.Queries;

namespace Orbit.Application.Goals.Validators;

public class GetGoalDetailQueryValidator : AbstractValidator<GetGoalDetailQuery>
{
public GetGoalDetailQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();
RuleFor(x => x.GoalId).NotEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
using FluentValidation;
using Orbit.Application.Goals.Queries;

namespace Orbit.Application.Goals.Validators;

public class GetGoalMetricsQueryValidator : AbstractValidator<GetGoalMetricsQuery>
{
public GetGoalMetricsQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();
RuleFor(x => x.GoalId).NotEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
using FluentValidation;
using Orbit.Application.Common;
using Orbit.Application.Goals.Queries;

namespace Orbit.Application.Goals.Validators;

public class GetGoalReviewQueryValidator : AbstractValidator<GetGoalReviewQuery>
{
public GetGoalReviewQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();

RuleFor(x => x.Language)
.MaximumLength(AppConstants.MaxLanguageLength)
.Must(lang => string.IsNullOrEmpty(lang) || AppConstants.SupportedLanguages.Contains(lang))
.WithMessage($"Language must be one of: {string.Join(", ", AppConstants.SupportedLanguages)}");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
using FluentValidation;
using Orbit.Application.Habits.Queries;

namespace Orbit.Application.Habits.Validators;

public class GetHabitByIdQueryValidator : AbstractValidator<GetHabitByIdQuery>
{
public GetHabitByIdQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();
RuleFor(x => x.HabitId).NotEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using FluentValidation;
using Orbit.Application.Habits.Queries;

namespace Orbit.Application.Habits.Validators;

public class GetHabitCountQueryValidator : AbstractValidator<GetHabitCountQuery>
{
public GetHabitCountQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
using FluentValidation;
using Orbit.Application.Habits.Queries;

namespace Orbit.Application.Habits.Validators;

public class GetHabitFullDetailQueryValidator : AbstractValidator<GetHabitFullDetailQuery>
{
public GetHabitFullDetailQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();
RuleFor(x => x.HabitId).NotEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
using FluentValidation;
using Orbit.Application.Habits.Queries;

namespace Orbit.Application.Habits.Validators;

public class GetHabitLogsQueryValidator : AbstractValidator<GetHabitLogsQuery>
{
public GetHabitLogsQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();
RuleFor(x => x.HabitId).NotEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
using FluentValidation;
using Orbit.Application.Habits.Queries;

namespace Orbit.Application.Habits.Validators;

public class GetHabitMetricsQueryValidator : AbstractValidator<GetHabitMetricsQuery>
{
public GetHabitMetricsQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();
RuleFor(x => x.HabitId).NotEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using FluentValidation;
using Orbit.Application.Habits.Queries;

namespace Orbit.Application.Habits.Validators;

public class GetHabitWidgetQueryValidator : AbstractValidator<GetHabitWidgetQuery>
{
public GetHabitWidgetQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
using FluentValidation;
using Orbit.Application.Common;
using Orbit.Application.Habits.Queries;

namespace Orbit.Application.Habits.Validators;

public class GetRetrospectiveQueryValidator : AbstractValidator<GetRetrospectiveQuery>
{
public GetRetrospectiveQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();

RuleFor(x => x.Period)
.NotEmpty()
.Must(period => RetrospectivePeriodRange.IsKnownPeriod(period))
.WithMessage("Period must be one of: week, month, quarter, semester, year.");

RuleFor(x => x.DateFrom)
.LessThanOrEqualTo(x => x.DateTo)
.WithMessage("DateFrom must be on or before DateTo.");

RuleFor(x => x)
.Must(x => x.DateTo.DayNumber - x.DateFrom.DayNumber <= AppConstants.MaxRangeDays)
.WithMessage($"Date range must not exceed {AppConstants.MaxRangeDays} days.")
.When(x => x.DateFrom <= x.DateTo);

RuleFor(x => x.Language)
.MaximumLength(AppConstants.MaxLanguageLength)
.Must(lang => string.IsNullOrEmpty(lang) || AppConstants.SupportedLanguages.Contains(lang))
.WithMessage($"Language must be one of: {string.Join(", ", AppConstants.SupportedLanguages)}");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using FluentValidation;
using Orbit.Application.Notifications.Queries;

namespace Orbit.Application.Notifications.Validators;

public class GetNotificationsQueryValidator : AbstractValidator<GetNotificationsQuery>
{
public GetNotificationsQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using FluentValidation;
using Orbit.Application.Profile.Queries;

namespace Orbit.Application.Profile.Validators;

public class ExportUserDataQueryValidator : AbstractValidator<ExportUserDataQuery>
{
public ExportUserDataQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using FluentValidation;
using Orbit.Application.Profile.Queries;

namespace Orbit.Application.Profile.Validators;

public class GetProfileQueryValidator : AbstractValidator<GetProfileQuery>
{
public GetProfileQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using FluentValidation;
using Orbit.Application.Profile.Queries;

namespace Orbit.Application.Profile.Validators;

public class GetPublicProfileQueryValidator : AbstractValidator<GetPublicProfileQuery>
{
public GetPublicProfileQueryValidator()
{
RuleFor(x => x.Slug).NotEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using FluentValidation;
using Orbit.Application.Referrals.Queries;

namespace Orbit.Application.Referrals.Validators;

public class GetReferralDashboardQueryValidator : AbstractValidator<GetReferralDashboardQuery>
{
public GetReferralDashboardQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using FluentValidation;
using Orbit.Application.Referrals.Queries;

namespace Orbit.Application.Referrals.Validators;

public class GetReferralStatsQueryValidator : AbstractValidator<GetReferralStatsQuery>
{
public GetReferralStatsQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using FluentValidation;
using Orbit.Application.Subscriptions.Queries;

namespace Orbit.Application.Subscriptions.Validators;

public class GetBillingDetailsQueryValidator : AbstractValidator<GetBillingDetailsQuery>
{
public GetBillingDetailsQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using FluentValidation;
using Orbit.Application.Subscriptions.Queries;

namespace Orbit.Application.Subscriptions.Validators;

public class GetPlansQueryValidator : AbstractValidator<GetPlansQuery>
{
public GetPlansQueryValidator()
{
RuleFor(x => x.UserId).NotEmpty();
}
}
Loading
Loading