customer page

This commit is contained in:
efrilm
2025-10-26 22:57:22 +07:00
parent 5c683eda8d
commit 0bffd92a08
22 changed files with 3727 additions and 3 deletions
+10
View File
@@ -0,0 +1,10 @@
import 'package:dartz/dartz.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
import '../../common/api/api_failure.dart';
part 'customer.freezed.dart';
part 'entities/customer_entity.dart';
part 'failures/customer_failure.dart';
part 'repositories/i_customer_repository.dart';
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,51 @@
part of '../customer.dart';
@freezed
class ListCustomer with _$ListCustomer {
const factory ListCustomer({
required List<Customer> customers,
required int totalCount,
required int page,
required int limit,
required int totalPages,
}) = _ListCustomer;
factory ListCustomer.empty() => ListCustomer(
customers: const [],
totalCount: 0,
page: 0,
limit: 0,
totalPages: 0,
);
}
@freezed
class Customer with _$Customer {
const factory Customer({
required String id,
required String organizationId,
required String name,
required String email,
required String phone,
required String address,
required bool isDefault,
required bool isActive,
required Map<String, dynamic> metadata,
required DateTime createdAt,
required DateTime updatedAt,
}) = _Customer;
factory Customer.empty() => Customer(
id: '',
organizationId: '',
name: '',
email: '',
phone: '',
address: '',
isDefault: false,
isActive: false,
metadata: const {},
createdAt: DateTime(1970),
updatedAt: DateTime(1970),
);
}
@@ -0,0 +1,12 @@
part of '../customer.dart';
@freezed
sealed class CustomerFailure with _$CustomerFailure {
const factory CustomerFailure.serverError(ApiFailure failure) = _ServerError;
const factory CustomerFailure.unexpectedError() = _UnexpectedError;
const factory CustomerFailure.empty() = _Empty;
const factory CustomerFailure.localStorageError(String erroMessage) =
_LocalStorageError;
const factory CustomerFailure.dynamicErrorMessage(String erroMessage) =
_DynamicErrorMessage;
}
@@ -0,0 +1,8 @@
part of '../customer.dart';
abstract class ICustomerRepository {
Future<Either<CustomerFailure, ListCustomer>> getCustomer({
int page = 1,
int limit = 10,
});
}