Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • car-app/appwrite-functions
1 result
Show changes
Showing
with 309 additions and 19 deletions
import 'package:api/model/interface/payment/payment.dart';
abstract class UserToUserPayment extends Payment {
String get paidTo;
}
abstract class Point {
String? get id;
num get latitude;
num get longitude;
}
abstract class Route {
String? get id;
Iterable<String> get pointIds;
String get userId;
String? get teamId;
DateTime get startTime;
DateTime get endTime;
}
import 'package:api/model/payment/team.dart';
class DrivenDistanceDistributedPayment extends TeamPayment {
final Iterable<String> routeIds;
DrivenDistanceDistributedPayment({super.id, required super.amount, required super.teamId, required this.routeIds, required super.createdAt, required super.paidBy});
}
import 'package:api/model/payment/team.dart';
class EquallyDistributedPayment extends TeamPayment {
EquallyDistributedPayment({super.id, required super.amount, required super.teamId, required super.createdAt, required super.paidBy});
}
import 'package:lib/lib.dart';
abstract class Payment extends DbModel {
num get amount;
DateTime get createdAt;
String get paidBy;
}
import 'package:api/model/interface/calendar_event.dart';
import 'package:lib/lib.dart';
class CalendarEvent implements DbModel {
class CalendarEventRequest extends DbModel implements CalendarEvent {
@override
final String teamId;
@override
final String title;
@override
final String? description;
@override
final DateTime start;
@override
final DateTime end;
@override
final String userId;
@override
final String? id;
@override
final Permissions? permissions;
final Permissions? permissions = null;
CalendarEvent({this.id, required this.userId, required this.teamId, required this.title, this.description, required this.start, required this.end}):
permissions = null;
CalendarEventRequest({
this.id,
required this.userId,
required this.teamId,
required this.title,
this.description,
required this.start,
required this.end
});
}
import 'package:api/model/interface/payment/driven_distance_distributed.dart';
import 'package:api/model/request/payment/team.dart';
class DrivenDistanceDistributedPaymentRequest extends TeamPaymentRequest implements DrivenDistanceDistributedPayment {
@override
final Iterable<String> routeIds;
DrivenDistanceDistributedPaymentRequest({
super.id,
required super.amount,
required super.teamId,
required super.paidBy,
required this.routeIds,
});
}
import 'package:api/model/interface/payment/equally_distributed.dart';
import 'package:api/model/request/payment/team.dart';
class EquallyDistributedPaymentRequest extends TeamPaymentRequest implements EquallyDistributedPayment {
EquallyDistributedPaymentRequest({
super.id,
required super.amount,
required super.teamId,
required super.paidBy
});
}
import 'package:api/model/interface/payment/payment.dart';
import 'package:lib/lib.dart';
abstract class PaymentRequest extends DbModel implements Payment {}
import 'package:api/model/payment/payment.dart';
import 'package:api/model/interface/payment/team.dart';
import 'package:api/model/request/payment/payment.dart';
import 'package:lib/lib.dart';
class TeamPayment extends Payment {
class TeamPaymentRequest extends PaymentRequest implements TeamPayment {
@override
final String teamId;
@override
......@@ -14,11 +16,12 @@ class TeamPayment extends Payment {
final String paidBy;
@override
final Permissions? permissions;
@override
final DateTime createdAt;
final Permissions? permissions = null;
TeamPayment({this.id, required this.amount, required this.teamId, required this.createdAt, required this.paidBy}):
permissions = null;
TeamPaymentRequest({
this.id,
required this.amount,
required this.teamId,
required this.paidBy,
});
}
import 'package:api/model/payment/payment.dart';
import 'package:api/model/interface/payment/user_to_user.dart';
import 'package:api/model/request/payment/payment.dart';
import 'package:lib/lib.dart';
class UserToUserPayment extends Payment {
class UserToUserPaymentRequest extends PaymentRequest implements UserToUserPayment {
@override
final String paidTo;
@override
......@@ -14,11 +16,12 @@ class UserToUserPayment extends Payment {
final String paidBy;
@override
final Permissions? permissions;
@override
final DateTime createdAt;
final Permissions? permissions = null;
UserToUserPayment({this.id, required this.amount, required this.createdAt, required this.paidBy, required this.paidTo}):
permissions = null;
UserToUserPaymentRequest({
this.id,
required this.amount,
required this.paidBy,
required this.paidTo,
});
}
import 'package:api/model/interface/point.dart';
import 'package:lib/lib.dart';
class Point implements DbModel {
class PointRequest extends DbModel implements Point {
@override
final String? id;
@override
final num latitude;
final num longitude;
@override
final String? id;
final num longitude;
@override
final Permissions? permissions;
final Permissions? permissions = null;
Point({this.id, required this.latitude, required this.longitude}) :
permissions = null;
PointRequest({this.id, required this.latitude, required this.longitude});
}
import 'package:api/model/interface/route.dart';
import 'package:lib/lib.dart';
import 'package:api/model/point.dart';
class Route implements DbModel {
final List<Point> points;
class RouteRequest extends DbModel implements Route {
@override
final Iterable<String> pointIds;
@override
final String userId;
@override
final String? teamId;
@override
final DateTime startTime;
@override
final DateTime endTime;
@override
......@@ -14,6 +23,6 @@ class Route implements DbModel {
@override
final Permissions? permissions;
Route({this.id, required this.points, required this.userId, this.teamId, required this.startTime, required this.endTime}) :
RouteRequest({this.id, required this.pointIds, required this.userId, this.teamId, required this.startTime, required this.endTime}) :
permissions = null;
}
import 'package:api/model/interface/calendar_event.dart';
class CalendarEventResponse implements CalendarEvent {
@override
final String teamId;
@override
final String title;
@override
final String? description;
@override
final DateTime start;
@override
final DateTime end;
@override
final String userId;
@override
final String id;
CalendarEventResponse({
required this.id,
required this.userId,
required this.teamId,
required this.title,
this.description,
required this.start,
required this.end
});
}
import 'package:api/model/interface/payment/driven_distance_distributed.dart';
import 'package:api/model/response/payment/team.dart';
class DrivenDistanceDistributedPaymentResponse extends TeamPaymentResponse implements DrivenDistanceDistributedPayment {
@override
final Iterable<String> routeIds;
DrivenDistanceDistributedPaymentResponse({
required super.id,
required super.amount,
required super.teamId,
required super.paidBy,
required super.createdAt,
required this.routeIds,
});
}
import 'package:api/model/interface/payment/equally_distributed.dart';
import 'package:api/model/response/payment/team.dart';
class EquallyDistributedPaymentResponse extends TeamPaymentResponse implements EquallyDistributedPayment {
EquallyDistributedPaymentResponse({
required super.id,
required super.amount,
required super.teamId,
required super.paidBy,
required super.createdAt,
});
}
import 'package:api/model/interface/payment/payment.dart';
abstract class PaymentResponse implements Payment {
@override
String get id;
DateTime get createdAt;
}
import 'package:api/model/interface/payment/team.dart';
import 'package:api/model/response/payment/payment.dart';
class TeamPaymentResponse extends PaymentResponse implements TeamPayment {
@override
final String teamId;
@override
final num amount;
@override
final String id;
@override
final String paidBy;
@override
final DateTime createdAt;
TeamPaymentResponse({
required this.id,
required this.amount,
required this.teamId,
required this.paidBy,
required this.createdAt,
});
}
import 'package:api/model/interface/payment/user_to_user.dart';
import 'package:api/model/response/payment/payment.dart';
class UserToUserPaymentResponse extends PaymentResponse implements UserToUserPayment {
@override
final String paidTo;
@override
final num amount;
@override
final String id;
@override
final String paidBy;
@override
final DateTime createdAt;
UserToUserPaymentResponse({
required this.id,
required this.amount,
required this.createdAt,
required this.paidBy,
required this.paidTo,
});
}