point record

This commit is contained in:
Phuoc Nguyen
2025-11-26 11:48:02 +07:00
parent 3741239d83
commit a07f165f0c
12 changed files with 1761 additions and 12 deletions

View File

@@ -18,11 +18,11 @@ enum PointsStatus {
String get displayName {
switch (this) {
case PointsStatus.pending:
return 'Pending';
return 'Chờ duyệt';
case PointsStatus.approved:
return 'Approved';
return 'Đã duyệt';
case PointsStatus.rejected:
return 'Rejected';
return 'Bị từ chối';
}
}
}

View File

@@ -0,0 +1,18 @@
/// Repository Interface: Points Record
///
/// Defines contract for points record operations.
library;
import 'package:worker/features/loyalty/domain/entities/points_record.dart';
/// Points Record Repository Interface
abstract class PointsRecordRepository {
/// Get all points records for current user
Future<List<PointsRecord>> getPointsRecords();
/// Get single points record by ID
Future<PointsRecord> getPointsRecordById(String recordId);
/// Submit new points record
Future<PointsRecord> submitPointsRecord(PointsRecord record);
}

View File

@@ -0,0 +1,19 @@
/// Use Case: Get Points Records
///
/// Retrieves all points records for the current user.
library;
import 'package:worker/features/loyalty/domain/entities/points_record.dart';
import 'package:worker/features/loyalty/domain/repositories/points_record_repository.dart';
/// Get Points Records Use Case
class GetPointsRecords {
const GetPointsRecords(this._repository);
final PointsRecordRepository _repository;
/// Execute use case
Future<List<PointsRecord>> call() async {
return await _repository.getPointsRecords();
}
}