refactor: update payments feature to use StaffPayment model and clean up unused code
This commit is contained in:
@@ -6,7 +6,7 @@
|
|||||||
/// Locales: 2
|
/// Locales: 2
|
||||||
/// Strings: 1004 (502 per locale)
|
/// Strings: 1004 (502 per locale)
|
||||||
///
|
///
|
||||||
/// Built on 2026-01-25 at 22:00 UTC
|
/// Built on 2026-01-25 at 22:04 UTC
|
||||||
|
|
||||||
// coverage:ignore-file
|
// coverage:ignore-file
|
||||||
// ignore_for_file: type=lint, unused_import
|
// ignore_for_file: type=lint, unused_import
|
||||||
|
|||||||
@@ -1,18 +1,6 @@
|
|||||||
<<<<<<< Updated upstream
|
|
||||||
import '../entities/payment_summary.dart';
|
|
||||||
import '../entities/payment_transaction.dart';
|
|
||||||
|
|
||||||
abstract class PaymentsRepository {
|
|
||||||
/// Fetches the summary of earnings (weekly, monthly, total, pending).
|
|
||||||
Future<PaymentSummary> getPaymentSummary();
|
|
||||||
|
|
||||||
/// Fetches the list of recent payment transactions (history).
|
|
||||||
Future<List<PaymentTransaction>> getPaymentHistory(String period);
|
|
||||||
=======
|
|
||||||
import 'package:krow_domain/krow_domain.dart';
|
import 'package:krow_domain/krow_domain.dart';
|
||||||
|
|
||||||
abstract class PaymentsRepository {
|
abstract class PaymentsRepository {
|
||||||
/// Fetches the list of payments.
|
/// Fetches the list of payments.
|
||||||
Future<List<StaffPayment>> getPayments();
|
Future<List<StaffPayment>> getPayments();
|
||||||
>>>>>>> Stashed changes
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,27 +1,15 @@
|
|||||||
<<<<<<< Updated upstream
|
|
||||||
import '../entities/payment_transaction.dart';
|
|
||||||
import '../repositories/payments_repository.dart';
|
|
||||||
|
|
||||||
class GetPaymentHistoryUseCase {
|
|
||||||
=======
|
|
||||||
import 'package:krow_core/core.dart';
|
import 'package:krow_core/core.dart';
|
||||||
import 'package:krow_domain/krow_domain.dart';
|
import 'package:krow_domain/krow_domain.dart';
|
||||||
import '../repositories/payments_repository.dart';
|
import '../repositories/payments_repository.dart';
|
||||||
|
|
||||||
class GetPaymentHistoryUseCase extends UseCase<String, List<StaffPayment>> {
|
class GetPaymentHistoryUseCase extends UseCase<String, List<StaffPayment>> {
|
||||||
>>>>>>> Stashed changes
|
|
||||||
final PaymentsRepository repository;
|
final PaymentsRepository repository;
|
||||||
|
|
||||||
GetPaymentHistoryUseCase(this.repository);
|
GetPaymentHistoryUseCase(this.repository);
|
||||||
|
|
||||||
<<<<<<< Updated upstream
|
|
||||||
Future<List<PaymentTransaction>> call({String period = 'week'}) async {
|
|
||||||
return await repository.getPaymentHistory(period);
|
|
||||||
=======
|
|
||||||
@override
|
@override
|
||||||
Future<List<StaffPayment>> call(String period) async {
|
Future<List<StaffPayment>> call(String period) async {
|
||||||
// TODO: Implement filtering by period
|
// TODO: Implement filtering by period
|
||||||
return await repository.getPayments();
|
return await repository.getPayments();
|
||||||
>>>>>>> Stashed changes
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,26 +1,14 @@
|
|||||||
<<<<<<< Updated upstream
|
|
||||||
import '../entities/payment_summary.dart';
|
|
||||||
import '../repositories/payments_repository.dart';
|
|
||||||
|
|
||||||
class GetPaymentSummaryUseCase {
|
|
||||||
=======
|
|
||||||
import 'package:krow_core/core.dart';
|
import 'package:krow_core/core.dart';
|
||||||
import 'package:krow_domain/krow_domain.dart';
|
import 'package:krow_domain/krow_domain.dart';
|
||||||
import '../repositories/payments_repository.dart';
|
import '../repositories/payments_repository.dart';
|
||||||
|
|
||||||
class GetPaymentSummaryUseCase extends NoInputUseCase<List<StaffPayment>> {
|
class GetPaymentSummaryUseCase extends NoInputUseCase<List<StaffPayment>> {
|
||||||
>>>>>>> Stashed changes
|
|
||||||
final PaymentsRepository repository;
|
final PaymentsRepository repository;
|
||||||
|
|
||||||
GetPaymentSummaryUseCase(this.repository);
|
GetPaymentSummaryUseCase(this.repository);
|
||||||
|
|
||||||
<<<<<<< Updated upstream
|
|
||||||
Future<PaymentSummary> call() async {
|
|
||||||
return await repository.getPaymentSummary();
|
|
||||||
=======
|
|
||||||
@override
|
@override
|
||||||
Future<List<StaffPayment>> call() async {
|
Future<List<StaffPayment>> call() async {
|
||||||
return await repository.getPayments();
|
return await repository.getPayments();
|
||||||
>>>>>>> Stashed changes
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,31 +1,17 @@
|
|||||||
import 'package:flutter_modular/flutter_modular.dart';
|
import 'package:flutter_modular/flutter_modular.dart';
|
||||||
<<<<<<< Updated upstream
|
|
||||||
import 'domain/repositories/payments_repository.dart';
|
|
||||||
import 'domain/usecases/get_payment_summary_usecase.dart';
|
|
||||||
import 'domain/usecases/get_payment_history_usecase.dart';
|
|
||||||
import 'data/datasources/payments_remote_datasource.dart';
|
|
||||||
import 'data/datasources/payments_mock_datasource.dart';
|
|
||||||
import 'data/repositories/payments_repository_impl.dart';
|
|
||||||
=======
|
|
||||||
import 'package:krow_data_connect/krow_data_connect.dart';
|
import 'package:krow_data_connect/krow_data_connect.dart';
|
||||||
import 'domain/repositories/payments_repository.dart';
|
import 'domain/repositories/payments_repository.dart';
|
||||||
import 'domain/usecases/get_payment_summary_usecase.dart';
|
import 'domain/usecases/get_payment_summary_usecase.dart';
|
||||||
import 'domain/usecases/get_payment_history_usecase.dart';
|
import 'domain/usecases/get_payment_history_usecase.dart';
|
||||||
import 'data/repositories_impl/payments_repository_impl.dart';
|
import 'data/repositories_impl/payments_repository_impl.dart';
|
||||||
>>>>>>> Stashed changes
|
|
||||||
import 'presentation/blocs/payments/payments_bloc.dart';
|
import 'presentation/blocs/payments/payments_bloc.dart';
|
||||||
import 'presentation/pages/payments_page.dart';
|
import 'presentation/pages/payments_page.dart';
|
||||||
|
|
||||||
class StaffPaymentsModule extends Module {
|
class StaffPaymentsModule extends Module {
|
||||||
@override
|
@override
|
||||||
void binds(Injector i) {
|
void binds(Injector i) {
|
||||||
<<<<<<< Updated upstream
|
|
||||||
// Data Sources
|
|
||||||
i.add<PaymentsRemoteDataSource>(PaymentsMockDataSource.new);
|
|
||||||
=======
|
|
||||||
// Data Connect Mocks
|
// Data Connect Mocks
|
||||||
i.add<FinancialRepositoryMock>(FinancialRepositoryMock.new);
|
i.add<FinancialRepositoryMock>(FinancialRepositoryMock.new);
|
||||||
>>>>>>> Stashed changes
|
|
||||||
|
|
||||||
// Repositories
|
// Repositories
|
||||||
i.add<PaymentsRepository>(PaymentsRepositoryImpl.new);
|
i.add<PaymentsRepository>(PaymentsRepositoryImpl.new);
|
||||||
|
|||||||
@@ -1,15 +1,8 @@
|
|||||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
<<<<<<< Updated upstream
|
|
||||||
import '../../../domain/entities/payment_summary.dart';
|
|
||||||
import '../../../domain/entities/payment_transaction.dart';
|
|
||||||
import '../../../domain/usecases/get_payment_summary_usecase.dart';
|
|
||||||
import '../../../domain/usecases/get_payment_history_usecase.dart';
|
|
||||||
=======
|
|
||||||
import 'package:krow_domain/krow_domain.dart';
|
import 'package:krow_domain/krow_domain.dart';
|
||||||
import '../../../domain/usecases/get_payment_summary_usecase.dart';
|
import '../../../domain/usecases/get_payment_summary_usecase.dart';
|
||||||
import '../../../domain/usecases/get_payment_history_usecase.dart';
|
import '../../../domain/usecases/get_payment_history_usecase.dart';
|
||||||
import '../../models/payment_stats.dart';
|
import '../../models/payment_stats.dart';
|
||||||
>>>>>>> Stashed changes
|
|
||||||
import 'payments_event.dart';
|
import 'payments_event.dart';
|
||||||
import 'payments_state.dart';
|
import 'payments_state.dart';
|
||||||
|
|
||||||
@@ -31,19 +24,12 @@ class PaymentsBloc extends Bloc<PaymentsEvent, PaymentsState> {
|
|||||||
) async {
|
) async {
|
||||||
emit(PaymentsLoading());
|
emit(PaymentsLoading());
|
||||||
try {
|
try {
|
||||||
<<<<<<< Updated upstream
|
|
||||||
final PaymentSummary summary = await getPaymentSummary();
|
|
||||||
final List<PaymentTransaction> history = await getPaymentHistory(period: 'week');
|
|
||||||
emit(PaymentsLoaded(
|
|
||||||
summary: summary,
|
|
||||||
=======
|
|
||||||
final List<StaffPayment> allPayments = await getPaymentSummary();
|
final List<StaffPayment> allPayments = await getPaymentSummary();
|
||||||
final PaymentStats stats = _calculateStats(allPayments);
|
final PaymentStats stats = _calculateStats(allPayments);
|
||||||
|
|
||||||
final List<StaffPayment> history = await getPaymentHistory('week');
|
final List<StaffPayment> history = await getPaymentHistory('week');
|
||||||
emit(PaymentsLoaded(
|
emit(PaymentsLoaded(
|
||||||
summary: stats,
|
summary: stats,
|
||||||
>>>>>>> Stashed changes
|
|
||||||
history: history,
|
history: history,
|
||||||
activePeriod: 'week',
|
activePeriod: 'week',
|
||||||
));
|
));
|
||||||
@@ -60,15 +46,8 @@ class PaymentsBloc extends Bloc<PaymentsEvent, PaymentsState> {
|
|||||||
if (currentState is PaymentsLoaded) {
|
if (currentState is PaymentsLoaded) {
|
||||||
if (currentState.activePeriod == event.period) return;
|
if (currentState.activePeriod == event.period) return;
|
||||||
|
|
||||||
<<<<<<< Updated upstream
|
|
||||||
// Optimistic update or set loading state if expecting delay
|
|
||||||
// For now, we'll keep the current data and fetch new history
|
|
||||||
try {
|
|
||||||
final List<PaymentTransaction> newHistory = await getPaymentHistory(period: event.period);
|
|
||||||
=======
|
|
||||||
try {
|
try {
|
||||||
final List<StaffPayment> newHistory = await getPaymentHistory(event.period);
|
final List<StaffPayment> newHistory = await getPaymentHistory(event.period);
|
||||||
>>>>>>> Stashed changes
|
|
||||||
emit(currentState.copyWith(
|
emit(currentState.copyWith(
|
||||||
history: newHistory,
|
history: newHistory,
|
||||||
activePeriod: event.period,
|
activePeriod: event.period,
|
||||||
@@ -78,8 +57,6 @@ class PaymentsBloc extends Bloc<PaymentsEvent, PaymentsState> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
<<<<<<< Updated upstream
|
|
||||||
=======
|
|
||||||
|
|
||||||
PaymentStats _calculateStats(List<StaffPayment> payments) {
|
PaymentStats _calculateStats(List<StaffPayment> payments) {
|
||||||
double total = 0;
|
double total = 0;
|
||||||
@@ -114,5 +91,4 @@ class PaymentsBloc extends Bloc<PaymentsEvent, PaymentsState> {
|
|||||||
monthlyEarnings: monthly,
|
monthlyEarnings: monthly,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
>>>>>>> Stashed changes
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,6 @@
|
|||||||
import 'package:equatable/equatable.dart';
|
import 'package:equatable/equatable.dart';
|
||||||
<<<<<<< Updated upstream
|
|
||||||
import '../../../domain/entities/payment_summary.dart';
|
|
||||||
import '../../../domain/entities/payment_transaction.dart';
|
|
||||||
=======
|
|
||||||
import 'package:krow_domain/krow_domain.dart';
|
import 'package:krow_domain/krow_domain.dart';
|
||||||
import '../../models/payment_stats.dart';
|
import '../../models/payment_stats.dart';
|
||||||
>>>>>>> Stashed changes
|
|
||||||
|
|
||||||
abstract class PaymentsState extends Equatable {
|
abstract class PaymentsState extends Equatable {
|
||||||
const PaymentsState();
|
const PaymentsState();
|
||||||
@@ -19,13 +14,8 @@ class PaymentsInitial extends PaymentsState {}
|
|||||||
class PaymentsLoading extends PaymentsState {}
|
class PaymentsLoading extends PaymentsState {}
|
||||||
|
|
||||||
class PaymentsLoaded extends PaymentsState {
|
class PaymentsLoaded extends PaymentsState {
|
||||||
<<<<<<< Updated upstream
|
|
||||||
final PaymentSummary summary;
|
|
||||||
final List<PaymentTransaction> history;
|
|
||||||
=======
|
|
||||||
final PaymentStats summary;
|
final PaymentStats summary;
|
||||||
final List<StaffPayment> history;
|
final List<StaffPayment> history;
|
||||||
>>>>>>> Stashed changes
|
|
||||||
final String activePeriod;
|
final String activePeriod;
|
||||||
|
|
||||||
const PaymentsLoaded({
|
const PaymentsLoaded({
|
||||||
@@ -35,13 +25,8 @@ class PaymentsLoaded extends PaymentsState {
|
|||||||
});
|
});
|
||||||
|
|
||||||
PaymentsLoaded copyWith({
|
PaymentsLoaded copyWith({
|
||||||
<<<<<<< Updated upstream
|
|
||||||
PaymentSummary? summary,
|
|
||||||
List<PaymentTransaction>? history,
|
|
||||||
=======
|
|
||||||
PaymentStats? summary,
|
PaymentStats? summary,
|
||||||
List<StaffPayment>? history,
|
List<StaffPayment>? history,
|
||||||
>>>>>>> Stashed changes
|
|
||||||
String? activePeriod,
|
String? activePeriod,
|
||||||
}) {
|
}) {
|
||||||
return PaymentsLoaded(
|
return PaymentsLoaded(
|
||||||
|
|||||||
@@ -3,11 +3,7 @@ import 'package:flutter_bloc/flutter_bloc.dart';
|
|||||||
import 'package:flutter_modular/flutter_modular.dart';
|
import 'package:flutter_modular/flutter_modular.dart';
|
||||||
import 'package:lucide_icons/lucide_icons.dart';
|
import 'package:lucide_icons/lucide_icons.dart';
|
||||||
import 'package:intl/intl.dart';
|
import 'package:intl/intl.dart';
|
||||||
<<<<<<< Updated upstream
|
|
||||||
import '../../domain/entities/payment_transaction.dart';
|
|
||||||
=======
|
|
||||||
import 'package:krow_domain/krow_domain.dart';
|
import 'package:krow_domain/krow_domain.dart';
|
||||||
>>>>>>> Stashed changes
|
|
||||||
import '../blocs/payments/payments_bloc.dart';
|
import '../blocs/payments/payments_bloc.dart';
|
||||||
import '../blocs/payments/payments_event.dart';
|
import '../blocs/payments/payments_event.dart';
|
||||||
import '../blocs/payments/payments_state.dart';
|
import '../blocs/payments/payments_state.dart';
|
||||||
@@ -181,25 +177,11 @@ class _PaymentsPageState extends State<PaymentsPage> {
|
|||||||
),
|
),
|
||||||
const SizedBox(height: 12),
|
const SizedBox(height: 12),
|
||||||
Column(
|
Column(
|
||||||
<<<<<<< Updated upstream
|
|
||||||
children: state.history.map((PaymentTransaction payment) {
|
|
||||||
=======
|
|
||||||
children: state.history.map((StaffPayment payment) {
|
children: state.history.map((StaffPayment payment) {
|
||||||
>>>>>>> Stashed changes
|
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: const EdgeInsets.only(bottom: 8),
|
padding: const EdgeInsets.only(bottom: 8),
|
||||||
child: PaymentHistoryItem(
|
child: PaymentHistoryItem(
|
||||||
amount: payment.amount,
|
amount: payment.amount,
|
||||||
<<<<<<< Updated upstream
|
|
||||||
title: payment.title,
|
|
||||||
location: payment.location,
|
|
||||||
address: payment.address,
|
|
||||||
date: DateFormat('E, MMM d').format(payment.date),
|
|
||||||
workedTime: payment.workedTime,
|
|
||||||
hours: payment.hours,
|
|
||||||
rate: payment.rate,
|
|
||||||
status: payment.status,
|
|
||||||
=======
|
|
||||||
title: 'Assignment ${payment.assignmentId}',
|
title: 'Assignment ${payment.assignmentId}',
|
||||||
location: 'Location', // TODO: Fetch from assignment
|
location: 'Location', // TODO: Fetch from assignment
|
||||||
address: '',
|
address: '',
|
||||||
@@ -208,7 +190,6 @@ class _PaymentsPageState extends State<PaymentsPage> {
|
|||||||
hours: 0,
|
hours: 0,
|
||||||
rate: 0,
|
rate: 0,
|
||||||
status: payment.status.toString().split('.').last,
|
status: payment.status.toString().split('.').last,
|
||||||
>>>>>>> Stashed changes
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}).toList(),
|
}).toList(),
|
||||||
|
|||||||
@@ -2,16 +2,10 @@ name: staff_payments
|
|||||||
description: Staff Payments feature
|
description: Staff Payments feature
|
||||||
version: 0.0.1
|
version: 0.0.1
|
||||||
publish_to: 'none'
|
publish_to: 'none'
|
||||||
<<<<<<< Updated upstream
|
|
||||||
|
|
||||||
environment:
|
|
||||||
sdk: '>=3.0.0 <4.0.0'
|
|
||||||
=======
|
|
||||||
resolution: workspace
|
resolution: workspace
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: '>=3.10.0 <4.0.0'
|
sdk: '>=3.10.0 <4.0.0'
|
||||||
>>>>>>> Stashed changes
|
|
||||||
flutter: ">=3.0.0"
|
flutter: ">=3.0.0"
|
||||||
|
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -28,11 +22,10 @@ dependencies:
|
|||||||
path: ../../../core_localization
|
path: ../../../core_localization
|
||||||
krow_domain:
|
krow_domain:
|
||||||
path: ../../../domain
|
path: ../../../domain
|
||||||
<<<<<<< Updated upstream
|
|
||||||
=======
|
|
||||||
krow_core:
|
krow_core:
|
||||||
path: ../../../core
|
path: ../../../core
|
||||||
>>>>>>> Stashed changes
|
krow_data_connect:
|
||||||
|
path: ../../../data_connect
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
|
|||||||
Reference in New Issue
Block a user