38 lines
1.0 KiB
Dart
38 lines
1.0 KiB
Dart
/// قرارداد یوزکیس: هر یوزکیس با یک پارامتر فراخوانی میشود و یک Future برمیگرداند.
|
|
abstract class UseCase<T, P> {
|
|
Future<T> call(P params);
|
|
}
|
|
|
|
/// نبودِ پارامتر (برای یوزکیسهای بدون ورودی).
|
|
class NoParams {
|
|
const NoParams();
|
|
}
|
|
|
|
/// پارامتر بررسی کد یکبارمصرف.
|
|
class OtpParams {
|
|
final String mobile;
|
|
final String token;
|
|
const OtpParams(this.mobile, this.token);
|
|
}
|
|
|
|
/// پارامتر بهروزرسانی پروفایل (نام و آواتار).
|
|
class ProfileParams {
|
|
final String firstName;
|
|
final String avatar;
|
|
const ProfileParams(this.firstName, this.avatar);
|
|
}
|
|
|
|
/// پارامتر خرید درونبرنامهای (IAP).
|
|
class PurchaseParams {
|
|
final String store;
|
|
final String kind;
|
|
final String productId;
|
|
final String token;
|
|
const PurchaseParams({
|
|
required this.store,
|
|
required this.kind,
|
|
required this.productId,
|
|
required this.token,
|
|
});
|
|
}
|