From ae160de91f5b89b28e3a6e768b32619f7b2f988d Mon Sep 17 00:00:00 2001 From: Maxime Roucher Date: Sat, 18 Nov 2023 12:04:53 +0100 Subject: [PATCH] refacto: using swagger as user repository --- build.yaml | 16 +- lib/adapters/users.dart | 22 + lib/admin/providers/is_admin_provider.dart | 2 +- .../providers/is_amap_admin_provider.dart | 2 +- .../product_choice_button.dart | 8 +- lib/auth/providers/openid_provider.dart | 2 +- lib/booking/providers/is_admin_provider.dart | 2 +- .../booking_pages/add_edit_booking_page.dart | 11 +- lib/cinema/providers/is_cinema_admin.dart | 2 +- lib/drawer/ui/drawer_top_bar.dart | 2 +- lib/event/providers/is_admin_provider.dart | 2 +- .../event_pages/add_edit_event_page.dart | 11 +- lib/generated/client_index.dart | 2 + lib/generated/client_mapping.dart | 1 + lib/generated/openapi.enums.swagger.dart | 223 + lib/generated/openapi.models.swagger.dart | 10022 ++++++++++++++++ lib/generated/openapi.models.swagger.g.dart | 1993 +++ lib/generated/openapi.swagger.chopper.dart | 2828 +++++ lib/generated/openapi.swagger.dart | 3374 ++++++ lib/others/ui/loading_page.dart | 2 +- lib/raffle/providers/is_raffle_admin.dart | 2 +- .../pages/edit_user_page/edit_user_page.dart | 13 +- .../authentication_interceptor.dart | 83 + .../interceptors/request_interceptor.dart | 26 + lib/tools/providers/single_notifier copy.dart | 125 + lib/tools/repository/repository2.dart | 19 + lib/user/providers/user_provider.dart | 68 +- lib/user/repositories/user_repository.dart | 84 +- lib/vote/providers/can_vote_provider.dart | 4 +- .../providers/is_vote_admin_provider.dart | 2 +- swaggers/openapi.json | 1 + 31 files changed, 18843 insertions(+), 111 deletions(-) create mode 100644 lib/adapters/users.dart create mode 100644 lib/generated/client_index.dart create mode 100644 lib/generated/client_mapping.dart create mode 100644 lib/generated/openapi.enums.swagger.dart create mode 100644 lib/generated/openapi.models.swagger.dart create mode 100644 lib/generated/openapi.models.swagger.g.dart create mode 100644 lib/generated/openapi.swagger.chopper.dart create mode 100644 lib/generated/openapi.swagger.dart create mode 100644 lib/tools/interceptors/authentication_interceptor.dart create mode 100644 lib/tools/interceptors/request_interceptor.dart create mode 100644 lib/tools/providers/single_notifier copy.dart create mode 100644 lib/tools/repository/repository2.dart create mode 100644 swaggers/openapi.json diff --git a/build.yaml b/build.yaml index 7d77c57dd..17aac662a 100644 --- a/build.yaml +++ b/build.yaml @@ -9,4 +9,18 @@ targets: output_folder: "lib/generated/" input_urls: - "https://hyperion.myecl.fr/openapi.json" - separate_models: true \ No newline at end of file + separate_models: true + default_values_map: + - type_name: int + default_value: '0' + - type_name: String + default_value: '' + - type_name: bool + default_value: 'false' + - type_name: 'List' + default_value: '[]' + - type_name: 'Map' + default_value: '{}' + - type_name: 'double' + default_value: '0.0' + diff --git a/lib/adapters/users.dart b/lib/adapters/users.dart new file mode 100644 index 000000000..4478b37ed --- /dev/null +++ b/lib/adapters/users.dart @@ -0,0 +1,22 @@ +import 'package:myecl/generated/openapi.models.swagger.dart'; + +CoreUserUpdateAdmin coreUserUpdateAdminAdapter(CoreUser coreUser) { + return CoreUserUpdateAdmin( + name: coreUser.name, + firstname: coreUser.firstname, + promo: coreUser.promo, + nickname: coreUser.nickname, + birthday: coreUser.birthday, + phone: coreUser.phone, + floor: coreUser.floor, + ); +} + +CoreUserUpdate coreUserUpdateAdapter(CoreUser coreUser) { + return CoreUserUpdate( + nickname: coreUser.nickname, + birthday: coreUser.birthday, + phone: coreUser.phone, + floor: coreUser.floor, + ); +} diff --git a/lib/admin/providers/is_admin_provider.dart b/lib/admin/providers/is_admin_provider.dart index c2afd81de..0a3d8c3f3 100644 --- a/lib/admin/providers/is_admin_provider.dart +++ b/lib/admin/providers/is_admin_provider.dart @@ -3,7 +3,7 @@ import 'package:myecl/user/providers/user_provider.dart'; final isAdminProvider = StateProvider((ref) { final me = ref.watch(userProvider); - return me.groups + return me.groups! .map((e) => e.id) .contains("0a25cb76-4b63-4fd3-b939-da6d9feabf28"); }); diff --git a/lib/amap/providers/is_amap_admin_provider.dart b/lib/amap/providers/is_amap_admin_provider.dart index 8a8c08246..9c9cbb14b 100644 --- a/lib/amap/providers/is_amap_admin_provider.dart +++ b/lib/amap/providers/is_amap_admin_provider.dart @@ -3,7 +3,7 @@ import 'package:myecl/user/providers/user_provider.dart'; final isAmapAdminProvider = StateProvider((ref) { final me = ref.watch(userProvider); - return me.groups + return me.groups! .map((e) => e.id) .contains("70db65ee-d533-4f6b-9ffa-a4d70a17b7ef"); }); diff --git a/lib/amap/ui/pages/list_products_page/product_choice_button.dart b/lib/amap/ui/pages/list_products_page/product_choice_button.dart index ff2f26e9d..f8450c5ca 100644 --- a/lib/amap/ui/pages/list_products_page/product_choice_button.dart +++ b/lib/amap/ui/pages/list_products_page/product_choice_button.dart @@ -11,6 +11,7 @@ import 'package:myecl/tools/ui/widgets/dialog.dart'; import 'package:myecl/tools/functions.dart'; import 'package:myecl/tools/token_expire_wrapper.dart'; import 'package:myecl/tools/ui/builders/waiting_button.dart'; +import 'package:myecl/user/class/list_users.dart'; import 'package:myecl/user/providers/user_provider.dart'; import 'package:qlevar_router/qlevar_router.dart'; @@ -62,7 +63,12 @@ class ProductChoiceButton extends HookConsumerWidget { } else { Order newOrder = order.copyWith( deliveryId: deliveryId, - user: me.toSimpleUser(), + user: SimpleUser( + firstname: me.firstname, + name: me.name, + nickname: me.nickname, + id: me.id, + ), lastAmount: order.amount); await tokenExpireWrapper(ref, () async { final value = isEdit diff --git a/lib/auth/providers/openid_provider.dart b/lib/auth/providers/openid_provider.dart index a71402f08..72af58b41 100644 --- a/lib/auth/providers/openid_provider.dart +++ b/lib/auth/providers/openid_provider.dart @@ -68,7 +68,7 @@ final isLoggedInProvider = if (isConnected) { isLoggedInProvider.refresh(authToken); } else if (isCaching) { - return IsLoggedInProvider(true); + return IsLoggedInProvider(false); } return isLoggedInProvider; }); diff --git a/lib/booking/providers/is_admin_provider.dart b/lib/booking/providers/is_admin_provider.dart index a65b4b327..190dcf306 100644 --- a/lib/booking/providers/is_admin_provider.dart +++ b/lib/booking/providers/is_admin_provider.dart @@ -3,7 +3,7 @@ import 'package:myecl/user/providers/user_provider.dart'; final isAdminProvider = StateProvider((ref) { final me = ref.watch(userProvider); - return me.groups + return me.groups! .map((e) => e.id) .contains("0a25cb76-4b63-4fd3-b939-da6d9feabf28"); }); diff --git a/lib/booking/ui/pages/booking_pages/add_edit_booking_page.dart b/lib/booking/ui/pages/booking_pages/add_edit_booking_page.dart index 7ba283deb..14a70e788 100644 --- a/lib/booking/ui/pages/booking_pages/add_edit_booking_page.dart +++ b/lib/booking/ui/pages/booking_pages/add_edit_booking_page.dart @@ -22,6 +22,7 @@ import 'package:myecl/tools/ui/widgets/date_entry.dart'; import 'package:myecl/tools/ui/layouts/horizontal_list_view.dart'; import 'package:myecl/tools/ui/builders/waiting_button.dart'; import 'package:myecl/tools/ui/widgets/text_entry.dart'; +import 'package:myecl/user/class/applicant.dart'; import 'package:myecl/user/providers/user_provider.dart'; import 'package:qlevar_router/qlevar_router.dart'; import 'package:syncfusion_flutter_calendar/calendar.dart'; @@ -329,7 +330,15 @@ class AddEditBookingPage extends HookConsumerWidget { decision: booking.decision, recurrenceRule: recurrenceRule, entity: entity.text, - applicant: user.toApplicant(), + applicant: Applicant( + name: user.name, + nickname: user.nickname, + firstname: user.firstname, + id: user.id, + email: user.email, + phone: user.phone, + promo: user.promo, + ), applicantId: user.id); final value = isEdit ? await bookingsNotifier diff --git a/lib/cinema/providers/is_cinema_admin.dart b/lib/cinema/providers/is_cinema_admin.dart index 375f5af9e..e9dc39244 100644 --- a/lib/cinema/providers/is_cinema_admin.dart +++ b/lib/cinema/providers/is_cinema_admin.dart @@ -3,7 +3,7 @@ import 'package:myecl/user/providers/user_provider.dart'; final isCinemaAdminProvider = StateProvider((ref) { final me = ref.watch(userProvider); - return me.groups + return me.groups! .map((e) => e.id) .contains("ce5f36e6-5377-489f-9696-de70e2477300"); }); diff --git a/lib/drawer/ui/drawer_top_bar.dart b/lib/drawer/ui/drawer_top_bar.dart index 90f1b0ae7..bb989e2d4 100644 --- a/lib/drawer/ui/drawer_top_bar.dart +++ b/lib/drawer/ui/drawer_top_bar.dart @@ -12,8 +12,8 @@ import 'package:myecl/home/providers/scrolled_provider.dart'; import 'package:myecl/settings/router.dart'; import 'package:myecl/tools/constants.dart'; import 'package:myecl/tools/providers/path_forwarding_provider.dart'; -import 'package:myecl/tools/ui/builders/async_child.dart'; import 'package:myecl/user/providers/user_provider.dart'; +import 'package:myecl/tools/ui/builders/async_child.dart'; import 'package:myecl/user/providers/profile_picture_provider.dart'; import 'package:qlevar_router/qlevar_router.dart'; diff --git a/lib/event/providers/is_admin_provider.dart b/lib/event/providers/is_admin_provider.dart index f4f1f06ca..736df4f9b 100644 --- a/lib/event/providers/is_admin_provider.dart +++ b/lib/event/providers/is_admin_provider.dart @@ -3,7 +3,7 @@ import 'package:myecl/user/providers/user_provider.dart'; final isEventAdminProvider = StateProvider((ref) { final me = ref.watch(userProvider); - return me.groups + return me.groups! .map((e) => e.id) .contains("53a669d6-84b1-4352-8d7c-421c1fbd9c6a"); }); diff --git a/lib/event/ui/pages/event_pages/add_edit_event_page.dart b/lib/event/ui/pages/event_pages/add_edit_event_page.dart index 451603d23..11a9f122d 100644 --- a/lib/event/ui/pages/event_pages/add_edit_event_page.dart +++ b/lib/event/ui/pages/event_pages/add_edit_event_page.dart @@ -23,6 +23,7 @@ import 'package:myecl/tools/ui/layouts/horizontal_list_view.dart'; import 'package:myecl/tools/ui/layouts/item_chip.dart'; import 'package:myecl/tools/ui/builders/waiting_button.dart'; import 'package:myecl/tools/ui/widgets/text_entry.dart'; +import 'package:myecl/user/class/applicant.dart'; import 'package:myecl/user/providers/user_provider.dart'; import 'package:qlevar_router/qlevar_router.dart'; import 'package:syncfusion_flutter_calendar/calendar.dart'; @@ -420,7 +421,15 @@ class AddEditEventPage extends HookConsumerWidget { type: eventType.value, recurrenceRule: recurrenceRule, applicantId: user.id, - applicant: user.toApplicant(), + applicant: Applicant( + name: user.name, + nickname: user.nickname, + firstname: user.firstname, + id: user.id, + email: user.email, + phone: user.phone, + promo: user.promo, + ), decision: Decision.pending, roomId: roomId); final value = isEdit diff --git a/lib/generated/client_index.dart b/lib/generated/client_index.dart new file mode 100644 index 000000000..57b6c9d4b --- /dev/null +++ b/lib/generated/client_index.dart @@ -0,0 +1,2 @@ +export 'openapi.swagger.dart' show Openapi; +export 'openapi.swagger.dart' show Openapi; diff --git a/lib/generated/client_mapping.dart b/lib/generated/client_mapping.dart new file mode 100644 index 000000000..1b4bf0d85 --- /dev/null +++ b/lib/generated/client_mapping.dart @@ -0,0 +1 @@ +final Map)> generatedMapping = {}; diff --git a/lib/generated/openapi.enums.swagger.dart b/lib/generated/openapi.enums.swagger.dart new file mode 100644 index 000000000..a16710db3 --- /dev/null +++ b/lib/generated/openapi.enums.swagger.dart @@ -0,0 +1,223 @@ +import 'package:json_annotation/json_annotation.dart'; +import 'package:collection/collection.dart'; + +enum AccountType { + @JsonValue(null) + swaggerGeneratedUnknown(null), + + @JsonValue('39691052-2ae5-4e12-99d0-7a9f5f2b0136') + value_396910522ae54e1299d07a9f5f2b0136( + '39691052-2ae5-4e12-99d0-7a9f5f2b0136'), + @JsonValue('ab4c7503-41b3-11ee-8177-089798f1a4a5') + ab4c750341b311ee8177089798f1a4a5('ab4c7503-41b3-11ee-8177-089798f1a4a5'), + @JsonValue('703056c4-be9d-475c-aa51-b7fc62a96aaa') + value_703056c4Be9d475cAa51B7fc62a96aaa( + '703056c4-be9d-475c-aa51-b7fc62a96aaa'), + @JsonValue('29751438-103c-42f2-b09b-33fbb20758a7') + value_29751438103c42f2B09b33fbb20758a7( + '29751438-103c-42f2-b09b-33fbb20758a7'); + + final String? value; + + const AccountType(this.value); +} + +enum AmapSlotType { + @JsonValue(null) + swaggerGeneratedUnknown(null), + + @JsonValue('midi') + midi('midi'), + @JsonValue('soir') + soir('soir'); + + final String? value; + + const AmapSlotType(this.value); +} + +enum CalendarEventType { + @JsonValue(null) + swaggerGeneratedUnknown(null), + + @JsonValue('Event AE') + eventAe('Event AE'), + @JsonValue('Event USE') + eventUse('Event USE'), + @JsonValue('Asso indé') + assoInd('Asso indé'), + @JsonValue('HH') + hh('HH'), + @JsonValue('Strass') + strass('Strass'), + @JsonValue('Soirée') + soirE('Soirée'), + @JsonValue('Autre') + autre('Autre'); + + final String? value; + + const CalendarEventType(this.value); +} + +enum DeliveryStatusType { + @JsonValue(null) + swaggerGeneratedUnknown(null), + + @JsonValue('creation') + creation('creation'), + @JsonValue('orderable') + orderable('orderable'), + @JsonValue('locked') + locked('locked'), + @JsonValue('delivered') + delivered('delivered'), + @JsonValue('archived') + archived('archived'); + + final String? value; + + const DeliveryStatusType(this.value); +} + +enum FloorsType { + @JsonValue(null) + swaggerGeneratedUnknown(null), + + @JsonValue('Autre') + autre('Autre'), + @JsonValue('Adoma') + adoma('Adoma'), + @JsonValue('Exte') + exte('Exte'), + @JsonValue('T1') + t1('T1'), + @JsonValue('T2') + t2('T2'), + @JsonValue('T3') + t3('T3'), + @JsonValue('T4') + t4('T4'), + @JsonValue('T56') + t56('T56'), + @JsonValue('U1') + u1('U1'), + @JsonValue('U2') + u2('U2'), + @JsonValue('U3') + u3('U3'), + @JsonValue('U4') + u4('U4'), + @JsonValue('U56') + u56('U56'), + @JsonValue('V1') + v1('V1'), + @JsonValue('V2') + v2('V2'), + @JsonValue('V3') + v3('V3'), + @JsonValue('V45') + v45('V45'), + @JsonValue('V6') + v6('V6'), + @JsonValue('X1') + x1('X1'), + @JsonValue('X2') + x2('X2'), + @JsonValue('X3') + x3('X3'), + @JsonValue('X4') + x4('X4'), + @JsonValue('X5') + x5('X5'), + @JsonValue('X6') + x6('X6'); + + final String? value; + + const FloorsType(this.value); +} + +enum ListType { + @JsonValue(null) + swaggerGeneratedUnknown(null), + + @JsonValue('Serio') + serio('Serio'), + @JsonValue('Pipo') + pipo('Pipo'), + @JsonValue('Blank') + blank('Blank'); + + final String? value; + + const ListType(this.value); +} + +enum RaffleStatusType { + @JsonValue(null) + swaggerGeneratedUnknown(null), + + @JsonValue('creation') + creation('creation'), + @JsonValue('open') + open('open'), + @JsonValue('lock') + lock('lock'); + + final String? value; + + const RaffleStatusType(this.value); +} + +enum StatusType { + @JsonValue(null) + swaggerGeneratedUnknown(null), + + @JsonValue('waiting') + waiting('waiting'), + @JsonValue('open') + open('open'), + @JsonValue('closed') + closed('closed'), + @JsonValue('counting') + counting('counting'), + @JsonValue('published') + published('published'); + + final String? value; + + const StatusType(this.value); +} + +enum AppUtilsTypesBdebookingTypeDecision { + @JsonValue(null) + swaggerGeneratedUnknown(null), + + @JsonValue('approved') + approved('approved'), + @JsonValue('declined') + declined('declined'), + @JsonValue('pending') + pending('pending'); + + final String? value; + + const AppUtilsTypesBdebookingTypeDecision(this.value); +} + +enum AppUtilsTypesCalendarTypesDecision { + @JsonValue(null) + swaggerGeneratedUnknown(null), + + @JsonValue('approved') + approved('approved'), + @JsonValue('declined') + declined('declined'), + @JsonValue('pending') + pending('pending'); + + final String? value; + + const AppUtilsTypesCalendarTypesDecision(this.value); +} diff --git a/lib/generated/openapi.models.swagger.dart b/lib/generated/openapi.models.swagger.dart new file mode 100644 index 000000000..40fb5c9b5 --- /dev/null +++ b/lib/generated/openapi.models.swagger.dart @@ -0,0 +1,10022 @@ +// ignore_for_file: type=lint + +import 'package:json_annotation/json_annotation.dart'; +import 'package:collection/collection.dart'; +import 'dart:convert'; + +import 'openapi.enums.swagger.dart' as enums; + +part 'openapi.models.swagger.g.dart'; + +@JsonSerializable(explicitToJson: true) +class AccessToken { + const AccessToken({ + required this.accessToken, + required this.tokenType, + }); + + factory AccessToken.fromJson(Map json) => + _$AccessTokenFromJson(json); + + static const toJsonFactory = _$AccessTokenToJson; + Map toJson() => _$AccessTokenToJson(this); + + @JsonKey(name: 'access_token', defaultValue: '') + final String accessToken; + @JsonKey(name: 'token_type', defaultValue: '') + final String tokenType; + static const fromJsonFactory = _$AccessTokenFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is AccessToken && + (identical(other.accessToken, accessToken) || + const DeepCollectionEquality() + .equals(other.accessToken, accessToken)) && + (identical(other.tokenType, tokenType) || + const DeepCollectionEquality() + .equals(other.tokenType, tokenType))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(accessToken) ^ + const DeepCollectionEquality().hash(tokenType) ^ + runtimeType.hashCode; +} + +extension $AccessTokenExtension on AccessToken { + AccessToken copyWith({String? accessToken, String? tokenType}) { + return AccessToken( + accessToken: accessToken ?? this.accessToken, + tokenType: tokenType ?? this.tokenType); + } + + AccessToken copyWithWrapped( + {Wrapped? accessToken, Wrapped? tokenType}) { + return AccessToken( + accessToken: + (accessToken != null ? accessToken.value : this.accessToken), + tokenType: (tokenType != null ? tokenType.value : this.tokenType)); + } +} + +@JsonSerializable(explicitToJson: true) +class AdvertBase { + const AdvertBase({ + required this.title, + required this.content, + required this.advertiserId, + this.tags, + }); + + factory AdvertBase.fromJson(Map json) => + _$AdvertBaseFromJson(json); + + static const toJsonFactory = _$AdvertBaseToJson; + Map toJson() => _$AdvertBaseToJson(this); + + @JsonKey(name: 'title', defaultValue: '') + final String title; + @JsonKey(name: 'content', defaultValue: '') + final String content; + @JsonKey(name: 'advertiser_id', defaultValue: '') + final String advertiserId; + @JsonKey(name: 'tags', defaultValue: '') + final String? tags; + static const fromJsonFactory = _$AdvertBaseFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is AdvertBase && + (identical(other.title, title) || + const DeepCollectionEquality().equals(other.title, title)) && + (identical(other.content, content) || + const DeepCollectionEquality() + .equals(other.content, content)) && + (identical(other.advertiserId, advertiserId) || + const DeepCollectionEquality() + .equals(other.advertiserId, advertiserId)) && + (identical(other.tags, tags) || + const DeepCollectionEquality().equals(other.tags, tags))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(title) ^ + const DeepCollectionEquality().hash(content) ^ + const DeepCollectionEquality().hash(advertiserId) ^ + const DeepCollectionEquality().hash(tags) ^ + runtimeType.hashCode; +} + +extension $AdvertBaseExtension on AdvertBase { + AdvertBase copyWith( + {String? title, String? content, String? advertiserId, String? tags}) { + return AdvertBase( + title: title ?? this.title, + content: content ?? this.content, + advertiserId: advertiserId ?? this.advertiserId, + tags: tags ?? this.tags); + } + + AdvertBase copyWithWrapped( + {Wrapped? title, + Wrapped? content, + Wrapped? advertiserId, + Wrapped? tags}) { + return AdvertBase( + title: (title != null ? title.value : this.title), + content: (content != null ? content.value : this.content), + advertiserId: + (advertiserId != null ? advertiserId.value : this.advertiserId), + tags: (tags != null ? tags.value : this.tags)); + } +} + +@JsonSerializable(explicitToJson: true) +class AdvertReturnComplete { + const AdvertReturnComplete({ + required this.title, + required this.content, + required this.advertiserId, + this.tags, + required this.id, + required this.advertiser, + this.date, + }); + + factory AdvertReturnComplete.fromJson(Map json) => + _$AdvertReturnCompleteFromJson(json); + + static const toJsonFactory = _$AdvertReturnCompleteToJson; + Map toJson() => _$AdvertReturnCompleteToJson(this); + + @JsonKey(name: 'title', defaultValue: '') + final String title; + @JsonKey(name: 'content', defaultValue: '') + final String content; + @JsonKey(name: 'advertiser_id', defaultValue: '') + final String advertiserId; + @JsonKey(name: 'tags', defaultValue: '') + final String? tags; + @JsonKey(name: 'id', defaultValue: '') + final String id; + @JsonKey(name: 'advertiser') + final AdvertiserComplete advertiser; + @JsonKey(name: 'date') + final DateTime? date; + static const fromJsonFactory = _$AdvertReturnCompleteFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is AdvertReturnComplete && + (identical(other.title, title) || + const DeepCollectionEquality().equals(other.title, title)) && + (identical(other.content, content) || + const DeepCollectionEquality() + .equals(other.content, content)) && + (identical(other.advertiserId, advertiserId) || + const DeepCollectionEquality() + .equals(other.advertiserId, advertiserId)) && + (identical(other.tags, tags) || + const DeepCollectionEquality().equals(other.tags, tags)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id)) && + (identical(other.advertiser, advertiser) || + const DeepCollectionEquality() + .equals(other.advertiser, advertiser)) && + (identical(other.date, date) || + const DeepCollectionEquality().equals(other.date, date))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(title) ^ + const DeepCollectionEquality().hash(content) ^ + const DeepCollectionEquality().hash(advertiserId) ^ + const DeepCollectionEquality().hash(tags) ^ + const DeepCollectionEquality().hash(id) ^ + const DeepCollectionEquality().hash(advertiser) ^ + const DeepCollectionEquality().hash(date) ^ + runtimeType.hashCode; +} + +extension $AdvertReturnCompleteExtension on AdvertReturnComplete { + AdvertReturnComplete copyWith( + {String? title, + String? content, + String? advertiserId, + String? tags, + String? id, + AdvertiserComplete? advertiser, + DateTime? date}) { + return AdvertReturnComplete( + title: title ?? this.title, + content: content ?? this.content, + advertiserId: advertiserId ?? this.advertiserId, + tags: tags ?? this.tags, + id: id ?? this.id, + advertiser: advertiser ?? this.advertiser, + date: date ?? this.date); + } + + AdvertReturnComplete copyWithWrapped( + {Wrapped? title, + Wrapped? content, + Wrapped? advertiserId, + Wrapped? tags, + Wrapped? id, + Wrapped? advertiser, + Wrapped? date}) { + return AdvertReturnComplete( + title: (title != null ? title.value : this.title), + content: (content != null ? content.value : this.content), + advertiserId: + (advertiserId != null ? advertiserId.value : this.advertiserId), + tags: (tags != null ? tags.value : this.tags), + id: (id != null ? id.value : this.id), + advertiser: (advertiser != null ? advertiser.value : this.advertiser), + date: (date != null ? date.value : this.date)); + } +} + +@JsonSerializable(explicitToJson: true) +class AdvertUpdate { + const AdvertUpdate({ + this.title, + this.content, + this.tags, + }); + + factory AdvertUpdate.fromJson(Map json) => + _$AdvertUpdateFromJson(json); + + static const toJsonFactory = _$AdvertUpdateToJson; + Map toJson() => _$AdvertUpdateToJson(this); + + @JsonKey(name: 'title', defaultValue: '') + final String? title; + @JsonKey(name: 'content', defaultValue: '') + final String? content; + @JsonKey(name: 'tags', defaultValue: '') + final String? tags; + static const fromJsonFactory = _$AdvertUpdateFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is AdvertUpdate && + (identical(other.title, title) || + const DeepCollectionEquality().equals(other.title, title)) && + (identical(other.content, content) || + const DeepCollectionEquality() + .equals(other.content, content)) && + (identical(other.tags, tags) || + const DeepCollectionEquality().equals(other.tags, tags))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(title) ^ + const DeepCollectionEquality().hash(content) ^ + const DeepCollectionEquality().hash(tags) ^ + runtimeType.hashCode; +} + +extension $AdvertUpdateExtension on AdvertUpdate { + AdvertUpdate copyWith({String? title, String? content, String? tags}) { + return AdvertUpdate( + title: title ?? this.title, + content: content ?? this.content, + tags: tags ?? this.tags); + } + + AdvertUpdate copyWithWrapped( + {Wrapped? title, + Wrapped? content, + Wrapped? tags}) { + return AdvertUpdate( + title: (title != null ? title.value : this.title), + content: (content != null ? content.value : this.content), + tags: (tags != null ? tags.value : this.tags)); + } +} + +@JsonSerializable(explicitToJson: true) +class AdvertiserBase { + const AdvertiserBase({ + required this.name, + required this.groupManagerId, + }); + + factory AdvertiserBase.fromJson(Map json) => + _$AdvertiserBaseFromJson(json); + + static const toJsonFactory = _$AdvertiserBaseToJson; + Map toJson() => _$AdvertiserBaseToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'group_manager_id', defaultValue: '') + final String groupManagerId; + static const fromJsonFactory = _$AdvertiserBaseFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is AdvertiserBase && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.groupManagerId, groupManagerId) || + const DeepCollectionEquality() + .equals(other.groupManagerId, groupManagerId))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(groupManagerId) ^ + runtimeType.hashCode; +} + +extension $AdvertiserBaseExtension on AdvertiserBase { + AdvertiserBase copyWith({String? name, String? groupManagerId}) { + return AdvertiserBase( + name: name ?? this.name, + groupManagerId: groupManagerId ?? this.groupManagerId); + } + + AdvertiserBase copyWithWrapped( + {Wrapped? name, Wrapped? groupManagerId}) { + return AdvertiserBase( + name: (name != null ? name.value : this.name), + groupManagerId: (groupManagerId != null + ? groupManagerId.value + : this.groupManagerId)); + } +} + +@JsonSerializable(explicitToJson: true) +class AdvertiserComplete { + const AdvertiserComplete({ + required this.name, + required this.groupManagerId, + required this.id, + }); + + factory AdvertiserComplete.fromJson(Map json) => + _$AdvertiserCompleteFromJson(json); + + static const toJsonFactory = _$AdvertiserCompleteToJson; + Map toJson() => _$AdvertiserCompleteToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'group_manager_id', defaultValue: '') + final String groupManagerId; + @JsonKey(name: 'id', defaultValue: '') + final String id; + static const fromJsonFactory = _$AdvertiserCompleteFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is AdvertiserComplete && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.groupManagerId, groupManagerId) || + const DeepCollectionEquality() + .equals(other.groupManagerId, groupManagerId)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(groupManagerId) ^ + const DeepCollectionEquality().hash(id) ^ + runtimeType.hashCode; +} + +extension $AdvertiserCompleteExtension on AdvertiserComplete { + AdvertiserComplete copyWith( + {String? name, String? groupManagerId, String? id}) { + return AdvertiserComplete( + name: name ?? this.name, + groupManagerId: groupManagerId ?? this.groupManagerId, + id: id ?? this.id); + } + + AdvertiserComplete copyWithWrapped( + {Wrapped? name, + Wrapped? groupManagerId, + Wrapped? id}) { + return AdvertiserComplete( + name: (name != null ? name.value : this.name), + groupManagerId: (groupManagerId != null + ? groupManagerId.value + : this.groupManagerId), + id: (id != null ? id.value : this.id)); + } +} + +@JsonSerializable(explicitToJson: true) +class AdvertiserUpdate { + const AdvertiserUpdate({ + this.name, + this.groupManagerId, + }); + + factory AdvertiserUpdate.fromJson(Map json) => + _$AdvertiserUpdateFromJson(json); + + static const toJsonFactory = _$AdvertiserUpdateToJson; + Map toJson() => _$AdvertiserUpdateToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String? name; + @JsonKey(name: 'group_manager_id', defaultValue: '') + final String? groupManagerId; + static const fromJsonFactory = _$AdvertiserUpdateFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is AdvertiserUpdate && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.groupManagerId, groupManagerId) || + const DeepCollectionEquality() + .equals(other.groupManagerId, groupManagerId))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(groupManagerId) ^ + runtimeType.hashCode; +} + +extension $AdvertiserUpdateExtension on AdvertiserUpdate { + AdvertiserUpdate copyWith({String? name, String? groupManagerId}) { + return AdvertiserUpdate( + name: name ?? this.name, + groupManagerId: groupManagerId ?? this.groupManagerId); + } + + AdvertiserUpdate copyWithWrapped( + {Wrapped? name, Wrapped? groupManagerId}) { + return AdvertiserUpdate( + name: (name != null ? name.value : this.name), + groupManagerId: (groupManagerId != null + ? groupManagerId.value + : this.groupManagerId)); + } +} + +@JsonSerializable(explicitToJson: true) +class Applicant { + const Applicant({ + required this.name, + required this.firstname, + this.nickname, + required this.id, + required this.email, + this.promo, + this.phone, + }); + + factory Applicant.fromJson(Map json) => + _$ApplicantFromJson(json); + + static const toJsonFactory = _$ApplicantToJson; + Map toJson() => _$ApplicantToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'firstname', defaultValue: '') + final String firstname; + @JsonKey(name: 'nickname', defaultValue: '') + final String? nickname; + @JsonKey(name: 'id', defaultValue: '') + final String id; + @JsonKey(name: 'email', defaultValue: '') + final String email; + @JsonKey(name: 'promo', defaultValue: 0) + final int? promo; + @JsonKey(name: 'phone', defaultValue: '') + final String? phone; + static const fromJsonFactory = _$ApplicantFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is Applicant && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.firstname, firstname) || + const DeepCollectionEquality() + .equals(other.firstname, firstname)) && + (identical(other.nickname, nickname) || + const DeepCollectionEquality() + .equals(other.nickname, nickname)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id)) && + (identical(other.email, email) || + const DeepCollectionEquality().equals(other.email, email)) && + (identical(other.promo, promo) || + const DeepCollectionEquality().equals(other.promo, promo)) && + (identical(other.phone, phone) || + const DeepCollectionEquality().equals(other.phone, phone))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(firstname) ^ + const DeepCollectionEquality().hash(nickname) ^ + const DeepCollectionEquality().hash(id) ^ + const DeepCollectionEquality().hash(email) ^ + const DeepCollectionEquality().hash(promo) ^ + const DeepCollectionEquality().hash(phone) ^ + runtimeType.hashCode; +} + +extension $ApplicantExtension on Applicant { + Applicant copyWith( + {String? name, + String? firstname, + String? nickname, + String? id, + String? email, + int? promo, + String? phone}) { + return Applicant( + name: name ?? this.name, + firstname: firstname ?? this.firstname, + nickname: nickname ?? this.nickname, + id: id ?? this.id, + email: email ?? this.email, + promo: promo ?? this.promo, + phone: phone ?? this.phone); + } + + Applicant copyWithWrapped( + {Wrapped? name, + Wrapped? firstname, + Wrapped? nickname, + Wrapped? id, + Wrapped? email, + Wrapped? promo, + Wrapped? phone}) { + return Applicant( + name: (name != null ? name.value : this.name), + firstname: (firstname != null ? firstname.value : this.firstname), + nickname: (nickname != null ? nickname.value : this.nickname), + id: (id != null ? id.value : this.id), + email: (email != null ? email.value : this.email), + promo: (promo != null ? promo.value : this.promo), + phone: (phone != null ? phone.value : this.phone)); + } +} + +@JsonSerializable(explicitToJson: true) +class BatchResult { + const BatchResult({ + required this.failed, + }); + + factory BatchResult.fromJson(Map json) => + _$BatchResultFromJson(json); + + static const toJsonFactory = _$BatchResultToJson; + Map toJson() => _$BatchResultToJson(this); + + @JsonKey(name: 'failed') + final Map failed; + static const fromJsonFactory = _$BatchResultFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is BatchResult && + (identical(other.failed, failed) || + const DeepCollectionEquality().equals(other.failed, failed))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(failed) ^ runtimeType.hashCode; +} + +extension $BatchResultExtension on BatchResult { + BatchResult copyWith({Map? failed}) { + return BatchResult(failed: failed ?? this.failed); + } + + BatchResult copyWithWrapped({Wrapped>? failed}) { + return BatchResult(failed: (failed != null ? failed.value : this.failed)); + } +} + +@JsonSerializable(explicitToJson: true) +class BodyAuthorizeValidationAuthAuthorizationFlowAuthorizeValidationPost { + const BodyAuthorizeValidationAuthAuthorizationFlowAuthorizeValidationPost({ + required this.clientId, + this.redirectUri, + required this.responseType, + this.scope, + this.state, + this.nonce, + this.codeChallenge, + this.codeChallengeMethod, + required this.email, + required this.password, + }); + + factory BodyAuthorizeValidationAuthAuthorizationFlowAuthorizeValidationPost.fromJson( + Map json) => + _$BodyAuthorizeValidationAuthAuthorizationFlowAuthorizeValidationPostFromJson( + json); + + static const toJsonFactory = + _$BodyAuthorizeValidationAuthAuthorizationFlowAuthorizeValidationPostToJson; + Map toJson() => + _$BodyAuthorizeValidationAuthAuthorizationFlowAuthorizeValidationPostToJson( + this); + + @JsonKey(name: 'client_id', defaultValue: '') + final String clientId; + @JsonKey(name: 'redirect_uri', defaultValue: '') + final String? redirectUri; + @JsonKey(name: 'response_type', defaultValue: '') + final String responseType; + @JsonKey(name: 'scope', defaultValue: '') + final String? scope; + @JsonKey(name: 'state', defaultValue: '') + final String? state; + @JsonKey(name: 'nonce', defaultValue: '') + final String? nonce; + @JsonKey(name: 'code_challenge', defaultValue: '') + final String? codeChallenge; + @JsonKey(name: 'code_challenge_method', defaultValue: '') + final String? codeChallengeMethod; + @JsonKey(name: 'email', defaultValue: '') + final String email; + @JsonKey(name: 'password', defaultValue: '') + final String password; + static const fromJsonFactory = + _$BodyAuthorizeValidationAuthAuthorizationFlowAuthorizeValidationPostFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is BodyAuthorizeValidationAuthAuthorizationFlowAuthorizeValidationPost && + (identical(other.clientId, clientId) || + const DeepCollectionEquality() + .equals(other.clientId, clientId)) && + (identical(other.redirectUri, redirectUri) || + const DeepCollectionEquality() + .equals(other.redirectUri, redirectUri)) && + (identical(other.responseType, responseType) || + const DeepCollectionEquality() + .equals(other.responseType, responseType)) && + (identical(other.scope, scope) || + const DeepCollectionEquality().equals(other.scope, scope)) && + (identical(other.state, state) || + const DeepCollectionEquality().equals(other.state, state)) && + (identical(other.nonce, nonce) || + const DeepCollectionEquality().equals(other.nonce, nonce)) && + (identical(other.codeChallenge, codeChallenge) || + const DeepCollectionEquality() + .equals(other.codeChallenge, codeChallenge)) && + (identical(other.codeChallengeMethod, codeChallengeMethod) || + const DeepCollectionEquality() + .equals(other.codeChallengeMethod, codeChallengeMethod)) && + (identical(other.email, email) || + const DeepCollectionEquality().equals(other.email, email)) && + (identical(other.password, password) || + const DeepCollectionEquality() + .equals(other.password, password))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(clientId) ^ + const DeepCollectionEquality().hash(redirectUri) ^ + const DeepCollectionEquality().hash(responseType) ^ + const DeepCollectionEquality().hash(scope) ^ + const DeepCollectionEquality().hash(state) ^ + const DeepCollectionEquality().hash(nonce) ^ + const DeepCollectionEquality().hash(codeChallenge) ^ + const DeepCollectionEquality().hash(codeChallengeMethod) ^ + const DeepCollectionEquality().hash(email) ^ + const DeepCollectionEquality().hash(password) ^ + runtimeType.hashCode; +} + +extension $BodyAuthorizeValidationAuthAuthorizationFlowAuthorizeValidationPostExtension + on BodyAuthorizeValidationAuthAuthorizationFlowAuthorizeValidationPost { + BodyAuthorizeValidationAuthAuthorizationFlowAuthorizeValidationPost copyWith( + {String? clientId, + String? redirectUri, + String? responseType, + String? scope, + String? state, + String? nonce, + String? codeChallenge, + String? codeChallengeMethod, + String? email, + String? password}) { + return BodyAuthorizeValidationAuthAuthorizationFlowAuthorizeValidationPost( + clientId: clientId ?? this.clientId, + redirectUri: redirectUri ?? this.redirectUri, + responseType: responseType ?? this.responseType, + scope: scope ?? this.scope, + state: state ?? this.state, + nonce: nonce ?? this.nonce, + codeChallenge: codeChallenge ?? this.codeChallenge, + codeChallengeMethod: codeChallengeMethod ?? this.codeChallengeMethod, + email: email ?? this.email, + password: password ?? this.password); + } + + BodyAuthorizeValidationAuthAuthorizationFlowAuthorizeValidationPost + copyWithWrapped( + {Wrapped? clientId, + Wrapped? redirectUri, + Wrapped? responseType, + Wrapped? scope, + Wrapped? state, + Wrapped? nonce, + Wrapped? codeChallenge, + Wrapped? codeChallengeMethod, + Wrapped? email, + Wrapped? password}) { + return BodyAuthorizeValidationAuthAuthorizationFlowAuthorizeValidationPost( + clientId: (clientId != null ? clientId.value : this.clientId), + redirectUri: + (redirectUri != null ? redirectUri.value : this.redirectUri), + responseType: + (responseType != null ? responseType.value : this.responseType), + scope: (scope != null ? scope.value : this.scope), + state: (state != null ? state.value : this.state), + nonce: (nonce != null ? nonce.value : this.nonce), + codeChallenge: + (codeChallenge != null ? codeChallenge.value : this.codeChallenge), + codeChallengeMethod: (codeChallengeMethod != null + ? codeChallengeMethod.value + : this.codeChallengeMethod), + email: (email != null ? email.value : this.email), + password: (password != null ? password.value : this.password)); + } +} + +@JsonSerializable(explicitToJson: true) +class BodyCreateAdvertImageAdvertAdvertsAdvertIdPicturePost { + const BodyCreateAdvertImageAdvertAdvertsAdvertIdPicturePost({ + required this.image, + }); + + factory BodyCreateAdvertImageAdvertAdvertsAdvertIdPicturePost.fromJson( + Map json) => + _$BodyCreateAdvertImageAdvertAdvertsAdvertIdPicturePostFromJson(json); + + static const toJsonFactory = + _$BodyCreateAdvertImageAdvertAdvertsAdvertIdPicturePostToJson; + Map toJson() => + _$BodyCreateAdvertImageAdvertAdvertsAdvertIdPicturePostToJson(this); + + @JsonKey(name: 'image', defaultValue: '') + final String image; + static const fromJsonFactory = + _$BodyCreateAdvertImageAdvertAdvertsAdvertIdPicturePostFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is BodyCreateAdvertImageAdvertAdvertsAdvertIdPicturePost && + (identical(other.image, image) || + const DeepCollectionEquality().equals(other.image, image))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(image) ^ runtimeType.hashCode; +} + +extension $BodyCreateAdvertImageAdvertAdvertsAdvertIdPicturePostExtension + on BodyCreateAdvertImageAdvertAdvertsAdvertIdPicturePost { + BodyCreateAdvertImageAdvertAdvertsAdvertIdPicturePost copyWith( + {String? image}) { + return BodyCreateAdvertImageAdvertAdvertsAdvertIdPicturePost( + image: image ?? this.image); + } + + BodyCreateAdvertImageAdvertAdvertsAdvertIdPicturePost copyWithWrapped( + {Wrapped? image}) { + return BodyCreateAdvertImageAdvertAdvertsAdvertIdPicturePost( + image: (image != null ? image.value : this.image)); + } +} + +@JsonSerializable(explicitToJson: true) +class BodyCreateCampaignsLogoCampaignListsListIdLogoPost { + const BodyCreateCampaignsLogoCampaignListsListIdLogoPost({ + required this.image, + }); + + factory BodyCreateCampaignsLogoCampaignListsListIdLogoPost.fromJson( + Map json) => + _$BodyCreateCampaignsLogoCampaignListsListIdLogoPostFromJson(json); + + static const toJsonFactory = + _$BodyCreateCampaignsLogoCampaignListsListIdLogoPostToJson; + Map toJson() => + _$BodyCreateCampaignsLogoCampaignListsListIdLogoPostToJson(this); + + @JsonKey(name: 'image', defaultValue: '') + final String image; + static const fromJsonFactory = + _$BodyCreateCampaignsLogoCampaignListsListIdLogoPostFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is BodyCreateCampaignsLogoCampaignListsListIdLogoPost && + (identical(other.image, image) || + const DeepCollectionEquality().equals(other.image, image))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(image) ^ runtimeType.hashCode; +} + +extension $BodyCreateCampaignsLogoCampaignListsListIdLogoPostExtension + on BodyCreateCampaignsLogoCampaignListsListIdLogoPost { + BodyCreateCampaignsLogoCampaignListsListIdLogoPost copyWith({String? image}) { + return BodyCreateCampaignsLogoCampaignListsListIdLogoPost( + image: image ?? this.image); + } + + BodyCreateCampaignsLogoCampaignListsListIdLogoPost copyWithWrapped( + {Wrapped? image}) { + return BodyCreateCampaignsLogoCampaignListsListIdLogoPost( + image: (image != null ? image.value : this.image)); + } +} + +@JsonSerializable(explicitToJson: true) +class BodyCreateCampaignsLogoCinemaSessionsSessionIdPosterPost { + const BodyCreateCampaignsLogoCinemaSessionsSessionIdPosterPost({ + required this.image, + }); + + factory BodyCreateCampaignsLogoCinemaSessionsSessionIdPosterPost.fromJson( + Map json) => + _$BodyCreateCampaignsLogoCinemaSessionsSessionIdPosterPostFromJson(json); + + static const toJsonFactory = + _$BodyCreateCampaignsLogoCinemaSessionsSessionIdPosterPostToJson; + Map toJson() => + _$BodyCreateCampaignsLogoCinemaSessionsSessionIdPosterPostToJson(this); + + @JsonKey(name: 'image', defaultValue: '') + final String image; + static const fromJsonFactory = + _$BodyCreateCampaignsLogoCinemaSessionsSessionIdPosterPostFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is BodyCreateCampaignsLogoCinemaSessionsSessionIdPosterPost && + (identical(other.image, image) || + const DeepCollectionEquality().equals(other.image, image))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(image) ^ runtimeType.hashCode; +} + +extension $BodyCreateCampaignsLogoCinemaSessionsSessionIdPosterPostExtension + on BodyCreateCampaignsLogoCinemaSessionsSessionIdPosterPost { + BodyCreateCampaignsLogoCinemaSessionsSessionIdPosterPost copyWith( + {String? image}) { + return BodyCreateCampaignsLogoCinemaSessionsSessionIdPosterPost( + image: image ?? this.image); + } + + BodyCreateCampaignsLogoCinemaSessionsSessionIdPosterPost copyWithWrapped( + {Wrapped? image}) { + return BodyCreateCampaignsLogoCinemaSessionsSessionIdPosterPost( + image: (image != null ? image.value : this.image)); + } +} + +@JsonSerializable(explicitToJson: true) +class BodyCreateCurrentRaffleLogoTombolaRafflesRaffleIdLogoPost { + const BodyCreateCurrentRaffleLogoTombolaRafflesRaffleIdLogoPost({ + required this.image, + }); + + factory BodyCreateCurrentRaffleLogoTombolaRafflesRaffleIdLogoPost.fromJson( + Map json) => + _$BodyCreateCurrentRaffleLogoTombolaRafflesRaffleIdLogoPostFromJson(json); + + static const toJsonFactory = + _$BodyCreateCurrentRaffleLogoTombolaRafflesRaffleIdLogoPostToJson; + Map toJson() => + _$BodyCreateCurrentRaffleLogoTombolaRafflesRaffleIdLogoPostToJson(this); + + @JsonKey(name: 'image', defaultValue: '') + final String image; + static const fromJsonFactory = + _$BodyCreateCurrentRaffleLogoTombolaRafflesRaffleIdLogoPostFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is BodyCreateCurrentRaffleLogoTombolaRafflesRaffleIdLogoPost && + (identical(other.image, image) || + const DeepCollectionEquality().equals(other.image, image))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(image) ^ runtimeType.hashCode; +} + +extension $BodyCreateCurrentRaffleLogoTombolaRafflesRaffleIdLogoPostExtension + on BodyCreateCurrentRaffleLogoTombolaRafflesRaffleIdLogoPost { + BodyCreateCurrentRaffleLogoTombolaRafflesRaffleIdLogoPost copyWith( + {String? image}) { + return BodyCreateCurrentRaffleLogoTombolaRafflesRaffleIdLogoPost( + image: image ?? this.image); + } + + BodyCreateCurrentRaffleLogoTombolaRafflesRaffleIdLogoPost copyWithWrapped( + {Wrapped? image}) { + return BodyCreateCurrentRaffleLogoTombolaRafflesRaffleIdLogoPost( + image: (image != null ? image.value : this.image)); + } +} + +@JsonSerializable(explicitToJson: true) +class BodyCreateCurrentUserProfilePictureUsersMeProfilePicturePost { + const BodyCreateCurrentUserProfilePictureUsersMeProfilePicturePost({ + required this.image, + }); + + factory BodyCreateCurrentUserProfilePictureUsersMeProfilePicturePost.fromJson( + Map json) => + _$BodyCreateCurrentUserProfilePictureUsersMeProfilePicturePostFromJson( + json); + + static const toJsonFactory = + _$BodyCreateCurrentUserProfilePictureUsersMeProfilePicturePostToJson; + Map toJson() => + _$BodyCreateCurrentUserProfilePictureUsersMeProfilePicturePostToJson( + this); + + @JsonKey(name: 'image', defaultValue: '') + final String image; + static const fromJsonFactory = + _$BodyCreateCurrentUserProfilePictureUsersMeProfilePicturePostFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is BodyCreateCurrentUserProfilePictureUsersMeProfilePicturePost && + (identical(other.image, image) || + const DeepCollectionEquality().equals(other.image, image))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(image) ^ runtimeType.hashCode; +} + +extension $BodyCreateCurrentUserProfilePictureUsersMeProfilePicturePostExtension + on BodyCreateCurrentUserProfilePictureUsersMeProfilePicturePost { + BodyCreateCurrentUserProfilePictureUsersMeProfilePicturePost copyWith( + {String? image}) { + return BodyCreateCurrentUserProfilePictureUsersMeProfilePicturePost( + image: image ?? this.image); + } + + BodyCreateCurrentUserProfilePictureUsersMeProfilePicturePost copyWithWrapped( + {Wrapped? image}) { + return BodyCreateCurrentUserProfilePictureUsersMeProfilePicturePost( + image: (image != null ? image.value : this.image)); + } +} + +@JsonSerializable(explicitToJson: true) +class BodyCreatePrizePictureTombolaPrizesPrizeIdPicturePost { + const BodyCreatePrizePictureTombolaPrizesPrizeIdPicturePost({ + required this.image, + }); + + factory BodyCreatePrizePictureTombolaPrizesPrizeIdPicturePost.fromJson( + Map json) => + _$BodyCreatePrizePictureTombolaPrizesPrizeIdPicturePostFromJson(json); + + static const toJsonFactory = + _$BodyCreatePrizePictureTombolaPrizesPrizeIdPicturePostToJson; + Map toJson() => + _$BodyCreatePrizePictureTombolaPrizesPrizeIdPicturePostToJson(this); + + @JsonKey(name: 'image', defaultValue: '') + final String image; + static const fromJsonFactory = + _$BodyCreatePrizePictureTombolaPrizesPrizeIdPicturePostFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is BodyCreatePrizePictureTombolaPrizesPrizeIdPicturePost && + (identical(other.image, image) || + const DeepCollectionEquality().equals(other.image, image))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(image) ^ runtimeType.hashCode; +} + +extension $BodyCreatePrizePictureTombolaPrizesPrizeIdPicturePostExtension + on BodyCreatePrizePictureTombolaPrizesPrizeIdPicturePost { + BodyCreatePrizePictureTombolaPrizesPrizeIdPicturePost copyWith( + {String? image}) { + return BodyCreatePrizePictureTombolaPrizesPrizeIdPicturePost( + image: image ?? this.image); + } + + BodyCreatePrizePictureTombolaPrizesPrizeIdPicturePost copyWithWrapped( + {Wrapped? image}) { + return BodyCreatePrizePictureTombolaPrizesPrizeIdPicturePost( + image: (image != null ? image.value : this.image)); + } +} + +@JsonSerializable(explicitToJson: true) +class BodyLoginForAccessTokenAuthSimpleTokenPost { + const BodyLoginForAccessTokenAuthSimpleTokenPost({ + this.grantType, + required this.username, + required this.password, + this.scope, + this.clientId, + this.clientSecret, + }); + + factory BodyLoginForAccessTokenAuthSimpleTokenPost.fromJson( + Map json) => + _$BodyLoginForAccessTokenAuthSimpleTokenPostFromJson(json); + + static const toJsonFactory = + _$BodyLoginForAccessTokenAuthSimpleTokenPostToJson; + Map toJson() => + _$BodyLoginForAccessTokenAuthSimpleTokenPostToJson(this); + + @JsonKey(name: 'grant_type', defaultValue: '') + final String? grantType; + @JsonKey(name: 'username', defaultValue: '') + final String username; + @JsonKey(name: 'password', defaultValue: '') + final String password; + @JsonKey(name: 'scope', defaultValue: '') + final String? scope; + @JsonKey(name: 'client_id', defaultValue: '') + final String? clientId; + @JsonKey(name: 'client_secret', defaultValue: '') + final String? clientSecret; + static const fromJsonFactory = + _$BodyLoginForAccessTokenAuthSimpleTokenPostFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is BodyLoginForAccessTokenAuthSimpleTokenPost && + (identical(other.grantType, grantType) || + const DeepCollectionEquality() + .equals(other.grantType, grantType)) && + (identical(other.username, username) || + const DeepCollectionEquality() + .equals(other.username, username)) && + (identical(other.password, password) || + const DeepCollectionEquality() + .equals(other.password, password)) && + (identical(other.scope, scope) || + const DeepCollectionEquality().equals(other.scope, scope)) && + (identical(other.clientId, clientId) || + const DeepCollectionEquality() + .equals(other.clientId, clientId)) && + (identical(other.clientSecret, clientSecret) || + const DeepCollectionEquality() + .equals(other.clientSecret, clientSecret))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(grantType) ^ + const DeepCollectionEquality().hash(username) ^ + const DeepCollectionEquality().hash(password) ^ + const DeepCollectionEquality().hash(scope) ^ + const DeepCollectionEquality().hash(clientId) ^ + const DeepCollectionEquality().hash(clientSecret) ^ + runtimeType.hashCode; +} + +extension $BodyLoginForAccessTokenAuthSimpleTokenPostExtension + on BodyLoginForAccessTokenAuthSimpleTokenPost { + BodyLoginForAccessTokenAuthSimpleTokenPost copyWith( + {String? grantType, + String? username, + String? password, + String? scope, + String? clientId, + String? clientSecret}) { + return BodyLoginForAccessTokenAuthSimpleTokenPost( + grantType: grantType ?? this.grantType, + username: username ?? this.username, + password: password ?? this.password, + scope: scope ?? this.scope, + clientId: clientId ?? this.clientId, + clientSecret: clientSecret ?? this.clientSecret); + } + + BodyLoginForAccessTokenAuthSimpleTokenPost copyWithWrapped( + {Wrapped? grantType, + Wrapped? username, + Wrapped? password, + Wrapped? scope, + Wrapped? clientId, + Wrapped? clientSecret}) { + return BodyLoginForAccessTokenAuthSimpleTokenPost( + grantType: (grantType != null ? grantType.value : this.grantType), + username: (username != null ? username.value : this.username), + password: (password != null ? password.value : this.password), + scope: (scope != null ? scope.value : this.scope), + clientId: (clientId != null ? clientId.value : this.clientId), + clientSecret: + (clientSecret != null ? clientSecret.value : this.clientSecret)); + } +} + +@JsonSerializable(explicitToJson: true) +class BodyPostAuthorizePageAuthAuthorizePost { + const BodyPostAuthorizePageAuthAuthorizePost({ + required this.responseType, + required this.clientId, + required this.redirectUri, + this.scope, + this.state, + this.nonce, + this.codeChallenge, + this.codeChallengeMethod, + }); + + factory BodyPostAuthorizePageAuthAuthorizePost.fromJson( + Map json) => + _$BodyPostAuthorizePageAuthAuthorizePostFromJson(json); + + static const toJsonFactory = _$BodyPostAuthorizePageAuthAuthorizePostToJson; + Map toJson() => + _$BodyPostAuthorizePageAuthAuthorizePostToJson(this); + + @JsonKey(name: 'response_type', defaultValue: '') + final String responseType; + @JsonKey(name: 'client_id', defaultValue: '') + final String clientId; + @JsonKey(name: 'redirect_uri', defaultValue: '') + final String redirectUri; + @JsonKey(name: 'scope', defaultValue: '') + final String? scope; + @JsonKey(name: 'state', defaultValue: '') + final String? state; + @JsonKey(name: 'nonce', defaultValue: '') + final String? nonce; + @JsonKey(name: 'code_challenge', defaultValue: '') + final String? codeChallenge; + @JsonKey(name: 'code_challenge_method', defaultValue: '') + final String? codeChallengeMethod; + static const fromJsonFactory = + _$BodyPostAuthorizePageAuthAuthorizePostFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is BodyPostAuthorizePageAuthAuthorizePost && + (identical(other.responseType, responseType) || + const DeepCollectionEquality() + .equals(other.responseType, responseType)) && + (identical(other.clientId, clientId) || + const DeepCollectionEquality() + .equals(other.clientId, clientId)) && + (identical(other.redirectUri, redirectUri) || + const DeepCollectionEquality() + .equals(other.redirectUri, redirectUri)) && + (identical(other.scope, scope) || + const DeepCollectionEquality().equals(other.scope, scope)) && + (identical(other.state, state) || + const DeepCollectionEquality().equals(other.state, state)) && + (identical(other.nonce, nonce) || + const DeepCollectionEquality().equals(other.nonce, nonce)) && + (identical(other.codeChallenge, codeChallenge) || + const DeepCollectionEquality() + .equals(other.codeChallenge, codeChallenge)) && + (identical(other.codeChallengeMethod, codeChallengeMethod) || + const DeepCollectionEquality() + .equals(other.codeChallengeMethod, codeChallengeMethod))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(responseType) ^ + const DeepCollectionEquality().hash(clientId) ^ + const DeepCollectionEquality().hash(redirectUri) ^ + const DeepCollectionEquality().hash(scope) ^ + const DeepCollectionEquality().hash(state) ^ + const DeepCollectionEquality().hash(nonce) ^ + const DeepCollectionEquality().hash(codeChallenge) ^ + const DeepCollectionEquality().hash(codeChallengeMethod) ^ + runtimeType.hashCode; +} + +extension $BodyPostAuthorizePageAuthAuthorizePostExtension + on BodyPostAuthorizePageAuthAuthorizePost { + BodyPostAuthorizePageAuthAuthorizePost copyWith( + {String? responseType, + String? clientId, + String? redirectUri, + String? scope, + String? state, + String? nonce, + String? codeChallenge, + String? codeChallengeMethod}) { + return BodyPostAuthorizePageAuthAuthorizePost( + responseType: responseType ?? this.responseType, + clientId: clientId ?? this.clientId, + redirectUri: redirectUri ?? this.redirectUri, + scope: scope ?? this.scope, + state: state ?? this.state, + nonce: nonce ?? this.nonce, + codeChallenge: codeChallenge ?? this.codeChallenge, + codeChallengeMethod: codeChallengeMethod ?? this.codeChallengeMethod); + } + + BodyPostAuthorizePageAuthAuthorizePost copyWithWrapped( + {Wrapped? responseType, + Wrapped? clientId, + Wrapped? redirectUri, + Wrapped? scope, + Wrapped? state, + Wrapped? nonce, + Wrapped? codeChallenge, + Wrapped? codeChallengeMethod}) { + return BodyPostAuthorizePageAuthAuthorizePost( + responseType: + (responseType != null ? responseType.value : this.responseType), + clientId: (clientId != null ? clientId.value : this.clientId), + redirectUri: + (redirectUri != null ? redirectUri.value : this.redirectUri), + scope: (scope != null ? scope.value : this.scope), + state: (state != null ? state.value : this.state), + nonce: (nonce != null ? nonce.value : this.nonce), + codeChallenge: + (codeChallenge != null ? codeChallenge.value : this.codeChallenge), + codeChallengeMethod: (codeChallengeMethod != null + ? codeChallengeMethod.value + : this.codeChallengeMethod)); + } +} + +@JsonSerializable(explicitToJson: true) +class BodyRecoverUserUsersRecoverPost { + const BodyRecoverUserUsersRecoverPost({ + required this.email, + }); + + factory BodyRecoverUserUsersRecoverPost.fromJson(Map json) => + _$BodyRecoverUserUsersRecoverPostFromJson(json); + + static const toJsonFactory = _$BodyRecoverUserUsersRecoverPostToJson; + Map toJson() => + _$BodyRecoverUserUsersRecoverPostToJson(this); + + @JsonKey(name: 'email', defaultValue: '') + final String email; + static const fromJsonFactory = _$BodyRecoverUserUsersRecoverPostFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is BodyRecoverUserUsersRecoverPost && + (identical(other.email, email) || + const DeepCollectionEquality().equals(other.email, email))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(email) ^ runtimeType.hashCode; +} + +extension $BodyRecoverUserUsersRecoverPostExtension + on BodyRecoverUserUsersRecoverPost { + BodyRecoverUserUsersRecoverPost copyWith({String? email}) { + return BodyRecoverUserUsersRecoverPost(email: email ?? this.email); + } + + BodyRecoverUserUsersRecoverPost copyWithWrapped({Wrapped? email}) { + return BodyRecoverUserUsersRecoverPost( + email: (email != null ? email.value : this.email)); + } +} + +@JsonSerializable(explicitToJson: true) +class BodyRegisterFirebaseDeviceNotificationDevicesPost { + const BodyRegisterFirebaseDeviceNotificationDevicesPost({ + required this.firebaseToken, + }); + + factory BodyRegisterFirebaseDeviceNotificationDevicesPost.fromJson( + Map json) => + _$BodyRegisterFirebaseDeviceNotificationDevicesPostFromJson(json); + + static const toJsonFactory = + _$BodyRegisterFirebaseDeviceNotificationDevicesPostToJson; + Map toJson() => + _$BodyRegisterFirebaseDeviceNotificationDevicesPostToJson(this); + + @JsonKey(name: 'firebase_token', defaultValue: '') + final String firebaseToken; + static const fromJsonFactory = + _$BodyRegisterFirebaseDeviceNotificationDevicesPostFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is BodyRegisterFirebaseDeviceNotificationDevicesPost && + (identical(other.firebaseToken, firebaseToken) || + const DeepCollectionEquality() + .equals(other.firebaseToken, firebaseToken))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(firebaseToken) ^ runtimeType.hashCode; +} + +extension $BodyRegisterFirebaseDeviceNotificationDevicesPostExtension + on BodyRegisterFirebaseDeviceNotificationDevicesPost { + BodyRegisterFirebaseDeviceNotificationDevicesPost copyWith( + {String? firebaseToken}) { + return BodyRegisterFirebaseDeviceNotificationDevicesPost( + firebaseToken: firebaseToken ?? this.firebaseToken); + } + + BodyRegisterFirebaseDeviceNotificationDevicesPost copyWithWrapped( + {Wrapped? firebaseToken}) { + return BodyRegisterFirebaseDeviceNotificationDevicesPost( + firebaseToken: + (firebaseToken != null ? firebaseToken.value : this.firebaseToken)); + } +} + +@JsonSerializable(explicitToJson: true) +class BodyTokenAuthTokenPost { + const BodyTokenAuthTokenPost({ + this.refreshToken, + required this.grantType, + this.code, + this.redirectUri, + this.clientId, + this.clientSecret, + this.codeVerifier, + }); + + factory BodyTokenAuthTokenPost.fromJson(Map json) => + _$BodyTokenAuthTokenPostFromJson(json); + + static const toJsonFactory = _$BodyTokenAuthTokenPostToJson; + Map toJson() => _$BodyTokenAuthTokenPostToJson(this); + + @JsonKey(name: 'refresh_token', defaultValue: '') + final String? refreshToken; + @JsonKey(name: 'grant_type', defaultValue: '') + final String grantType; + @JsonKey(name: 'code', defaultValue: '') + final String? code; + @JsonKey(name: 'redirect_uri', defaultValue: '') + final String? redirectUri; + @JsonKey(name: 'client_id', defaultValue: '') + final String? clientId; + @JsonKey(name: 'client_secret', defaultValue: '') + final String? clientSecret; + @JsonKey(name: 'code_verifier', defaultValue: '') + final String? codeVerifier; + static const fromJsonFactory = _$BodyTokenAuthTokenPostFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is BodyTokenAuthTokenPost && + (identical(other.refreshToken, refreshToken) || + const DeepCollectionEquality() + .equals(other.refreshToken, refreshToken)) && + (identical(other.grantType, grantType) || + const DeepCollectionEquality() + .equals(other.grantType, grantType)) && + (identical(other.code, code) || + const DeepCollectionEquality().equals(other.code, code)) && + (identical(other.redirectUri, redirectUri) || + const DeepCollectionEquality() + .equals(other.redirectUri, redirectUri)) && + (identical(other.clientId, clientId) || + const DeepCollectionEquality() + .equals(other.clientId, clientId)) && + (identical(other.clientSecret, clientSecret) || + const DeepCollectionEquality() + .equals(other.clientSecret, clientSecret)) && + (identical(other.codeVerifier, codeVerifier) || + const DeepCollectionEquality() + .equals(other.codeVerifier, codeVerifier))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(refreshToken) ^ + const DeepCollectionEquality().hash(grantType) ^ + const DeepCollectionEquality().hash(code) ^ + const DeepCollectionEquality().hash(redirectUri) ^ + const DeepCollectionEquality().hash(clientId) ^ + const DeepCollectionEquality().hash(clientSecret) ^ + const DeepCollectionEquality().hash(codeVerifier) ^ + runtimeType.hashCode; +} + +extension $BodyTokenAuthTokenPostExtension on BodyTokenAuthTokenPost { + BodyTokenAuthTokenPost copyWith( + {String? refreshToken, + String? grantType, + String? code, + String? redirectUri, + String? clientId, + String? clientSecret, + String? codeVerifier}) { + return BodyTokenAuthTokenPost( + refreshToken: refreshToken ?? this.refreshToken, + grantType: grantType ?? this.grantType, + code: code ?? this.code, + redirectUri: redirectUri ?? this.redirectUri, + clientId: clientId ?? this.clientId, + clientSecret: clientSecret ?? this.clientSecret, + codeVerifier: codeVerifier ?? this.codeVerifier); + } + + BodyTokenAuthTokenPost copyWithWrapped( + {Wrapped? refreshToken, + Wrapped? grantType, + Wrapped? code, + Wrapped? redirectUri, + Wrapped? clientId, + Wrapped? clientSecret, + Wrapped? codeVerifier}) { + return BodyTokenAuthTokenPost( + refreshToken: + (refreshToken != null ? refreshToken.value : this.refreshToken), + grantType: (grantType != null ? grantType.value : this.grantType), + code: (code != null ? code.value : this.code), + redirectUri: + (redirectUri != null ? redirectUri.value : this.redirectUri), + clientId: (clientId != null ? clientId.value : this.clientId), + clientSecret: + (clientSecret != null ? clientSecret.value : this.clientSecret), + codeVerifier: + (codeVerifier != null ? codeVerifier.value : this.codeVerifier)); + } +} + +@JsonSerializable(explicitToJson: true) +class BookingBase { + const BookingBase({ + required this.reason, + required this.start, + required this.end, + this.note, + required this.roomId, + required this.key, + this.recurrenceRule, + this.entity, + }); + + factory BookingBase.fromJson(Map json) => + _$BookingBaseFromJson(json); + + static const toJsonFactory = _$BookingBaseToJson; + Map toJson() => _$BookingBaseToJson(this); + + @JsonKey(name: 'reason', defaultValue: '') + final String reason; + @JsonKey(name: 'start') + final DateTime start; + @JsonKey(name: 'end') + final DateTime end; + @JsonKey(name: 'note', defaultValue: '') + final String? note; + @JsonKey(name: 'room_id', defaultValue: '') + final String roomId; + @JsonKey(name: 'key', defaultValue: false) + final bool key; + @JsonKey(name: 'recurrence_rule', defaultValue: '') + final String? recurrenceRule; + @JsonKey(name: 'entity', defaultValue: '') + final String? entity; + static const fromJsonFactory = _$BookingBaseFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is BookingBase && + (identical(other.reason, reason) || + const DeepCollectionEquality().equals(other.reason, reason)) && + (identical(other.start, start) || + const DeepCollectionEquality().equals(other.start, start)) && + (identical(other.end, end) || + const DeepCollectionEquality().equals(other.end, end)) && + (identical(other.note, note) || + const DeepCollectionEquality().equals(other.note, note)) && + (identical(other.roomId, roomId) || + const DeepCollectionEquality().equals(other.roomId, roomId)) && + (identical(other.key, key) || + const DeepCollectionEquality().equals(other.key, key)) && + (identical(other.recurrenceRule, recurrenceRule) || + const DeepCollectionEquality() + .equals(other.recurrenceRule, recurrenceRule)) && + (identical(other.entity, entity) || + const DeepCollectionEquality().equals(other.entity, entity))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(reason) ^ + const DeepCollectionEquality().hash(start) ^ + const DeepCollectionEquality().hash(end) ^ + const DeepCollectionEquality().hash(note) ^ + const DeepCollectionEquality().hash(roomId) ^ + const DeepCollectionEquality().hash(key) ^ + const DeepCollectionEquality().hash(recurrenceRule) ^ + const DeepCollectionEquality().hash(entity) ^ + runtimeType.hashCode; +} + +extension $BookingBaseExtension on BookingBase { + BookingBase copyWith( + {String? reason, + DateTime? start, + DateTime? end, + String? note, + String? roomId, + bool? key, + String? recurrenceRule, + String? entity}) { + return BookingBase( + reason: reason ?? this.reason, + start: start ?? this.start, + end: end ?? this.end, + note: note ?? this.note, + roomId: roomId ?? this.roomId, + key: key ?? this.key, + recurrenceRule: recurrenceRule ?? this.recurrenceRule, + entity: entity ?? this.entity); + } + + BookingBase copyWithWrapped( + {Wrapped? reason, + Wrapped? start, + Wrapped? end, + Wrapped? note, + Wrapped? roomId, + Wrapped? key, + Wrapped? recurrenceRule, + Wrapped? entity}) { + return BookingBase( + reason: (reason != null ? reason.value : this.reason), + start: (start != null ? start.value : this.start), + end: (end != null ? end.value : this.end), + note: (note != null ? note.value : this.note), + roomId: (roomId != null ? roomId.value : this.roomId), + key: (key != null ? key.value : this.key), + recurrenceRule: (recurrenceRule != null + ? recurrenceRule.value + : this.recurrenceRule), + entity: (entity != null ? entity.value : this.entity)); + } +} + +@JsonSerializable(explicitToJson: true) +class BookingEdit { + const BookingEdit({ + this.reason, + this.start, + this.end, + this.note, + this.room, + this.key, + this.recurrenceRule, + this.entity, + }); + + factory BookingEdit.fromJson(Map json) => + _$BookingEditFromJson(json); + + static const toJsonFactory = _$BookingEditToJson; + Map toJson() => _$BookingEditToJson(this); + + @JsonKey(name: 'reason', defaultValue: '') + final String? reason; + @JsonKey(name: 'start') + final DateTime? start; + @JsonKey(name: 'end') + final DateTime? end; + @JsonKey(name: 'note', defaultValue: '') + final String? note; + @JsonKey(name: 'room', defaultValue: '') + final String? room; + @JsonKey(name: 'key', defaultValue: false) + final bool? key; + @JsonKey(name: 'recurrence_rule', defaultValue: '') + final String? recurrenceRule; + @JsonKey(name: 'entity', defaultValue: '') + final String? entity; + static const fromJsonFactory = _$BookingEditFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is BookingEdit && + (identical(other.reason, reason) || + const DeepCollectionEquality().equals(other.reason, reason)) && + (identical(other.start, start) || + const DeepCollectionEquality().equals(other.start, start)) && + (identical(other.end, end) || + const DeepCollectionEquality().equals(other.end, end)) && + (identical(other.note, note) || + const DeepCollectionEquality().equals(other.note, note)) && + (identical(other.room, room) || + const DeepCollectionEquality().equals(other.room, room)) && + (identical(other.key, key) || + const DeepCollectionEquality().equals(other.key, key)) && + (identical(other.recurrenceRule, recurrenceRule) || + const DeepCollectionEquality() + .equals(other.recurrenceRule, recurrenceRule)) && + (identical(other.entity, entity) || + const DeepCollectionEquality().equals(other.entity, entity))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(reason) ^ + const DeepCollectionEquality().hash(start) ^ + const DeepCollectionEquality().hash(end) ^ + const DeepCollectionEquality().hash(note) ^ + const DeepCollectionEquality().hash(room) ^ + const DeepCollectionEquality().hash(key) ^ + const DeepCollectionEquality().hash(recurrenceRule) ^ + const DeepCollectionEquality().hash(entity) ^ + runtimeType.hashCode; +} + +extension $BookingEditExtension on BookingEdit { + BookingEdit copyWith( + {String? reason, + DateTime? start, + DateTime? end, + String? note, + String? room, + bool? key, + String? recurrenceRule, + String? entity}) { + return BookingEdit( + reason: reason ?? this.reason, + start: start ?? this.start, + end: end ?? this.end, + note: note ?? this.note, + room: room ?? this.room, + key: key ?? this.key, + recurrenceRule: recurrenceRule ?? this.recurrenceRule, + entity: entity ?? this.entity); + } + + BookingEdit copyWithWrapped( + {Wrapped? reason, + Wrapped? start, + Wrapped? end, + Wrapped? note, + Wrapped? room, + Wrapped? key, + Wrapped? recurrenceRule, + Wrapped? entity}) { + return BookingEdit( + reason: (reason != null ? reason.value : this.reason), + start: (start != null ? start.value : this.start), + end: (end != null ? end.value : this.end), + note: (note != null ? note.value : this.note), + room: (room != null ? room.value : this.room), + key: (key != null ? key.value : this.key), + recurrenceRule: (recurrenceRule != null + ? recurrenceRule.value + : this.recurrenceRule), + entity: (entity != null ? entity.value : this.entity)); + } +} + +@JsonSerializable(explicitToJson: true) +class BookingReturn { + const BookingReturn({ + required this.reason, + required this.start, + required this.end, + this.note, + required this.roomId, + required this.key, + this.recurrenceRule, + this.entity, + required this.id, + required this.decision, + required this.applicantId, + required this.room, + }); + + factory BookingReturn.fromJson(Map json) => + _$BookingReturnFromJson(json); + + static const toJsonFactory = _$BookingReturnToJson; + Map toJson() => _$BookingReturnToJson(this); + + @JsonKey(name: 'reason', defaultValue: '') + final String reason; + @JsonKey(name: 'start') + final DateTime start; + @JsonKey(name: 'end') + final DateTime end; + @JsonKey(name: 'note', defaultValue: '') + final String? note; + @JsonKey(name: 'room_id', defaultValue: '') + final String roomId; + @JsonKey(name: 'key', defaultValue: false) + final bool key; + @JsonKey(name: 'recurrence_rule', defaultValue: '') + final String? recurrenceRule; + @JsonKey(name: 'entity', defaultValue: '') + final String? entity; + @JsonKey(name: 'id', defaultValue: '') + final String id; + @JsonKey( + name: 'decision', + toJson: appUtilsTypesBdebookingTypeDecisionToJson, + fromJson: appUtilsTypesBdebookingTypeDecisionFromJson, + ) + final enums.AppUtilsTypesBdebookingTypeDecision decision; + @JsonKey(name: 'applicant_id', defaultValue: '') + final String applicantId; + @JsonKey(name: 'room') + final RoomComplete room; + static const fromJsonFactory = _$BookingReturnFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is BookingReturn && + (identical(other.reason, reason) || + const DeepCollectionEquality().equals(other.reason, reason)) && + (identical(other.start, start) || + const DeepCollectionEquality().equals(other.start, start)) && + (identical(other.end, end) || + const DeepCollectionEquality().equals(other.end, end)) && + (identical(other.note, note) || + const DeepCollectionEquality().equals(other.note, note)) && + (identical(other.roomId, roomId) || + const DeepCollectionEquality().equals(other.roomId, roomId)) && + (identical(other.key, key) || + const DeepCollectionEquality().equals(other.key, key)) && + (identical(other.recurrenceRule, recurrenceRule) || + const DeepCollectionEquality() + .equals(other.recurrenceRule, recurrenceRule)) && + (identical(other.entity, entity) || + const DeepCollectionEquality().equals(other.entity, entity)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id)) && + (identical(other.decision, decision) || + const DeepCollectionEquality() + .equals(other.decision, decision)) && + (identical(other.applicantId, applicantId) || + const DeepCollectionEquality() + .equals(other.applicantId, applicantId)) && + (identical(other.room, room) || + const DeepCollectionEquality().equals(other.room, room))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(reason) ^ + const DeepCollectionEquality().hash(start) ^ + const DeepCollectionEquality().hash(end) ^ + const DeepCollectionEquality().hash(note) ^ + const DeepCollectionEquality().hash(roomId) ^ + const DeepCollectionEquality().hash(key) ^ + const DeepCollectionEquality().hash(recurrenceRule) ^ + const DeepCollectionEquality().hash(entity) ^ + const DeepCollectionEquality().hash(id) ^ + const DeepCollectionEquality().hash(decision) ^ + const DeepCollectionEquality().hash(applicantId) ^ + const DeepCollectionEquality().hash(room) ^ + runtimeType.hashCode; +} + +extension $BookingReturnExtension on BookingReturn { + BookingReturn copyWith( + {String? reason, + DateTime? start, + DateTime? end, + String? note, + String? roomId, + bool? key, + String? recurrenceRule, + String? entity, + String? id, + enums.AppUtilsTypesBdebookingTypeDecision? decision, + String? applicantId, + RoomComplete? room}) { + return BookingReturn( + reason: reason ?? this.reason, + start: start ?? this.start, + end: end ?? this.end, + note: note ?? this.note, + roomId: roomId ?? this.roomId, + key: key ?? this.key, + recurrenceRule: recurrenceRule ?? this.recurrenceRule, + entity: entity ?? this.entity, + id: id ?? this.id, + decision: decision ?? this.decision, + applicantId: applicantId ?? this.applicantId, + room: room ?? this.room); + } + + BookingReturn copyWithWrapped( + {Wrapped? reason, + Wrapped? start, + Wrapped? end, + Wrapped? note, + Wrapped? roomId, + Wrapped? key, + Wrapped? recurrenceRule, + Wrapped? entity, + Wrapped? id, + Wrapped? decision, + Wrapped? applicantId, + Wrapped? room}) { + return BookingReturn( + reason: (reason != null ? reason.value : this.reason), + start: (start != null ? start.value : this.start), + end: (end != null ? end.value : this.end), + note: (note != null ? note.value : this.note), + roomId: (roomId != null ? roomId.value : this.roomId), + key: (key != null ? key.value : this.key), + recurrenceRule: (recurrenceRule != null + ? recurrenceRule.value + : this.recurrenceRule), + entity: (entity != null ? entity.value : this.entity), + id: (id != null ? id.value : this.id), + decision: (decision != null ? decision.value : this.decision), + applicantId: + (applicantId != null ? applicantId.value : this.applicantId), + room: (room != null ? room.value : this.room)); + } +} + +@JsonSerializable(explicitToJson: true) +class BookingReturnApplicant { + const BookingReturnApplicant({ + required this.reason, + required this.start, + required this.end, + this.note, + required this.roomId, + required this.key, + this.recurrenceRule, + this.entity, + required this.id, + required this.decision, + required this.applicantId, + required this.room, + required this.applicant, + }); + + factory BookingReturnApplicant.fromJson(Map json) => + _$BookingReturnApplicantFromJson(json); + + static const toJsonFactory = _$BookingReturnApplicantToJson; + Map toJson() => _$BookingReturnApplicantToJson(this); + + @JsonKey(name: 'reason', defaultValue: '') + final String reason; + @JsonKey(name: 'start') + final DateTime start; + @JsonKey(name: 'end') + final DateTime end; + @JsonKey(name: 'note', defaultValue: '') + final String? note; + @JsonKey(name: 'room_id', defaultValue: '') + final String roomId; + @JsonKey(name: 'key', defaultValue: false) + final bool key; + @JsonKey(name: 'recurrence_rule', defaultValue: '') + final String? recurrenceRule; + @JsonKey(name: 'entity', defaultValue: '') + final String? entity; + @JsonKey(name: 'id', defaultValue: '') + final String id; + @JsonKey( + name: 'decision', + toJson: appUtilsTypesBdebookingTypeDecisionToJson, + fromJson: appUtilsTypesBdebookingTypeDecisionFromJson, + ) + final enums.AppUtilsTypesBdebookingTypeDecision decision; + @JsonKey(name: 'applicant_id', defaultValue: '') + final String applicantId; + @JsonKey(name: 'room') + final RoomComplete room; + @JsonKey(name: 'applicant') + final Applicant applicant; + static const fromJsonFactory = _$BookingReturnApplicantFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is BookingReturnApplicant && + (identical(other.reason, reason) || + const DeepCollectionEquality().equals(other.reason, reason)) && + (identical(other.start, start) || + const DeepCollectionEquality().equals(other.start, start)) && + (identical(other.end, end) || + const DeepCollectionEquality().equals(other.end, end)) && + (identical(other.note, note) || + const DeepCollectionEquality().equals(other.note, note)) && + (identical(other.roomId, roomId) || + const DeepCollectionEquality().equals(other.roomId, roomId)) && + (identical(other.key, key) || + const DeepCollectionEquality().equals(other.key, key)) && + (identical(other.recurrenceRule, recurrenceRule) || + const DeepCollectionEquality() + .equals(other.recurrenceRule, recurrenceRule)) && + (identical(other.entity, entity) || + const DeepCollectionEquality().equals(other.entity, entity)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id)) && + (identical(other.decision, decision) || + const DeepCollectionEquality() + .equals(other.decision, decision)) && + (identical(other.applicantId, applicantId) || + const DeepCollectionEquality() + .equals(other.applicantId, applicantId)) && + (identical(other.room, room) || + const DeepCollectionEquality().equals(other.room, room)) && + (identical(other.applicant, applicant) || + const DeepCollectionEquality() + .equals(other.applicant, applicant))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(reason) ^ + const DeepCollectionEquality().hash(start) ^ + const DeepCollectionEquality().hash(end) ^ + const DeepCollectionEquality().hash(note) ^ + const DeepCollectionEquality().hash(roomId) ^ + const DeepCollectionEquality().hash(key) ^ + const DeepCollectionEquality().hash(recurrenceRule) ^ + const DeepCollectionEquality().hash(entity) ^ + const DeepCollectionEquality().hash(id) ^ + const DeepCollectionEquality().hash(decision) ^ + const DeepCollectionEquality().hash(applicantId) ^ + const DeepCollectionEquality().hash(room) ^ + const DeepCollectionEquality().hash(applicant) ^ + runtimeType.hashCode; +} + +extension $BookingReturnApplicantExtension on BookingReturnApplicant { + BookingReturnApplicant copyWith( + {String? reason, + DateTime? start, + DateTime? end, + String? note, + String? roomId, + bool? key, + String? recurrenceRule, + String? entity, + String? id, + enums.AppUtilsTypesBdebookingTypeDecision? decision, + String? applicantId, + RoomComplete? room, + Applicant? applicant}) { + return BookingReturnApplicant( + reason: reason ?? this.reason, + start: start ?? this.start, + end: end ?? this.end, + note: note ?? this.note, + roomId: roomId ?? this.roomId, + key: key ?? this.key, + recurrenceRule: recurrenceRule ?? this.recurrenceRule, + entity: entity ?? this.entity, + id: id ?? this.id, + decision: decision ?? this.decision, + applicantId: applicantId ?? this.applicantId, + room: room ?? this.room, + applicant: applicant ?? this.applicant); + } + + BookingReturnApplicant copyWithWrapped( + {Wrapped? reason, + Wrapped? start, + Wrapped? end, + Wrapped? note, + Wrapped? roomId, + Wrapped? key, + Wrapped? recurrenceRule, + Wrapped? entity, + Wrapped? id, + Wrapped? decision, + Wrapped? applicantId, + Wrapped? room, + Wrapped? applicant}) { + return BookingReturnApplicant( + reason: (reason != null ? reason.value : this.reason), + start: (start != null ? start.value : this.start), + end: (end != null ? end.value : this.end), + note: (note != null ? note.value : this.note), + roomId: (roomId != null ? roomId.value : this.roomId), + key: (key != null ? key.value : this.key), + recurrenceRule: (recurrenceRule != null + ? recurrenceRule.value + : this.recurrenceRule), + entity: (entity != null ? entity.value : this.entity), + id: (id != null ? id.value : this.id), + decision: (decision != null ? decision.value : this.decision), + applicantId: + (applicantId != null ? applicantId.value : this.applicantId), + room: (room != null ? room.value : this.room), + applicant: (applicant != null ? applicant.value : this.applicant)); + } +} + +@JsonSerializable(explicitToJson: true) +class ChangePasswordRequest { + const ChangePasswordRequest({ + required this.email, + required this.oldPassword, + required this.newPassword, + }); + + factory ChangePasswordRequest.fromJson(Map json) => + _$ChangePasswordRequestFromJson(json); + + static const toJsonFactory = _$ChangePasswordRequestToJson; + Map toJson() => _$ChangePasswordRequestToJson(this); + + @JsonKey(name: 'email', defaultValue: '') + final String email; + @JsonKey(name: 'old_password', defaultValue: '') + final String oldPassword; + @JsonKey(name: 'new_password', defaultValue: '') + final String newPassword; + static const fromJsonFactory = _$ChangePasswordRequestFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is ChangePasswordRequest && + (identical(other.email, email) || + const DeepCollectionEquality().equals(other.email, email)) && + (identical(other.oldPassword, oldPassword) || + const DeepCollectionEquality() + .equals(other.oldPassword, oldPassword)) && + (identical(other.newPassword, newPassword) || + const DeepCollectionEquality() + .equals(other.newPassword, newPassword))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(email) ^ + const DeepCollectionEquality().hash(oldPassword) ^ + const DeepCollectionEquality().hash(newPassword) ^ + runtimeType.hashCode; +} + +extension $ChangePasswordRequestExtension on ChangePasswordRequest { + ChangePasswordRequest copyWith( + {String? email, String? oldPassword, String? newPassword}) { + return ChangePasswordRequest( + email: email ?? this.email, + oldPassword: oldPassword ?? this.oldPassword, + newPassword: newPassword ?? this.newPassword); + } + + ChangePasswordRequest copyWithWrapped( + {Wrapped? email, + Wrapped? oldPassword, + Wrapped? newPassword}) { + return ChangePasswordRequest( + email: (email != null ? email.value : this.email), + oldPassword: + (oldPassword != null ? oldPassword.value : this.oldPassword), + newPassword: + (newPassword != null ? newPassword.value : this.newPassword)); + } +} + +@JsonSerializable(explicitToJson: true) +class CineSessionBase { + const CineSessionBase({ + required this.start, + required this.duration, + required this.name, + this.overview, + this.genre, + this.tagline, + }); + + factory CineSessionBase.fromJson(Map json) => + _$CineSessionBaseFromJson(json); + + static const toJsonFactory = _$CineSessionBaseToJson; + Map toJson() => _$CineSessionBaseToJson(this); + + @JsonKey(name: 'start') + final DateTime start; + @JsonKey(name: 'duration', defaultValue: 0) + final int duration; + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'overview', defaultValue: '') + final String? overview; + @JsonKey(name: 'genre', defaultValue: '') + final String? genre; + @JsonKey(name: 'tagline', defaultValue: '') + final String? tagline; + static const fromJsonFactory = _$CineSessionBaseFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is CineSessionBase && + (identical(other.start, start) || + const DeepCollectionEquality().equals(other.start, start)) && + (identical(other.duration, duration) || + const DeepCollectionEquality() + .equals(other.duration, duration)) && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.overview, overview) || + const DeepCollectionEquality() + .equals(other.overview, overview)) && + (identical(other.genre, genre) || + const DeepCollectionEquality().equals(other.genre, genre)) && + (identical(other.tagline, tagline) || + const DeepCollectionEquality().equals(other.tagline, tagline))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(start) ^ + const DeepCollectionEquality().hash(duration) ^ + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(overview) ^ + const DeepCollectionEquality().hash(genre) ^ + const DeepCollectionEquality().hash(tagline) ^ + runtimeType.hashCode; +} + +extension $CineSessionBaseExtension on CineSessionBase { + CineSessionBase copyWith( + {DateTime? start, + int? duration, + String? name, + String? overview, + String? genre, + String? tagline}) { + return CineSessionBase( + start: start ?? this.start, + duration: duration ?? this.duration, + name: name ?? this.name, + overview: overview ?? this.overview, + genre: genre ?? this.genre, + tagline: tagline ?? this.tagline); + } + + CineSessionBase copyWithWrapped( + {Wrapped? start, + Wrapped? duration, + Wrapped? name, + Wrapped? overview, + Wrapped? genre, + Wrapped? tagline}) { + return CineSessionBase( + start: (start != null ? start.value : this.start), + duration: (duration != null ? duration.value : this.duration), + name: (name != null ? name.value : this.name), + overview: (overview != null ? overview.value : this.overview), + genre: (genre != null ? genre.value : this.genre), + tagline: (tagline != null ? tagline.value : this.tagline)); + } +} + +@JsonSerializable(explicitToJson: true) +class CineSessionComplete { + const CineSessionComplete({ + required this.start, + required this.duration, + required this.name, + this.overview, + this.genre, + this.tagline, + required this.id, + }); + + factory CineSessionComplete.fromJson(Map json) => + _$CineSessionCompleteFromJson(json); + + static const toJsonFactory = _$CineSessionCompleteToJson; + Map toJson() => _$CineSessionCompleteToJson(this); + + @JsonKey(name: 'start') + final DateTime start; + @JsonKey(name: 'duration', defaultValue: 0) + final int duration; + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'overview', defaultValue: '') + final String? overview; + @JsonKey(name: 'genre', defaultValue: '') + final String? genre; + @JsonKey(name: 'tagline', defaultValue: '') + final String? tagline; + @JsonKey(name: 'id', defaultValue: '') + final String id; + static const fromJsonFactory = _$CineSessionCompleteFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is CineSessionComplete && + (identical(other.start, start) || + const DeepCollectionEquality().equals(other.start, start)) && + (identical(other.duration, duration) || + const DeepCollectionEquality() + .equals(other.duration, duration)) && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.overview, overview) || + const DeepCollectionEquality() + .equals(other.overview, overview)) && + (identical(other.genre, genre) || + const DeepCollectionEquality().equals(other.genre, genre)) && + (identical(other.tagline, tagline) || + const DeepCollectionEquality() + .equals(other.tagline, tagline)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(start) ^ + const DeepCollectionEquality().hash(duration) ^ + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(overview) ^ + const DeepCollectionEquality().hash(genre) ^ + const DeepCollectionEquality().hash(tagline) ^ + const DeepCollectionEquality().hash(id) ^ + runtimeType.hashCode; +} + +extension $CineSessionCompleteExtension on CineSessionComplete { + CineSessionComplete copyWith( + {DateTime? start, + int? duration, + String? name, + String? overview, + String? genre, + String? tagline, + String? id}) { + return CineSessionComplete( + start: start ?? this.start, + duration: duration ?? this.duration, + name: name ?? this.name, + overview: overview ?? this.overview, + genre: genre ?? this.genre, + tagline: tagline ?? this.tagline, + id: id ?? this.id); + } + + CineSessionComplete copyWithWrapped( + {Wrapped? start, + Wrapped? duration, + Wrapped? name, + Wrapped? overview, + Wrapped? genre, + Wrapped? tagline, + Wrapped? id}) { + return CineSessionComplete( + start: (start != null ? start.value : this.start), + duration: (duration != null ? duration.value : this.duration), + name: (name != null ? name.value : this.name), + overview: (overview != null ? overview.value : this.overview), + genre: (genre != null ? genre.value : this.genre), + tagline: (tagline != null ? tagline.value : this.tagline), + id: (id != null ? id.value : this.id)); + } +} + +@JsonSerializable(explicitToJson: true) +class CineSessionUpdate { + const CineSessionUpdate({ + this.name, + this.start, + this.duration, + this.overview, + this.genre, + this.tagline, + }); + + factory CineSessionUpdate.fromJson(Map json) => + _$CineSessionUpdateFromJson(json); + + static const toJsonFactory = _$CineSessionUpdateToJson; + Map toJson() => _$CineSessionUpdateToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String? name; + @JsonKey(name: 'start') + final DateTime? start; + @JsonKey(name: 'duration', defaultValue: 0) + final int? duration; + @JsonKey(name: 'overview', defaultValue: '') + final String? overview; + @JsonKey(name: 'genre', defaultValue: '') + final String? genre; + @JsonKey(name: 'tagline', defaultValue: '') + final String? tagline; + static const fromJsonFactory = _$CineSessionUpdateFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is CineSessionUpdate && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.start, start) || + const DeepCollectionEquality().equals(other.start, start)) && + (identical(other.duration, duration) || + const DeepCollectionEquality() + .equals(other.duration, duration)) && + (identical(other.overview, overview) || + const DeepCollectionEquality() + .equals(other.overview, overview)) && + (identical(other.genre, genre) || + const DeepCollectionEquality().equals(other.genre, genre)) && + (identical(other.tagline, tagline) || + const DeepCollectionEquality().equals(other.tagline, tagline))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(start) ^ + const DeepCollectionEquality().hash(duration) ^ + const DeepCollectionEquality().hash(overview) ^ + const DeepCollectionEquality().hash(genre) ^ + const DeepCollectionEquality().hash(tagline) ^ + runtimeType.hashCode; +} + +extension $CineSessionUpdateExtension on CineSessionUpdate { + CineSessionUpdate copyWith( + {String? name, + DateTime? start, + int? duration, + String? overview, + String? genre, + String? tagline}) { + return CineSessionUpdate( + name: name ?? this.name, + start: start ?? this.start, + duration: duration ?? this.duration, + overview: overview ?? this.overview, + genre: genre ?? this.genre, + tagline: tagline ?? this.tagline); + } + + CineSessionUpdate copyWithWrapped( + {Wrapped? name, + Wrapped? start, + Wrapped? duration, + Wrapped? overview, + Wrapped? genre, + Wrapped? tagline}) { + return CineSessionUpdate( + name: (name != null ? name.value : this.name), + start: (start != null ? start.value : this.start), + duration: (duration != null ? duration.value : this.duration), + overview: (overview != null ? overview.value : this.overview), + genre: (genre != null ? genre.value : this.genre), + tagline: (tagline != null ? tagline.value : this.tagline)); + } +} + +@JsonSerializable(explicitToJson: true) +class CoreBatchDeleteMembership { + const CoreBatchDeleteMembership({ + required this.groupId, + }); + + factory CoreBatchDeleteMembership.fromJson(Map json) => + _$CoreBatchDeleteMembershipFromJson(json); + + static const toJsonFactory = _$CoreBatchDeleteMembershipToJson; + Map toJson() => _$CoreBatchDeleteMembershipToJson(this); + + @JsonKey(name: 'group_id', defaultValue: '') + final String groupId; + static const fromJsonFactory = _$CoreBatchDeleteMembershipFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is CoreBatchDeleteMembership && + (identical(other.groupId, groupId) || + const DeepCollectionEquality().equals(other.groupId, groupId))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(groupId) ^ runtimeType.hashCode; +} + +extension $CoreBatchDeleteMembershipExtension on CoreBatchDeleteMembership { + CoreBatchDeleteMembership copyWith({String? groupId}) { + return CoreBatchDeleteMembership(groupId: groupId ?? this.groupId); + } + + CoreBatchDeleteMembership copyWithWrapped({Wrapped? groupId}) { + return CoreBatchDeleteMembership( + groupId: (groupId != null ? groupId.value : this.groupId)); + } +} + +@JsonSerializable(explicitToJson: true) +class CoreBatchMembership { + const CoreBatchMembership({ + required this.userEmails, + required this.groupId, + this.description, + }); + + factory CoreBatchMembership.fromJson(Map json) => + _$CoreBatchMembershipFromJson(json); + + static const toJsonFactory = _$CoreBatchMembershipToJson; + Map toJson() => _$CoreBatchMembershipToJson(this); + + @JsonKey(name: 'user_emails', defaultValue: []) + final List userEmails; + @JsonKey(name: 'group_id', defaultValue: '') + final String groupId; + @JsonKey(name: 'description', defaultValue: '') + final String? description; + static const fromJsonFactory = _$CoreBatchMembershipFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is CoreBatchMembership && + (identical(other.userEmails, userEmails) || + const DeepCollectionEquality() + .equals(other.userEmails, userEmails)) && + (identical(other.groupId, groupId) || + const DeepCollectionEquality() + .equals(other.groupId, groupId)) && + (identical(other.description, description) || + const DeepCollectionEquality() + .equals(other.description, description))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(userEmails) ^ + const DeepCollectionEquality().hash(groupId) ^ + const DeepCollectionEquality().hash(description) ^ + runtimeType.hashCode; +} + +extension $CoreBatchMembershipExtension on CoreBatchMembership { + CoreBatchMembership copyWith( + {List? userEmails, String? groupId, String? description}) { + return CoreBatchMembership( + userEmails: userEmails ?? this.userEmails, + groupId: groupId ?? this.groupId, + description: description ?? this.description); + } + + CoreBatchMembership copyWithWrapped( + {Wrapped>? userEmails, + Wrapped? groupId, + Wrapped? description}) { + return CoreBatchMembership( + userEmails: (userEmails != null ? userEmails.value : this.userEmails), + groupId: (groupId != null ? groupId.value : this.groupId), + description: + (description != null ? description.value : this.description)); + } +} + +@JsonSerializable(explicitToJson: true) +class CoreBatchUserCreateRequest { + const CoreBatchUserCreateRequest({ + required this.email, + required this.accountType, + }); + + factory CoreBatchUserCreateRequest.fromJson(Map json) => + _$CoreBatchUserCreateRequestFromJson(json); + + static const toJsonFactory = _$CoreBatchUserCreateRequestToJson; + Map toJson() => _$CoreBatchUserCreateRequestToJson(this); + + @JsonKey(name: 'email', defaultValue: '') + final String email; + @JsonKey( + name: 'account_type', + toJson: accountTypeNullableToJson, + fromJson: accountTypeNullableFromJson, + ) + final enums.AccountType? accountType; + static const fromJsonFactory = _$CoreBatchUserCreateRequestFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is CoreBatchUserCreateRequest && + (identical(other.email, email) || + const DeepCollectionEquality().equals(other.email, email)) && + (identical(other.accountType, accountType) || + const DeepCollectionEquality() + .equals(other.accountType, accountType))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(email) ^ + const DeepCollectionEquality().hash(accountType) ^ + runtimeType.hashCode; +} + +extension $CoreBatchUserCreateRequestExtension on CoreBatchUserCreateRequest { + CoreBatchUserCreateRequest copyWith( + {String? email, enums.AccountType? accountType}) { + return CoreBatchUserCreateRequest( + email: email ?? this.email, + accountType: accountType ?? this.accountType); + } + + CoreBatchUserCreateRequest copyWithWrapped( + {Wrapped? email, Wrapped? accountType}) { + return CoreBatchUserCreateRequest( + email: (email != null ? email.value : this.email), + accountType: + (accountType != null ? accountType.value : this.accountType)); + } +} + +@JsonSerializable(explicitToJson: true) +class CoreGroup { + const CoreGroup({ + required this.name, + this.description, + required this.id, + this.members, + }); + + factory CoreGroup.fromJson(Map json) => + _$CoreGroupFromJson(json); + + static const toJsonFactory = _$CoreGroupToJson; + Map toJson() => _$CoreGroupToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'description', defaultValue: '') + final String? description; + @JsonKey(name: 'id', defaultValue: '') + final String id; + @JsonKey(name: 'members', defaultValue: []) + final List? members; + static const fromJsonFactory = _$CoreGroupFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is CoreGroup && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.description, description) || + const DeepCollectionEquality() + .equals(other.description, description)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id)) && + (identical(other.members, members) || + const DeepCollectionEquality().equals(other.members, members))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(description) ^ + const DeepCollectionEquality().hash(id) ^ + const DeepCollectionEquality().hash(members) ^ + runtimeType.hashCode; +} + +extension $CoreGroupExtension on CoreGroup { + CoreGroup copyWith( + {String? name, + String? description, + String? id, + List? members}) { + return CoreGroup( + name: name ?? this.name, + description: description ?? this.description, + id: id ?? this.id, + members: members ?? this.members); + } + + CoreGroup copyWithWrapped( + {Wrapped? name, + Wrapped? description, + Wrapped? id, + Wrapped?>? members}) { + return CoreGroup( + name: (name != null ? name.value : this.name), + description: + (description != null ? description.value : this.description), + id: (id != null ? id.value : this.id), + members: (members != null ? members.value : this.members)); + } +} + +@JsonSerializable(explicitToJson: true) +class CoreGroupCreate { + const CoreGroupCreate({ + required this.name, + this.description, + }); + + factory CoreGroupCreate.fromJson(Map json) => + _$CoreGroupCreateFromJson(json); + + static const toJsonFactory = _$CoreGroupCreateToJson; + Map toJson() => _$CoreGroupCreateToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'description', defaultValue: '') + final String? description; + static const fromJsonFactory = _$CoreGroupCreateFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is CoreGroupCreate && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.description, description) || + const DeepCollectionEquality() + .equals(other.description, description))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(description) ^ + runtimeType.hashCode; +} + +extension $CoreGroupCreateExtension on CoreGroupCreate { + CoreGroupCreate copyWith({String? name, String? description}) { + return CoreGroupCreate( + name: name ?? this.name, description: description ?? this.description); + } + + CoreGroupCreate copyWithWrapped( + {Wrapped? name, Wrapped? description}) { + return CoreGroupCreate( + name: (name != null ? name.value : this.name), + description: + (description != null ? description.value : this.description)); + } +} + +@JsonSerializable(explicitToJson: true) +class CoreGroupSimple { + const CoreGroupSimple({ + required this.name, + this.description, + required this.id, + }); + + factory CoreGroupSimple.fromJson(Map json) => + _$CoreGroupSimpleFromJson(json); + + static const toJsonFactory = _$CoreGroupSimpleToJson; + Map toJson() => _$CoreGroupSimpleToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'description', defaultValue: '') + final String? description; + @JsonKey(name: 'id', defaultValue: '') + final String id; + static const fromJsonFactory = _$CoreGroupSimpleFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is CoreGroupSimple && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.description, description) || + const DeepCollectionEquality() + .equals(other.description, description)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(description) ^ + const DeepCollectionEquality().hash(id) ^ + runtimeType.hashCode; +} + +extension $CoreGroupSimpleExtension on CoreGroupSimple { + CoreGroupSimple copyWith({String? name, String? description, String? id}) { + return CoreGroupSimple( + name: name ?? this.name, + description: description ?? this.description, + id: id ?? this.id); + } + + CoreGroupSimple copyWithWrapped( + {Wrapped? name, + Wrapped? description, + Wrapped? id}) { + return CoreGroupSimple( + name: (name != null ? name.value : this.name), + description: + (description != null ? description.value : this.description), + id: (id != null ? id.value : this.id)); + } +} + +@JsonSerializable(explicitToJson: true) +class CoreGroupUpdate { + const CoreGroupUpdate({ + this.name, + this.description, + }); + + factory CoreGroupUpdate.fromJson(Map json) => + _$CoreGroupUpdateFromJson(json); + + static const toJsonFactory = _$CoreGroupUpdateToJson; + Map toJson() => _$CoreGroupUpdateToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String? name; + @JsonKey(name: 'description', defaultValue: '') + final String? description; + static const fromJsonFactory = _$CoreGroupUpdateFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is CoreGroupUpdate && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.description, description) || + const DeepCollectionEquality() + .equals(other.description, description))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(description) ^ + runtimeType.hashCode; +} + +extension $CoreGroupUpdateExtension on CoreGroupUpdate { + CoreGroupUpdate copyWith({String? name, String? description}) { + return CoreGroupUpdate( + name: name ?? this.name, description: description ?? this.description); + } + + CoreGroupUpdate copyWithWrapped( + {Wrapped? name, Wrapped? description}) { + return CoreGroupUpdate( + name: (name != null ? name.value : this.name), + description: + (description != null ? description.value : this.description)); + } +} + +@JsonSerializable(explicitToJson: true) +class CoreInformation { + const CoreInformation({ + required this.ready, + required this.version, + required this.minimalTitanVersionCode, + required this.minimalTitanVersion, + }); + + factory CoreInformation.fromJson(Map json) => + _$CoreInformationFromJson(json); + + static const toJsonFactory = _$CoreInformationToJson; + Map toJson() => _$CoreInformationToJson(this); + + @JsonKey(name: 'ready', defaultValue: false) + final bool ready; + @JsonKey(name: 'version', defaultValue: '') + final String version; + @JsonKey(name: 'minimal_titan_version_code', defaultValue: 0) + final int minimalTitanVersionCode; + @JsonKey(name: 'minimal_titan_version', defaultValue: '') + final String minimalTitanVersion; + static const fromJsonFactory = _$CoreInformationFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is CoreInformation && + (identical(other.ready, ready) || + const DeepCollectionEquality().equals(other.ready, ready)) && + (identical(other.version, version) || + const DeepCollectionEquality() + .equals(other.version, version)) && + (identical( + other.minimalTitanVersionCode, minimalTitanVersionCode) || + const DeepCollectionEquality().equals( + other.minimalTitanVersionCode, minimalTitanVersionCode)) && + (identical(other.minimalTitanVersion, minimalTitanVersion) || + const DeepCollectionEquality() + .equals(other.minimalTitanVersion, minimalTitanVersion))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(ready) ^ + const DeepCollectionEquality().hash(version) ^ + const DeepCollectionEquality().hash(minimalTitanVersionCode) ^ + const DeepCollectionEquality().hash(minimalTitanVersion) ^ + runtimeType.hashCode; +} + +extension $CoreInformationExtension on CoreInformation { + CoreInformation copyWith( + {bool? ready, + String? version, + int? minimalTitanVersionCode, + String? minimalTitanVersion}) { + return CoreInformation( + ready: ready ?? this.ready, + version: version ?? this.version, + minimalTitanVersionCode: + minimalTitanVersionCode ?? this.minimalTitanVersionCode, + minimalTitanVersion: minimalTitanVersion ?? this.minimalTitanVersion); + } + + CoreInformation copyWithWrapped( + {Wrapped? ready, + Wrapped? version, + Wrapped? minimalTitanVersionCode, + Wrapped? minimalTitanVersion}) { + return CoreInformation( + ready: (ready != null ? ready.value : this.ready), + version: (version != null ? version.value : this.version), + minimalTitanVersionCode: (minimalTitanVersionCode != null + ? minimalTitanVersionCode.value + : this.minimalTitanVersionCode), + minimalTitanVersion: (minimalTitanVersion != null + ? minimalTitanVersion.value + : this.minimalTitanVersion)); + } +} + +@JsonSerializable(explicitToJson: true) +class CoreMembership { + const CoreMembership({ + required this.userId, + required this.groupId, + this.description, + }); + + factory CoreMembership.fromJson(Map json) => + _$CoreMembershipFromJson(json); + + static const toJsonFactory = _$CoreMembershipToJson; + Map toJson() => _$CoreMembershipToJson(this); + + @JsonKey(name: 'user_id', defaultValue: '') + final String userId; + @JsonKey(name: 'group_id', defaultValue: '') + final String groupId; + @JsonKey(name: 'description', defaultValue: '') + final String? description; + static const fromJsonFactory = _$CoreMembershipFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is CoreMembership && + (identical(other.userId, userId) || + const DeepCollectionEquality().equals(other.userId, userId)) && + (identical(other.groupId, groupId) || + const DeepCollectionEquality() + .equals(other.groupId, groupId)) && + (identical(other.description, description) || + const DeepCollectionEquality() + .equals(other.description, description))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(userId) ^ + const DeepCollectionEquality().hash(groupId) ^ + const DeepCollectionEquality().hash(description) ^ + runtimeType.hashCode; +} + +extension $CoreMembershipExtension on CoreMembership { + CoreMembership copyWith( + {String? userId, String? groupId, String? description}) { + return CoreMembership( + userId: userId ?? this.userId, + groupId: groupId ?? this.groupId, + description: description ?? this.description); + } + + CoreMembership copyWithWrapped( + {Wrapped? userId, + Wrapped? groupId, + Wrapped? description}) { + return CoreMembership( + userId: (userId != null ? userId.value : this.userId), + groupId: (groupId != null ? groupId.value : this.groupId), + description: + (description != null ? description.value : this.description)); + } +} + +@JsonSerializable(explicitToJson: true) +class CoreMembershipDelete { + const CoreMembershipDelete({ + required this.userId, + required this.groupId, + }); + + factory CoreMembershipDelete.fromJson(Map json) => + _$CoreMembershipDeleteFromJson(json); + + static const toJsonFactory = _$CoreMembershipDeleteToJson; + Map toJson() => _$CoreMembershipDeleteToJson(this); + + @JsonKey(name: 'user_id', defaultValue: '') + final String userId; + @JsonKey(name: 'group_id', defaultValue: '') + final String groupId; + static const fromJsonFactory = _$CoreMembershipDeleteFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is CoreMembershipDelete && + (identical(other.userId, userId) || + const DeepCollectionEquality().equals(other.userId, userId)) && + (identical(other.groupId, groupId) || + const DeepCollectionEquality().equals(other.groupId, groupId))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(userId) ^ + const DeepCollectionEquality().hash(groupId) ^ + runtimeType.hashCode; +} + +extension $CoreMembershipDeleteExtension on CoreMembershipDelete { + CoreMembershipDelete copyWith({String? userId, String? groupId}) { + return CoreMembershipDelete( + userId: userId ?? this.userId, groupId: groupId ?? this.groupId); + } + + CoreMembershipDelete copyWithWrapped( + {Wrapped? userId, Wrapped? groupId}) { + return CoreMembershipDelete( + userId: (userId != null ? userId.value : this.userId), + groupId: (groupId != null ? groupId.value : this.groupId)); + } +} + +@JsonSerializable(explicitToJson: true) +class CoreUser { + const CoreUser({ + required this.name, + required this.firstname, + this.nickname, + required this.id, + required this.email, + this.birthday, + this.promo, + required this.floor, + this.phone, + this.createdOn, + this.groups, + }); + + factory CoreUser.fromJson(Map json) => + _$CoreUserFromJson(json); + + static const toJsonFactory = _$CoreUserToJson; + Map toJson() => _$CoreUserToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'firstname', defaultValue: '') + final String firstname; + @JsonKey(name: 'nickname', defaultValue: '') + final String? nickname; + @JsonKey(name: 'id', defaultValue: '') + final String id; + @JsonKey(name: 'email', defaultValue: '') + final String email; + @JsonKey(name: 'birthday', toJson: _dateToJson) + final DateTime? birthday; + @JsonKey(name: 'promo', defaultValue: 0) + final int? promo; + @JsonKey( + name: 'floor', + toJson: floorsTypeToJson, + fromJson: floorsTypeFromJson, + ) + final enums.FloorsType floor; + @JsonKey(name: 'phone', defaultValue: '') + final String? phone; + @JsonKey(name: 'created_on') + final DateTime? createdOn; + @JsonKey(name: 'groups', defaultValue: []) + final List? groups; + static const fromJsonFactory = _$CoreUserFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is CoreUser && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.firstname, firstname) || + const DeepCollectionEquality() + .equals(other.firstname, firstname)) && + (identical(other.nickname, nickname) || + const DeepCollectionEquality() + .equals(other.nickname, nickname)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id)) && + (identical(other.email, email) || + const DeepCollectionEquality().equals(other.email, email)) && + (identical(other.birthday, birthday) || + const DeepCollectionEquality() + .equals(other.birthday, birthday)) && + (identical(other.promo, promo) || + const DeepCollectionEquality().equals(other.promo, promo)) && + (identical(other.floor, floor) || + const DeepCollectionEquality().equals(other.floor, floor)) && + (identical(other.phone, phone) || + const DeepCollectionEquality().equals(other.phone, phone)) && + (identical(other.createdOn, createdOn) || + const DeepCollectionEquality() + .equals(other.createdOn, createdOn)) && + (identical(other.groups, groups) || + const DeepCollectionEquality().equals(other.groups, groups))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(firstname) ^ + const DeepCollectionEquality().hash(nickname) ^ + const DeepCollectionEquality().hash(id) ^ + const DeepCollectionEquality().hash(email) ^ + const DeepCollectionEquality().hash(birthday) ^ + const DeepCollectionEquality().hash(promo) ^ + const DeepCollectionEquality().hash(floor) ^ + const DeepCollectionEquality().hash(phone) ^ + const DeepCollectionEquality().hash(createdOn) ^ + const DeepCollectionEquality().hash(groups) ^ + runtimeType.hashCode; +} + +extension $CoreUserExtension on CoreUser { + CoreUser copyWith( + {String? name, + String? firstname, + String? nickname, + String? id, + String? email, + DateTime? birthday, + int? promo, + enums.FloorsType? floor, + String? phone, + DateTime? createdOn, + List? groups}) { + return CoreUser( + name: name ?? this.name, + firstname: firstname ?? this.firstname, + nickname: nickname ?? this.nickname, + id: id ?? this.id, + email: email ?? this.email, + birthday: birthday ?? this.birthday, + promo: promo ?? this.promo, + floor: floor ?? this.floor, + phone: phone ?? this.phone, + createdOn: createdOn ?? this.createdOn, + groups: groups ?? this.groups); + } + + CoreUser copyWithWrapped( + {Wrapped? name, + Wrapped? firstname, + Wrapped? nickname, + Wrapped? id, + Wrapped? email, + Wrapped? birthday, + Wrapped? promo, + Wrapped? floor, + Wrapped? phone, + Wrapped? createdOn, + Wrapped?>? groups}) { + return CoreUser( + name: (name != null ? name.value : this.name), + firstname: (firstname != null ? firstname.value : this.firstname), + nickname: (nickname != null ? nickname.value : this.nickname), + id: (id != null ? id.value : this.id), + email: (email != null ? email.value : this.email), + birthday: (birthday != null ? birthday.value : this.birthday), + promo: (promo != null ? promo.value : this.promo), + floor: (floor != null ? floor.value : this.floor), + phone: (phone != null ? phone.value : this.phone), + createdOn: (createdOn != null ? createdOn.value : this.createdOn), + groups: (groups != null ? groups.value : this.groups)); + } +} + +@JsonSerializable(explicitToJson: true) +class CoreUserActivateRequest { + const CoreUserActivateRequest({ + required this.name, + required this.firstname, + this.nickname, + required this.activationToken, + required this.password, + this.birthday, + this.phone, + required this.floor, + this.promo, + }); + + factory CoreUserActivateRequest.fromJson(Map json) => + _$CoreUserActivateRequestFromJson(json); + + static const toJsonFactory = _$CoreUserActivateRequestToJson; + Map toJson() => _$CoreUserActivateRequestToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'firstname', defaultValue: '') + final String firstname; + @JsonKey(name: 'nickname', defaultValue: '') + final String? nickname; + @JsonKey(name: 'activation_token', defaultValue: '') + final String activationToken; + @JsonKey(name: 'password', defaultValue: '') + final String password; + @JsonKey(name: 'birthday', toJson: _dateToJson) + final DateTime? birthday; + @JsonKey(name: 'phone', defaultValue: '') + final String? phone; + @JsonKey( + name: 'floor', + toJson: floorsTypeToJson, + fromJson: floorsTypeFromJson, + ) + final enums.FloorsType floor; + @JsonKey(name: 'promo', defaultValue: 0) + final int? promo; + static const fromJsonFactory = _$CoreUserActivateRequestFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is CoreUserActivateRequest && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.firstname, firstname) || + const DeepCollectionEquality() + .equals(other.firstname, firstname)) && + (identical(other.nickname, nickname) || + const DeepCollectionEquality() + .equals(other.nickname, nickname)) && + (identical(other.activationToken, activationToken) || + const DeepCollectionEquality() + .equals(other.activationToken, activationToken)) && + (identical(other.password, password) || + const DeepCollectionEquality() + .equals(other.password, password)) && + (identical(other.birthday, birthday) || + const DeepCollectionEquality() + .equals(other.birthday, birthday)) && + (identical(other.phone, phone) || + const DeepCollectionEquality().equals(other.phone, phone)) && + (identical(other.floor, floor) || + const DeepCollectionEquality().equals(other.floor, floor)) && + (identical(other.promo, promo) || + const DeepCollectionEquality().equals(other.promo, promo))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(firstname) ^ + const DeepCollectionEquality().hash(nickname) ^ + const DeepCollectionEquality().hash(activationToken) ^ + const DeepCollectionEquality().hash(password) ^ + const DeepCollectionEquality().hash(birthday) ^ + const DeepCollectionEquality().hash(phone) ^ + const DeepCollectionEquality().hash(floor) ^ + const DeepCollectionEquality().hash(promo) ^ + runtimeType.hashCode; +} + +extension $CoreUserActivateRequestExtension on CoreUserActivateRequest { + CoreUserActivateRequest copyWith( + {String? name, + String? firstname, + String? nickname, + String? activationToken, + String? password, + DateTime? birthday, + String? phone, + enums.FloorsType? floor, + int? promo}) { + return CoreUserActivateRequest( + name: name ?? this.name, + firstname: firstname ?? this.firstname, + nickname: nickname ?? this.nickname, + activationToken: activationToken ?? this.activationToken, + password: password ?? this.password, + birthday: birthday ?? this.birthday, + phone: phone ?? this.phone, + floor: floor ?? this.floor, + promo: promo ?? this.promo); + } + + CoreUserActivateRequest copyWithWrapped( + {Wrapped? name, + Wrapped? firstname, + Wrapped? nickname, + Wrapped? activationToken, + Wrapped? password, + Wrapped? birthday, + Wrapped? phone, + Wrapped? floor, + Wrapped? promo}) { + return CoreUserActivateRequest( + name: (name != null ? name.value : this.name), + firstname: (firstname != null ? firstname.value : this.firstname), + nickname: (nickname != null ? nickname.value : this.nickname), + activationToken: (activationToken != null + ? activationToken.value + : this.activationToken), + password: (password != null ? password.value : this.password), + birthday: (birthday != null ? birthday.value : this.birthday), + phone: (phone != null ? phone.value : this.phone), + floor: (floor != null ? floor.value : this.floor), + promo: (promo != null ? promo.value : this.promo)); + } +} + +@JsonSerializable(explicitToJson: true) +class CoreUserCreateRequest { + const CoreUserCreateRequest({ + required this.email, + }); + + factory CoreUserCreateRequest.fromJson(Map json) => + _$CoreUserCreateRequestFromJson(json); + + static const toJsonFactory = _$CoreUserCreateRequestToJson; + Map toJson() => _$CoreUserCreateRequestToJson(this); + + @JsonKey(name: 'email', defaultValue: '') + final String email; + static const fromJsonFactory = _$CoreUserCreateRequestFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is CoreUserCreateRequest && + (identical(other.email, email) || + const DeepCollectionEquality().equals(other.email, email))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(email) ^ runtimeType.hashCode; +} + +extension $CoreUserCreateRequestExtension on CoreUserCreateRequest { + CoreUserCreateRequest copyWith({String? email}) { + return CoreUserCreateRequest(email: email ?? this.email); + } + + CoreUserCreateRequest copyWithWrapped({Wrapped? email}) { + return CoreUserCreateRequest( + email: (email != null ? email.value : this.email)); + } +} + +@JsonSerializable(explicitToJson: true) +class CoreUserSimple { + const CoreUserSimple({ + required this.name, + required this.firstname, + this.nickname, + required this.id, + }); + + factory CoreUserSimple.fromJson(Map json) => + _$CoreUserSimpleFromJson(json); + + static const toJsonFactory = _$CoreUserSimpleToJson; + Map toJson() => _$CoreUserSimpleToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'firstname', defaultValue: '') + final String firstname; + @JsonKey(name: 'nickname', defaultValue: '') + final String? nickname; + @JsonKey(name: 'id', defaultValue: '') + final String id; + static const fromJsonFactory = _$CoreUserSimpleFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is CoreUserSimple && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.firstname, firstname) || + const DeepCollectionEquality() + .equals(other.firstname, firstname)) && + (identical(other.nickname, nickname) || + const DeepCollectionEquality() + .equals(other.nickname, nickname)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(firstname) ^ + const DeepCollectionEquality().hash(nickname) ^ + const DeepCollectionEquality().hash(id) ^ + runtimeType.hashCode; +} + +extension $CoreUserSimpleExtension on CoreUserSimple { + CoreUserSimple copyWith( + {String? name, String? firstname, String? nickname, String? id}) { + return CoreUserSimple( + name: name ?? this.name, + firstname: firstname ?? this.firstname, + nickname: nickname ?? this.nickname, + id: id ?? this.id); + } + + CoreUserSimple copyWithWrapped( + {Wrapped? name, + Wrapped? firstname, + Wrapped? nickname, + Wrapped? id}) { + return CoreUserSimple( + name: (name != null ? name.value : this.name), + firstname: (firstname != null ? firstname.value : this.firstname), + nickname: (nickname != null ? nickname.value : this.nickname), + id: (id != null ? id.value : this.id)); + } +} + +@JsonSerializable(explicitToJson: true) +class CoreUserUpdate { + const CoreUserUpdate({ + this.nickname, + this.birthday, + this.phone, + this.floor, + }); + + factory CoreUserUpdate.fromJson(Map json) => + _$CoreUserUpdateFromJson(json); + + static const toJsonFactory = _$CoreUserUpdateToJson; + Map toJson() => _$CoreUserUpdateToJson(this); + + @JsonKey(name: 'nickname', defaultValue: '') + final String? nickname; + @JsonKey(name: 'birthday', toJson: _dateToJson) + final DateTime? birthday; + @JsonKey(name: 'phone', defaultValue: '') + final String? phone; + @JsonKey( + name: 'floor', + toJson: floorsTypeNullableToJson, + fromJson: floorsTypeNullableFromJson, + ) + final enums.FloorsType? floor; + static const fromJsonFactory = _$CoreUserUpdateFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is CoreUserUpdate && + (identical(other.nickname, nickname) || + const DeepCollectionEquality() + .equals(other.nickname, nickname)) && + (identical(other.birthday, birthday) || + const DeepCollectionEquality() + .equals(other.birthday, birthday)) && + (identical(other.phone, phone) || + const DeepCollectionEquality().equals(other.phone, phone)) && + (identical(other.floor, floor) || + const DeepCollectionEquality().equals(other.floor, floor))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(nickname) ^ + const DeepCollectionEquality().hash(birthday) ^ + const DeepCollectionEquality().hash(phone) ^ + const DeepCollectionEquality().hash(floor) ^ + runtimeType.hashCode; +} + +extension $CoreUserUpdateExtension on CoreUserUpdate { + CoreUserUpdate copyWith( + {String? nickname, + DateTime? birthday, + String? phone, + enums.FloorsType? floor}) { + return CoreUserUpdate( + nickname: nickname ?? this.nickname, + birthday: birthday ?? this.birthday, + phone: phone ?? this.phone, + floor: floor ?? this.floor); + } + + CoreUserUpdate copyWithWrapped( + {Wrapped? nickname, + Wrapped? birthday, + Wrapped? phone, + Wrapped? floor}) { + return CoreUserUpdate( + nickname: (nickname != null ? nickname.value : this.nickname), + birthday: (birthday != null ? birthday.value : this.birthday), + phone: (phone != null ? phone.value : this.phone), + floor: (floor != null ? floor.value : this.floor)); + } +} + +@JsonSerializable(explicitToJson: true) +class CoreUserUpdateAdmin { + const CoreUserUpdateAdmin({ + this.name, + this.firstname, + this.promo, + this.nickname, + this.birthday, + this.phone, + this.floor, + }); + + factory CoreUserUpdateAdmin.fromJson(Map json) => + _$CoreUserUpdateAdminFromJson(json); + + static const toJsonFactory = _$CoreUserUpdateAdminToJson; + Map toJson() => _$CoreUserUpdateAdminToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String? name; + @JsonKey(name: 'firstname', defaultValue: '') + final String? firstname; + @JsonKey(name: 'promo', defaultValue: 0) + final int? promo; + @JsonKey(name: 'nickname', defaultValue: '') + final String? nickname; + @JsonKey(name: 'birthday', toJson: _dateToJson) + final DateTime? birthday; + @JsonKey(name: 'phone', defaultValue: '') + final String? phone; + @JsonKey( + name: 'floor', + toJson: floorsTypeNullableToJson, + fromJson: floorsTypeNullableFromJson, + ) + final enums.FloorsType? floor; + static const fromJsonFactory = _$CoreUserUpdateAdminFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is CoreUserUpdateAdmin && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.firstname, firstname) || + const DeepCollectionEquality() + .equals(other.firstname, firstname)) && + (identical(other.promo, promo) || + const DeepCollectionEquality().equals(other.promo, promo)) && + (identical(other.nickname, nickname) || + const DeepCollectionEquality() + .equals(other.nickname, nickname)) && + (identical(other.birthday, birthday) || + const DeepCollectionEquality() + .equals(other.birthday, birthday)) && + (identical(other.phone, phone) || + const DeepCollectionEquality().equals(other.phone, phone)) && + (identical(other.floor, floor) || + const DeepCollectionEquality().equals(other.floor, floor))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(firstname) ^ + const DeepCollectionEquality().hash(promo) ^ + const DeepCollectionEquality().hash(nickname) ^ + const DeepCollectionEquality().hash(birthday) ^ + const DeepCollectionEquality().hash(phone) ^ + const DeepCollectionEquality().hash(floor) ^ + runtimeType.hashCode; +} + +extension $CoreUserUpdateAdminExtension on CoreUserUpdateAdmin { + CoreUserUpdateAdmin copyWith( + {String? name, + String? firstname, + int? promo, + String? nickname, + DateTime? birthday, + String? phone, + enums.FloorsType? floor}) { + return CoreUserUpdateAdmin( + name: name ?? this.name, + firstname: firstname ?? this.firstname, + promo: promo ?? this.promo, + nickname: nickname ?? this.nickname, + birthday: birthday ?? this.birthday, + phone: phone ?? this.phone, + floor: floor ?? this.floor); + } + + CoreUserUpdateAdmin copyWithWrapped( + {Wrapped? name, + Wrapped? firstname, + Wrapped? promo, + Wrapped? nickname, + Wrapped? birthday, + Wrapped? phone, + Wrapped? floor}) { + return CoreUserUpdateAdmin( + name: (name != null ? name.value : this.name), + firstname: (firstname != null ? firstname.value : this.firstname), + promo: (promo != null ? promo.value : this.promo), + nickname: (nickname != null ? nickname.value : this.nickname), + birthday: (birthday != null ? birthday.value : this.birthday), + phone: (phone != null ? phone.value : this.phone), + floor: (floor != null ? floor.value : this.floor)); + } +} + +@JsonSerializable(explicitToJson: true) +class DeliveryBase { + const DeliveryBase({ + required this.deliveryDate, + this.productsIds, + }); + + factory DeliveryBase.fromJson(Map json) => + _$DeliveryBaseFromJson(json); + + static const toJsonFactory = _$DeliveryBaseToJson; + Map toJson() => _$DeliveryBaseToJson(this); + + @JsonKey(name: 'delivery_date', toJson: _dateToJson) + final DateTime deliveryDate; + @JsonKey(name: 'products_ids', defaultValue: []) + final List? productsIds; + static const fromJsonFactory = _$DeliveryBaseFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is DeliveryBase && + (identical(other.deliveryDate, deliveryDate) || + const DeepCollectionEquality() + .equals(other.deliveryDate, deliveryDate)) && + (identical(other.productsIds, productsIds) || + const DeepCollectionEquality() + .equals(other.productsIds, productsIds))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(deliveryDate) ^ + const DeepCollectionEquality().hash(productsIds) ^ + runtimeType.hashCode; +} + +extension $DeliveryBaseExtension on DeliveryBase { + DeliveryBase copyWith({DateTime? deliveryDate, List? productsIds}) { + return DeliveryBase( + deliveryDate: deliveryDate ?? this.deliveryDate, + productsIds: productsIds ?? this.productsIds); + } + + DeliveryBase copyWithWrapped( + {Wrapped? deliveryDate, Wrapped?>? productsIds}) { + return DeliveryBase( + deliveryDate: + (deliveryDate != null ? deliveryDate.value : this.deliveryDate), + productsIds: + (productsIds != null ? productsIds.value : this.productsIds)); + } +} + +@JsonSerializable(explicitToJson: true) +class DeliveryProductsUpdate { + const DeliveryProductsUpdate({ + required this.productsIds, + }); + + factory DeliveryProductsUpdate.fromJson(Map json) => + _$DeliveryProductsUpdateFromJson(json); + + static const toJsonFactory = _$DeliveryProductsUpdateToJson; + Map toJson() => _$DeliveryProductsUpdateToJson(this); + + @JsonKey(name: 'products_ids', defaultValue: []) + final List productsIds; + static const fromJsonFactory = _$DeliveryProductsUpdateFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is DeliveryProductsUpdate && + (identical(other.productsIds, productsIds) || + const DeepCollectionEquality() + .equals(other.productsIds, productsIds))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(productsIds) ^ runtimeType.hashCode; +} + +extension $DeliveryProductsUpdateExtension on DeliveryProductsUpdate { + DeliveryProductsUpdate copyWith({List? productsIds}) { + return DeliveryProductsUpdate(productsIds: productsIds ?? this.productsIds); + } + + DeliveryProductsUpdate copyWithWrapped({Wrapped>? productsIds}) { + return DeliveryProductsUpdate( + productsIds: + (productsIds != null ? productsIds.value : this.productsIds)); + } +} + +@JsonSerializable(explicitToJson: true) +class DeliveryReturn { + const DeliveryReturn({ + required this.deliveryDate, + this.products, + required this.id, + required this.status, + }); + + factory DeliveryReturn.fromJson(Map json) => + _$DeliveryReturnFromJson(json); + + static const toJsonFactory = _$DeliveryReturnToJson; + Map toJson() => _$DeliveryReturnToJson(this); + + @JsonKey(name: 'delivery_date', toJson: _dateToJson) + final DateTime deliveryDate; + @JsonKey(name: 'products', defaultValue: []) + final List? products; + @JsonKey(name: 'id', defaultValue: '') + final String id; + @JsonKey( + name: 'status', + toJson: deliveryStatusTypeToJson, + fromJson: deliveryStatusTypeFromJson, + ) + final enums.DeliveryStatusType status; + static const fromJsonFactory = _$DeliveryReturnFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is DeliveryReturn && + (identical(other.deliveryDate, deliveryDate) || + const DeepCollectionEquality() + .equals(other.deliveryDate, deliveryDate)) && + (identical(other.products, products) || + const DeepCollectionEquality() + .equals(other.products, products)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id)) && + (identical(other.status, status) || + const DeepCollectionEquality().equals(other.status, status))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(deliveryDate) ^ + const DeepCollectionEquality().hash(products) ^ + const DeepCollectionEquality().hash(id) ^ + const DeepCollectionEquality().hash(status) ^ + runtimeType.hashCode; +} + +extension $DeliveryReturnExtension on DeliveryReturn { + DeliveryReturn copyWith( + {DateTime? deliveryDate, + List? products, + String? id, + enums.DeliveryStatusType? status}) { + return DeliveryReturn( + deliveryDate: deliveryDate ?? this.deliveryDate, + products: products ?? this.products, + id: id ?? this.id, + status: status ?? this.status); + } + + DeliveryReturn copyWithWrapped( + {Wrapped? deliveryDate, + Wrapped?>? products, + Wrapped? id, + Wrapped? status}) { + return DeliveryReturn( + deliveryDate: + (deliveryDate != null ? deliveryDate.value : this.deliveryDate), + products: (products != null ? products.value : this.products), + id: (id != null ? id.value : this.id), + status: (status != null ? status.value : this.status)); + } +} + +@JsonSerializable(explicitToJson: true) +class DeliveryUpdate { + const DeliveryUpdate({ + this.deliveryDate, + }); + + factory DeliveryUpdate.fromJson(Map json) => + _$DeliveryUpdateFromJson(json); + + static const toJsonFactory = _$DeliveryUpdateToJson; + Map toJson() => _$DeliveryUpdateToJson(this); + + @JsonKey(name: 'delivery_date', toJson: _dateToJson) + final DateTime? deliveryDate; + static const fromJsonFactory = _$DeliveryUpdateFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is DeliveryUpdate && + (identical(other.deliveryDate, deliveryDate) || + const DeepCollectionEquality() + .equals(other.deliveryDate, deliveryDate))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(deliveryDate) ^ runtimeType.hashCode; +} + +extension $DeliveryUpdateExtension on DeliveryUpdate { + DeliveryUpdate copyWith({DateTime? deliveryDate}) { + return DeliveryUpdate(deliveryDate: deliveryDate ?? this.deliveryDate); + } + + DeliveryUpdate copyWithWrapped({Wrapped? deliveryDate}) { + return DeliveryUpdate( + deliveryDate: + (deliveryDate != null ? deliveryDate.value : this.deliveryDate)); + } +} + +@JsonSerializable(explicitToJson: true) +class EventApplicant { + const EventApplicant({ + required this.name, + required this.firstname, + this.nickname, + required this.id, + required this.email, + this.promo, + this.phone, + }); + + factory EventApplicant.fromJson(Map json) => + _$EventApplicantFromJson(json); + + static const toJsonFactory = _$EventApplicantToJson; + Map toJson() => _$EventApplicantToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'firstname', defaultValue: '') + final String firstname; + @JsonKey(name: 'nickname', defaultValue: '') + final String? nickname; + @JsonKey(name: 'id', defaultValue: '') + final String id; + @JsonKey(name: 'email', defaultValue: '') + final String email; + @JsonKey(name: 'promo', defaultValue: 0) + final int? promo; + @JsonKey(name: 'phone', defaultValue: '') + final String? phone; + static const fromJsonFactory = _$EventApplicantFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is EventApplicant && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.firstname, firstname) || + const DeepCollectionEquality() + .equals(other.firstname, firstname)) && + (identical(other.nickname, nickname) || + const DeepCollectionEquality() + .equals(other.nickname, nickname)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id)) && + (identical(other.email, email) || + const DeepCollectionEquality().equals(other.email, email)) && + (identical(other.promo, promo) || + const DeepCollectionEquality().equals(other.promo, promo)) && + (identical(other.phone, phone) || + const DeepCollectionEquality().equals(other.phone, phone))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(firstname) ^ + const DeepCollectionEquality().hash(nickname) ^ + const DeepCollectionEquality().hash(id) ^ + const DeepCollectionEquality().hash(email) ^ + const DeepCollectionEquality().hash(promo) ^ + const DeepCollectionEquality().hash(phone) ^ + runtimeType.hashCode; +} + +extension $EventApplicantExtension on EventApplicant { + EventApplicant copyWith( + {String? name, + String? firstname, + String? nickname, + String? id, + String? email, + int? promo, + String? phone}) { + return EventApplicant( + name: name ?? this.name, + firstname: firstname ?? this.firstname, + nickname: nickname ?? this.nickname, + id: id ?? this.id, + email: email ?? this.email, + promo: promo ?? this.promo, + phone: phone ?? this.phone); + } + + EventApplicant copyWithWrapped( + {Wrapped? name, + Wrapped? firstname, + Wrapped? nickname, + Wrapped? id, + Wrapped? email, + Wrapped? promo, + Wrapped? phone}) { + return EventApplicant( + name: (name != null ? name.value : this.name), + firstname: (firstname != null ? firstname.value : this.firstname), + nickname: (nickname != null ? nickname.value : this.nickname), + id: (id != null ? id.value : this.id), + email: (email != null ? email.value : this.email), + promo: (promo != null ? promo.value : this.promo), + phone: (phone != null ? phone.value : this.phone)); + } +} + +@JsonSerializable(explicitToJson: true) +class EventBase { + const EventBase({ + required this.name, + required this.organizer, + required this.start, + required this.end, + required this.allDay, + required this.location, + required this.type, + required this.description, + this.recurrenceRule, + }); + + factory EventBase.fromJson(Map json) => + _$EventBaseFromJson(json); + + static const toJsonFactory = _$EventBaseToJson; + Map toJson() => _$EventBaseToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'organizer', defaultValue: '') + final String organizer; + @JsonKey(name: 'start') + final DateTime start; + @JsonKey(name: 'end') + final DateTime end; + @JsonKey(name: 'all_day', defaultValue: false) + final bool allDay; + @JsonKey(name: 'location', defaultValue: '') + final String location; + @JsonKey( + name: 'type', + toJson: calendarEventTypeToJson, + fromJson: calendarEventTypeFromJson, + ) + final enums.CalendarEventType type; + @JsonKey(name: 'description', defaultValue: '') + final String description; + @JsonKey(name: 'recurrence_rule', defaultValue: '') + final String? recurrenceRule; + static const fromJsonFactory = _$EventBaseFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is EventBase && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.organizer, organizer) || + const DeepCollectionEquality() + .equals(other.organizer, organizer)) && + (identical(other.start, start) || + const DeepCollectionEquality().equals(other.start, start)) && + (identical(other.end, end) || + const DeepCollectionEquality().equals(other.end, end)) && + (identical(other.allDay, allDay) || + const DeepCollectionEquality().equals(other.allDay, allDay)) && + (identical(other.location, location) || + const DeepCollectionEquality() + .equals(other.location, location)) && + (identical(other.type, type) || + const DeepCollectionEquality().equals(other.type, type)) && + (identical(other.description, description) || + const DeepCollectionEquality() + .equals(other.description, description)) && + (identical(other.recurrenceRule, recurrenceRule) || + const DeepCollectionEquality() + .equals(other.recurrenceRule, recurrenceRule))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(organizer) ^ + const DeepCollectionEquality().hash(start) ^ + const DeepCollectionEquality().hash(end) ^ + const DeepCollectionEquality().hash(allDay) ^ + const DeepCollectionEquality().hash(location) ^ + const DeepCollectionEquality().hash(type) ^ + const DeepCollectionEquality().hash(description) ^ + const DeepCollectionEquality().hash(recurrenceRule) ^ + runtimeType.hashCode; +} + +extension $EventBaseExtension on EventBase { + EventBase copyWith( + {String? name, + String? organizer, + DateTime? start, + DateTime? end, + bool? allDay, + String? location, + enums.CalendarEventType? type, + String? description, + String? recurrenceRule}) { + return EventBase( + name: name ?? this.name, + organizer: organizer ?? this.organizer, + start: start ?? this.start, + end: end ?? this.end, + allDay: allDay ?? this.allDay, + location: location ?? this.location, + type: type ?? this.type, + description: description ?? this.description, + recurrenceRule: recurrenceRule ?? this.recurrenceRule); + } + + EventBase copyWithWrapped( + {Wrapped? name, + Wrapped? organizer, + Wrapped? start, + Wrapped? end, + Wrapped? allDay, + Wrapped? location, + Wrapped? type, + Wrapped? description, + Wrapped? recurrenceRule}) { + return EventBase( + name: (name != null ? name.value : this.name), + organizer: (organizer != null ? organizer.value : this.organizer), + start: (start != null ? start.value : this.start), + end: (end != null ? end.value : this.end), + allDay: (allDay != null ? allDay.value : this.allDay), + location: (location != null ? location.value : this.location), + type: (type != null ? type.value : this.type), + description: + (description != null ? description.value : this.description), + recurrenceRule: (recurrenceRule != null + ? recurrenceRule.value + : this.recurrenceRule)); + } +} + +@JsonSerializable(explicitToJson: true) +class EventComplete { + const EventComplete({ + required this.name, + required this.organizer, + required this.start, + required this.end, + required this.allDay, + required this.location, + required this.type, + required this.description, + this.recurrenceRule, + required this.id, + required this.decision, + required this.applicantId, + }); + + factory EventComplete.fromJson(Map json) => + _$EventCompleteFromJson(json); + + static const toJsonFactory = _$EventCompleteToJson; + Map toJson() => _$EventCompleteToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'organizer', defaultValue: '') + final String organizer; + @JsonKey(name: 'start') + final DateTime start; + @JsonKey(name: 'end') + final DateTime end; + @JsonKey(name: 'all_day', defaultValue: false) + final bool allDay; + @JsonKey(name: 'location', defaultValue: '') + final String location; + @JsonKey( + name: 'type', + toJson: calendarEventTypeToJson, + fromJson: calendarEventTypeFromJson, + ) + final enums.CalendarEventType type; + @JsonKey(name: 'description', defaultValue: '') + final String description; + @JsonKey(name: 'recurrence_rule', defaultValue: '') + final String? recurrenceRule; + @JsonKey(name: 'id', defaultValue: '') + final String id; + @JsonKey( + name: 'decision', + toJson: appUtilsTypesCalendarTypesDecisionToJson, + fromJson: appUtilsTypesCalendarTypesDecisionFromJson, + ) + final enums.AppUtilsTypesCalendarTypesDecision decision; + @JsonKey(name: 'applicant_id', defaultValue: '') + final String applicantId; + static const fromJsonFactory = _$EventCompleteFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is EventComplete && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.organizer, organizer) || + const DeepCollectionEquality() + .equals(other.organizer, organizer)) && + (identical(other.start, start) || + const DeepCollectionEquality().equals(other.start, start)) && + (identical(other.end, end) || + const DeepCollectionEquality().equals(other.end, end)) && + (identical(other.allDay, allDay) || + const DeepCollectionEquality().equals(other.allDay, allDay)) && + (identical(other.location, location) || + const DeepCollectionEquality() + .equals(other.location, location)) && + (identical(other.type, type) || + const DeepCollectionEquality().equals(other.type, type)) && + (identical(other.description, description) || + const DeepCollectionEquality() + .equals(other.description, description)) && + (identical(other.recurrenceRule, recurrenceRule) || + const DeepCollectionEquality() + .equals(other.recurrenceRule, recurrenceRule)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id)) && + (identical(other.decision, decision) || + const DeepCollectionEquality() + .equals(other.decision, decision)) && + (identical(other.applicantId, applicantId) || + const DeepCollectionEquality() + .equals(other.applicantId, applicantId))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(organizer) ^ + const DeepCollectionEquality().hash(start) ^ + const DeepCollectionEquality().hash(end) ^ + const DeepCollectionEquality().hash(allDay) ^ + const DeepCollectionEquality().hash(location) ^ + const DeepCollectionEquality().hash(type) ^ + const DeepCollectionEquality().hash(description) ^ + const DeepCollectionEquality().hash(recurrenceRule) ^ + const DeepCollectionEquality().hash(id) ^ + const DeepCollectionEquality().hash(decision) ^ + const DeepCollectionEquality().hash(applicantId) ^ + runtimeType.hashCode; +} + +extension $EventCompleteExtension on EventComplete { + EventComplete copyWith( + {String? name, + String? organizer, + DateTime? start, + DateTime? end, + bool? allDay, + String? location, + enums.CalendarEventType? type, + String? description, + String? recurrenceRule, + String? id, + enums.AppUtilsTypesCalendarTypesDecision? decision, + String? applicantId}) { + return EventComplete( + name: name ?? this.name, + organizer: organizer ?? this.organizer, + start: start ?? this.start, + end: end ?? this.end, + allDay: allDay ?? this.allDay, + location: location ?? this.location, + type: type ?? this.type, + description: description ?? this.description, + recurrenceRule: recurrenceRule ?? this.recurrenceRule, + id: id ?? this.id, + decision: decision ?? this.decision, + applicantId: applicantId ?? this.applicantId); + } + + EventComplete copyWithWrapped( + {Wrapped? name, + Wrapped? organizer, + Wrapped? start, + Wrapped? end, + Wrapped? allDay, + Wrapped? location, + Wrapped? type, + Wrapped? description, + Wrapped? recurrenceRule, + Wrapped? id, + Wrapped? decision, + Wrapped? applicantId}) { + return EventComplete( + name: (name != null ? name.value : this.name), + organizer: (organizer != null ? organizer.value : this.organizer), + start: (start != null ? start.value : this.start), + end: (end != null ? end.value : this.end), + allDay: (allDay != null ? allDay.value : this.allDay), + location: (location != null ? location.value : this.location), + type: (type != null ? type.value : this.type), + description: + (description != null ? description.value : this.description), + recurrenceRule: (recurrenceRule != null + ? recurrenceRule.value + : this.recurrenceRule), + id: (id != null ? id.value : this.id), + decision: (decision != null ? decision.value : this.decision), + applicantId: + (applicantId != null ? applicantId.value : this.applicantId)); + } +} + +@JsonSerializable(explicitToJson: true) +class EventEdit { + const EventEdit({ + this.name, + this.organizer, + this.start, + this.end, + this.allDay, + this.location, + this.type, + this.description, + this.recurrenceRule, + }); + + factory EventEdit.fromJson(Map json) => + _$EventEditFromJson(json); + + static const toJsonFactory = _$EventEditToJson; + Map toJson() => _$EventEditToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String? name; + @JsonKey(name: 'organizer', defaultValue: '') + final String? organizer; + @JsonKey(name: 'start') + final DateTime? start; + @JsonKey(name: 'end') + final DateTime? end; + @JsonKey(name: 'all_day', defaultValue: false) + final bool? allDay; + @JsonKey(name: 'location', defaultValue: '') + final String? location; + @JsonKey( + name: 'type', + toJson: calendarEventTypeNullableToJson, + fromJson: calendarEventTypeNullableFromJson, + ) + final enums.CalendarEventType? type; + @JsonKey(name: 'description', defaultValue: '') + final String? description; + @JsonKey(name: 'recurrence_rule', defaultValue: '') + final String? recurrenceRule; + static const fromJsonFactory = _$EventEditFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is EventEdit && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.organizer, organizer) || + const DeepCollectionEquality() + .equals(other.organizer, organizer)) && + (identical(other.start, start) || + const DeepCollectionEquality().equals(other.start, start)) && + (identical(other.end, end) || + const DeepCollectionEquality().equals(other.end, end)) && + (identical(other.allDay, allDay) || + const DeepCollectionEquality().equals(other.allDay, allDay)) && + (identical(other.location, location) || + const DeepCollectionEquality() + .equals(other.location, location)) && + (identical(other.type, type) || + const DeepCollectionEquality().equals(other.type, type)) && + (identical(other.description, description) || + const DeepCollectionEquality() + .equals(other.description, description)) && + (identical(other.recurrenceRule, recurrenceRule) || + const DeepCollectionEquality() + .equals(other.recurrenceRule, recurrenceRule))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(organizer) ^ + const DeepCollectionEquality().hash(start) ^ + const DeepCollectionEquality().hash(end) ^ + const DeepCollectionEquality().hash(allDay) ^ + const DeepCollectionEquality().hash(location) ^ + const DeepCollectionEquality().hash(type) ^ + const DeepCollectionEquality().hash(description) ^ + const DeepCollectionEquality().hash(recurrenceRule) ^ + runtimeType.hashCode; +} + +extension $EventEditExtension on EventEdit { + EventEdit copyWith( + {String? name, + String? organizer, + DateTime? start, + DateTime? end, + bool? allDay, + String? location, + enums.CalendarEventType? type, + String? description, + String? recurrenceRule}) { + return EventEdit( + name: name ?? this.name, + organizer: organizer ?? this.organizer, + start: start ?? this.start, + end: end ?? this.end, + allDay: allDay ?? this.allDay, + location: location ?? this.location, + type: type ?? this.type, + description: description ?? this.description, + recurrenceRule: recurrenceRule ?? this.recurrenceRule); + } + + EventEdit copyWithWrapped( + {Wrapped? name, + Wrapped? organizer, + Wrapped? start, + Wrapped? end, + Wrapped? allDay, + Wrapped? location, + Wrapped? type, + Wrapped? description, + Wrapped? recurrenceRule}) { + return EventEdit( + name: (name != null ? name.value : this.name), + organizer: (organizer != null ? organizer.value : this.organizer), + start: (start != null ? start.value : this.start), + end: (end != null ? end.value : this.end), + allDay: (allDay != null ? allDay.value : this.allDay), + location: (location != null ? location.value : this.location), + type: (type != null ? type.value : this.type), + description: + (description != null ? description.value : this.description), + recurrenceRule: (recurrenceRule != null + ? recurrenceRule.value + : this.recurrenceRule)); + } +} + +@JsonSerializable(explicitToJson: true) +class EventReturn { + const EventReturn({ + required this.name, + required this.organizer, + required this.start, + required this.end, + required this.allDay, + required this.location, + required this.type, + required this.description, + this.recurrenceRule, + required this.id, + required this.decision, + required this.applicantId, + required this.applicant, + }); + + factory EventReturn.fromJson(Map json) => + _$EventReturnFromJson(json); + + static const toJsonFactory = _$EventReturnToJson; + Map toJson() => _$EventReturnToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'organizer', defaultValue: '') + final String organizer; + @JsonKey(name: 'start') + final DateTime start; + @JsonKey(name: 'end') + final DateTime end; + @JsonKey(name: 'all_day', defaultValue: false) + final bool allDay; + @JsonKey(name: 'location', defaultValue: '') + final String location; + @JsonKey( + name: 'type', + toJson: calendarEventTypeToJson, + fromJson: calendarEventTypeFromJson, + ) + final enums.CalendarEventType type; + @JsonKey(name: 'description', defaultValue: '') + final String description; + @JsonKey(name: 'recurrence_rule', defaultValue: '') + final String? recurrenceRule; + @JsonKey(name: 'id', defaultValue: '') + final String id; + @JsonKey( + name: 'decision', + toJson: appUtilsTypesCalendarTypesDecisionToJson, + fromJson: appUtilsTypesCalendarTypesDecisionFromJson, + ) + final enums.AppUtilsTypesCalendarTypesDecision decision; + @JsonKey(name: 'applicant_id', defaultValue: '') + final String applicantId; + @JsonKey(name: 'applicant') + final EventApplicant applicant; + static const fromJsonFactory = _$EventReturnFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is EventReturn && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.organizer, organizer) || + const DeepCollectionEquality() + .equals(other.organizer, organizer)) && + (identical(other.start, start) || + const DeepCollectionEquality().equals(other.start, start)) && + (identical(other.end, end) || + const DeepCollectionEquality().equals(other.end, end)) && + (identical(other.allDay, allDay) || + const DeepCollectionEquality().equals(other.allDay, allDay)) && + (identical(other.location, location) || + const DeepCollectionEquality() + .equals(other.location, location)) && + (identical(other.type, type) || + const DeepCollectionEquality().equals(other.type, type)) && + (identical(other.description, description) || + const DeepCollectionEquality() + .equals(other.description, description)) && + (identical(other.recurrenceRule, recurrenceRule) || + const DeepCollectionEquality() + .equals(other.recurrenceRule, recurrenceRule)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id)) && + (identical(other.decision, decision) || + const DeepCollectionEquality() + .equals(other.decision, decision)) && + (identical(other.applicantId, applicantId) || + const DeepCollectionEquality() + .equals(other.applicantId, applicantId)) && + (identical(other.applicant, applicant) || + const DeepCollectionEquality() + .equals(other.applicant, applicant))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(organizer) ^ + const DeepCollectionEquality().hash(start) ^ + const DeepCollectionEquality().hash(end) ^ + const DeepCollectionEquality().hash(allDay) ^ + const DeepCollectionEquality().hash(location) ^ + const DeepCollectionEquality().hash(type) ^ + const DeepCollectionEquality().hash(description) ^ + const DeepCollectionEquality().hash(recurrenceRule) ^ + const DeepCollectionEquality().hash(id) ^ + const DeepCollectionEquality().hash(decision) ^ + const DeepCollectionEquality().hash(applicantId) ^ + const DeepCollectionEquality().hash(applicant) ^ + runtimeType.hashCode; +} + +extension $EventReturnExtension on EventReturn { + EventReturn copyWith( + {String? name, + String? organizer, + DateTime? start, + DateTime? end, + bool? allDay, + String? location, + enums.CalendarEventType? type, + String? description, + String? recurrenceRule, + String? id, + enums.AppUtilsTypesCalendarTypesDecision? decision, + String? applicantId, + EventApplicant? applicant}) { + return EventReturn( + name: name ?? this.name, + organizer: organizer ?? this.organizer, + start: start ?? this.start, + end: end ?? this.end, + allDay: allDay ?? this.allDay, + location: location ?? this.location, + type: type ?? this.type, + description: description ?? this.description, + recurrenceRule: recurrenceRule ?? this.recurrenceRule, + id: id ?? this.id, + decision: decision ?? this.decision, + applicantId: applicantId ?? this.applicantId, + applicant: applicant ?? this.applicant); + } + + EventReturn copyWithWrapped( + {Wrapped? name, + Wrapped? organizer, + Wrapped? start, + Wrapped? end, + Wrapped? allDay, + Wrapped? location, + Wrapped? type, + Wrapped? description, + Wrapped? recurrenceRule, + Wrapped? id, + Wrapped? decision, + Wrapped? applicantId, + Wrapped? applicant}) { + return EventReturn( + name: (name != null ? name.value : this.name), + organizer: (organizer != null ? organizer.value : this.organizer), + start: (start != null ? start.value : this.start), + end: (end != null ? end.value : this.end), + allDay: (allDay != null ? allDay.value : this.allDay), + location: (location != null ? location.value : this.location), + type: (type != null ? type.value : this.type), + description: + (description != null ? description.value : this.description), + recurrenceRule: (recurrenceRule != null + ? recurrenceRule.value + : this.recurrenceRule), + id: (id != null ? id.value : this.id), + decision: (decision != null ? decision.value : this.decision), + applicantId: + (applicantId != null ? applicantId.value : this.applicantId), + applicant: (applicant != null ? applicant.value : this.applicant)); + } +} + +@JsonSerializable(explicitToJson: true) +class FirebaseDevice { + const FirebaseDevice({ + required this.userId, + this.firebaseDeviceToken, + }); + + factory FirebaseDevice.fromJson(Map json) => + _$FirebaseDeviceFromJson(json); + + static const toJsonFactory = _$FirebaseDeviceToJson; + Map toJson() => _$FirebaseDeviceToJson(this); + + @JsonKey(name: 'user_id', defaultValue: '') + final String userId; + @JsonKey(name: 'firebase_device_token', defaultValue: '') + final String? firebaseDeviceToken; + static const fromJsonFactory = _$FirebaseDeviceFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is FirebaseDevice && + (identical(other.userId, userId) || + const DeepCollectionEquality().equals(other.userId, userId)) && + (identical(other.firebaseDeviceToken, firebaseDeviceToken) || + const DeepCollectionEquality() + .equals(other.firebaseDeviceToken, firebaseDeviceToken))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(userId) ^ + const DeepCollectionEquality().hash(firebaseDeviceToken) ^ + runtimeType.hashCode; +} + +extension $FirebaseDeviceExtension on FirebaseDevice { + FirebaseDevice copyWith({String? userId, String? firebaseDeviceToken}) { + return FirebaseDevice( + userId: userId ?? this.userId, + firebaseDeviceToken: firebaseDeviceToken ?? this.firebaseDeviceToken); + } + + FirebaseDevice copyWithWrapped( + {Wrapped? userId, Wrapped? firebaseDeviceToken}) { + return FirebaseDevice( + userId: (userId != null ? userId.value : this.userId), + firebaseDeviceToken: (firebaseDeviceToken != null + ? firebaseDeviceToken.value + : this.firebaseDeviceToken)); + } +} + +@JsonSerializable(explicitToJson: true) +class HTTPValidationError { + const HTTPValidationError({ + this.detail, + }); + + factory HTTPValidationError.fromJson(Map json) => + _$HTTPValidationErrorFromJson(json); + + static const toJsonFactory = _$HTTPValidationErrorToJson; + Map toJson() => _$HTTPValidationErrorToJson(this); + + @JsonKey(name: 'detail', defaultValue: []) + final List? detail; + static const fromJsonFactory = _$HTTPValidationErrorFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is HTTPValidationError && + (identical(other.detail, detail) || + const DeepCollectionEquality().equals(other.detail, detail))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(detail) ^ runtimeType.hashCode; +} + +extension $HTTPValidationErrorExtension on HTTPValidationError { + HTTPValidationError copyWith({List? detail}) { + return HTTPValidationError(detail: detail ?? this.detail); + } + + HTTPValidationError copyWithWrapped( + {Wrapped?>? detail}) { + return HTTPValidationError( + detail: (detail != null ? detail.value : this.detail)); + } +} + +@JsonSerializable(explicitToJson: true) +class Information { + const Information({ + required this.manager, + required this.link, + required this.description, + }); + + factory Information.fromJson(Map json) => + _$InformationFromJson(json); + + static const toJsonFactory = _$InformationToJson; + Map toJson() => _$InformationToJson(this); + + @JsonKey(name: 'manager', defaultValue: '') + final String manager; + @JsonKey(name: 'link', defaultValue: '') + final String link; + @JsonKey(name: 'description', defaultValue: '') + final String description; + static const fromJsonFactory = _$InformationFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is Information && + (identical(other.manager, manager) || + const DeepCollectionEquality() + .equals(other.manager, manager)) && + (identical(other.link, link) || + const DeepCollectionEquality().equals(other.link, link)) && + (identical(other.description, description) || + const DeepCollectionEquality() + .equals(other.description, description))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(manager) ^ + const DeepCollectionEquality().hash(link) ^ + const DeepCollectionEquality().hash(description) ^ + runtimeType.hashCode; +} + +extension $InformationExtension on Information { + Information copyWith({String? manager, String? link, String? description}) { + return Information( + manager: manager ?? this.manager, + link: link ?? this.link, + description: description ?? this.description); + } + + Information copyWithWrapped( + {Wrapped? manager, + Wrapped? link, + Wrapped? description}) { + return Information( + manager: (manager != null ? manager.value : this.manager), + link: (link != null ? link.value : this.link), + description: + (description != null ? description.value : this.description)); + } +} + +@JsonSerializable(explicitToJson: true) +class InformationEdit { + const InformationEdit({ + this.manager, + this.link, + this.description, + }); + + factory InformationEdit.fromJson(Map json) => + _$InformationEditFromJson(json); + + static const toJsonFactory = _$InformationEditToJson; + Map toJson() => _$InformationEditToJson(this); + + @JsonKey(name: 'manager', defaultValue: '') + final String? manager; + @JsonKey(name: 'link', defaultValue: '') + final String? link; + @JsonKey(name: 'description', defaultValue: '') + final String? description; + static const fromJsonFactory = _$InformationEditFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is InformationEdit && + (identical(other.manager, manager) || + const DeepCollectionEquality() + .equals(other.manager, manager)) && + (identical(other.link, link) || + const DeepCollectionEquality().equals(other.link, link)) && + (identical(other.description, description) || + const DeepCollectionEquality() + .equals(other.description, description))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(manager) ^ + const DeepCollectionEquality().hash(link) ^ + const DeepCollectionEquality().hash(description) ^ + runtimeType.hashCode; +} + +extension $InformationEditExtension on InformationEdit { + InformationEdit copyWith( + {String? manager, String? link, String? description}) { + return InformationEdit( + manager: manager ?? this.manager, + link: link ?? this.link, + description: description ?? this.description); + } + + InformationEdit copyWithWrapped( + {Wrapped? manager, + Wrapped? link, + Wrapped? description}) { + return InformationEdit( + manager: (manager != null ? manager.value : this.manager), + link: (link != null ? link.value : this.link), + description: + (description != null ? description.value : this.description)); + } +} + +@JsonSerializable(explicitToJson: true) +class Item { + const Item({ + required this.name, + required this.suggestedCaution, + required this.totalQuantity, + required this.suggestedLendingDuration, + required this.id, + required this.loanerId, + required this.loanedQuantity, + }); + + factory Item.fromJson(Map json) => _$ItemFromJson(json); + + static const toJsonFactory = _$ItemToJson; + Map toJson() => _$ItemToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'suggested_caution', defaultValue: 0) + final int suggestedCaution; + @JsonKey(name: 'total_quantity', defaultValue: 0) + final int totalQuantity; + @JsonKey(name: 'suggested_lending_duration', defaultValue: 0.0) + final double suggestedLendingDuration; + @JsonKey(name: 'id', defaultValue: '') + final String id; + @JsonKey(name: 'loaner_id', defaultValue: '') + final String loanerId; + @JsonKey(name: 'loaned_quantity', defaultValue: 0) + final int loanedQuantity; + static const fromJsonFactory = _$ItemFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is Item && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.suggestedCaution, suggestedCaution) || + const DeepCollectionEquality() + .equals(other.suggestedCaution, suggestedCaution)) && + (identical(other.totalQuantity, totalQuantity) || + const DeepCollectionEquality() + .equals(other.totalQuantity, totalQuantity)) && + (identical( + other.suggestedLendingDuration, suggestedLendingDuration) || + const DeepCollectionEquality().equals( + other.suggestedLendingDuration, + suggestedLendingDuration)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id)) && + (identical(other.loanerId, loanerId) || + const DeepCollectionEquality() + .equals(other.loanerId, loanerId)) && + (identical(other.loanedQuantity, loanedQuantity) || + const DeepCollectionEquality() + .equals(other.loanedQuantity, loanedQuantity))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(suggestedCaution) ^ + const DeepCollectionEquality().hash(totalQuantity) ^ + const DeepCollectionEquality().hash(suggestedLendingDuration) ^ + const DeepCollectionEquality().hash(id) ^ + const DeepCollectionEquality().hash(loanerId) ^ + const DeepCollectionEquality().hash(loanedQuantity) ^ + runtimeType.hashCode; +} + +extension $ItemExtension on Item { + Item copyWith( + {String? name, + int? suggestedCaution, + int? totalQuantity, + double? suggestedLendingDuration, + String? id, + String? loanerId, + int? loanedQuantity}) { + return Item( + name: name ?? this.name, + suggestedCaution: suggestedCaution ?? this.suggestedCaution, + totalQuantity: totalQuantity ?? this.totalQuantity, + suggestedLendingDuration: + suggestedLendingDuration ?? this.suggestedLendingDuration, + id: id ?? this.id, + loanerId: loanerId ?? this.loanerId, + loanedQuantity: loanedQuantity ?? this.loanedQuantity); + } + + Item copyWithWrapped( + {Wrapped? name, + Wrapped? suggestedCaution, + Wrapped? totalQuantity, + Wrapped? suggestedLendingDuration, + Wrapped? id, + Wrapped? loanerId, + Wrapped? loanedQuantity}) { + return Item( + name: (name != null ? name.value : this.name), + suggestedCaution: (suggestedCaution != null + ? suggestedCaution.value + : this.suggestedCaution), + totalQuantity: + (totalQuantity != null ? totalQuantity.value : this.totalQuantity), + suggestedLendingDuration: (suggestedLendingDuration != null + ? suggestedLendingDuration.value + : this.suggestedLendingDuration), + id: (id != null ? id.value : this.id), + loanerId: (loanerId != null ? loanerId.value : this.loanerId), + loanedQuantity: (loanedQuantity != null + ? loanedQuantity.value + : this.loanedQuantity)); + } +} + +@JsonSerializable(explicitToJson: true) +class ItemBase { + const ItemBase({ + required this.name, + required this.suggestedCaution, + required this.totalQuantity, + required this.suggestedLendingDuration, + }); + + factory ItemBase.fromJson(Map json) => + _$ItemBaseFromJson(json); + + static const toJsonFactory = _$ItemBaseToJson; + Map toJson() => _$ItemBaseToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'suggested_caution', defaultValue: 0) + final int suggestedCaution; + @JsonKey(name: 'total_quantity', defaultValue: 0) + final int totalQuantity; + @JsonKey(name: 'suggested_lending_duration', defaultValue: 0.0) + final double suggestedLendingDuration; + static const fromJsonFactory = _$ItemBaseFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is ItemBase && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.suggestedCaution, suggestedCaution) || + const DeepCollectionEquality() + .equals(other.suggestedCaution, suggestedCaution)) && + (identical(other.totalQuantity, totalQuantity) || + const DeepCollectionEquality() + .equals(other.totalQuantity, totalQuantity)) && + (identical( + other.suggestedLendingDuration, suggestedLendingDuration) || + const DeepCollectionEquality().equals( + other.suggestedLendingDuration, suggestedLendingDuration))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(suggestedCaution) ^ + const DeepCollectionEquality().hash(totalQuantity) ^ + const DeepCollectionEquality().hash(suggestedLendingDuration) ^ + runtimeType.hashCode; +} + +extension $ItemBaseExtension on ItemBase { + ItemBase copyWith( + {String? name, + int? suggestedCaution, + int? totalQuantity, + double? suggestedLendingDuration}) { + return ItemBase( + name: name ?? this.name, + suggestedCaution: suggestedCaution ?? this.suggestedCaution, + totalQuantity: totalQuantity ?? this.totalQuantity, + suggestedLendingDuration: + suggestedLendingDuration ?? this.suggestedLendingDuration); + } + + ItemBase copyWithWrapped( + {Wrapped? name, + Wrapped? suggestedCaution, + Wrapped? totalQuantity, + Wrapped? suggestedLendingDuration}) { + return ItemBase( + name: (name != null ? name.value : this.name), + suggestedCaution: (suggestedCaution != null + ? suggestedCaution.value + : this.suggestedCaution), + totalQuantity: + (totalQuantity != null ? totalQuantity.value : this.totalQuantity), + suggestedLendingDuration: (suggestedLendingDuration != null + ? suggestedLendingDuration.value + : this.suggestedLendingDuration)); + } +} + +@JsonSerializable(explicitToJson: true) +class ItemBorrowed { + const ItemBorrowed({ + required this.itemId, + required this.quantity, + }); + + factory ItemBorrowed.fromJson(Map json) => + _$ItemBorrowedFromJson(json); + + static const toJsonFactory = _$ItemBorrowedToJson; + Map toJson() => _$ItemBorrowedToJson(this); + + @JsonKey(name: 'item_id', defaultValue: '') + final String itemId; + @JsonKey(name: 'quantity', defaultValue: 0) + final int quantity; + static const fromJsonFactory = _$ItemBorrowedFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is ItemBorrowed && + (identical(other.itemId, itemId) || + const DeepCollectionEquality().equals(other.itemId, itemId)) && + (identical(other.quantity, quantity) || + const DeepCollectionEquality() + .equals(other.quantity, quantity))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(itemId) ^ + const DeepCollectionEquality().hash(quantity) ^ + runtimeType.hashCode; +} + +extension $ItemBorrowedExtension on ItemBorrowed { + ItemBorrowed copyWith({String? itemId, int? quantity}) { + return ItemBorrowed( + itemId: itemId ?? this.itemId, quantity: quantity ?? this.quantity); + } + + ItemBorrowed copyWithWrapped( + {Wrapped? itemId, Wrapped? quantity}) { + return ItemBorrowed( + itemId: (itemId != null ? itemId.value : this.itemId), + quantity: (quantity != null ? quantity.value : this.quantity)); + } +} + +@JsonSerializable(explicitToJson: true) +class ItemQuantity { + const ItemQuantity({ + required this.quantity, + required this.itemSimple, + }); + + factory ItemQuantity.fromJson(Map json) => + _$ItemQuantityFromJson(json); + + static const toJsonFactory = _$ItemQuantityToJson; + Map toJson() => _$ItemQuantityToJson(this); + + @JsonKey(name: 'quantity', defaultValue: 0) + final int quantity; + @JsonKey(name: 'itemSimple') + final ItemSimple itemSimple; + static const fromJsonFactory = _$ItemQuantityFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is ItemQuantity && + (identical(other.quantity, quantity) || + const DeepCollectionEquality() + .equals(other.quantity, quantity)) && + (identical(other.itemSimple, itemSimple) || + const DeepCollectionEquality() + .equals(other.itemSimple, itemSimple))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(quantity) ^ + const DeepCollectionEquality().hash(itemSimple) ^ + runtimeType.hashCode; +} + +extension $ItemQuantityExtension on ItemQuantity { + ItemQuantity copyWith({int? quantity, ItemSimple? itemSimple}) { + return ItemQuantity( + quantity: quantity ?? this.quantity, + itemSimple: itemSimple ?? this.itemSimple); + } + + ItemQuantity copyWithWrapped( + {Wrapped? quantity, Wrapped? itemSimple}) { + return ItemQuantity( + quantity: (quantity != null ? quantity.value : this.quantity), + itemSimple: (itemSimple != null ? itemSimple.value : this.itemSimple)); + } +} + +@JsonSerializable(explicitToJson: true) +class ItemSimple { + const ItemSimple({ + required this.id, + required this.name, + required this.loanerId, + }); + + factory ItemSimple.fromJson(Map json) => + _$ItemSimpleFromJson(json); + + static const toJsonFactory = _$ItemSimpleToJson; + Map toJson() => _$ItemSimpleToJson(this); + + @JsonKey(name: 'id', defaultValue: '') + final String id; + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'loaner_id', defaultValue: '') + final String loanerId; + static const fromJsonFactory = _$ItemSimpleFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is ItemSimple && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id)) && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.loanerId, loanerId) || + const DeepCollectionEquality() + .equals(other.loanerId, loanerId))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(id) ^ + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(loanerId) ^ + runtimeType.hashCode; +} + +extension $ItemSimpleExtension on ItemSimple { + ItemSimple copyWith({String? id, String? name, String? loanerId}) { + return ItemSimple( + id: id ?? this.id, + name: name ?? this.name, + loanerId: loanerId ?? this.loanerId); + } + + ItemSimple copyWithWrapped( + {Wrapped? id, Wrapped? name, Wrapped? loanerId}) { + return ItemSimple( + id: (id != null ? id.value : this.id), + name: (name != null ? name.value : this.name), + loanerId: (loanerId != null ? loanerId.value : this.loanerId)); + } +} + +@JsonSerializable(explicitToJson: true) +class ItemUpdate { + const ItemUpdate({ + this.name, + this.suggestedCaution, + this.totalQuantity, + this.suggestedLendingDuration, + }); + + factory ItemUpdate.fromJson(Map json) => + _$ItemUpdateFromJson(json); + + static const toJsonFactory = _$ItemUpdateToJson; + Map toJson() => _$ItemUpdateToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String? name; + @JsonKey(name: 'suggested_caution', defaultValue: 0) + final int? suggestedCaution; + @JsonKey(name: 'total_quantity', defaultValue: 0) + final int? totalQuantity; + @JsonKey(name: 'suggested_lending_duration', defaultValue: 0.0) + final double? suggestedLendingDuration; + static const fromJsonFactory = _$ItemUpdateFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is ItemUpdate && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.suggestedCaution, suggestedCaution) || + const DeepCollectionEquality() + .equals(other.suggestedCaution, suggestedCaution)) && + (identical(other.totalQuantity, totalQuantity) || + const DeepCollectionEquality() + .equals(other.totalQuantity, totalQuantity)) && + (identical( + other.suggestedLendingDuration, suggestedLendingDuration) || + const DeepCollectionEquality().equals( + other.suggestedLendingDuration, suggestedLendingDuration))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(suggestedCaution) ^ + const DeepCollectionEquality().hash(totalQuantity) ^ + const DeepCollectionEquality().hash(suggestedLendingDuration) ^ + runtimeType.hashCode; +} + +extension $ItemUpdateExtension on ItemUpdate { + ItemUpdate copyWith( + {String? name, + int? suggestedCaution, + int? totalQuantity, + double? suggestedLendingDuration}) { + return ItemUpdate( + name: name ?? this.name, + suggestedCaution: suggestedCaution ?? this.suggestedCaution, + totalQuantity: totalQuantity ?? this.totalQuantity, + suggestedLendingDuration: + suggestedLendingDuration ?? this.suggestedLendingDuration); + } + + ItemUpdate copyWithWrapped( + {Wrapped? name, + Wrapped? suggestedCaution, + Wrapped? totalQuantity, + Wrapped? suggestedLendingDuration}) { + return ItemUpdate( + name: (name != null ? name.value : this.name), + suggestedCaution: (suggestedCaution != null + ? suggestedCaution.value + : this.suggestedCaution), + totalQuantity: + (totalQuantity != null ? totalQuantity.value : this.totalQuantity), + suggestedLendingDuration: (suggestedLendingDuration != null + ? suggestedLendingDuration.value + : this.suggestedLendingDuration)); + } +} + +@JsonSerializable(explicitToJson: true) +class ListBase { + const ListBase({ + required this.name, + required this.description, + required this.type, + required this.sectionId, + required this.members, + this.program, + }); + + factory ListBase.fromJson(Map json) => + _$ListBaseFromJson(json); + + static const toJsonFactory = _$ListBaseToJson; + Map toJson() => _$ListBaseToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'description', defaultValue: '') + final String description; + @JsonKey( + name: 'type', + toJson: listTypeToJson, + fromJson: listTypeFromJson, + ) + final enums.ListType type; + @JsonKey(name: 'section_id', defaultValue: '') + final String sectionId; + @JsonKey(name: 'members', defaultValue: []) + final List members; + @JsonKey(name: 'program', defaultValue: '') + final String? program; + static const fromJsonFactory = _$ListBaseFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is ListBase && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.description, description) || + const DeepCollectionEquality() + .equals(other.description, description)) && + (identical(other.type, type) || + const DeepCollectionEquality().equals(other.type, type)) && + (identical(other.sectionId, sectionId) || + const DeepCollectionEquality() + .equals(other.sectionId, sectionId)) && + (identical(other.members, members) || + const DeepCollectionEquality() + .equals(other.members, members)) && + (identical(other.program, program) || + const DeepCollectionEquality().equals(other.program, program))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(description) ^ + const DeepCollectionEquality().hash(type) ^ + const DeepCollectionEquality().hash(sectionId) ^ + const DeepCollectionEquality().hash(members) ^ + const DeepCollectionEquality().hash(program) ^ + runtimeType.hashCode; +} + +extension $ListBaseExtension on ListBase { + ListBase copyWith( + {String? name, + String? description, + enums.ListType? type, + String? sectionId, + List? members, + String? program}) { + return ListBase( + name: name ?? this.name, + description: description ?? this.description, + type: type ?? this.type, + sectionId: sectionId ?? this.sectionId, + members: members ?? this.members, + program: program ?? this.program); + } + + ListBase copyWithWrapped( + {Wrapped? name, + Wrapped? description, + Wrapped? type, + Wrapped? sectionId, + Wrapped>? members, + Wrapped? program}) { + return ListBase( + name: (name != null ? name.value : this.name), + description: + (description != null ? description.value : this.description), + type: (type != null ? type.value : this.type), + sectionId: (sectionId != null ? sectionId.value : this.sectionId), + members: (members != null ? members.value : this.members), + program: (program != null ? program.value : this.program)); + } +} + +@JsonSerializable(explicitToJson: true) +class ListEdit { + const ListEdit({ + this.name, + this.description, + this.type, + this.members, + this.program, + }); + + factory ListEdit.fromJson(Map json) => + _$ListEditFromJson(json); + + static const toJsonFactory = _$ListEditToJson; + Map toJson() => _$ListEditToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String? name; + @JsonKey(name: 'description', defaultValue: '') + final String? description; + @JsonKey( + name: 'type', + toJson: listTypeNullableToJson, + fromJson: listTypeNullableFromJson, + ) + final enums.ListType? type; + @JsonKey(name: 'members', defaultValue: []) + final List? members; + @JsonKey(name: 'program', defaultValue: '') + final String? program; + static const fromJsonFactory = _$ListEditFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is ListEdit && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.description, description) || + const DeepCollectionEquality() + .equals(other.description, description)) && + (identical(other.type, type) || + const DeepCollectionEquality().equals(other.type, type)) && + (identical(other.members, members) || + const DeepCollectionEquality() + .equals(other.members, members)) && + (identical(other.program, program) || + const DeepCollectionEquality().equals(other.program, program))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(description) ^ + const DeepCollectionEquality().hash(type) ^ + const DeepCollectionEquality().hash(members) ^ + const DeepCollectionEquality().hash(program) ^ + runtimeType.hashCode; +} + +extension $ListEditExtension on ListEdit { + ListEdit copyWith( + {String? name, + String? description, + enums.ListType? type, + List? members, + String? program}) { + return ListEdit( + name: name ?? this.name, + description: description ?? this.description, + type: type ?? this.type, + members: members ?? this.members, + program: program ?? this.program); + } + + ListEdit copyWithWrapped( + {Wrapped? name, + Wrapped? description, + Wrapped? type, + Wrapped?>? members, + Wrapped? program}) { + return ListEdit( + name: (name != null ? name.value : this.name), + description: + (description != null ? description.value : this.description), + type: (type != null ? type.value : this.type), + members: (members != null ? members.value : this.members), + program: (program != null ? program.value : this.program)); + } +} + +@JsonSerializable(explicitToJson: true) +class ListMemberBase { + const ListMemberBase({ + required this.userId, + required this.role, + }); + + factory ListMemberBase.fromJson(Map json) => + _$ListMemberBaseFromJson(json); + + static const toJsonFactory = _$ListMemberBaseToJson; + Map toJson() => _$ListMemberBaseToJson(this); + + @JsonKey(name: 'user_id', defaultValue: '') + final String userId; + @JsonKey(name: 'role', defaultValue: '') + final String role; + static const fromJsonFactory = _$ListMemberBaseFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is ListMemberBase && + (identical(other.userId, userId) || + const DeepCollectionEquality().equals(other.userId, userId)) && + (identical(other.role, role) || + const DeepCollectionEquality().equals(other.role, role))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(userId) ^ + const DeepCollectionEquality().hash(role) ^ + runtimeType.hashCode; +} + +extension $ListMemberBaseExtension on ListMemberBase { + ListMemberBase copyWith({String? userId, String? role}) { + return ListMemberBase( + userId: userId ?? this.userId, role: role ?? this.role); + } + + ListMemberBase copyWithWrapped( + {Wrapped? userId, Wrapped? role}) { + return ListMemberBase( + userId: (userId != null ? userId.value : this.userId), + role: (role != null ? role.value : this.role)); + } +} + +@JsonSerializable(explicitToJson: true) +class ListMemberComplete { + const ListMemberComplete({ + required this.userId, + required this.role, + required this.user, + }); + + factory ListMemberComplete.fromJson(Map json) => + _$ListMemberCompleteFromJson(json); + + static const toJsonFactory = _$ListMemberCompleteToJson; + Map toJson() => _$ListMemberCompleteToJson(this); + + @JsonKey(name: 'user_id', defaultValue: '') + final String userId; + @JsonKey(name: 'role', defaultValue: '') + final String role; + @JsonKey(name: 'user') + final CoreUserSimple user; + static const fromJsonFactory = _$ListMemberCompleteFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is ListMemberComplete && + (identical(other.userId, userId) || + const DeepCollectionEquality().equals(other.userId, userId)) && + (identical(other.role, role) || + const DeepCollectionEquality().equals(other.role, role)) && + (identical(other.user, user) || + const DeepCollectionEquality().equals(other.user, user))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(userId) ^ + const DeepCollectionEquality().hash(role) ^ + const DeepCollectionEquality().hash(user) ^ + runtimeType.hashCode; +} + +extension $ListMemberCompleteExtension on ListMemberComplete { + ListMemberComplete copyWith( + {String? userId, String? role, CoreUserSimple? user}) { + return ListMemberComplete( + userId: userId ?? this.userId, + role: role ?? this.role, + user: user ?? this.user); + } + + ListMemberComplete copyWithWrapped( + {Wrapped? userId, + Wrapped? role, + Wrapped? user}) { + return ListMemberComplete( + userId: (userId != null ? userId.value : this.userId), + role: (role != null ? role.value : this.role), + user: (user != null ? user.value : this.user)); + } +} + +@JsonSerializable(explicitToJson: true) +class ListReturn { + const ListReturn({ + required this.id, + required this.name, + required this.description, + required this.type, + required this.section, + required this.members, + this.program, + }); + + factory ListReturn.fromJson(Map json) => + _$ListReturnFromJson(json); + + static const toJsonFactory = _$ListReturnToJson; + Map toJson() => _$ListReturnToJson(this); + + @JsonKey(name: 'id', defaultValue: '') + final String id; + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'description', defaultValue: '') + final String description; + @JsonKey( + name: 'type', + toJson: listTypeToJson, + fromJson: listTypeFromJson, + ) + final enums.ListType type; + @JsonKey(name: 'section') + final SectionComplete section; + @JsonKey(name: 'members', defaultValue: []) + final List members; + @JsonKey(name: 'program', defaultValue: '') + final String? program; + static const fromJsonFactory = _$ListReturnFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is ListReturn && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id)) && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.description, description) || + const DeepCollectionEquality() + .equals(other.description, description)) && + (identical(other.type, type) || + const DeepCollectionEquality().equals(other.type, type)) && + (identical(other.section, section) || + const DeepCollectionEquality() + .equals(other.section, section)) && + (identical(other.members, members) || + const DeepCollectionEquality() + .equals(other.members, members)) && + (identical(other.program, program) || + const DeepCollectionEquality().equals(other.program, program))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(id) ^ + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(description) ^ + const DeepCollectionEquality().hash(type) ^ + const DeepCollectionEquality().hash(section) ^ + const DeepCollectionEquality().hash(members) ^ + const DeepCollectionEquality().hash(program) ^ + runtimeType.hashCode; +} + +extension $ListReturnExtension on ListReturn { + ListReturn copyWith( + {String? id, + String? name, + String? description, + enums.ListType? type, + SectionComplete? section, + List? members, + String? program}) { + return ListReturn( + id: id ?? this.id, + name: name ?? this.name, + description: description ?? this.description, + type: type ?? this.type, + section: section ?? this.section, + members: members ?? this.members, + program: program ?? this.program); + } + + ListReturn copyWithWrapped( + {Wrapped? id, + Wrapped? name, + Wrapped? description, + Wrapped? type, + Wrapped? section, + Wrapped>? members, + Wrapped? program}) { + return ListReturn( + id: (id != null ? id.value : this.id), + name: (name != null ? name.value : this.name), + description: + (description != null ? description.value : this.description), + type: (type != null ? type.value : this.type), + section: (section != null ? section.value : this.section), + members: (members != null ? members.value : this.members), + program: (program != null ? program.value : this.program)); + } +} + +@JsonSerializable(explicitToJson: true) +class Loan { + const Loan({ + required this.borrowerId, + required this.loanerId, + required this.start, + required this.end, + this.notes, + this.caution, + required this.id, + required this.returned, + required this.itemsQty, + required this.borrower, + required this.loaner, + }); + + factory Loan.fromJson(Map json) => _$LoanFromJson(json); + + static const toJsonFactory = _$LoanToJson; + Map toJson() => _$LoanToJson(this); + + @JsonKey(name: 'borrower_id', defaultValue: '') + final String borrowerId; + @JsonKey(name: 'loaner_id', defaultValue: '') + final String loanerId; + @JsonKey(name: 'start', toJson: _dateToJson) + final DateTime start; + @JsonKey(name: 'end', toJson: _dateToJson) + final DateTime end; + @JsonKey(name: 'notes', defaultValue: '') + final String? notes; + @JsonKey(name: 'caution', defaultValue: '') + final String? caution; + @JsonKey(name: 'id', defaultValue: '') + final String id; + @JsonKey(name: 'returned', defaultValue: false) + final bool returned; + @JsonKey(name: 'items_qty', defaultValue: []) + final List itemsQty; + @JsonKey(name: 'borrower') + final CoreUserSimple borrower; + @JsonKey(name: 'loaner') + final Loaner loaner; + static const fromJsonFactory = _$LoanFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is Loan && + (identical(other.borrowerId, borrowerId) || + const DeepCollectionEquality() + .equals(other.borrowerId, borrowerId)) && + (identical(other.loanerId, loanerId) || + const DeepCollectionEquality() + .equals(other.loanerId, loanerId)) && + (identical(other.start, start) || + const DeepCollectionEquality().equals(other.start, start)) && + (identical(other.end, end) || + const DeepCollectionEquality().equals(other.end, end)) && + (identical(other.notes, notes) || + const DeepCollectionEquality().equals(other.notes, notes)) && + (identical(other.caution, caution) || + const DeepCollectionEquality() + .equals(other.caution, caution)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id)) && + (identical(other.returned, returned) || + const DeepCollectionEquality() + .equals(other.returned, returned)) && + (identical(other.itemsQty, itemsQty) || + const DeepCollectionEquality() + .equals(other.itemsQty, itemsQty)) && + (identical(other.borrower, borrower) || + const DeepCollectionEquality() + .equals(other.borrower, borrower)) && + (identical(other.loaner, loaner) || + const DeepCollectionEquality().equals(other.loaner, loaner))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(borrowerId) ^ + const DeepCollectionEquality().hash(loanerId) ^ + const DeepCollectionEquality().hash(start) ^ + const DeepCollectionEquality().hash(end) ^ + const DeepCollectionEquality().hash(notes) ^ + const DeepCollectionEquality().hash(caution) ^ + const DeepCollectionEquality().hash(id) ^ + const DeepCollectionEquality().hash(returned) ^ + const DeepCollectionEquality().hash(itemsQty) ^ + const DeepCollectionEquality().hash(borrower) ^ + const DeepCollectionEquality().hash(loaner) ^ + runtimeType.hashCode; +} + +extension $LoanExtension on Loan { + Loan copyWith( + {String? borrowerId, + String? loanerId, + DateTime? start, + DateTime? end, + String? notes, + String? caution, + String? id, + bool? returned, + List? itemsQty, + CoreUserSimple? borrower, + Loaner? loaner}) { + return Loan( + borrowerId: borrowerId ?? this.borrowerId, + loanerId: loanerId ?? this.loanerId, + start: start ?? this.start, + end: end ?? this.end, + notes: notes ?? this.notes, + caution: caution ?? this.caution, + id: id ?? this.id, + returned: returned ?? this.returned, + itemsQty: itemsQty ?? this.itemsQty, + borrower: borrower ?? this.borrower, + loaner: loaner ?? this.loaner); + } + + Loan copyWithWrapped( + {Wrapped? borrowerId, + Wrapped? loanerId, + Wrapped? start, + Wrapped? end, + Wrapped? notes, + Wrapped? caution, + Wrapped? id, + Wrapped? returned, + Wrapped>? itemsQty, + Wrapped? borrower, + Wrapped? loaner}) { + return Loan( + borrowerId: (borrowerId != null ? borrowerId.value : this.borrowerId), + loanerId: (loanerId != null ? loanerId.value : this.loanerId), + start: (start != null ? start.value : this.start), + end: (end != null ? end.value : this.end), + notes: (notes != null ? notes.value : this.notes), + caution: (caution != null ? caution.value : this.caution), + id: (id != null ? id.value : this.id), + returned: (returned != null ? returned.value : this.returned), + itemsQty: (itemsQty != null ? itemsQty.value : this.itemsQty), + borrower: (borrower != null ? borrower.value : this.borrower), + loaner: (loaner != null ? loaner.value : this.loaner)); + } +} + +@JsonSerializable(explicitToJson: true) +class LoanCreation { + const LoanCreation({ + required this.borrowerId, + required this.loanerId, + required this.start, + required this.end, + this.notes, + this.caution, + required this.itemsBorrowed, + }); + + factory LoanCreation.fromJson(Map json) => + _$LoanCreationFromJson(json); + + static const toJsonFactory = _$LoanCreationToJson; + Map toJson() => _$LoanCreationToJson(this); + + @JsonKey(name: 'borrower_id', defaultValue: '') + final String borrowerId; + @JsonKey(name: 'loaner_id', defaultValue: '') + final String loanerId; + @JsonKey(name: 'start', toJson: _dateToJson) + final DateTime start; + @JsonKey(name: 'end', toJson: _dateToJson) + final DateTime end; + @JsonKey(name: 'notes', defaultValue: '') + final String? notes; + @JsonKey(name: 'caution', defaultValue: '') + final String? caution; + @JsonKey(name: 'items_borrowed', defaultValue: []) + final List itemsBorrowed; + static const fromJsonFactory = _$LoanCreationFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is LoanCreation && + (identical(other.borrowerId, borrowerId) || + const DeepCollectionEquality() + .equals(other.borrowerId, borrowerId)) && + (identical(other.loanerId, loanerId) || + const DeepCollectionEquality() + .equals(other.loanerId, loanerId)) && + (identical(other.start, start) || + const DeepCollectionEquality().equals(other.start, start)) && + (identical(other.end, end) || + const DeepCollectionEquality().equals(other.end, end)) && + (identical(other.notes, notes) || + const DeepCollectionEquality().equals(other.notes, notes)) && + (identical(other.caution, caution) || + const DeepCollectionEquality() + .equals(other.caution, caution)) && + (identical(other.itemsBorrowed, itemsBorrowed) || + const DeepCollectionEquality() + .equals(other.itemsBorrowed, itemsBorrowed))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(borrowerId) ^ + const DeepCollectionEquality().hash(loanerId) ^ + const DeepCollectionEquality().hash(start) ^ + const DeepCollectionEquality().hash(end) ^ + const DeepCollectionEquality().hash(notes) ^ + const DeepCollectionEquality().hash(caution) ^ + const DeepCollectionEquality().hash(itemsBorrowed) ^ + runtimeType.hashCode; +} + +extension $LoanCreationExtension on LoanCreation { + LoanCreation copyWith( + {String? borrowerId, + String? loanerId, + DateTime? start, + DateTime? end, + String? notes, + String? caution, + List? itemsBorrowed}) { + return LoanCreation( + borrowerId: borrowerId ?? this.borrowerId, + loanerId: loanerId ?? this.loanerId, + start: start ?? this.start, + end: end ?? this.end, + notes: notes ?? this.notes, + caution: caution ?? this.caution, + itemsBorrowed: itemsBorrowed ?? this.itemsBorrowed); + } + + LoanCreation copyWithWrapped( + {Wrapped? borrowerId, + Wrapped? loanerId, + Wrapped? start, + Wrapped? end, + Wrapped? notes, + Wrapped? caution, + Wrapped>? itemsBorrowed}) { + return LoanCreation( + borrowerId: (borrowerId != null ? borrowerId.value : this.borrowerId), + loanerId: (loanerId != null ? loanerId.value : this.loanerId), + start: (start != null ? start.value : this.start), + end: (end != null ? end.value : this.end), + notes: (notes != null ? notes.value : this.notes), + caution: (caution != null ? caution.value : this.caution), + itemsBorrowed: + (itemsBorrowed != null ? itemsBorrowed.value : this.itemsBorrowed)); + } +} + +@JsonSerializable(explicitToJson: true) +class LoanExtend { + const LoanExtend({ + this.end, + this.duration, + }); + + factory LoanExtend.fromJson(Map json) => + _$LoanExtendFromJson(json); + + static const toJsonFactory = _$LoanExtendToJson; + Map toJson() => _$LoanExtendToJson(this); + + @JsonKey(name: 'end', toJson: _dateToJson) + final DateTime? end; + @JsonKey(name: 'duration', defaultValue: 0.0) + final double? duration; + static const fromJsonFactory = _$LoanExtendFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is LoanExtend && + (identical(other.end, end) || + const DeepCollectionEquality().equals(other.end, end)) && + (identical(other.duration, duration) || + const DeepCollectionEquality() + .equals(other.duration, duration))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(end) ^ + const DeepCollectionEquality().hash(duration) ^ + runtimeType.hashCode; +} + +extension $LoanExtendExtension on LoanExtend { + LoanExtend copyWith({DateTime? end, double? duration}) { + return LoanExtend( + end: end ?? this.end, duration: duration ?? this.duration); + } + + LoanExtend copyWithWrapped( + {Wrapped? end, Wrapped? duration}) { + return LoanExtend( + end: (end != null ? end.value : this.end), + duration: (duration != null ? duration.value : this.duration)); + } +} + +@JsonSerializable(explicitToJson: true) +class LoanUpdate { + const LoanUpdate({ + this.borrowerId, + this.start, + this.end, + this.notes, + this.caution, + this.returned, + this.itemsBorrowed, + }); + + factory LoanUpdate.fromJson(Map json) => + _$LoanUpdateFromJson(json); + + static const toJsonFactory = _$LoanUpdateToJson; + Map toJson() => _$LoanUpdateToJson(this); + + @JsonKey(name: 'borrower_id', defaultValue: '') + final String? borrowerId; + @JsonKey(name: 'start', toJson: _dateToJson) + final DateTime? start; + @JsonKey(name: 'end', toJson: _dateToJson) + final DateTime? end; + @JsonKey(name: 'notes', defaultValue: '') + final String? notes; + @JsonKey(name: 'caution', defaultValue: '') + final String? caution; + @JsonKey(name: 'returned', defaultValue: false) + final bool? returned; + @JsonKey(name: 'items_borrowed', defaultValue: []) + final List? itemsBorrowed; + static const fromJsonFactory = _$LoanUpdateFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is LoanUpdate && + (identical(other.borrowerId, borrowerId) || + const DeepCollectionEquality() + .equals(other.borrowerId, borrowerId)) && + (identical(other.start, start) || + const DeepCollectionEquality().equals(other.start, start)) && + (identical(other.end, end) || + const DeepCollectionEquality().equals(other.end, end)) && + (identical(other.notes, notes) || + const DeepCollectionEquality().equals(other.notes, notes)) && + (identical(other.caution, caution) || + const DeepCollectionEquality() + .equals(other.caution, caution)) && + (identical(other.returned, returned) || + const DeepCollectionEquality() + .equals(other.returned, returned)) && + (identical(other.itemsBorrowed, itemsBorrowed) || + const DeepCollectionEquality() + .equals(other.itemsBorrowed, itemsBorrowed))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(borrowerId) ^ + const DeepCollectionEquality().hash(start) ^ + const DeepCollectionEquality().hash(end) ^ + const DeepCollectionEquality().hash(notes) ^ + const DeepCollectionEquality().hash(caution) ^ + const DeepCollectionEquality().hash(returned) ^ + const DeepCollectionEquality().hash(itemsBorrowed) ^ + runtimeType.hashCode; +} + +extension $LoanUpdateExtension on LoanUpdate { + LoanUpdate copyWith( + {String? borrowerId, + DateTime? start, + DateTime? end, + String? notes, + String? caution, + bool? returned, + List? itemsBorrowed}) { + return LoanUpdate( + borrowerId: borrowerId ?? this.borrowerId, + start: start ?? this.start, + end: end ?? this.end, + notes: notes ?? this.notes, + caution: caution ?? this.caution, + returned: returned ?? this.returned, + itemsBorrowed: itemsBorrowed ?? this.itemsBorrowed); + } + + LoanUpdate copyWithWrapped( + {Wrapped? borrowerId, + Wrapped? start, + Wrapped? end, + Wrapped? notes, + Wrapped? caution, + Wrapped? returned, + Wrapped?>? itemsBorrowed}) { + return LoanUpdate( + borrowerId: (borrowerId != null ? borrowerId.value : this.borrowerId), + start: (start != null ? start.value : this.start), + end: (end != null ? end.value : this.end), + notes: (notes != null ? notes.value : this.notes), + caution: (caution != null ? caution.value : this.caution), + returned: (returned != null ? returned.value : this.returned), + itemsBorrowed: + (itemsBorrowed != null ? itemsBorrowed.value : this.itemsBorrowed)); + } +} + +@JsonSerializable(explicitToJson: true) +class Loaner { + const Loaner({ + required this.name, + required this.groupManagerId, + required this.id, + }); + + factory Loaner.fromJson(Map json) => _$LoanerFromJson(json); + + static const toJsonFactory = _$LoanerToJson; + Map toJson() => _$LoanerToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'group_manager_id', defaultValue: '') + final String groupManagerId; + @JsonKey(name: 'id', defaultValue: '') + final String id; + static const fromJsonFactory = _$LoanerFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is Loaner && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.groupManagerId, groupManagerId) || + const DeepCollectionEquality() + .equals(other.groupManagerId, groupManagerId)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(groupManagerId) ^ + const DeepCollectionEquality().hash(id) ^ + runtimeType.hashCode; +} + +extension $LoanerExtension on Loaner { + Loaner copyWith({String? name, String? groupManagerId, String? id}) { + return Loaner( + name: name ?? this.name, + groupManagerId: groupManagerId ?? this.groupManagerId, + id: id ?? this.id); + } + + Loaner copyWithWrapped( + {Wrapped? name, + Wrapped? groupManagerId, + Wrapped? id}) { + return Loaner( + name: (name != null ? name.value : this.name), + groupManagerId: (groupManagerId != null + ? groupManagerId.value + : this.groupManagerId), + id: (id != null ? id.value : this.id)); + } +} + +@JsonSerializable(explicitToJson: true) +class LoanerBase { + const LoanerBase({ + required this.name, + required this.groupManagerId, + }); + + factory LoanerBase.fromJson(Map json) => + _$LoanerBaseFromJson(json); + + static const toJsonFactory = _$LoanerBaseToJson; + Map toJson() => _$LoanerBaseToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'group_manager_id', defaultValue: '') + final String groupManagerId; + static const fromJsonFactory = _$LoanerBaseFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is LoanerBase && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.groupManagerId, groupManagerId) || + const DeepCollectionEquality() + .equals(other.groupManagerId, groupManagerId))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(groupManagerId) ^ + runtimeType.hashCode; +} + +extension $LoanerBaseExtension on LoanerBase { + LoanerBase copyWith({String? name, String? groupManagerId}) { + return LoanerBase( + name: name ?? this.name, + groupManagerId: groupManagerId ?? this.groupManagerId); + } + + LoanerBase copyWithWrapped( + {Wrapped? name, Wrapped? groupManagerId}) { + return LoanerBase( + name: (name != null ? name.value : this.name), + groupManagerId: (groupManagerId != null + ? groupManagerId.value + : this.groupManagerId)); + } +} + +@JsonSerializable(explicitToJson: true) +class LoanerUpdate { + const LoanerUpdate({ + this.name, + this.groupManagerId, + }); + + factory LoanerUpdate.fromJson(Map json) => + _$LoanerUpdateFromJson(json); + + static const toJsonFactory = _$LoanerUpdateToJson; + Map toJson() => _$LoanerUpdateToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String? name; + @JsonKey(name: 'group_manager_id', defaultValue: '') + final String? groupManagerId; + static const fromJsonFactory = _$LoanerUpdateFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is LoanerUpdate && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.groupManagerId, groupManagerId) || + const DeepCollectionEquality() + .equals(other.groupManagerId, groupManagerId))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(groupManagerId) ^ + runtimeType.hashCode; +} + +extension $LoanerUpdateExtension on LoanerUpdate { + LoanerUpdate copyWith({String? name, String? groupManagerId}) { + return LoanerUpdate( + name: name ?? this.name, + groupManagerId: groupManagerId ?? this.groupManagerId); + } + + LoanerUpdate copyWithWrapped( + {Wrapped? name, Wrapped? groupManagerId}) { + return LoanerUpdate( + name: (name != null ? name.value : this.name), + groupManagerId: (groupManagerId != null + ? groupManagerId.value + : this.groupManagerId)); + } +} + +@JsonSerializable(explicitToJson: true) +class MailMigrationRequest { + const MailMigrationRequest({ + required this.newEmail, + }); + + factory MailMigrationRequest.fromJson(Map json) => + _$MailMigrationRequestFromJson(json); + + static const toJsonFactory = _$MailMigrationRequestToJson; + Map toJson() => _$MailMigrationRequestToJson(this); + + @JsonKey(name: 'new_email', defaultValue: '') + final String newEmail; + static const fromJsonFactory = _$MailMigrationRequestFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is MailMigrationRequest && + (identical(other.newEmail, newEmail) || + const DeepCollectionEquality() + .equals(other.newEmail, newEmail))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(newEmail) ^ runtimeType.hashCode; +} + +extension $MailMigrationRequestExtension on MailMigrationRequest { + MailMigrationRequest copyWith({String? newEmail}) { + return MailMigrationRequest(newEmail: newEmail ?? this.newEmail); + } + + MailMigrationRequest copyWithWrapped({Wrapped? newEmail}) { + return MailMigrationRequest( + newEmail: (newEmail != null ? newEmail.value : this.newEmail)); + } +} + +@JsonSerializable(explicitToJson: true) +class Message { + const Message({ + required this.context, + required this.isVisible, + this.title, + this.content, + this.actionModule, + this.actionTable, + this.deliveryDatetime, + required this.expireOn, + }); + + factory Message.fromJson(Map json) => + _$MessageFromJson(json); + + static const toJsonFactory = _$MessageToJson; + Map toJson() => _$MessageToJson(this); + + @JsonKey(name: 'context', defaultValue: '') + final String context; + @JsonKey(name: 'is_visible', defaultValue: false) + final bool isVisible; + @JsonKey(name: 'title', defaultValue: '') + final String? title; + @JsonKey(name: 'content', defaultValue: '') + final String? content; + @JsonKey(name: 'action_module', defaultValue: '') + final String? actionModule; + @JsonKey(name: 'action_table', defaultValue: '') + final String? actionTable; + @JsonKey(name: 'delivery_datetime') + final DateTime? deliveryDatetime; + @JsonKey(name: 'expire_on', toJson: _dateToJson) + final DateTime expireOn; + static const fromJsonFactory = _$MessageFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is Message && + (identical(other.context, context) || + const DeepCollectionEquality() + .equals(other.context, context)) && + (identical(other.isVisible, isVisible) || + const DeepCollectionEquality() + .equals(other.isVisible, isVisible)) && + (identical(other.title, title) || + const DeepCollectionEquality().equals(other.title, title)) && + (identical(other.content, content) || + const DeepCollectionEquality() + .equals(other.content, content)) && + (identical(other.actionModule, actionModule) || + const DeepCollectionEquality() + .equals(other.actionModule, actionModule)) && + (identical(other.actionTable, actionTable) || + const DeepCollectionEquality() + .equals(other.actionTable, actionTable)) && + (identical(other.deliveryDatetime, deliveryDatetime) || + const DeepCollectionEquality() + .equals(other.deliveryDatetime, deliveryDatetime)) && + (identical(other.expireOn, expireOn) || + const DeepCollectionEquality() + .equals(other.expireOn, expireOn))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(context) ^ + const DeepCollectionEquality().hash(isVisible) ^ + const DeepCollectionEquality().hash(title) ^ + const DeepCollectionEquality().hash(content) ^ + const DeepCollectionEquality().hash(actionModule) ^ + const DeepCollectionEquality().hash(actionTable) ^ + const DeepCollectionEquality().hash(deliveryDatetime) ^ + const DeepCollectionEquality().hash(expireOn) ^ + runtimeType.hashCode; +} + +extension $MessageExtension on Message { + Message copyWith( + {String? context, + bool? isVisible, + String? title, + String? content, + String? actionModule, + String? actionTable, + DateTime? deliveryDatetime, + DateTime? expireOn}) { + return Message( + context: context ?? this.context, + isVisible: isVisible ?? this.isVisible, + title: title ?? this.title, + content: content ?? this.content, + actionModule: actionModule ?? this.actionModule, + actionTable: actionTable ?? this.actionTable, + deliveryDatetime: deliveryDatetime ?? this.deliveryDatetime, + expireOn: expireOn ?? this.expireOn); + } + + Message copyWithWrapped( + {Wrapped? context, + Wrapped? isVisible, + Wrapped? title, + Wrapped? content, + Wrapped? actionModule, + Wrapped? actionTable, + Wrapped? deliveryDatetime, + Wrapped? expireOn}) { + return Message( + context: (context != null ? context.value : this.context), + isVisible: (isVisible != null ? isVisible.value : this.isVisible), + title: (title != null ? title.value : this.title), + content: (content != null ? content.value : this.content), + actionModule: + (actionModule != null ? actionModule.value : this.actionModule), + actionTable: + (actionTable != null ? actionTable.value : this.actionTable), + deliveryDatetime: (deliveryDatetime != null + ? deliveryDatetime.value + : this.deliveryDatetime), + expireOn: (expireOn != null ? expireOn.value : this.expireOn)); + } +} + +@JsonSerializable(explicitToJson: true) +class ModuleVisibility { + const ModuleVisibility({ + required this.root, + required this.allowedGroupIds, + }); + + factory ModuleVisibility.fromJson(Map json) => + _$ModuleVisibilityFromJson(json); + + static const toJsonFactory = _$ModuleVisibilityToJson; + Map toJson() => _$ModuleVisibilityToJson(this); + + @JsonKey(name: 'root', defaultValue: '') + final String root; + @JsonKey(name: 'allowed_group_ids', defaultValue: []) + final List allowedGroupIds; + static const fromJsonFactory = _$ModuleVisibilityFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is ModuleVisibility && + (identical(other.root, root) || + const DeepCollectionEquality().equals(other.root, root)) && + (identical(other.allowedGroupIds, allowedGroupIds) || + const DeepCollectionEquality() + .equals(other.allowedGroupIds, allowedGroupIds))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(root) ^ + const DeepCollectionEquality().hash(allowedGroupIds) ^ + runtimeType.hashCode; +} + +extension $ModuleVisibilityExtension on ModuleVisibility { + ModuleVisibility copyWith({String? root, List? allowedGroupIds}) { + return ModuleVisibility( + root: root ?? this.root, + allowedGroupIds: allowedGroupIds ?? this.allowedGroupIds); + } + + ModuleVisibility copyWithWrapped( + {Wrapped? root, Wrapped>? allowedGroupIds}) { + return ModuleVisibility( + root: (root != null ? root.value : this.root), + allowedGroupIds: (allowedGroupIds != null + ? allowedGroupIds.value + : this.allowedGroupIds)); + } +} + +@JsonSerializable(explicitToJson: true) +class ModuleVisibilityCreate { + const ModuleVisibilityCreate({ + required this.root, + required this.allowedGroupId, + }); + + factory ModuleVisibilityCreate.fromJson(Map json) => + _$ModuleVisibilityCreateFromJson(json); + + static const toJsonFactory = _$ModuleVisibilityCreateToJson; + Map toJson() => _$ModuleVisibilityCreateToJson(this); + + @JsonKey(name: 'root', defaultValue: '') + final String root; + @JsonKey(name: 'allowed_group_id', defaultValue: '') + final String allowedGroupId; + static const fromJsonFactory = _$ModuleVisibilityCreateFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is ModuleVisibilityCreate && + (identical(other.root, root) || + const DeepCollectionEquality().equals(other.root, root)) && + (identical(other.allowedGroupId, allowedGroupId) || + const DeepCollectionEquality() + .equals(other.allowedGroupId, allowedGroupId))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(root) ^ + const DeepCollectionEquality().hash(allowedGroupId) ^ + runtimeType.hashCode; +} + +extension $ModuleVisibilityCreateExtension on ModuleVisibilityCreate { + ModuleVisibilityCreate copyWith({String? root, String? allowedGroupId}) { + return ModuleVisibilityCreate( + root: root ?? this.root, + allowedGroupId: allowedGroupId ?? this.allowedGroupId); + } + + ModuleVisibilityCreate copyWithWrapped( + {Wrapped? root, Wrapped? allowedGroupId}) { + return ModuleVisibilityCreate( + root: (root != null ? root.value : this.root), + allowedGroupId: (allowedGroupId != null + ? allowedGroupId.value + : this.allowedGroupId)); + } +} + +@JsonSerializable(explicitToJson: true) +class OrderBase { + const OrderBase({ + required this.userId, + required this.deliveryId, + required this.productsIds, + required this.collectionSlot, + required this.productsQuantity, + }); + + factory OrderBase.fromJson(Map json) => + _$OrderBaseFromJson(json); + + static const toJsonFactory = _$OrderBaseToJson; + Map toJson() => _$OrderBaseToJson(this); + + @JsonKey(name: 'user_id', defaultValue: '') + final String userId; + @JsonKey(name: 'delivery_id', defaultValue: '') + final String deliveryId; + @JsonKey(name: 'products_ids', defaultValue: []) + final List productsIds; + @JsonKey( + name: 'collection_slot', + toJson: amapSlotTypeNullableToJson, + fromJson: amapSlotTypeNullableFromJson, + ) + final enums.AmapSlotType? collectionSlot; + @JsonKey(name: 'products_quantity', defaultValue: []) + final List productsQuantity; + static const fromJsonFactory = _$OrderBaseFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is OrderBase && + (identical(other.userId, userId) || + const DeepCollectionEquality().equals(other.userId, userId)) && + (identical(other.deliveryId, deliveryId) || + const DeepCollectionEquality() + .equals(other.deliveryId, deliveryId)) && + (identical(other.productsIds, productsIds) || + const DeepCollectionEquality() + .equals(other.productsIds, productsIds)) && + (identical(other.collectionSlot, collectionSlot) || + const DeepCollectionEquality() + .equals(other.collectionSlot, collectionSlot)) && + (identical(other.productsQuantity, productsQuantity) || + const DeepCollectionEquality() + .equals(other.productsQuantity, productsQuantity))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(userId) ^ + const DeepCollectionEquality().hash(deliveryId) ^ + const DeepCollectionEquality().hash(productsIds) ^ + const DeepCollectionEquality().hash(collectionSlot) ^ + const DeepCollectionEquality().hash(productsQuantity) ^ + runtimeType.hashCode; +} + +extension $OrderBaseExtension on OrderBase { + OrderBase copyWith( + {String? userId, + String? deliveryId, + List? productsIds, + enums.AmapSlotType? collectionSlot, + List? productsQuantity}) { + return OrderBase( + userId: userId ?? this.userId, + deliveryId: deliveryId ?? this.deliveryId, + productsIds: productsIds ?? this.productsIds, + collectionSlot: collectionSlot ?? this.collectionSlot, + productsQuantity: productsQuantity ?? this.productsQuantity); + } + + OrderBase copyWithWrapped( + {Wrapped? userId, + Wrapped? deliveryId, + Wrapped>? productsIds, + Wrapped? collectionSlot, + Wrapped>? productsQuantity}) { + return OrderBase( + userId: (userId != null ? userId.value : this.userId), + deliveryId: (deliveryId != null ? deliveryId.value : this.deliveryId), + productsIds: + (productsIds != null ? productsIds.value : this.productsIds), + collectionSlot: (collectionSlot != null + ? collectionSlot.value + : this.collectionSlot), + productsQuantity: (productsQuantity != null + ? productsQuantity.value + : this.productsQuantity)); + } +} + +@JsonSerializable(explicitToJson: true) +class OrderEdit { + const OrderEdit({ + this.productsIds, + this.collectionSlot, + this.productsQuantity, + }); + + factory OrderEdit.fromJson(Map json) => + _$OrderEditFromJson(json); + + static const toJsonFactory = _$OrderEditToJson; + Map toJson() => _$OrderEditToJson(this); + + @JsonKey(name: 'products_ids', defaultValue: []) + final List? productsIds; + @JsonKey( + name: 'collection_slot', + toJson: amapSlotTypeNullableToJson, + fromJson: amapSlotTypeNullableFromJson, + ) + final enums.AmapSlotType? collectionSlot; + @JsonKey(name: 'products_quantity', defaultValue: []) + final List? productsQuantity; + static const fromJsonFactory = _$OrderEditFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is OrderEdit && + (identical(other.productsIds, productsIds) || + const DeepCollectionEquality() + .equals(other.productsIds, productsIds)) && + (identical(other.collectionSlot, collectionSlot) || + const DeepCollectionEquality() + .equals(other.collectionSlot, collectionSlot)) && + (identical(other.productsQuantity, productsQuantity) || + const DeepCollectionEquality() + .equals(other.productsQuantity, productsQuantity))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(productsIds) ^ + const DeepCollectionEquality().hash(collectionSlot) ^ + const DeepCollectionEquality().hash(productsQuantity) ^ + runtimeType.hashCode; +} + +extension $OrderEditExtension on OrderEdit { + OrderEdit copyWith( + {List? productsIds, + enums.AmapSlotType? collectionSlot, + List? productsQuantity}) { + return OrderEdit( + productsIds: productsIds ?? this.productsIds, + collectionSlot: collectionSlot ?? this.collectionSlot, + productsQuantity: productsQuantity ?? this.productsQuantity); + } + + OrderEdit copyWithWrapped( + {Wrapped?>? productsIds, + Wrapped? collectionSlot, + Wrapped?>? productsQuantity}) { + return OrderEdit( + productsIds: + (productsIds != null ? productsIds.value : this.productsIds), + collectionSlot: (collectionSlot != null + ? collectionSlot.value + : this.collectionSlot), + productsQuantity: (productsQuantity != null + ? productsQuantity.value + : this.productsQuantity)); + } +} + +@JsonSerializable(explicitToJson: true) +class OrderReturn { + const OrderReturn({ + required this.user, + required this.deliveryId, + required this.productsdetail, + required this.collectionSlot, + required this.orderId, + required this.amount, + required this.orderingDate, + required this.deliveryDate, + }); + + factory OrderReturn.fromJson(Map json) => + _$OrderReturnFromJson(json); + + static const toJsonFactory = _$OrderReturnToJson; + Map toJson() => _$OrderReturnToJson(this); + + @JsonKey(name: 'user') + final CoreUserSimple user; + @JsonKey(name: 'delivery_id', defaultValue: '') + final String deliveryId; + @JsonKey(name: 'productsdetail', defaultValue: []) + final List productsdetail; + @JsonKey( + name: 'collection_slot', + toJson: amapSlotTypeNullableToJson, + fromJson: amapSlotTypeNullableFromJson, + ) + final enums.AmapSlotType? collectionSlot; + @JsonKey(name: 'order_id', defaultValue: '') + final String orderId; + @JsonKey(name: 'amount', defaultValue: 0.0) + final double amount; + @JsonKey(name: 'ordering_date') + final DateTime orderingDate; + @JsonKey(name: 'delivery_date', toJson: _dateToJson) + final DateTime deliveryDate; + static const fromJsonFactory = _$OrderReturnFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is OrderReturn && + (identical(other.user, user) || + const DeepCollectionEquality().equals(other.user, user)) && + (identical(other.deliveryId, deliveryId) || + const DeepCollectionEquality() + .equals(other.deliveryId, deliveryId)) && + (identical(other.productsdetail, productsdetail) || + const DeepCollectionEquality() + .equals(other.productsdetail, productsdetail)) && + (identical(other.collectionSlot, collectionSlot) || + const DeepCollectionEquality() + .equals(other.collectionSlot, collectionSlot)) && + (identical(other.orderId, orderId) || + const DeepCollectionEquality() + .equals(other.orderId, orderId)) && + (identical(other.amount, amount) || + const DeepCollectionEquality().equals(other.amount, amount)) && + (identical(other.orderingDate, orderingDate) || + const DeepCollectionEquality() + .equals(other.orderingDate, orderingDate)) && + (identical(other.deliveryDate, deliveryDate) || + const DeepCollectionEquality() + .equals(other.deliveryDate, deliveryDate))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(user) ^ + const DeepCollectionEquality().hash(deliveryId) ^ + const DeepCollectionEquality().hash(productsdetail) ^ + const DeepCollectionEquality().hash(collectionSlot) ^ + const DeepCollectionEquality().hash(orderId) ^ + const DeepCollectionEquality().hash(amount) ^ + const DeepCollectionEquality().hash(orderingDate) ^ + const DeepCollectionEquality().hash(deliveryDate) ^ + runtimeType.hashCode; +} + +extension $OrderReturnExtension on OrderReturn { + OrderReturn copyWith( + {CoreUserSimple? user, + String? deliveryId, + List? productsdetail, + enums.AmapSlotType? collectionSlot, + String? orderId, + double? amount, + DateTime? orderingDate, + DateTime? deliveryDate}) { + return OrderReturn( + user: user ?? this.user, + deliveryId: deliveryId ?? this.deliveryId, + productsdetail: productsdetail ?? this.productsdetail, + collectionSlot: collectionSlot ?? this.collectionSlot, + orderId: orderId ?? this.orderId, + amount: amount ?? this.amount, + orderingDate: orderingDate ?? this.orderingDate, + deliveryDate: deliveryDate ?? this.deliveryDate); + } + + OrderReturn copyWithWrapped( + {Wrapped? user, + Wrapped? deliveryId, + Wrapped>? productsdetail, + Wrapped? collectionSlot, + Wrapped? orderId, + Wrapped? amount, + Wrapped? orderingDate, + Wrapped? deliveryDate}) { + return OrderReturn( + user: (user != null ? user.value : this.user), + deliveryId: (deliveryId != null ? deliveryId.value : this.deliveryId), + productsdetail: (productsdetail != null + ? productsdetail.value + : this.productsdetail), + collectionSlot: (collectionSlot != null + ? collectionSlot.value + : this.collectionSlot), + orderId: (orderId != null ? orderId.value : this.orderId), + amount: (amount != null ? amount.value : this.amount), + orderingDate: + (orderingDate != null ? orderingDate.value : this.orderingDate), + deliveryDate: + (deliveryDate != null ? deliveryDate.value : this.deliveryDate)); + } +} + +@JsonSerializable(explicitToJson: true) +class PackTicketBase { + const PackTicketBase({ + required this.price, + required this.packSize, + required this.raffleId, + }); + + factory PackTicketBase.fromJson(Map json) => + _$PackTicketBaseFromJson(json); + + static const toJsonFactory = _$PackTicketBaseToJson; + Map toJson() => _$PackTicketBaseToJson(this); + + @JsonKey(name: 'price', defaultValue: 0.0) + final double price; + @JsonKey(name: 'pack_size', defaultValue: 0) + final int packSize; + @JsonKey(name: 'raffle_id', defaultValue: '') + final String raffleId; + static const fromJsonFactory = _$PackTicketBaseFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is PackTicketBase && + (identical(other.price, price) || + const DeepCollectionEquality().equals(other.price, price)) && + (identical(other.packSize, packSize) || + const DeepCollectionEquality() + .equals(other.packSize, packSize)) && + (identical(other.raffleId, raffleId) || + const DeepCollectionEquality() + .equals(other.raffleId, raffleId))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(price) ^ + const DeepCollectionEquality().hash(packSize) ^ + const DeepCollectionEquality().hash(raffleId) ^ + runtimeType.hashCode; +} + +extension $PackTicketBaseExtension on PackTicketBase { + PackTicketBase copyWith({double? price, int? packSize, String? raffleId}) { + return PackTicketBase( + price: price ?? this.price, + packSize: packSize ?? this.packSize, + raffleId: raffleId ?? this.raffleId); + } + + PackTicketBase copyWithWrapped( + {Wrapped? price, + Wrapped? packSize, + Wrapped? raffleId}) { + return PackTicketBase( + price: (price != null ? price.value : this.price), + packSize: (packSize != null ? packSize.value : this.packSize), + raffleId: (raffleId != null ? raffleId.value : this.raffleId)); + } +} + +@JsonSerializable(explicitToJson: true) +class PackTicketEdit { + const PackTicketEdit({ + this.raffleId, + this.price, + this.packSize, + }); + + factory PackTicketEdit.fromJson(Map json) => + _$PackTicketEditFromJson(json); + + static const toJsonFactory = _$PackTicketEditToJson; + Map toJson() => _$PackTicketEditToJson(this); + + @JsonKey(name: 'raffle_id', defaultValue: '') + final String? raffleId; + @JsonKey(name: 'price', defaultValue: 0.0) + final double? price; + @JsonKey(name: 'pack_size', defaultValue: 0) + final int? packSize; + static const fromJsonFactory = _$PackTicketEditFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is PackTicketEdit && + (identical(other.raffleId, raffleId) || + const DeepCollectionEquality() + .equals(other.raffleId, raffleId)) && + (identical(other.price, price) || + const DeepCollectionEquality().equals(other.price, price)) && + (identical(other.packSize, packSize) || + const DeepCollectionEquality() + .equals(other.packSize, packSize))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(raffleId) ^ + const DeepCollectionEquality().hash(price) ^ + const DeepCollectionEquality().hash(packSize) ^ + runtimeType.hashCode; +} + +extension $PackTicketEditExtension on PackTicketEdit { + PackTicketEdit copyWith({String? raffleId, double? price, int? packSize}) { + return PackTicketEdit( + raffleId: raffleId ?? this.raffleId, + price: price ?? this.price, + packSize: packSize ?? this.packSize); + } + + PackTicketEdit copyWithWrapped( + {Wrapped? raffleId, + Wrapped? price, + Wrapped? packSize}) { + return PackTicketEdit( + raffleId: (raffleId != null ? raffleId.value : this.raffleId), + price: (price != null ? price.value : this.price), + packSize: (packSize != null ? packSize.value : this.packSize)); + } +} + +@JsonSerializable(explicitToJson: true) +class PackTicketSimple { + const PackTicketSimple({ + required this.price, + required this.packSize, + required this.raffleId, + required this.id, + }); + + factory PackTicketSimple.fromJson(Map json) => + _$PackTicketSimpleFromJson(json); + + static const toJsonFactory = _$PackTicketSimpleToJson; + Map toJson() => _$PackTicketSimpleToJson(this); + + @JsonKey(name: 'price', defaultValue: 0.0) + final double price; + @JsonKey(name: 'pack_size', defaultValue: 0) + final int packSize; + @JsonKey(name: 'raffle_id', defaultValue: '') + final String raffleId; + @JsonKey(name: 'id', defaultValue: '') + final String id; + static const fromJsonFactory = _$PackTicketSimpleFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is PackTicketSimple && + (identical(other.price, price) || + const DeepCollectionEquality().equals(other.price, price)) && + (identical(other.packSize, packSize) || + const DeepCollectionEquality() + .equals(other.packSize, packSize)) && + (identical(other.raffleId, raffleId) || + const DeepCollectionEquality() + .equals(other.raffleId, raffleId)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(price) ^ + const DeepCollectionEquality().hash(packSize) ^ + const DeepCollectionEquality().hash(raffleId) ^ + const DeepCollectionEquality().hash(id) ^ + runtimeType.hashCode; +} + +extension $PackTicketSimpleExtension on PackTicketSimple { + PackTicketSimple copyWith( + {double? price, int? packSize, String? raffleId, String? id}) { + return PackTicketSimple( + price: price ?? this.price, + packSize: packSize ?? this.packSize, + raffleId: raffleId ?? this.raffleId, + id: id ?? this.id); + } + + PackTicketSimple copyWithWrapped( + {Wrapped? price, + Wrapped? packSize, + Wrapped? raffleId, + Wrapped? id}) { + return PackTicketSimple( + price: (price != null ? price.value : this.price), + packSize: (packSize != null ? packSize.value : this.packSize), + raffleId: (raffleId != null ? raffleId.value : this.raffleId), + id: (id != null ? id.value : this.id)); + } +} + +@JsonSerializable(explicitToJson: true) +class PrizeBase { + const PrizeBase({ + required this.name, + required this.description, + required this.raffleId, + required this.quantity, + }); + + factory PrizeBase.fromJson(Map json) => + _$PrizeBaseFromJson(json); + + static const toJsonFactory = _$PrizeBaseToJson; + Map toJson() => _$PrizeBaseToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'description', defaultValue: '') + final String description; + @JsonKey(name: 'raffle_id', defaultValue: '') + final String raffleId; + @JsonKey(name: 'quantity', defaultValue: 0) + final int quantity; + static const fromJsonFactory = _$PrizeBaseFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is PrizeBase && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.description, description) || + const DeepCollectionEquality() + .equals(other.description, description)) && + (identical(other.raffleId, raffleId) || + const DeepCollectionEquality() + .equals(other.raffleId, raffleId)) && + (identical(other.quantity, quantity) || + const DeepCollectionEquality() + .equals(other.quantity, quantity))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(description) ^ + const DeepCollectionEquality().hash(raffleId) ^ + const DeepCollectionEquality().hash(quantity) ^ + runtimeType.hashCode; +} + +extension $PrizeBaseExtension on PrizeBase { + PrizeBase copyWith( + {String? name, String? description, String? raffleId, int? quantity}) { + return PrizeBase( + name: name ?? this.name, + description: description ?? this.description, + raffleId: raffleId ?? this.raffleId, + quantity: quantity ?? this.quantity); + } + + PrizeBase copyWithWrapped( + {Wrapped? name, + Wrapped? description, + Wrapped? raffleId, + Wrapped? quantity}) { + return PrizeBase( + name: (name != null ? name.value : this.name), + description: + (description != null ? description.value : this.description), + raffleId: (raffleId != null ? raffleId.value : this.raffleId), + quantity: (quantity != null ? quantity.value : this.quantity)); + } +} + +@JsonSerializable(explicitToJson: true) +class PrizeEdit { + const PrizeEdit({ + this.raffleId, + this.description, + this.name, + this.quantity, + }); + + factory PrizeEdit.fromJson(Map json) => + _$PrizeEditFromJson(json); + + static const toJsonFactory = _$PrizeEditToJson; + Map toJson() => _$PrizeEditToJson(this); + + @JsonKey(name: 'raffle_id', defaultValue: '') + final String? raffleId; + @JsonKey(name: 'description', defaultValue: '') + final String? description; + @JsonKey(name: 'name', defaultValue: '') + final String? name; + @JsonKey(name: 'quantity', defaultValue: 0) + final int? quantity; + static const fromJsonFactory = _$PrizeEditFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is PrizeEdit && + (identical(other.raffleId, raffleId) || + const DeepCollectionEquality() + .equals(other.raffleId, raffleId)) && + (identical(other.description, description) || + const DeepCollectionEquality() + .equals(other.description, description)) && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.quantity, quantity) || + const DeepCollectionEquality() + .equals(other.quantity, quantity))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(raffleId) ^ + const DeepCollectionEquality().hash(description) ^ + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(quantity) ^ + runtimeType.hashCode; +} + +extension $PrizeEditExtension on PrizeEdit { + PrizeEdit copyWith( + {String? raffleId, String? description, String? name, int? quantity}) { + return PrizeEdit( + raffleId: raffleId ?? this.raffleId, + description: description ?? this.description, + name: name ?? this.name, + quantity: quantity ?? this.quantity); + } + + PrizeEdit copyWithWrapped( + {Wrapped? raffleId, + Wrapped? description, + Wrapped? name, + Wrapped? quantity}) { + return PrizeEdit( + raffleId: (raffleId != null ? raffleId.value : this.raffleId), + description: + (description != null ? description.value : this.description), + name: (name != null ? name.value : this.name), + quantity: (quantity != null ? quantity.value : this.quantity)); + } +} + +@JsonSerializable(explicitToJson: true) +class PrizeSimple { + const PrizeSimple({ + required this.name, + required this.description, + required this.raffleId, + required this.quantity, + required this.id, + }); + + factory PrizeSimple.fromJson(Map json) => + _$PrizeSimpleFromJson(json); + + static const toJsonFactory = _$PrizeSimpleToJson; + Map toJson() => _$PrizeSimpleToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'description', defaultValue: '') + final String description; + @JsonKey(name: 'raffle_id', defaultValue: '') + final String raffleId; + @JsonKey(name: 'quantity', defaultValue: 0) + final int quantity; + @JsonKey(name: 'id', defaultValue: '') + final String id; + static const fromJsonFactory = _$PrizeSimpleFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is PrizeSimple && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.description, description) || + const DeepCollectionEquality() + .equals(other.description, description)) && + (identical(other.raffleId, raffleId) || + const DeepCollectionEquality() + .equals(other.raffleId, raffleId)) && + (identical(other.quantity, quantity) || + const DeepCollectionEquality() + .equals(other.quantity, quantity)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(description) ^ + const DeepCollectionEquality().hash(raffleId) ^ + const DeepCollectionEquality().hash(quantity) ^ + const DeepCollectionEquality().hash(id) ^ + runtimeType.hashCode; +} + +extension $PrizeSimpleExtension on PrizeSimple { + PrizeSimple copyWith( + {String? name, + String? description, + String? raffleId, + int? quantity, + String? id}) { + return PrizeSimple( + name: name ?? this.name, + description: description ?? this.description, + raffleId: raffleId ?? this.raffleId, + quantity: quantity ?? this.quantity, + id: id ?? this.id); + } + + PrizeSimple copyWithWrapped( + {Wrapped? name, + Wrapped? description, + Wrapped? raffleId, + Wrapped? quantity, + Wrapped? id}) { + return PrizeSimple( + name: (name != null ? name.value : this.name), + description: + (description != null ? description.value : this.description), + raffleId: (raffleId != null ? raffleId.value : this.raffleId), + quantity: (quantity != null ? quantity.value : this.quantity), + id: (id != null ? id.value : this.id)); + } +} + +@JsonSerializable(explicitToJson: true) +class ProductComplete { + const ProductComplete({ + required this.name, + required this.price, + required this.category, + required this.id, + }); + + factory ProductComplete.fromJson(Map json) => + _$ProductCompleteFromJson(json); + + static const toJsonFactory = _$ProductCompleteToJson; + Map toJson() => _$ProductCompleteToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'price', defaultValue: 0.0) + final double price; + @JsonKey(name: 'category', defaultValue: '') + final String category; + @JsonKey(name: 'id', defaultValue: '') + final String id; + static const fromJsonFactory = _$ProductCompleteFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is ProductComplete && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.price, price) || + const DeepCollectionEquality().equals(other.price, price)) && + (identical(other.category, category) || + const DeepCollectionEquality() + .equals(other.category, category)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(price) ^ + const DeepCollectionEquality().hash(category) ^ + const DeepCollectionEquality().hash(id) ^ + runtimeType.hashCode; +} + +extension $ProductCompleteExtension on ProductComplete { + ProductComplete copyWith( + {String? name, double? price, String? category, String? id}) { + return ProductComplete( + name: name ?? this.name, + price: price ?? this.price, + category: category ?? this.category, + id: id ?? this.id); + } + + ProductComplete copyWithWrapped( + {Wrapped? name, + Wrapped? price, + Wrapped? category, + Wrapped? id}) { + return ProductComplete( + name: (name != null ? name.value : this.name), + price: (price != null ? price.value : this.price), + category: (category != null ? category.value : this.category), + id: (id != null ? id.value : this.id)); + } +} + +@JsonSerializable(explicitToJson: true) +class ProductEdit { + const ProductEdit({ + this.category, + this.name, + this.price, + }); + + factory ProductEdit.fromJson(Map json) => + _$ProductEditFromJson(json); + + static const toJsonFactory = _$ProductEditToJson; + Map toJson() => _$ProductEditToJson(this); + + @JsonKey(name: 'category', defaultValue: '') + final String? category; + @JsonKey(name: 'name', defaultValue: '') + final String? name; + @JsonKey(name: 'price', defaultValue: 0.0) + final double? price; + static const fromJsonFactory = _$ProductEditFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is ProductEdit && + (identical(other.category, category) || + const DeepCollectionEquality() + .equals(other.category, category)) && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.price, price) || + const DeepCollectionEquality().equals(other.price, price))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(category) ^ + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(price) ^ + runtimeType.hashCode; +} + +extension $ProductEditExtension on ProductEdit { + ProductEdit copyWith({String? category, String? name, double? price}) { + return ProductEdit( + category: category ?? this.category, + name: name ?? this.name, + price: price ?? this.price); + } + + ProductEdit copyWithWrapped( + {Wrapped? category, + Wrapped? name, + Wrapped? price}) { + return ProductEdit( + category: (category != null ? category.value : this.category), + name: (name != null ? name.value : this.name), + price: (price != null ? price.value : this.price)); + } +} + +@JsonSerializable(explicitToJson: true) +class ProductQuantity { + const ProductQuantity({ + required this.quantity, + required this.product, + }); + + factory ProductQuantity.fromJson(Map json) => + _$ProductQuantityFromJson(json); + + static const toJsonFactory = _$ProductQuantityToJson; + Map toJson() => _$ProductQuantityToJson(this); + + @JsonKey(name: 'quantity', defaultValue: 0) + final int quantity; + @JsonKey(name: 'product') + final ProductComplete product; + static const fromJsonFactory = _$ProductQuantityFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is ProductQuantity && + (identical(other.quantity, quantity) || + const DeepCollectionEquality() + .equals(other.quantity, quantity)) && + (identical(other.product, product) || + const DeepCollectionEquality().equals(other.product, product))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(quantity) ^ + const DeepCollectionEquality().hash(product) ^ + runtimeType.hashCode; +} + +extension $ProductQuantityExtension on ProductQuantity { + ProductQuantity copyWith({int? quantity, ProductComplete? product}) { + return ProductQuantity( + quantity: quantity ?? this.quantity, product: product ?? this.product); + } + + ProductQuantity copyWithWrapped( + {Wrapped? quantity, Wrapped? product}) { + return ProductQuantity( + quantity: (quantity != null ? quantity.value : this.quantity), + product: (product != null ? product.value : this.product)); + } +} + +@JsonSerializable(explicitToJson: true) +class ProductSimple { + const ProductSimple({ + required this.name, + required this.price, + required this.category, + }); + + factory ProductSimple.fromJson(Map json) => + _$ProductSimpleFromJson(json); + + static const toJsonFactory = _$ProductSimpleToJson; + Map toJson() => _$ProductSimpleToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'price', defaultValue: 0.0) + final double price; + @JsonKey(name: 'category', defaultValue: '') + final String category; + static const fromJsonFactory = _$ProductSimpleFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is ProductSimple && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.price, price) || + const DeepCollectionEquality().equals(other.price, price)) && + (identical(other.category, category) || + const DeepCollectionEquality() + .equals(other.category, category))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(price) ^ + const DeepCollectionEquality().hash(category) ^ + runtimeType.hashCode; +} + +extension $ProductSimpleExtension on ProductSimple { + ProductSimple copyWith({String? name, double? price, String? category}) { + return ProductSimple( + name: name ?? this.name, + price: price ?? this.price, + category: category ?? this.category); + } + + ProductSimple copyWithWrapped( + {Wrapped? name, + Wrapped? price, + Wrapped? category}) { + return ProductSimple( + name: (name != null ? name.value : this.name), + price: (price != null ? price.value : this.price), + category: (category != null ? category.value : this.category)); + } +} + +@JsonSerializable(explicitToJson: true) +class RaffleBase { + const RaffleBase({ + required this.name, + this.status, + this.description, + required this.groupId, + }); + + factory RaffleBase.fromJson(Map json) => + _$RaffleBaseFromJson(json); + + static const toJsonFactory = _$RaffleBaseToJson; + Map toJson() => _$RaffleBaseToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey( + name: 'status', + toJson: raffleStatusTypeNullableToJson, + fromJson: raffleStatusTypeNullableFromJson, + ) + final enums.RaffleStatusType? status; + @JsonKey(name: 'description', defaultValue: '') + final String? description; + @JsonKey(name: 'group_id', defaultValue: '') + final String groupId; + static const fromJsonFactory = _$RaffleBaseFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is RaffleBase && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.status, status) || + const DeepCollectionEquality().equals(other.status, status)) && + (identical(other.description, description) || + const DeepCollectionEquality() + .equals(other.description, description)) && + (identical(other.groupId, groupId) || + const DeepCollectionEquality().equals(other.groupId, groupId))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(status) ^ + const DeepCollectionEquality().hash(description) ^ + const DeepCollectionEquality().hash(groupId) ^ + runtimeType.hashCode; +} + +extension $RaffleBaseExtension on RaffleBase { + RaffleBase copyWith( + {String? name, + enums.RaffleStatusType? status, + String? description, + String? groupId}) { + return RaffleBase( + name: name ?? this.name, + status: status ?? this.status, + description: description ?? this.description, + groupId: groupId ?? this.groupId); + } + + RaffleBase copyWithWrapped( + {Wrapped? name, + Wrapped? status, + Wrapped? description, + Wrapped? groupId}) { + return RaffleBase( + name: (name != null ? name.value : this.name), + status: (status != null ? status.value : this.status), + description: + (description != null ? description.value : this.description), + groupId: (groupId != null ? groupId.value : this.groupId)); + } +} + +@JsonSerializable(explicitToJson: true) +class RaffleComplete { + const RaffleComplete({ + required this.name, + this.status, + this.description, + required this.groupId, + required this.id, + required this.group, + }); + + factory RaffleComplete.fromJson(Map json) => + _$RaffleCompleteFromJson(json); + + static const toJsonFactory = _$RaffleCompleteToJson; + Map toJson() => _$RaffleCompleteToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey( + name: 'status', + toJson: raffleStatusTypeNullableToJson, + fromJson: raffleStatusTypeNullableFromJson, + ) + final enums.RaffleStatusType? status; + @JsonKey(name: 'description', defaultValue: '') + final String? description; + @JsonKey(name: 'group_id', defaultValue: '') + final String groupId; + @JsonKey(name: 'id', defaultValue: '') + final String id; + @JsonKey(name: 'group') + final CoreGroupSimple group; + static const fromJsonFactory = _$RaffleCompleteFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is RaffleComplete && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.status, status) || + const DeepCollectionEquality().equals(other.status, status)) && + (identical(other.description, description) || + const DeepCollectionEquality() + .equals(other.description, description)) && + (identical(other.groupId, groupId) || + const DeepCollectionEquality() + .equals(other.groupId, groupId)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id)) && + (identical(other.group, group) || + const DeepCollectionEquality().equals(other.group, group))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(status) ^ + const DeepCollectionEquality().hash(description) ^ + const DeepCollectionEquality().hash(groupId) ^ + const DeepCollectionEquality().hash(id) ^ + const DeepCollectionEquality().hash(group) ^ + runtimeType.hashCode; +} + +extension $RaffleCompleteExtension on RaffleComplete { + RaffleComplete copyWith( + {String? name, + enums.RaffleStatusType? status, + String? description, + String? groupId, + String? id, + CoreGroupSimple? group}) { + return RaffleComplete( + name: name ?? this.name, + status: status ?? this.status, + description: description ?? this.description, + groupId: groupId ?? this.groupId, + id: id ?? this.id, + group: group ?? this.group); + } + + RaffleComplete copyWithWrapped( + {Wrapped? name, + Wrapped? status, + Wrapped? description, + Wrapped? groupId, + Wrapped? id, + Wrapped? group}) { + return RaffleComplete( + name: (name != null ? name.value : this.name), + status: (status != null ? status.value : this.status), + description: + (description != null ? description.value : this.description), + groupId: (groupId != null ? groupId.value : this.groupId), + id: (id != null ? id.value : this.id), + group: (group != null ? group.value : this.group)); + } +} + +@JsonSerializable(explicitToJson: true) +class RaffleEdit { + const RaffleEdit({ + this.name, + this.description, + }); + + factory RaffleEdit.fromJson(Map json) => + _$RaffleEditFromJson(json); + + static const toJsonFactory = _$RaffleEditToJson; + Map toJson() => _$RaffleEditToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String? name; + @JsonKey(name: 'description', defaultValue: '') + final String? description; + static const fromJsonFactory = _$RaffleEditFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is RaffleEdit && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.description, description) || + const DeepCollectionEquality() + .equals(other.description, description))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(description) ^ + runtimeType.hashCode; +} + +extension $RaffleEditExtension on RaffleEdit { + RaffleEdit copyWith({String? name, String? description}) { + return RaffleEdit( + name: name ?? this.name, description: description ?? this.description); + } + + RaffleEdit copyWithWrapped( + {Wrapped? name, Wrapped? description}) { + return RaffleEdit( + name: (name != null ? name.value : this.name), + description: + (description != null ? description.value : this.description)); + } +} + +@JsonSerializable(explicitToJson: true) +class RaffleSimple { + const RaffleSimple({ + required this.name, + this.status, + this.description, + required this.groupId, + required this.id, + }); + + factory RaffleSimple.fromJson(Map json) => + _$RaffleSimpleFromJson(json); + + static const toJsonFactory = _$RaffleSimpleToJson; + Map toJson() => _$RaffleSimpleToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey( + name: 'status', + toJson: raffleStatusTypeNullableToJson, + fromJson: raffleStatusTypeNullableFromJson, + ) + final enums.RaffleStatusType? status; + @JsonKey(name: 'description', defaultValue: '') + final String? description; + @JsonKey(name: 'group_id', defaultValue: '') + final String groupId; + @JsonKey(name: 'id', defaultValue: '') + final String id; + static const fromJsonFactory = _$RaffleSimpleFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is RaffleSimple && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.status, status) || + const DeepCollectionEquality().equals(other.status, status)) && + (identical(other.description, description) || + const DeepCollectionEquality() + .equals(other.description, description)) && + (identical(other.groupId, groupId) || + const DeepCollectionEquality() + .equals(other.groupId, groupId)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(status) ^ + const DeepCollectionEquality().hash(description) ^ + const DeepCollectionEquality().hash(groupId) ^ + const DeepCollectionEquality().hash(id) ^ + runtimeType.hashCode; +} + +extension $RaffleSimpleExtension on RaffleSimple { + RaffleSimple copyWith( + {String? name, + enums.RaffleStatusType? status, + String? description, + String? groupId, + String? id}) { + return RaffleSimple( + name: name ?? this.name, + status: status ?? this.status, + description: description ?? this.description, + groupId: groupId ?? this.groupId, + id: id ?? this.id); + } + + RaffleSimple copyWithWrapped( + {Wrapped? name, + Wrapped? status, + Wrapped? description, + Wrapped? groupId, + Wrapped? id}) { + return RaffleSimple( + name: (name != null ? name.value : this.name), + status: (status != null ? status.value : this.status), + description: + (description != null ? description.value : this.description), + groupId: (groupId != null ? groupId.value : this.groupId), + id: (id != null ? id.value : this.id)); + } +} + +@JsonSerializable(explicitToJson: true) +class RaffleStats { + const RaffleStats({ + required this.ticketsSold, + required this.amountRaised, + }); + + factory RaffleStats.fromJson(Map json) => + _$RaffleStatsFromJson(json); + + static const toJsonFactory = _$RaffleStatsToJson; + Map toJson() => _$RaffleStatsToJson(this); + + @JsonKey(name: 'tickets_sold', defaultValue: 0) + final int ticketsSold; + @JsonKey(name: 'amount_raised', defaultValue: 0.0) + final double amountRaised; + static const fromJsonFactory = _$RaffleStatsFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is RaffleStats && + (identical(other.ticketsSold, ticketsSold) || + const DeepCollectionEquality() + .equals(other.ticketsSold, ticketsSold)) && + (identical(other.amountRaised, amountRaised) || + const DeepCollectionEquality() + .equals(other.amountRaised, amountRaised))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(ticketsSold) ^ + const DeepCollectionEquality().hash(amountRaised) ^ + runtimeType.hashCode; +} + +extension $RaffleStatsExtension on RaffleStats { + RaffleStats copyWith({int? ticketsSold, double? amountRaised}) { + return RaffleStats( + ticketsSold: ticketsSold ?? this.ticketsSold, + amountRaised: amountRaised ?? this.amountRaised); + } + + RaffleStats copyWithWrapped( + {Wrapped? ticketsSold, Wrapped? amountRaised}) { + return RaffleStats( + ticketsSold: + (ticketsSold != null ? ticketsSold.value : this.ticketsSold), + amountRaised: + (amountRaised != null ? amountRaised.value : this.amountRaised)); + } +} + +@JsonSerializable(explicitToJson: true) +class ResetPasswordRequest { + const ResetPasswordRequest({ + required this.resetToken, + required this.newPassword, + }); + + factory ResetPasswordRequest.fromJson(Map json) => + _$ResetPasswordRequestFromJson(json); + + static const toJsonFactory = _$ResetPasswordRequestToJson; + Map toJson() => _$ResetPasswordRequestToJson(this); + + @JsonKey(name: 'reset_token', defaultValue: '') + final String resetToken; + @JsonKey(name: 'new_password', defaultValue: '') + final String newPassword; + static const fromJsonFactory = _$ResetPasswordRequestFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is ResetPasswordRequest && + (identical(other.resetToken, resetToken) || + const DeepCollectionEquality() + .equals(other.resetToken, resetToken)) && + (identical(other.newPassword, newPassword) || + const DeepCollectionEquality() + .equals(other.newPassword, newPassword))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(resetToken) ^ + const DeepCollectionEquality().hash(newPassword) ^ + runtimeType.hashCode; +} + +extension $ResetPasswordRequestExtension on ResetPasswordRequest { + ResetPasswordRequest copyWith({String? resetToken, String? newPassword}) { + return ResetPasswordRequest( + resetToken: resetToken ?? this.resetToken, + newPassword: newPassword ?? this.newPassword); + } + + ResetPasswordRequest copyWithWrapped( + {Wrapped? resetToken, Wrapped? newPassword}) { + return ResetPasswordRequest( + resetToken: (resetToken != null ? resetToken.value : this.resetToken), + newPassword: + (newPassword != null ? newPassword.value : this.newPassword)); + } +} + +@JsonSerializable(explicitToJson: true) +class Rights { + const Rights({ + required this.view, + required this.manage, + }); + + factory Rights.fromJson(Map json) => _$RightsFromJson(json); + + static const toJsonFactory = _$RightsToJson; + Map toJson() => _$RightsToJson(this); + + @JsonKey(name: 'view', defaultValue: false) + final bool view; + @JsonKey(name: 'manage', defaultValue: false) + final bool manage; + static const fromJsonFactory = _$RightsFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is Rights && + (identical(other.view, view) || + const DeepCollectionEquality().equals(other.view, view)) && + (identical(other.manage, manage) || + const DeepCollectionEquality().equals(other.manage, manage))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(view) ^ + const DeepCollectionEquality().hash(manage) ^ + runtimeType.hashCode; +} + +extension $RightsExtension on Rights { + Rights copyWith({bool? view, bool? manage}) { + return Rights(view: view ?? this.view, manage: manage ?? this.manage); + } + + Rights copyWithWrapped({Wrapped? view, Wrapped? manage}) { + return Rights( + view: (view != null ? view.value : this.view), + manage: (manage != null ? manage.value : this.manage)); + } +} + +@JsonSerializable(explicitToJson: true) +class RoomBase { + const RoomBase({ + required this.name, + }); + + factory RoomBase.fromJson(Map json) => + _$RoomBaseFromJson(json); + + static const toJsonFactory = _$RoomBaseToJson; + Map toJson() => _$RoomBaseToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + static const fromJsonFactory = _$RoomBaseFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is RoomBase && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ runtimeType.hashCode; +} + +extension $RoomBaseExtension on RoomBase { + RoomBase copyWith({String? name}) { + return RoomBase(name: name ?? this.name); + } + + RoomBase copyWithWrapped({Wrapped? name}) { + return RoomBase(name: (name != null ? name.value : this.name)); + } +} + +@JsonSerializable(explicitToJson: true) +class RoomComplete { + const RoomComplete({ + required this.name, + required this.id, + }); + + factory RoomComplete.fromJson(Map json) => + _$RoomCompleteFromJson(json); + + static const toJsonFactory = _$RoomCompleteToJson; + Map toJson() => _$RoomCompleteToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'id', defaultValue: '') + final String id; + static const fromJsonFactory = _$RoomCompleteFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is RoomComplete && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(id) ^ + runtimeType.hashCode; +} + +extension $RoomCompleteExtension on RoomComplete { + RoomComplete copyWith({String? name, String? id}) { + return RoomComplete(name: name ?? this.name, id: id ?? this.id); + } + + RoomComplete copyWithWrapped({Wrapped? name, Wrapped? id}) { + return RoomComplete( + name: (name != null ? name.value : this.name), + id: (id != null ? id.value : this.id)); + } +} + +@JsonSerializable(explicitToJson: true) +class SectionBase { + const SectionBase({ + required this.name, + required this.description, + }); + + factory SectionBase.fromJson(Map json) => + _$SectionBaseFromJson(json); + + static const toJsonFactory = _$SectionBaseToJson; + Map toJson() => _$SectionBaseToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'description', defaultValue: '') + final String description; + static const fromJsonFactory = _$SectionBaseFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is SectionBase && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.description, description) || + const DeepCollectionEquality() + .equals(other.description, description))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(description) ^ + runtimeType.hashCode; +} + +extension $SectionBaseExtension on SectionBase { + SectionBase copyWith({String? name, String? description}) { + return SectionBase( + name: name ?? this.name, description: description ?? this.description); + } + + SectionBase copyWithWrapped( + {Wrapped? name, Wrapped? description}) { + return SectionBase( + name: (name != null ? name.value : this.name), + description: + (description != null ? description.value : this.description)); + } +} + +@JsonSerializable(explicitToJson: true) +class SectionComplete { + const SectionComplete({ + required this.name, + required this.description, + required this.id, + }); + + factory SectionComplete.fromJson(Map json) => + _$SectionCompleteFromJson(json); + + static const toJsonFactory = _$SectionCompleteToJson; + Map toJson() => _$SectionCompleteToJson(this); + + @JsonKey(name: 'name', defaultValue: '') + final String name; + @JsonKey(name: 'description', defaultValue: '') + final String description; + @JsonKey(name: 'id', defaultValue: '') + final String id; + static const fromJsonFactory = _$SectionCompleteFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is SectionComplete && + (identical(other.name, name) || + const DeepCollectionEquality().equals(other.name, name)) && + (identical(other.description, description) || + const DeepCollectionEquality() + .equals(other.description, description)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(name) ^ + const DeepCollectionEquality().hash(description) ^ + const DeepCollectionEquality().hash(id) ^ + runtimeType.hashCode; +} + +extension $SectionCompleteExtension on SectionComplete { + SectionComplete copyWith({String? name, String? description, String? id}) { + return SectionComplete( + name: name ?? this.name, + description: description ?? this.description, + id: id ?? this.id); + } + + SectionComplete copyWithWrapped( + {Wrapped? name, + Wrapped? description, + Wrapped? id}) { + return SectionComplete( + name: (name != null ? name.value : this.name), + description: + (description != null ? description.value : this.description), + id: (id != null ? id.value : this.id)); + } +} + +@JsonSerializable(explicitToJson: true) +class TicketComplete { + const TicketComplete({ + required this.packId, + required this.userId, + this.winningPrize, + required this.id, + this.prize, + required this.packTicket, + required this.user, + }); + + factory TicketComplete.fromJson(Map json) => + _$TicketCompleteFromJson(json); + + static const toJsonFactory = _$TicketCompleteToJson; + Map toJson() => _$TicketCompleteToJson(this); + + @JsonKey(name: 'pack_id', defaultValue: '') + final String packId; + @JsonKey(name: 'user_id', defaultValue: '') + final String userId; + @JsonKey(name: 'winning_prize', defaultValue: '') + final String? winningPrize; + @JsonKey(name: 'id', defaultValue: '') + final String id; + @JsonKey(name: 'prize') + final PrizeSimple? prize; + @JsonKey(name: 'pack_ticket') + final PackTicketSimple? packTicket; + @JsonKey(name: 'user') + final CoreUserSimple user; + static const fromJsonFactory = _$TicketCompleteFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is TicketComplete && + (identical(other.packId, packId) || + const DeepCollectionEquality().equals(other.packId, packId)) && + (identical(other.userId, userId) || + const DeepCollectionEquality().equals(other.userId, userId)) && + (identical(other.winningPrize, winningPrize) || + const DeepCollectionEquality() + .equals(other.winningPrize, winningPrize)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id)) && + (identical(other.prize, prize) || + const DeepCollectionEquality().equals(other.prize, prize)) && + (identical(other.packTicket, packTicket) || + const DeepCollectionEquality() + .equals(other.packTicket, packTicket)) && + (identical(other.user, user) || + const DeepCollectionEquality().equals(other.user, user))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(packId) ^ + const DeepCollectionEquality().hash(userId) ^ + const DeepCollectionEquality().hash(winningPrize) ^ + const DeepCollectionEquality().hash(id) ^ + const DeepCollectionEquality().hash(prize) ^ + const DeepCollectionEquality().hash(packTicket) ^ + const DeepCollectionEquality().hash(user) ^ + runtimeType.hashCode; +} + +extension $TicketCompleteExtension on TicketComplete { + TicketComplete copyWith( + {String? packId, + String? userId, + String? winningPrize, + String? id, + PrizeSimple? prize, + PackTicketSimple? packTicket, + CoreUserSimple? user}) { + return TicketComplete( + packId: packId ?? this.packId, + userId: userId ?? this.userId, + winningPrize: winningPrize ?? this.winningPrize, + id: id ?? this.id, + prize: prize ?? this.prize, + packTicket: packTicket ?? this.packTicket, + user: user ?? this.user); + } + + TicketComplete copyWithWrapped( + {Wrapped? packId, + Wrapped? userId, + Wrapped? winningPrize, + Wrapped? id, + Wrapped? prize, + Wrapped? packTicket, + Wrapped? user}) { + return TicketComplete( + packId: (packId != null ? packId.value : this.packId), + userId: (userId != null ? userId.value : this.userId), + winningPrize: + (winningPrize != null ? winningPrize.value : this.winningPrize), + id: (id != null ? id.value : this.id), + prize: (prize != null ? prize.value : this.prize), + packTicket: (packTicket != null ? packTicket.value : this.packTicket), + user: (user != null ? user.value : this.user)); + } +} + +@JsonSerializable(explicitToJson: true) +class TicketSimple { + const TicketSimple({ + required this.packId, + required this.userId, + this.winningPrize, + required this.id, + }); + + factory TicketSimple.fromJson(Map json) => + _$TicketSimpleFromJson(json); + + static const toJsonFactory = _$TicketSimpleToJson; + Map toJson() => _$TicketSimpleToJson(this); + + @JsonKey(name: 'pack_id', defaultValue: '') + final String packId; + @JsonKey(name: 'user_id', defaultValue: '') + final String userId; + @JsonKey(name: 'winning_prize', defaultValue: '') + final String? winningPrize; + @JsonKey(name: 'id', defaultValue: '') + final String id; + static const fromJsonFactory = _$TicketSimpleFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is TicketSimple && + (identical(other.packId, packId) || + const DeepCollectionEquality().equals(other.packId, packId)) && + (identical(other.userId, userId) || + const DeepCollectionEquality().equals(other.userId, userId)) && + (identical(other.winningPrize, winningPrize) || + const DeepCollectionEquality() + .equals(other.winningPrize, winningPrize)) && + (identical(other.id, id) || + const DeepCollectionEquality().equals(other.id, id))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(packId) ^ + const DeepCollectionEquality().hash(userId) ^ + const DeepCollectionEquality().hash(winningPrize) ^ + const DeepCollectionEquality().hash(id) ^ + runtimeType.hashCode; +} + +extension $TicketSimpleExtension on TicketSimple { + TicketSimple copyWith( + {String? packId, String? userId, String? winningPrize, String? id}) { + return TicketSimple( + packId: packId ?? this.packId, + userId: userId ?? this.userId, + winningPrize: winningPrize ?? this.winningPrize, + id: id ?? this.id); + } + + TicketSimple copyWithWrapped( + {Wrapped? packId, + Wrapped? userId, + Wrapped? winningPrize, + Wrapped? id}) { + return TicketSimple( + packId: (packId != null ? packId.value : this.packId), + userId: (userId != null ? userId.value : this.userId), + winningPrize: + (winningPrize != null ? winningPrize.value : this.winningPrize), + id: (id != null ? id.value : this.id)); + } +} + +@JsonSerializable(explicitToJson: true) +class TokenResponse { + const TokenResponse({ + required this.accessToken, + this.tokenType, + this.expiresIn, + this.scopes, + required this.refreshToken, + this.idToken, + }); + + factory TokenResponse.fromJson(Map json) => + _$TokenResponseFromJson(json); + + static const toJsonFactory = _$TokenResponseToJson; + Map toJson() => _$TokenResponseToJson(this); + + @JsonKey(name: 'access_token', defaultValue: '') + final String accessToken; + @JsonKey(name: 'token_type', defaultValue: '') + final String? tokenType; + @JsonKey(name: 'expires_in', defaultValue: 0) + final int? expiresIn; + @JsonKey(name: 'scopes', defaultValue: '') + final String? scopes; + @JsonKey(name: 'refresh_token', defaultValue: '') + final String refreshToken; + @JsonKey(name: 'id_token', defaultValue: '') + final String? idToken; + static const fromJsonFactory = _$TokenResponseFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is TokenResponse && + (identical(other.accessToken, accessToken) || + const DeepCollectionEquality() + .equals(other.accessToken, accessToken)) && + (identical(other.tokenType, tokenType) || + const DeepCollectionEquality() + .equals(other.tokenType, tokenType)) && + (identical(other.expiresIn, expiresIn) || + const DeepCollectionEquality() + .equals(other.expiresIn, expiresIn)) && + (identical(other.scopes, scopes) || + const DeepCollectionEquality().equals(other.scopes, scopes)) && + (identical(other.refreshToken, refreshToken) || + const DeepCollectionEquality() + .equals(other.refreshToken, refreshToken)) && + (identical(other.idToken, idToken) || + const DeepCollectionEquality().equals(other.idToken, idToken))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(accessToken) ^ + const DeepCollectionEquality().hash(tokenType) ^ + const DeepCollectionEquality().hash(expiresIn) ^ + const DeepCollectionEquality().hash(scopes) ^ + const DeepCollectionEquality().hash(refreshToken) ^ + const DeepCollectionEquality().hash(idToken) ^ + runtimeType.hashCode; +} + +extension $TokenResponseExtension on TokenResponse { + TokenResponse copyWith( + {String? accessToken, + String? tokenType, + int? expiresIn, + String? scopes, + String? refreshToken, + String? idToken}) { + return TokenResponse( + accessToken: accessToken ?? this.accessToken, + tokenType: tokenType ?? this.tokenType, + expiresIn: expiresIn ?? this.expiresIn, + scopes: scopes ?? this.scopes, + refreshToken: refreshToken ?? this.refreshToken, + idToken: idToken ?? this.idToken); + } + + TokenResponse copyWithWrapped( + {Wrapped? accessToken, + Wrapped? tokenType, + Wrapped? expiresIn, + Wrapped? scopes, + Wrapped? refreshToken, + Wrapped? idToken}) { + return TokenResponse( + accessToken: + (accessToken != null ? accessToken.value : this.accessToken), + tokenType: (tokenType != null ? tokenType.value : this.tokenType), + expiresIn: (expiresIn != null ? expiresIn.value : this.expiresIn), + scopes: (scopes != null ? scopes.value : this.scopes), + refreshToken: + (refreshToken != null ? refreshToken.value : this.refreshToken), + idToken: (idToken != null ? idToken.value : this.idToken)); + } +} + +@JsonSerializable(explicitToJson: true) +class ValidationError { + const ValidationError({ + required this.loc, + required this.msg, + required this.type, + }); + + factory ValidationError.fromJson(Map json) => + _$ValidationErrorFromJson(json); + + static const toJsonFactory = _$ValidationErrorToJson; + Map toJson() => _$ValidationErrorToJson(this); + + @JsonKey(name: 'loc', defaultValue: []) + final List loc; + @JsonKey(name: 'msg', defaultValue: '') + final String msg; + @JsonKey(name: 'type', defaultValue: '') + final String type; + static const fromJsonFactory = _$ValidationErrorFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is ValidationError && + (identical(other.loc, loc) || + const DeepCollectionEquality().equals(other.loc, loc)) && + (identical(other.msg, msg) || + const DeepCollectionEquality().equals(other.msg, msg)) && + (identical(other.type, type) || + const DeepCollectionEquality().equals(other.type, type))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(loc) ^ + const DeepCollectionEquality().hash(msg) ^ + const DeepCollectionEquality().hash(type) ^ + runtimeType.hashCode; +} + +extension $ValidationErrorExtension on ValidationError { + ValidationError copyWith({List? loc, String? msg, String? type}) { + return ValidationError( + loc: loc ?? this.loc, msg: msg ?? this.msg, type: type ?? this.type); + } + + ValidationError copyWithWrapped( + {Wrapped>? loc, + Wrapped? msg, + Wrapped? type}) { + return ValidationError( + loc: (loc != null ? loc.value : this.loc), + msg: (msg != null ? msg.value : this.msg), + type: (type != null ? type.value : this.type)); + } +} + +@JsonSerializable(explicitToJson: true) +class VoteBase { + const VoteBase({ + required this.listId, + }); + + factory VoteBase.fromJson(Map json) => + _$VoteBaseFromJson(json); + + static const toJsonFactory = _$VoteBaseToJson; + Map toJson() => _$VoteBaseToJson(this); + + @JsonKey(name: 'list_id', defaultValue: '') + final String listId; + static const fromJsonFactory = _$VoteBaseFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is VoteBase && + (identical(other.listId, listId) || + const DeepCollectionEquality().equals(other.listId, listId))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(listId) ^ runtimeType.hashCode; +} + +extension $VoteBaseExtension on VoteBase { + VoteBase copyWith({String? listId}) { + return VoteBase(listId: listId ?? this.listId); + } + + VoteBase copyWithWrapped({Wrapped? listId}) { + return VoteBase(listId: (listId != null ? listId.value : this.listId)); + } +} + +@JsonSerializable(explicitToJson: true) +class VoteStats { + const VoteStats({ + required this.sectionId, + required this.count, + }); + + factory VoteStats.fromJson(Map json) => + _$VoteStatsFromJson(json); + + static const toJsonFactory = _$VoteStatsToJson; + Map toJson() => _$VoteStatsToJson(this); + + @JsonKey(name: 'section_id', defaultValue: '') + final String sectionId; + @JsonKey(name: 'count', defaultValue: 0) + final int count; + static const fromJsonFactory = _$VoteStatsFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is VoteStats && + (identical(other.sectionId, sectionId) || + const DeepCollectionEquality() + .equals(other.sectionId, sectionId)) && + (identical(other.count, count) || + const DeepCollectionEquality().equals(other.count, count))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(sectionId) ^ + const DeepCollectionEquality().hash(count) ^ + runtimeType.hashCode; +} + +extension $VoteStatsExtension on VoteStats { + VoteStats copyWith({String? sectionId, int? count}) { + return VoteStats( + sectionId: sectionId ?? this.sectionId, count: count ?? this.count); + } + + VoteStats copyWithWrapped({Wrapped? sectionId, Wrapped? count}) { + return VoteStats( + sectionId: (sectionId != null ? sectionId.value : this.sectionId), + count: (count != null ? count.value : this.count)); + } +} + +@JsonSerializable(explicitToJson: true) +class VoteStatus { + const VoteStatus({ + required this.status, + }); + + factory VoteStatus.fromJson(Map json) => + _$VoteStatusFromJson(json); + + static const toJsonFactory = _$VoteStatusToJson; + Map toJson() => _$VoteStatusToJson(this); + + @JsonKey( + name: 'status', + toJson: statusTypeToJson, + fromJson: statusTypeFromJson, + ) + final enums.StatusType status; + static const fromJsonFactory = _$VoteStatusFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is VoteStatus && + (identical(other.status, status) || + const DeepCollectionEquality().equals(other.status, status))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(status) ^ runtimeType.hashCode; +} + +extension $VoteStatusExtension on VoteStatus { + VoteStatus copyWith({enums.StatusType? status}) { + return VoteStatus(status: status ?? this.status); + } + + VoteStatus copyWithWrapped({Wrapped? status}) { + return VoteStatus(status: (status != null ? status.value : this.status)); + } +} + +@JsonSerializable(explicitToJson: true) +class AppSchemasSchemasAmapCashComplete { + const AppSchemasSchemasAmapCashComplete({ + required this.balance, + required this.userId, + required this.user, + }); + + factory AppSchemasSchemasAmapCashComplete.fromJson( + Map json) => + _$AppSchemasSchemasAmapCashCompleteFromJson(json); + + static const toJsonFactory = _$AppSchemasSchemasAmapCashCompleteToJson; + Map toJson() => + _$AppSchemasSchemasAmapCashCompleteToJson(this); + + @JsonKey(name: 'balance', defaultValue: 0.0) + final double balance; + @JsonKey(name: 'user_id', defaultValue: '') + final String userId; + @JsonKey(name: 'user') + final CoreUserSimple user; + static const fromJsonFactory = _$AppSchemasSchemasAmapCashCompleteFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is AppSchemasSchemasAmapCashComplete && + (identical(other.balance, balance) || + const DeepCollectionEquality() + .equals(other.balance, balance)) && + (identical(other.userId, userId) || + const DeepCollectionEquality().equals(other.userId, userId)) && + (identical(other.user, user) || + const DeepCollectionEquality().equals(other.user, user))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(balance) ^ + const DeepCollectionEquality().hash(userId) ^ + const DeepCollectionEquality().hash(user) ^ + runtimeType.hashCode; +} + +extension $AppSchemasSchemasAmapCashCompleteExtension + on AppSchemasSchemasAmapCashComplete { + AppSchemasSchemasAmapCashComplete copyWith( + {double? balance, String? userId, CoreUserSimple? user}) { + return AppSchemasSchemasAmapCashComplete( + balance: balance ?? this.balance, + userId: userId ?? this.userId, + user: user ?? this.user); + } + + AppSchemasSchemasAmapCashComplete copyWithWrapped( + {Wrapped? balance, + Wrapped? userId, + Wrapped? user}) { + return AppSchemasSchemasAmapCashComplete( + balance: (balance != null ? balance.value : this.balance), + userId: (userId != null ? userId.value : this.userId), + user: (user != null ? user.value : this.user)); + } +} + +@JsonSerializable(explicitToJson: true) +class AppSchemasSchemasAmapCashEdit { + const AppSchemasSchemasAmapCashEdit({ + required this.balance, + }); + + factory AppSchemasSchemasAmapCashEdit.fromJson(Map json) => + _$AppSchemasSchemasAmapCashEditFromJson(json); + + static const toJsonFactory = _$AppSchemasSchemasAmapCashEditToJson; + Map toJson() => _$AppSchemasSchemasAmapCashEditToJson(this); + + @JsonKey(name: 'balance', defaultValue: 0.0) + final double balance; + static const fromJsonFactory = _$AppSchemasSchemasAmapCashEditFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is AppSchemasSchemasAmapCashEdit && + (identical(other.balance, balance) || + const DeepCollectionEquality().equals(other.balance, balance))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(balance) ^ runtimeType.hashCode; +} + +extension $AppSchemasSchemasAmapCashEditExtension + on AppSchemasSchemasAmapCashEdit { + AppSchemasSchemasAmapCashEdit copyWith({double? balance}) { + return AppSchemasSchemasAmapCashEdit(balance: balance ?? this.balance); + } + + AppSchemasSchemasAmapCashEdit copyWithWrapped({Wrapped? balance}) { + return AppSchemasSchemasAmapCashEdit( + balance: (balance != null ? balance.value : this.balance)); + } +} + +@JsonSerializable(explicitToJson: true) +class AppSchemasSchemasCampaignResult { + const AppSchemasSchemasCampaignResult({ + required this.listId, + required this.count, + }); + + factory AppSchemasSchemasCampaignResult.fromJson(Map json) => + _$AppSchemasSchemasCampaignResultFromJson(json); + + static const toJsonFactory = _$AppSchemasSchemasCampaignResultToJson; + Map toJson() => + _$AppSchemasSchemasCampaignResultToJson(this); + + @JsonKey(name: 'list_id', defaultValue: '') + final String listId; + @JsonKey(name: 'count', defaultValue: 0) + final int count; + static const fromJsonFactory = _$AppSchemasSchemasCampaignResultFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is AppSchemasSchemasCampaignResult && + (identical(other.listId, listId) || + const DeepCollectionEquality().equals(other.listId, listId)) && + (identical(other.count, count) || + const DeepCollectionEquality().equals(other.count, count))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(listId) ^ + const DeepCollectionEquality().hash(count) ^ + runtimeType.hashCode; +} + +extension $AppSchemasSchemasCampaignResultExtension + on AppSchemasSchemasCampaignResult { + AppSchemasSchemasCampaignResult copyWith({String? listId, int? count}) { + return AppSchemasSchemasCampaignResult( + listId: listId ?? this.listId, count: count ?? this.count); + } + + AppSchemasSchemasCampaignResult copyWithWrapped( + {Wrapped? listId, Wrapped? count}) { + return AppSchemasSchemasCampaignResult( + listId: (listId != null ? listId.value : this.listId), + count: (count != null ? count.value : this.count)); + } +} + +@JsonSerializable(explicitToJson: true) +class AppSchemasSchemasRaffleCashComplete { + const AppSchemasSchemasRaffleCashComplete({ + required this.balance, + required this.userId, + required this.user, + }); + + factory AppSchemasSchemasRaffleCashComplete.fromJson( + Map json) => + _$AppSchemasSchemasRaffleCashCompleteFromJson(json); + + static const toJsonFactory = _$AppSchemasSchemasRaffleCashCompleteToJson; + Map toJson() => + _$AppSchemasSchemasRaffleCashCompleteToJson(this); + + @JsonKey(name: 'balance', defaultValue: 0.0) + final double balance; + @JsonKey(name: 'user_id', defaultValue: '') + final String userId; + @JsonKey(name: 'user') + final CoreUserSimple user; + static const fromJsonFactory = _$AppSchemasSchemasRaffleCashCompleteFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is AppSchemasSchemasRaffleCashComplete && + (identical(other.balance, balance) || + const DeepCollectionEquality() + .equals(other.balance, balance)) && + (identical(other.userId, userId) || + const DeepCollectionEquality().equals(other.userId, userId)) && + (identical(other.user, user) || + const DeepCollectionEquality().equals(other.user, user))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(balance) ^ + const DeepCollectionEquality().hash(userId) ^ + const DeepCollectionEquality().hash(user) ^ + runtimeType.hashCode; +} + +extension $AppSchemasSchemasRaffleCashCompleteExtension + on AppSchemasSchemasRaffleCashComplete { + AppSchemasSchemasRaffleCashComplete copyWith( + {double? balance, String? userId, CoreUserSimple? user}) { + return AppSchemasSchemasRaffleCashComplete( + balance: balance ?? this.balance, + userId: userId ?? this.userId, + user: user ?? this.user); + } + + AppSchemasSchemasRaffleCashComplete copyWithWrapped( + {Wrapped? balance, + Wrapped? userId, + Wrapped? user}) { + return AppSchemasSchemasRaffleCashComplete( + balance: (balance != null ? balance.value : this.balance), + userId: (userId != null ? userId.value : this.userId), + user: (user != null ? user.value : this.user)); + } +} + +@JsonSerializable(explicitToJson: true) +class AppSchemasSchemasRaffleCashEdit { + const AppSchemasSchemasRaffleCashEdit({ + required this.balance, + }); + + factory AppSchemasSchemasRaffleCashEdit.fromJson(Map json) => + _$AppSchemasSchemasRaffleCashEditFromJson(json); + + static const toJsonFactory = _$AppSchemasSchemasRaffleCashEditToJson; + Map toJson() => + _$AppSchemasSchemasRaffleCashEditToJson(this); + + @JsonKey(name: 'balance', defaultValue: 0.0) + final double balance; + static const fromJsonFactory = _$AppSchemasSchemasRaffleCashEditFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is AppSchemasSchemasRaffleCashEdit && + (identical(other.balance, balance) || + const DeepCollectionEquality().equals(other.balance, balance))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(balance) ^ runtimeType.hashCode; +} + +extension $AppSchemasSchemasRaffleCashEditExtension + on AppSchemasSchemasRaffleCashEdit { + AppSchemasSchemasRaffleCashEdit copyWith({double? balance}) { + return AppSchemasSchemasRaffleCashEdit(balance: balance ?? this.balance); + } + + AppSchemasSchemasRaffleCashEdit copyWithWrapped({Wrapped? balance}) { + return AppSchemasSchemasRaffleCashEdit( + balance: (balance != null ? balance.value : this.balance)); + } +} + +@JsonSerializable(explicitToJson: true) +class AppUtilsTypesStandardResponsesResult { + const AppUtilsTypesStandardResponsesResult({ + this.success, + }); + + factory AppUtilsTypesStandardResponsesResult.fromJson( + Map json) => + _$AppUtilsTypesStandardResponsesResultFromJson(json); + + static const toJsonFactory = _$AppUtilsTypesStandardResponsesResultToJson; + Map toJson() => + _$AppUtilsTypesStandardResponsesResultToJson(this); + + @JsonKey(name: 'success', defaultValue: true) + final bool? success; + static const fromJsonFactory = _$AppUtilsTypesStandardResponsesResultFromJson; + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other is AppUtilsTypesStandardResponsesResult && + (identical(other.success, success) || + const DeepCollectionEquality().equals(other.success, success))); + } + + @override + String toString() => jsonEncode(this); + + @override + int get hashCode => + const DeepCollectionEquality().hash(success) ^ runtimeType.hashCode; +} + +extension $AppUtilsTypesStandardResponsesResultExtension + on AppUtilsTypesStandardResponsesResult { + AppUtilsTypesStandardResponsesResult copyWith({bool? success}) { + return AppUtilsTypesStandardResponsesResult( + success: success ?? this.success); + } + + AppUtilsTypesStandardResponsesResult copyWithWrapped( + {Wrapped? success}) { + return AppUtilsTypesStandardResponsesResult( + success: (success != null ? success.value : this.success)); + } +} + +String? accountTypeNullableToJson(enums.AccountType? accountType) { + return accountType?.value; +} + +String? accountTypeToJson(enums.AccountType accountType) { + return accountType.value; +} + +enums.AccountType accountTypeFromJson( + Object? accountType, [ + enums.AccountType? defaultValue, +]) { + return enums.AccountType.values.firstWhereOrNull((e) => + e.value.toString().toLowerCase() == + accountType?.toString().toLowerCase()) ?? + defaultValue ?? + enums.AccountType.swaggerGeneratedUnknown; +} + +enums.AccountType? accountTypeNullableFromJson( + Object? accountType, [ + enums.AccountType? defaultValue, +]) { + if (accountType == null) { + return null; + } + return enums.AccountType.values + .firstWhereOrNull((e) => e.value == accountType) ?? + defaultValue; +} + +List accountTypeListToJson(List? accountType) { + if (accountType == null) { + return []; + } + + return accountType.map((e) => e.value!).toList(); +} + +List accountTypeListFromJson( + List? accountType, [ + List? defaultValue, +]) { + if (accountType == null) { + return defaultValue ?? []; + } + + return accountType.map((e) => accountTypeFromJson(e.toString())).toList(); +} + +List? accountTypeNullableListFromJson( + List? accountType, [ + List? defaultValue, +]) { + if (accountType == null) { + return defaultValue; + } + + return accountType.map((e) => accountTypeFromJson(e.toString())).toList(); +} + +String? amapSlotTypeNullableToJson(enums.AmapSlotType? amapSlotType) { + return amapSlotType?.value; +} + +String? amapSlotTypeToJson(enums.AmapSlotType amapSlotType) { + return amapSlotType.value; +} + +enums.AmapSlotType amapSlotTypeFromJson( + Object? amapSlotType, [ + enums.AmapSlotType? defaultValue, +]) { + return enums.AmapSlotType.values.firstWhereOrNull((e) => + e.value.toString().toLowerCase() == + amapSlotType?.toString().toLowerCase()) ?? + defaultValue ?? + enums.AmapSlotType.swaggerGeneratedUnknown; +} + +enums.AmapSlotType? amapSlotTypeNullableFromJson( + Object? amapSlotType, [ + enums.AmapSlotType? defaultValue, +]) { + if (amapSlotType == null) { + return null; + } + return enums.AmapSlotType.values + .firstWhereOrNull((e) => e.value == amapSlotType) ?? + defaultValue; +} + +List amapSlotTypeListToJson(List? amapSlotType) { + if (amapSlotType == null) { + return []; + } + + return amapSlotType.map((e) => e.value!).toList(); +} + +List amapSlotTypeListFromJson( + List? amapSlotType, [ + List? defaultValue, +]) { + if (amapSlotType == null) { + return defaultValue ?? []; + } + + return amapSlotType.map((e) => amapSlotTypeFromJson(e.toString())).toList(); +} + +List? amapSlotTypeNullableListFromJson( + List? amapSlotType, [ + List? defaultValue, +]) { + if (amapSlotType == null) { + return defaultValue; + } + + return amapSlotType.map((e) => amapSlotTypeFromJson(e.toString())).toList(); +} + +String? calendarEventTypeNullableToJson( + enums.CalendarEventType? calendarEventType) { + return calendarEventType?.value; +} + +String? calendarEventTypeToJson(enums.CalendarEventType calendarEventType) { + return calendarEventType.value; +} + +enums.CalendarEventType calendarEventTypeFromJson( + Object? calendarEventType, [ + enums.CalendarEventType? defaultValue, +]) { + return enums.CalendarEventType.values.firstWhereOrNull((e) => + e.value.toString().toLowerCase() == + calendarEventType?.toString().toLowerCase()) ?? + defaultValue ?? + enums.CalendarEventType.swaggerGeneratedUnknown; +} + +enums.CalendarEventType? calendarEventTypeNullableFromJson( + Object? calendarEventType, [ + enums.CalendarEventType? defaultValue, +]) { + if (calendarEventType == null) { + return null; + } + return enums.CalendarEventType.values + .firstWhereOrNull((e) => e.value == calendarEventType) ?? + defaultValue; +} + +List calendarEventTypeListToJson( + List? calendarEventType) { + if (calendarEventType == null) { + return []; + } + + return calendarEventType.map((e) => e.value!).toList(); +} + +List calendarEventTypeListFromJson( + List? calendarEventType, [ + List? defaultValue, +]) { + if (calendarEventType == null) { + return defaultValue ?? []; + } + + return calendarEventType + .map((e) => calendarEventTypeFromJson(e.toString())) + .toList(); +} + +List? calendarEventTypeNullableListFromJson( + List? calendarEventType, [ + List? defaultValue, +]) { + if (calendarEventType == null) { + return defaultValue; + } + + return calendarEventType + .map((e) => calendarEventTypeFromJson(e.toString())) + .toList(); +} + +String? deliveryStatusTypeNullableToJson( + enums.DeliveryStatusType? deliveryStatusType) { + return deliveryStatusType?.value; +} + +String? deliveryStatusTypeToJson(enums.DeliveryStatusType deliveryStatusType) { + return deliveryStatusType.value; +} + +enums.DeliveryStatusType deliveryStatusTypeFromJson( + Object? deliveryStatusType, [ + enums.DeliveryStatusType? defaultValue, +]) { + return enums.DeliveryStatusType.values.firstWhereOrNull((e) => + e.value.toString().toLowerCase() == + deliveryStatusType?.toString().toLowerCase()) ?? + defaultValue ?? + enums.DeliveryStatusType.swaggerGeneratedUnknown; +} + +enums.DeliveryStatusType? deliveryStatusTypeNullableFromJson( + Object? deliveryStatusType, [ + enums.DeliveryStatusType? defaultValue, +]) { + if (deliveryStatusType == null) { + return null; + } + return enums.DeliveryStatusType.values + .firstWhereOrNull((e) => e.value == deliveryStatusType) ?? + defaultValue; +} + +List deliveryStatusTypeListToJson( + List? deliveryStatusType) { + if (deliveryStatusType == null) { + return []; + } + + return deliveryStatusType.map((e) => e.value!).toList(); +} + +List deliveryStatusTypeListFromJson( + List? deliveryStatusType, [ + List? defaultValue, +]) { + if (deliveryStatusType == null) { + return defaultValue ?? []; + } + + return deliveryStatusType + .map((e) => deliveryStatusTypeFromJson(e.toString())) + .toList(); +} + +List? deliveryStatusTypeNullableListFromJson( + List? deliveryStatusType, [ + List? defaultValue, +]) { + if (deliveryStatusType == null) { + return defaultValue; + } + + return deliveryStatusType + .map((e) => deliveryStatusTypeFromJson(e.toString())) + .toList(); +} + +String? floorsTypeNullableToJson(enums.FloorsType? floorsType) { + return floorsType?.value; +} + +String? floorsTypeToJson(enums.FloorsType floorsType) { + return floorsType.value; +} + +enums.FloorsType floorsTypeFromJson( + Object? floorsType, [ + enums.FloorsType? defaultValue, +]) { + return enums.FloorsType.values.firstWhereOrNull((e) => + e.value.toString().toLowerCase() == + floorsType?.toString().toLowerCase()) ?? + defaultValue ?? + enums.FloorsType.swaggerGeneratedUnknown; +} + +enums.FloorsType? floorsTypeNullableFromJson( + Object? floorsType, [ + enums.FloorsType? defaultValue, +]) { + if (floorsType == null) { + return null; + } + return enums.FloorsType.values + .firstWhereOrNull((e) => e.value == floorsType) ?? + defaultValue; +} + +List floorsTypeListToJson(List? floorsType) { + if (floorsType == null) { + return []; + } + + return floorsType.map((e) => e.value!).toList(); +} + +List floorsTypeListFromJson( + List? floorsType, [ + List? defaultValue, +]) { + if (floorsType == null) { + return defaultValue ?? []; + } + + return floorsType.map((e) => floorsTypeFromJson(e.toString())).toList(); +} + +List? floorsTypeNullableListFromJson( + List? floorsType, [ + List? defaultValue, +]) { + if (floorsType == null) { + return defaultValue; + } + + return floorsType.map((e) => floorsTypeFromJson(e.toString())).toList(); +} + +String? listTypeNullableToJson(enums.ListType? listType) { + return listType?.value; +} + +String? listTypeToJson(enums.ListType listType) { + return listType.value; +} + +enums.ListType listTypeFromJson( + Object? listType, [ + enums.ListType? defaultValue, +]) { + return enums.ListType.values.firstWhereOrNull((e) => + e.value.toString().toLowerCase() == + listType?.toString().toLowerCase()) ?? + defaultValue ?? + enums.ListType.swaggerGeneratedUnknown; +} + +enums.ListType? listTypeNullableFromJson( + Object? listType, [ + enums.ListType? defaultValue, +]) { + if (listType == null) { + return null; + } + return enums.ListType.values.firstWhereOrNull((e) => e.value == listType) ?? + defaultValue; +} + +List listTypeListToJson(List? listType) { + if (listType == null) { + return []; + } + + return listType.map((e) => e.value!).toList(); +} + +List listTypeListFromJson( + List? listType, [ + List? defaultValue, +]) { + if (listType == null) { + return defaultValue ?? []; + } + + return listType.map((e) => listTypeFromJson(e.toString())).toList(); +} + +List? listTypeNullableListFromJson( + List? listType, [ + List? defaultValue, +]) { + if (listType == null) { + return defaultValue; + } + + return listType.map((e) => listTypeFromJson(e.toString())).toList(); +} + +String? raffleStatusTypeNullableToJson( + enums.RaffleStatusType? raffleStatusType) { + return raffleStatusType?.value; +} + +String? raffleStatusTypeToJson(enums.RaffleStatusType raffleStatusType) { + return raffleStatusType.value; +} + +enums.RaffleStatusType raffleStatusTypeFromJson( + Object? raffleStatusType, [ + enums.RaffleStatusType? defaultValue, +]) { + return enums.RaffleStatusType.values.firstWhereOrNull((e) => + e.value.toString().toLowerCase() == + raffleStatusType?.toString().toLowerCase()) ?? + defaultValue ?? + enums.RaffleStatusType.swaggerGeneratedUnknown; +} + +enums.RaffleStatusType? raffleStatusTypeNullableFromJson( + Object? raffleStatusType, [ + enums.RaffleStatusType? defaultValue, +]) { + if (raffleStatusType == null) { + return null; + } + return enums.RaffleStatusType.values + .firstWhereOrNull((e) => e.value == raffleStatusType) ?? + defaultValue; +} + +List raffleStatusTypeListToJson( + List? raffleStatusType) { + if (raffleStatusType == null) { + return []; + } + + return raffleStatusType.map((e) => e.value!).toList(); +} + +List raffleStatusTypeListFromJson( + List? raffleStatusType, [ + List? defaultValue, +]) { + if (raffleStatusType == null) { + return defaultValue ?? []; + } + + return raffleStatusType + .map((e) => raffleStatusTypeFromJson(e.toString())) + .toList(); +} + +List? raffleStatusTypeNullableListFromJson( + List? raffleStatusType, [ + List? defaultValue, +]) { + if (raffleStatusType == null) { + return defaultValue; + } + + return raffleStatusType + .map((e) => raffleStatusTypeFromJson(e.toString())) + .toList(); +} + +String? statusTypeNullableToJson(enums.StatusType? statusType) { + return statusType?.value; +} + +String? statusTypeToJson(enums.StatusType statusType) { + return statusType.value; +} + +enums.StatusType statusTypeFromJson( + Object? statusType, [ + enums.StatusType? defaultValue, +]) { + return enums.StatusType.values.firstWhereOrNull((e) => + e.value.toString().toLowerCase() == + statusType?.toString().toLowerCase()) ?? + defaultValue ?? + enums.StatusType.swaggerGeneratedUnknown; +} + +enums.StatusType? statusTypeNullableFromJson( + Object? statusType, [ + enums.StatusType? defaultValue, +]) { + if (statusType == null) { + return null; + } + return enums.StatusType.values + .firstWhereOrNull((e) => e.value == statusType) ?? + defaultValue; +} + +List statusTypeListToJson(List? statusType) { + if (statusType == null) { + return []; + } + + return statusType.map((e) => e.value!).toList(); +} + +List statusTypeListFromJson( + List? statusType, [ + List? defaultValue, +]) { + if (statusType == null) { + return defaultValue ?? []; + } + + return statusType.map((e) => statusTypeFromJson(e.toString())).toList(); +} + +List? statusTypeNullableListFromJson( + List? statusType, [ + List? defaultValue, +]) { + if (statusType == null) { + return defaultValue; + } + + return statusType.map((e) => statusTypeFromJson(e.toString())).toList(); +} + +String? appUtilsTypesBdebookingTypeDecisionNullableToJson( + enums.AppUtilsTypesBdebookingTypeDecision? + appUtilsTypesBdebookingTypeDecision) { + return appUtilsTypesBdebookingTypeDecision?.value; +} + +String? appUtilsTypesBdebookingTypeDecisionToJson( + enums.AppUtilsTypesBdebookingTypeDecision + appUtilsTypesBdebookingTypeDecision) { + return appUtilsTypesBdebookingTypeDecision.value; +} + +enums.AppUtilsTypesBdebookingTypeDecision + appUtilsTypesBdebookingTypeDecisionFromJson( + Object? appUtilsTypesBdebookingTypeDecision, [ + enums.AppUtilsTypesBdebookingTypeDecision? defaultValue, +]) { + return enums.AppUtilsTypesBdebookingTypeDecision.values.firstWhereOrNull( + (e) => + e.value.toString().toLowerCase() == + appUtilsTypesBdebookingTypeDecision?.toString().toLowerCase()) ?? + defaultValue ?? + enums.AppUtilsTypesBdebookingTypeDecision.swaggerGeneratedUnknown; +} + +enums.AppUtilsTypesBdebookingTypeDecision? + appUtilsTypesBdebookingTypeDecisionNullableFromJson( + Object? appUtilsTypesBdebookingTypeDecision, [ + enums.AppUtilsTypesBdebookingTypeDecision? defaultValue, +]) { + if (appUtilsTypesBdebookingTypeDecision == null) { + return null; + } + return enums.AppUtilsTypesBdebookingTypeDecision.values.firstWhereOrNull( + (e) => e.value == appUtilsTypesBdebookingTypeDecision) ?? + defaultValue; +} + +List appUtilsTypesBdebookingTypeDecisionListToJson( + List? + appUtilsTypesBdebookingTypeDecision) { + if (appUtilsTypesBdebookingTypeDecision == null) { + return []; + } + + return appUtilsTypesBdebookingTypeDecision.map((e) => e.value!).toList(); +} + +List + appUtilsTypesBdebookingTypeDecisionListFromJson( + List? appUtilsTypesBdebookingTypeDecision, [ + List? defaultValue, +]) { + if (appUtilsTypesBdebookingTypeDecision == null) { + return defaultValue ?? []; + } + + return appUtilsTypesBdebookingTypeDecision + .map((e) => appUtilsTypesBdebookingTypeDecisionFromJson(e.toString())) + .toList(); +} + +List? + appUtilsTypesBdebookingTypeDecisionNullableListFromJson( + List? appUtilsTypesBdebookingTypeDecision, [ + List? defaultValue, +]) { + if (appUtilsTypesBdebookingTypeDecision == null) { + return defaultValue; + } + + return appUtilsTypesBdebookingTypeDecision + .map((e) => appUtilsTypesBdebookingTypeDecisionFromJson(e.toString())) + .toList(); +} + +String? appUtilsTypesCalendarTypesDecisionNullableToJson( + enums.AppUtilsTypesCalendarTypesDecision? + appUtilsTypesCalendarTypesDecision) { + return appUtilsTypesCalendarTypesDecision?.value; +} + +String? appUtilsTypesCalendarTypesDecisionToJson( + enums.AppUtilsTypesCalendarTypesDecision + appUtilsTypesCalendarTypesDecision) { + return appUtilsTypesCalendarTypesDecision.value; +} + +enums.AppUtilsTypesCalendarTypesDecision + appUtilsTypesCalendarTypesDecisionFromJson( + Object? appUtilsTypesCalendarTypesDecision, [ + enums.AppUtilsTypesCalendarTypesDecision? defaultValue, +]) { + return enums.AppUtilsTypesCalendarTypesDecision.values.firstWhereOrNull((e) => + e.value.toString().toLowerCase() == + appUtilsTypesCalendarTypesDecision?.toString().toLowerCase()) ?? + defaultValue ?? + enums.AppUtilsTypesCalendarTypesDecision.swaggerGeneratedUnknown; +} + +enums.AppUtilsTypesCalendarTypesDecision? + appUtilsTypesCalendarTypesDecisionNullableFromJson( + Object? appUtilsTypesCalendarTypesDecision, [ + enums.AppUtilsTypesCalendarTypesDecision? defaultValue, +]) { + if (appUtilsTypesCalendarTypesDecision == null) { + return null; + } + return enums.AppUtilsTypesCalendarTypesDecision.values.firstWhereOrNull( + (e) => e.value == appUtilsTypesCalendarTypesDecision) ?? + defaultValue; +} + +List appUtilsTypesCalendarTypesDecisionListToJson( + List? + appUtilsTypesCalendarTypesDecision) { + if (appUtilsTypesCalendarTypesDecision == null) { + return []; + } + + return appUtilsTypesCalendarTypesDecision.map((e) => e.value!).toList(); +} + +List + appUtilsTypesCalendarTypesDecisionListFromJson( + List? appUtilsTypesCalendarTypesDecision, [ + List? defaultValue, +]) { + if (appUtilsTypesCalendarTypesDecision == null) { + return defaultValue ?? []; + } + + return appUtilsTypesCalendarTypesDecision + .map((e) => appUtilsTypesCalendarTypesDecisionFromJson(e.toString())) + .toList(); +} + +List? + appUtilsTypesCalendarTypesDecisionNullableListFromJson( + List? appUtilsTypesCalendarTypesDecision, [ + List? defaultValue, +]) { + if (appUtilsTypesCalendarTypesDecision == null) { + return defaultValue; + } + + return appUtilsTypesCalendarTypesDecision + .map((e) => appUtilsTypesCalendarTypesDecisionFromJson(e.toString())) + .toList(); +} + +// ignore: unused_element +String? _dateToJson(DateTime? date) { + if (date == null) { + return null; + } + + final year = date.year.toString(); + final month = date.month < 10 ? '0${date.month}' : date.month.toString(); + final day = date.day < 10 ? '0${date.day}' : date.day.toString(); + + return '$year-$month-$day'; +} + +class Wrapped { + final T value; + const Wrapped.value(this.value); +} diff --git a/lib/generated/openapi.models.swagger.g.dart b/lib/generated/openapi.models.swagger.g.dart new file mode 100644 index 000000000..7e0c0fdf4 --- /dev/null +++ b/lib/generated/openapi.models.swagger.g.dart @@ -0,0 +1,1993 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'openapi.models.swagger.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +AccessToken _$AccessTokenFromJson(Map json) => AccessToken( + accessToken: json['access_token'] as String? ?? '', + tokenType: json['token_type'] as String? ?? '', + ); + +Map _$AccessTokenToJson(AccessToken instance) => + { + 'access_token': instance.accessToken, + 'token_type': instance.tokenType, + }; + +AdvertBase _$AdvertBaseFromJson(Map json) => AdvertBase( + title: json['title'] as String? ?? '', + content: json['content'] as String? ?? '', + advertiserId: json['advertiser_id'] as String? ?? '', + tags: json['tags'] as String? ?? '', + ); + +Map _$AdvertBaseToJson(AdvertBase instance) => + { + 'title': instance.title, + 'content': instance.content, + 'advertiser_id': instance.advertiserId, + 'tags': instance.tags, + }; + +AdvertReturnComplete _$AdvertReturnCompleteFromJson( + Map json) => + AdvertReturnComplete( + title: json['title'] as String? ?? '', + content: json['content'] as String? ?? '', + advertiserId: json['advertiser_id'] as String? ?? '', + tags: json['tags'] as String? ?? '', + id: json['id'] as String? ?? '', + advertiser: AdvertiserComplete.fromJson( + json['advertiser'] as Map), + date: + json['date'] == null ? null : DateTime.parse(json['date'] as String), + ); + +Map _$AdvertReturnCompleteToJson( + AdvertReturnComplete instance) => + { + 'title': instance.title, + 'content': instance.content, + 'advertiser_id': instance.advertiserId, + 'tags': instance.tags, + 'id': instance.id, + 'advertiser': instance.advertiser.toJson(), + 'date': instance.date?.toIso8601String(), + }; + +AdvertUpdate _$AdvertUpdateFromJson(Map json) => AdvertUpdate( + title: json['title'] as String? ?? '', + content: json['content'] as String? ?? '', + tags: json['tags'] as String? ?? '', + ); + +Map _$AdvertUpdateToJson(AdvertUpdate instance) => + { + 'title': instance.title, + 'content': instance.content, + 'tags': instance.tags, + }; + +AdvertiserBase _$AdvertiserBaseFromJson(Map json) => + AdvertiserBase( + name: json['name'] as String? ?? '', + groupManagerId: json['group_manager_id'] as String? ?? '', + ); + +Map _$AdvertiserBaseToJson(AdvertiserBase instance) => + { + 'name': instance.name, + 'group_manager_id': instance.groupManagerId, + }; + +AdvertiserComplete _$AdvertiserCompleteFromJson(Map json) => + AdvertiserComplete( + name: json['name'] as String? ?? '', + groupManagerId: json['group_manager_id'] as String? ?? '', + id: json['id'] as String? ?? '', + ); + +Map _$AdvertiserCompleteToJson(AdvertiserComplete instance) => + { + 'name': instance.name, + 'group_manager_id': instance.groupManagerId, + 'id': instance.id, + }; + +AdvertiserUpdate _$AdvertiserUpdateFromJson(Map json) => + AdvertiserUpdate( + name: json['name'] as String? ?? '', + groupManagerId: json['group_manager_id'] as String? ?? '', + ); + +Map _$AdvertiserUpdateToJson(AdvertiserUpdate instance) => + { + 'name': instance.name, + 'group_manager_id': instance.groupManagerId, + }; + +Applicant _$ApplicantFromJson(Map json) => Applicant( + name: json['name'] as String? ?? '', + firstname: json['firstname'] as String? ?? '', + nickname: json['nickname'] as String? ?? '', + id: json['id'] as String? ?? '', + email: json['email'] as String? ?? '', + promo: json['promo'] as int? ?? 0, + phone: json['phone'] as String? ?? '', + ); + +Map _$ApplicantToJson(Applicant instance) => { + 'name': instance.name, + 'firstname': instance.firstname, + 'nickname': instance.nickname, + 'id': instance.id, + 'email': instance.email, + 'promo': instance.promo, + 'phone': instance.phone, + }; + +BatchResult _$BatchResultFromJson(Map json) => BatchResult( + failed: json['failed'] as Map, + ); + +Map _$BatchResultToJson(BatchResult instance) => + { + 'failed': instance.failed, + }; + +BodyAuthorizeValidationAuthAuthorizationFlowAuthorizeValidationPost + _$BodyAuthorizeValidationAuthAuthorizationFlowAuthorizeValidationPostFromJson( + Map json) => + BodyAuthorizeValidationAuthAuthorizationFlowAuthorizeValidationPost( + clientId: json['client_id'] as String? ?? '', + redirectUri: json['redirect_uri'] as String? ?? '', + responseType: json['response_type'] as String? ?? '', + scope: json['scope'] as String? ?? '', + state: json['state'] as String? ?? '', + nonce: json['nonce'] as String? ?? '', + codeChallenge: json['code_challenge'] as String? ?? '', + codeChallengeMethod: json['code_challenge_method'] as String? ?? '', + email: json['email'] as String? ?? '', + password: json['password'] as String? ?? '', + ); + +Map + _$BodyAuthorizeValidationAuthAuthorizationFlowAuthorizeValidationPostToJson( + BodyAuthorizeValidationAuthAuthorizationFlowAuthorizeValidationPost + instance) => + { + 'client_id': instance.clientId, + 'redirect_uri': instance.redirectUri, + 'response_type': instance.responseType, + 'scope': instance.scope, + 'state': instance.state, + 'nonce': instance.nonce, + 'code_challenge': instance.codeChallenge, + 'code_challenge_method': instance.codeChallengeMethod, + 'email': instance.email, + 'password': instance.password, + }; + +BodyCreateAdvertImageAdvertAdvertsAdvertIdPicturePost + _$BodyCreateAdvertImageAdvertAdvertsAdvertIdPicturePostFromJson( + Map json) => + BodyCreateAdvertImageAdvertAdvertsAdvertIdPicturePost( + image: json['image'] as String? ?? '', + ); + +Map + _$BodyCreateAdvertImageAdvertAdvertsAdvertIdPicturePostToJson( + BodyCreateAdvertImageAdvertAdvertsAdvertIdPicturePost instance) => + { + 'image': instance.image, + }; + +BodyCreateCampaignsLogoCampaignListsListIdLogoPost + _$BodyCreateCampaignsLogoCampaignListsListIdLogoPostFromJson( + Map json) => + BodyCreateCampaignsLogoCampaignListsListIdLogoPost( + image: json['image'] as String? ?? '', + ); + +Map _$BodyCreateCampaignsLogoCampaignListsListIdLogoPostToJson( + BodyCreateCampaignsLogoCampaignListsListIdLogoPost instance) => + { + 'image': instance.image, + }; + +BodyCreateCampaignsLogoCinemaSessionsSessionIdPosterPost + _$BodyCreateCampaignsLogoCinemaSessionsSessionIdPosterPostFromJson( + Map json) => + BodyCreateCampaignsLogoCinemaSessionsSessionIdPosterPost( + image: json['image'] as String? ?? '', + ); + +Map _$BodyCreateCampaignsLogoCinemaSessionsSessionIdPosterPostToJson( + BodyCreateCampaignsLogoCinemaSessionsSessionIdPosterPost instance) => + { + 'image': instance.image, + }; + +BodyCreateCurrentRaffleLogoTombolaRafflesRaffleIdLogoPost + _$BodyCreateCurrentRaffleLogoTombolaRafflesRaffleIdLogoPostFromJson( + Map json) => + BodyCreateCurrentRaffleLogoTombolaRafflesRaffleIdLogoPost( + image: json['image'] as String? ?? '', + ); + +Map _$BodyCreateCurrentRaffleLogoTombolaRafflesRaffleIdLogoPostToJson( + BodyCreateCurrentRaffleLogoTombolaRafflesRaffleIdLogoPost instance) => + { + 'image': instance.image, + }; + +BodyCreateCurrentUserProfilePictureUsersMeProfilePicturePost + _$BodyCreateCurrentUserProfilePictureUsersMeProfilePicturePostFromJson( + Map json) => + BodyCreateCurrentUserProfilePictureUsersMeProfilePicturePost( + image: json['image'] as String? ?? '', + ); + +Map + _$BodyCreateCurrentUserProfilePictureUsersMeProfilePicturePostToJson( + BodyCreateCurrentUserProfilePictureUsersMeProfilePicturePost + instance) => + { + 'image': instance.image, + }; + +BodyCreatePrizePictureTombolaPrizesPrizeIdPicturePost + _$BodyCreatePrizePictureTombolaPrizesPrizeIdPicturePostFromJson( + Map json) => + BodyCreatePrizePictureTombolaPrizesPrizeIdPicturePost( + image: json['image'] as String? ?? '', + ); + +Map + _$BodyCreatePrizePictureTombolaPrizesPrizeIdPicturePostToJson( + BodyCreatePrizePictureTombolaPrizesPrizeIdPicturePost instance) => + { + 'image': instance.image, + }; + +BodyLoginForAccessTokenAuthSimpleTokenPost + _$BodyLoginForAccessTokenAuthSimpleTokenPostFromJson( + Map json) => + BodyLoginForAccessTokenAuthSimpleTokenPost( + grantType: json['grant_type'] as String? ?? '', + username: json['username'] as String? ?? '', + password: json['password'] as String? ?? '', + scope: json['scope'] as String? ?? '', + clientId: json['client_id'] as String? ?? '', + clientSecret: json['client_secret'] as String? ?? '', + ); + +Map _$BodyLoginForAccessTokenAuthSimpleTokenPostToJson( + BodyLoginForAccessTokenAuthSimpleTokenPost instance) => + { + 'grant_type': instance.grantType, + 'username': instance.username, + 'password': instance.password, + 'scope': instance.scope, + 'client_id': instance.clientId, + 'client_secret': instance.clientSecret, + }; + +BodyPostAuthorizePageAuthAuthorizePost + _$BodyPostAuthorizePageAuthAuthorizePostFromJson( + Map json) => + BodyPostAuthorizePageAuthAuthorizePost( + responseType: json['response_type'] as String? ?? '', + clientId: json['client_id'] as String? ?? '', + redirectUri: json['redirect_uri'] as String? ?? '', + scope: json['scope'] as String? ?? '', + state: json['state'] as String? ?? '', + nonce: json['nonce'] as String? ?? '', + codeChallenge: json['code_challenge'] as String? ?? '', + codeChallengeMethod: json['code_challenge_method'] as String? ?? '', + ); + +Map _$BodyPostAuthorizePageAuthAuthorizePostToJson( + BodyPostAuthorizePageAuthAuthorizePost instance) => + { + 'response_type': instance.responseType, + 'client_id': instance.clientId, + 'redirect_uri': instance.redirectUri, + 'scope': instance.scope, + 'state': instance.state, + 'nonce': instance.nonce, + 'code_challenge': instance.codeChallenge, + 'code_challenge_method': instance.codeChallengeMethod, + }; + +BodyRecoverUserUsersRecoverPost _$BodyRecoverUserUsersRecoverPostFromJson( + Map json) => + BodyRecoverUserUsersRecoverPost( + email: json['email'] as String? ?? '', + ); + +Map _$BodyRecoverUserUsersRecoverPostToJson( + BodyRecoverUserUsersRecoverPost instance) => + { + 'email': instance.email, + }; + +BodyRegisterFirebaseDeviceNotificationDevicesPost + _$BodyRegisterFirebaseDeviceNotificationDevicesPostFromJson( + Map json) => + BodyRegisterFirebaseDeviceNotificationDevicesPost( + firebaseToken: json['firebase_token'] as String? ?? '', + ); + +Map _$BodyRegisterFirebaseDeviceNotificationDevicesPostToJson( + BodyRegisterFirebaseDeviceNotificationDevicesPost instance) => + { + 'firebase_token': instance.firebaseToken, + }; + +BodyTokenAuthTokenPost _$BodyTokenAuthTokenPostFromJson( + Map json) => + BodyTokenAuthTokenPost( + refreshToken: json['refresh_token'] as String? ?? '', + grantType: json['grant_type'] as String? ?? '', + code: json['code'] as String? ?? '', + redirectUri: json['redirect_uri'] as String? ?? '', + clientId: json['client_id'] as String? ?? '', + clientSecret: json['client_secret'] as String? ?? '', + codeVerifier: json['code_verifier'] as String? ?? '', + ); + +Map _$BodyTokenAuthTokenPostToJson( + BodyTokenAuthTokenPost instance) => + { + 'refresh_token': instance.refreshToken, + 'grant_type': instance.grantType, + 'code': instance.code, + 'redirect_uri': instance.redirectUri, + 'client_id': instance.clientId, + 'client_secret': instance.clientSecret, + 'code_verifier': instance.codeVerifier, + }; + +BookingBase _$BookingBaseFromJson(Map json) => BookingBase( + reason: json['reason'] as String? ?? '', + start: DateTime.parse(json['start'] as String), + end: DateTime.parse(json['end'] as String), + note: json['note'] as String? ?? '', + roomId: json['room_id'] as String? ?? '', + key: json['key'] as bool? ?? false, + recurrenceRule: json['recurrence_rule'] as String? ?? '', + entity: json['entity'] as String? ?? '', + ); + +Map _$BookingBaseToJson(BookingBase instance) => + { + 'reason': instance.reason, + 'start': instance.start.toIso8601String(), + 'end': instance.end.toIso8601String(), + 'note': instance.note, + 'room_id': instance.roomId, + 'key': instance.key, + 'recurrence_rule': instance.recurrenceRule, + 'entity': instance.entity, + }; + +BookingEdit _$BookingEditFromJson(Map json) => BookingEdit( + reason: json['reason'] as String? ?? '', + start: json['start'] == null + ? null + : DateTime.parse(json['start'] as String), + end: json['end'] == null ? null : DateTime.parse(json['end'] as String), + note: json['note'] as String? ?? '', + room: json['room'] as String? ?? '', + key: json['key'] as bool? ?? false, + recurrenceRule: json['recurrence_rule'] as String? ?? '', + entity: json['entity'] as String? ?? '', + ); + +Map _$BookingEditToJson(BookingEdit instance) => + { + 'reason': instance.reason, + 'start': instance.start?.toIso8601String(), + 'end': instance.end?.toIso8601String(), + 'note': instance.note, + 'room': instance.room, + 'key': instance.key, + 'recurrence_rule': instance.recurrenceRule, + 'entity': instance.entity, + }; + +BookingReturn _$BookingReturnFromJson(Map json) => + BookingReturn( + reason: json['reason'] as String? ?? '', + start: DateTime.parse(json['start'] as String), + end: DateTime.parse(json['end'] as String), + note: json['note'] as String? ?? '', + roomId: json['room_id'] as String? ?? '', + key: json['key'] as bool? ?? false, + recurrenceRule: json['recurrence_rule'] as String? ?? '', + entity: json['entity'] as String? ?? '', + id: json['id'] as String? ?? '', + decision: appUtilsTypesBdebookingTypeDecisionFromJson(json['decision']), + applicantId: json['applicant_id'] as String? ?? '', + room: RoomComplete.fromJson(json['room'] as Map), + ); + +Map _$BookingReturnToJson(BookingReturn instance) => + { + 'reason': instance.reason, + 'start': instance.start.toIso8601String(), + 'end': instance.end.toIso8601String(), + 'note': instance.note, + 'room_id': instance.roomId, + 'key': instance.key, + 'recurrence_rule': instance.recurrenceRule, + 'entity': instance.entity, + 'id': instance.id, + 'decision': appUtilsTypesBdebookingTypeDecisionToJson(instance.decision), + 'applicant_id': instance.applicantId, + 'room': instance.room.toJson(), + }; + +BookingReturnApplicant _$BookingReturnApplicantFromJson( + Map json) => + BookingReturnApplicant( + reason: json['reason'] as String? ?? '', + start: DateTime.parse(json['start'] as String), + end: DateTime.parse(json['end'] as String), + note: json['note'] as String? ?? '', + roomId: json['room_id'] as String? ?? '', + key: json['key'] as bool? ?? false, + recurrenceRule: json['recurrence_rule'] as String? ?? '', + entity: json['entity'] as String? ?? '', + id: json['id'] as String? ?? '', + decision: appUtilsTypesBdebookingTypeDecisionFromJson(json['decision']), + applicantId: json['applicant_id'] as String? ?? '', + room: RoomComplete.fromJson(json['room'] as Map), + applicant: Applicant.fromJson(json['applicant'] as Map), + ); + +Map _$BookingReturnApplicantToJson( + BookingReturnApplicant instance) => + { + 'reason': instance.reason, + 'start': instance.start.toIso8601String(), + 'end': instance.end.toIso8601String(), + 'note': instance.note, + 'room_id': instance.roomId, + 'key': instance.key, + 'recurrence_rule': instance.recurrenceRule, + 'entity': instance.entity, + 'id': instance.id, + 'decision': appUtilsTypesBdebookingTypeDecisionToJson(instance.decision), + 'applicant_id': instance.applicantId, + 'room': instance.room.toJson(), + 'applicant': instance.applicant.toJson(), + }; + +ChangePasswordRequest _$ChangePasswordRequestFromJson( + Map json) => + ChangePasswordRequest( + email: json['email'] as String? ?? '', + oldPassword: json['old_password'] as String? ?? '', + newPassword: json['new_password'] as String? ?? '', + ); + +Map _$ChangePasswordRequestToJson( + ChangePasswordRequest instance) => + { + 'email': instance.email, + 'old_password': instance.oldPassword, + 'new_password': instance.newPassword, + }; + +CineSessionBase _$CineSessionBaseFromJson(Map json) => + CineSessionBase( + start: DateTime.parse(json['start'] as String), + duration: json['duration'] as int? ?? 0, + name: json['name'] as String? ?? '', + overview: json['overview'] as String? ?? '', + genre: json['genre'] as String? ?? '', + tagline: json['tagline'] as String? ?? '', + ); + +Map _$CineSessionBaseToJson(CineSessionBase instance) => + { + 'start': instance.start.toIso8601String(), + 'duration': instance.duration, + 'name': instance.name, + 'overview': instance.overview, + 'genre': instance.genre, + 'tagline': instance.tagline, + }; + +CineSessionComplete _$CineSessionCompleteFromJson(Map json) => + CineSessionComplete( + start: DateTime.parse(json['start'] as String), + duration: json['duration'] as int? ?? 0, + name: json['name'] as String? ?? '', + overview: json['overview'] as String? ?? '', + genre: json['genre'] as String? ?? '', + tagline: json['tagline'] as String? ?? '', + id: json['id'] as String? ?? '', + ); + +Map _$CineSessionCompleteToJson( + CineSessionComplete instance) => + { + 'start': instance.start.toIso8601String(), + 'duration': instance.duration, + 'name': instance.name, + 'overview': instance.overview, + 'genre': instance.genre, + 'tagline': instance.tagline, + 'id': instance.id, + }; + +CineSessionUpdate _$CineSessionUpdateFromJson(Map json) => + CineSessionUpdate( + name: json['name'] as String? ?? '', + start: json['start'] == null + ? null + : DateTime.parse(json['start'] as String), + duration: json['duration'] as int? ?? 0, + overview: json['overview'] as String? ?? '', + genre: json['genre'] as String? ?? '', + tagline: json['tagline'] as String? ?? '', + ); + +Map _$CineSessionUpdateToJson(CineSessionUpdate instance) => + { + 'name': instance.name, + 'start': instance.start?.toIso8601String(), + 'duration': instance.duration, + 'overview': instance.overview, + 'genre': instance.genre, + 'tagline': instance.tagline, + }; + +CoreBatchDeleteMembership _$CoreBatchDeleteMembershipFromJson( + Map json) => + CoreBatchDeleteMembership( + groupId: json['group_id'] as String? ?? '', + ); + +Map _$CoreBatchDeleteMembershipToJson( + CoreBatchDeleteMembership instance) => + { + 'group_id': instance.groupId, + }; + +CoreBatchMembership _$CoreBatchMembershipFromJson(Map json) => + CoreBatchMembership( + userEmails: (json['user_emails'] as List?) + ?.map((e) => e as String) + .toList() ?? + [], + groupId: json['group_id'] as String? ?? '', + description: json['description'] as String? ?? '', + ); + +Map _$CoreBatchMembershipToJson( + CoreBatchMembership instance) => + { + 'user_emails': instance.userEmails, + 'group_id': instance.groupId, + 'description': instance.description, + }; + +CoreBatchUserCreateRequest _$CoreBatchUserCreateRequestFromJson( + Map json) => + CoreBatchUserCreateRequest( + email: json['email'] as String? ?? '', + accountType: accountTypeNullableFromJson(json['account_type']), + ); + +Map _$CoreBatchUserCreateRequestToJson( + CoreBatchUserCreateRequest instance) => + { + 'email': instance.email, + 'account_type': accountTypeNullableToJson(instance.accountType), + }; + +CoreGroup _$CoreGroupFromJson(Map json) => CoreGroup( + name: json['name'] as String? ?? '', + description: json['description'] as String? ?? '', + id: json['id'] as String? ?? '', + members: (json['members'] as List?) + ?.map((e) => CoreUserSimple.fromJson(e as Map)) + .toList() ?? + [], + ); + +Map _$CoreGroupToJson(CoreGroup instance) => { + 'name': instance.name, + 'description': instance.description, + 'id': instance.id, + 'members': instance.members?.map((e) => e.toJson()).toList(), + }; + +CoreGroupCreate _$CoreGroupCreateFromJson(Map json) => + CoreGroupCreate( + name: json['name'] as String? ?? '', + description: json['description'] as String? ?? '', + ); + +Map _$CoreGroupCreateToJson(CoreGroupCreate instance) => + { + 'name': instance.name, + 'description': instance.description, + }; + +CoreGroupSimple _$CoreGroupSimpleFromJson(Map json) => + CoreGroupSimple( + name: json['name'] as String? ?? '', + description: json['description'] as String? ?? '', + id: json['id'] as String? ?? '', + ); + +Map _$CoreGroupSimpleToJson(CoreGroupSimple instance) => + { + 'name': instance.name, + 'description': instance.description, + 'id': instance.id, + }; + +CoreGroupUpdate _$CoreGroupUpdateFromJson(Map json) => + CoreGroupUpdate( + name: json['name'] as String? ?? '', + description: json['description'] as String? ?? '', + ); + +Map _$CoreGroupUpdateToJson(CoreGroupUpdate instance) => + { + 'name': instance.name, + 'description': instance.description, + }; + +CoreInformation _$CoreInformationFromJson(Map json) => + CoreInformation( + ready: json['ready'] as bool? ?? false, + version: json['version'] as String? ?? '', + minimalTitanVersionCode: json['minimal_titan_version_code'] as int? ?? 0, + minimalTitanVersion: json['minimal_titan_version'] as String? ?? '', + ); + +Map _$CoreInformationToJson(CoreInformation instance) => + { + 'ready': instance.ready, + 'version': instance.version, + 'minimal_titan_version_code': instance.minimalTitanVersionCode, + 'minimal_titan_version': instance.minimalTitanVersion, + }; + +CoreMembership _$CoreMembershipFromJson(Map json) => + CoreMembership( + userId: json['user_id'] as String? ?? '', + groupId: json['group_id'] as String? ?? '', + description: json['description'] as String? ?? '', + ); + +Map _$CoreMembershipToJson(CoreMembership instance) => + { + 'user_id': instance.userId, + 'group_id': instance.groupId, + 'description': instance.description, + }; + +CoreMembershipDelete _$CoreMembershipDeleteFromJson( + Map json) => + CoreMembershipDelete( + userId: json['user_id'] as String? ?? '', + groupId: json['group_id'] as String? ?? '', + ); + +Map _$CoreMembershipDeleteToJson( + CoreMembershipDelete instance) => + { + 'user_id': instance.userId, + 'group_id': instance.groupId, + }; + +CoreUser _$CoreUserFromJson(Map json) => CoreUser( + name: json['name'] as String? ?? '', + firstname: json['firstname'] as String? ?? '', + nickname: json['nickname'] as String? ?? '', + id: json['id'] as String? ?? '', + email: json['email'] as String? ?? '', + birthday: json['birthday'] == null + ? null + : DateTime.parse(json['birthday'] as String), + promo: json['promo'] as int? ?? 0, + floor: floorsTypeFromJson(json['floor']), + phone: json['phone'] as String? ?? '', + createdOn: json['created_on'] == null + ? null + : DateTime.parse(json['created_on'] as String), + groups: (json['groups'] as List?) + ?.map((e) => CoreGroupSimple.fromJson(e as Map)) + .toList() ?? + [], + ); + +Map _$CoreUserToJson(CoreUser instance) => { + 'name': instance.name, + 'firstname': instance.firstname, + 'nickname': instance.nickname, + 'id': instance.id, + 'email': instance.email, + 'birthday': _dateToJson(instance.birthday), + 'promo': instance.promo, + 'floor': floorsTypeToJson(instance.floor), + 'phone': instance.phone, + 'created_on': instance.createdOn?.toIso8601String(), + 'groups': instance.groups?.map((e) => e.toJson()).toList(), + }; + +CoreUserActivateRequest _$CoreUserActivateRequestFromJson( + Map json) => + CoreUserActivateRequest( + name: json['name'] as String? ?? '', + firstname: json['firstname'] as String? ?? '', + nickname: json['nickname'] as String? ?? '', + activationToken: json['activation_token'] as String? ?? '', + password: json['password'] as String? ?? '', + birthday: json['birthday'] == null + ? null + : DateTime.parse(json['birthday'] as String), + phone: json['phone'] as String? ?? '', + floor: floorsTypeFromJson(json['floor']), + promo: json['promo'] as int? ?? 0, + ); + +Map _$CoreUserActivateRequestToJson( + CoreUserActivateRequest instance) => + { + 'name': instance.name, + 'firstname': instance.firstname, + 'nickname': instance.nickname, + 'activation_token': instance.activationToken, + 'password': instance.password, + 'birthday': _dateToJson(instance.birthday), + 'phone': instance.phone, + 'floor': floorsTypeToJson(instance.floor), + 'promo': instance.promo, + }; + +CoreUserCreateRequest _$CoreUserCreateRequestFromJson( + Map json) => + CoreUserCreateRequest( + email: json['email'] as String? ?? '', + ); + +Map _$CoreUserCreateRequestToJson( + CoreUserCreateRequest instance) => + { + 'email': instance.email, + }; + +CoreUserSimple _$CoreUserSimpleFromJson(Map json) => + CoreUserSimple( + name: json['name'] as String? ?? '', + firstname: json['firstname'] as String? ?? '', + nickname: json['nickname'] as String? ?? '', + id: json['id'] as String? ?? '', + ); + +Map _$CoreUserSimpleToJson(CoreUserSimple instance) => + { + 'name': instance.name, + 'firstname': instance.firstname, + 'nickname': instance.nickname, + 'id': instance.id, + }; + +CoreUserUpdate _$CoreUserUpdateFromJson(Map json) => + CoreUserUpdate( + nickname: json['nickname'] as String? ?? '', + birthday: json['birthday'] == null + ? null + : DateTime.parse(json['birthday'] as String), + phone: json['phone'] as String? ?? '', + floor: floorsTypeNullableFromJson(json['floor']), + ); + +Map _$CoreUserUpdateToJson(CoreUserUpdate instance) => + { + 'nickname': instance.nickname, + 'birthday': _dateToJson(instance.birthday), + 'phone': instance.phone, + 'floor': floorsTypeNullableToJson(instance.floor), + }; + +CoreUserUpdateAdmin _$CoreUserUpdateAdminFromJson(Map json) => + CoreUserUpdateAdmin( + name: json['name'] as String? ?? '', + firstname: json['firstname'] as String? ?? '', + promo: json['promo'] as int? ?? 0, + nickname: json['nickname'] as String? ?? '', + birthday: json['birthday'] == null + ? null + : DateTime.parse(json['birthday'] as String), + phone: json['phone'] as String? ?? '', + floor: floorsTypeNullableFromJson(json['floor']), + ); + +Map _$CoreUserUpdateAdminToJson( + CoreUserUpdateAdmin instance) => + { + 'name': instance.name, + 'firstname': instance.firstname, + 'promo': instance.promo, + 'nickname': instance.nickname, + 'birthday': _dateToJson(instance.birthday), + 'phone': instance.phone, + 'floor': floorsTypeNullableToJson(instance.floor), + }; + +DeliveryBase _$DeliveryBaseFromJson(Map json) => DeliveryBase( + deliveryDate: DateTime.parse(json['delivery_date'] as String), + productsIds: (json['products_ids'] as List?) + ?.map((e) => e as String) + .toList() ?? + [], + ); + +Map _$DeliveryBaseToJson(DeliveryBase instance) => + { + 'delivery_date': _dateToJson(instance.deliveryDate), + 'products_ids': instance.productsIds, + }; + +DeliveryProductsUpdate _$DeliveryProductsUpdateFromJson( + Map json) => + DeliveryProductsUpdate( + productsIds: (json['products_ids'] as List?) + ?.map((e) => e as String) + .toList() ?? + [], + ); + +Map _$DeliveryProductsUpdateToJson( + DeliveryProductsUpdate instance) => + { + 'products_ids': instance.productsIds, + }; + +DeliveryReturn _$DeliveryReturnFromJson(Map json) => + DeliveryReturn( + deliveryDate: DateTime.parse(json['delivery_date'] as String), + products: (json['products'] as List?) + ?.map((e) => ProductComplete.fromJson(e as Map)) + .toList() ?? + [], + id: json['id'] as String? ?? '', + status: deliveryStatusTypeFromJson(json['status']), + ); + +Map _$DeliveryReturnToJson(DeliveryReturn instance) => + { + 'delivery_date': _dateToJson(instance.deliveryDate), + 'products': instance.products?.map((e) => e.toJson()).toList(), + 'id': instance.id, + 'status': deliveryStatusTypeToJson(instance.status), + }; + +DeliveryUpdate _$DeliveryUpdateFromJson(Map json) => + DeliveryUpdate( + deliveryDate: json['delivery_date'] == null + ? null + : DateTime.parse(json['delivery_date'] as String), + ); + +Map _$DeliveryUpdateToJson(DeliveryUpdate instance) => + { + 'delivery_date': _dateToJson(instance.deliveryDate), + }; + +EventApplicant _$EventApplicantFromJson(Map json) => + EventApplicant( + name: json['name'] as String? ?? '', + firstname: json['firstname'] as String? ?? '', + nickname: json['nickname'] as String? ?? '', + id: json['id'] as String? ?? '', + email: json['email'] as String? ?? '', + promo: json['promo'] as int? ?? 0, + phone: json['phone'] as String? ?? '', + ); + +Map _$EventApplicantToJson(EventApplicant instance) => + { + 'name': instance.name, + 'firstname': instance.firstname, + 'nickname': instance.nickname, + 'id': instance.id, + 'email': instance.email, + 'promo': instance.promo, + 'phone': instance.phone, + }; + +EventBase _$EventBaseFromJson(Map json) => EventBase( + name: json['name'] as String? ?? '', + organizer: json['organizer'] as String? ?? '', + start: DateTime.parse(json['start'] as String), + end: DateTime.parse(json['end'] as String), + allDay: json['all_day'] as bool? ?? false, + location: json['location'] as String? ?? '', + type: calendarEventTypeFromJson(json['type']), + description: json['description'] as String? ?? '', + recurrenceRule: json['recurrence_rule'] as String? ?? '', + ); + +Map _$EventBaseToJson(EventBase instance) => { + 'name': instance.name, + 'organizer': instance.organizer, + 'start': instance.start.toIso8601String(), + 'end': instance.end.toIso8601String(), + 'all_day': instance.allDay, + 'location': instance.location, + 'type': calendarEventTypeToJson(instance.type), + 'description': instance.description, + 'recurrence_rule': instance.recurrenceRule, + }; + +EventComplete _$EventCompleteFromJson(Map json) => + EventComplete( + name: json['name'] as String? ?? '', + organizer: json['organizer'] as String? ?? '', + start: DateTime.parse(json['start'] as String), + end: DateTime.parse(json['end'] as String), + allDay: json['all_day'] as bool? ?? false, + location: json['location'] as String? ?? '', + type: calendarEventTypeFromJson(json['type']), + description: json['description'] as String? ?? '', + recurrenceRule: json['recurrence_rule'] as String? ?? '', + id: json['id'] as String? ?? '', + decision: appUtilsTypesCalendarTypesDecisionFromJson(json['decision']), + applicantId: json['applicant_id'] as String? ?? '', + ); + +Map _$EventCompleteToJson(EventComplete instance) => + { + 'name': instance.name, + 'organizer': instance.organizer, + 'start': instance.start.toIso8601String(), + 'end': instance.end.toIso8601String(), + 'all_day': instance.allDay, + 'location': instance.location, + 'type': calendarEventTypeToJson(instance.type), + 'description': instance.description, + 'recurrence_rule': instance.recurrenceRule, + 'id': instance.id, + 'decision': appUtilsTypesCalendarTypesDecisionToJson(instance.decision), + 'applicant_id': instance.applicantId, + }; + +EventEdit _$EventEditFromJson(Map json) => EventEdit( + name: json['name'] as String? ?? '', + organizer: json['organizer'] as String? ?? '', + start: json['start'] == null + ? null + : DateTime.parse(json['start'] as String), + end: json['end'] == null ? null : DateTime.parse(json['end'] as String), + allDay: json['all_day'] as bool? ?? false, + location: json['location'] as String? ?? '', + type: calendarEventTypeNullableFromJson(json['type']), + description: json['description'] as String? ?? '', + recurrenceRule: json['recurrence_rule'] as String? ?? '', + ); + +Map _$EventEditToJson(EventEdit instance) => { + 'name': instance.name, + 'organizer': instance.organizer, + 'start': instance.start?.toIso8601String(), + 'end': instance.end?.toIso8601String(), + 'all_day': instance.allDay, + 'location': instance.location, + 'type': calendarEventTypeNullableToJson(instance.type), + 'description': instance.description, + 'recurrence_rule': instance.recurrenceRule, + }; + +EventReturn _$EventReturnFromJson(Map json) => EventReturn( + name: json['name'] as String? ?? '', + organizer: json['organizer'] as String? ?? '', + start: DateTime.parse(json['start'] as String), + end: DateTime.parse(json['end'] as String), + allDay: json['all_day'] as bool? ?? false, + location: json['location'] as String? ?? '', + type: calendarEventTypeFromJson(json['type']), + description: json['description'] as String? ?? '', + recurrenceRule: json['recurrence_rule'] as String? ?? '', + id: json['id'] as String? ?? '', + decision: appUtilsTypesCalendarTypesDecisionFromJson(json['decision']), + applicantId: json['applicant_id'] as String? ?? '', + applicant: + EventApplicant.fromJson(json['applicant'] as Map), + ); + +Map _$EventReturnToJson(EventReturn instance) => + { + 'name': instance.name, + 'organizer': instance.organizer, + 'start': instance.start.toIso8601String(), + 'end': instance.end.toIso8601String(), + 'all_day': instance.allDay, + 'location': instance.location, + 'type': calendarEventTypeToJson(instance.type), + 'description': instance.description, + 'recurrence_rule': instance.recurrenceRule, + 'id': instance.id, + 'decision': appUtilsTypesCalendarTypesDecisionToJson(instance.decision), + 'applicant_id': instance.applicantId, + 'applicant': instance.applicant.toJson(), + }; + +FirebaseDevice _$FirebaseDeviceFromJson(Map json) => + FirebaseDevice( + userId: json['user_id'] as String? ?? '', + firebaseDeviceToken: json['firebase_device_token'] as String? ?? '', + ); + +Map _$FirebaseDeviceToJson(FirebaseDevice instance) => + { + 'user_id': instance.userId, + 'firebase_device_token': instance.firebaseDeviceToken, + }; + +HTTPValidationError _$HTTPValidationErrorFromJson(Map json) => + HTTPValidationError( + detail: (json['detail'] as List?) + ?.map((e) => ValidationError.fromJson(e as Map)) + .toList() ?? + [], + ); + +Map _$HTTPValidationErrorToJson( + HTTPValidationError instance) => + { + 'detail': instance.detail?.map((e) => e.toJson()).toList(), + }; + +Information _$InformationFromJson(Map json) => Information( + manager: json['manager'] as String? ?? '', + link: json['link'] as String? ?? '', + description: json['description'] as String? ?? '', + ); + +Map _$InformationToJson(Information instance) => + { + 'manager': instance.manager, + 'link': instance.link, + 'description': instance.description, + }; + +InformationEdit _$InformationEditFromJson(Map json) => + InformationEdit( + manager: json['manager'] as String? ?? '', + link: json['link'] as String? ?? '', + description: json['description'] as String? ?? '', + ); + +Map _$InformationEditToJson(InformationEdit instance) => + { + 'manager': instance.manager, + 'link': instance.link, + 'description': instance.description, + }; + +Item _$ItemFromJson(Map json) => Item( + name: json['name'] as String? ?? '', + suggestedCaution: json['suggested_caution'] as int? ?? 0, + totalQuantity: json['total_quantity'] as int? ?? 0, + suggestedLendingDuration: + (json['suggested_lending_duration'] as num?)?.toDouble() ?? 0.0, + id: json['id'] as String? ?? '', + loanerId: json['loaner_id'] as String? ?? '', + loanedQuantity: json['loaned_quantity'] as int? ?? 0, + ); + +Map _$ItemToJson(Item instance) => { + 'name': instance.name, + 'suggested_caution': instance.suggestedCaution, + 'total_quantity': instance.totalQuantity, + 'suggested_lending_duration': instance.suggestedLendingDuration, + 'id': instance.id, + 'loaner_id': instance.loanerId, + 'loaned_quantity': instance.loanedQuantity, + }; + +ItemBase _$ItemBaseFromJson(Map json) => ItemBase( + name: json['name'] as String? ?? '', + suggestedCaution: json['suggested_caution'] as int? ?? 0, + totalQuantity: json['total_quantity'] as int? ?? 0, + suggestedLendingDuration: + (json['suggested_lending_duration'] as num?)?.toDouble() ?? 0.0, + ); + +Map _$ItemBaseToJson(ItemBase instance) => { + 'name': instance.name, + 'suggested_caution': instance.suggestedCaution, + 'total_quantity': instance.totalQuantity, + 'suggested_lending_duration': instance.suggestedLendingDuration, + }; + +ItemBorrowed _$ItemBorrowedFromJson(Map json) => ItemBorrowed( + itemId: json['item_id'] as String? ?? '', + quantity: json['quantity'] as int? ?? 0, + ); + +Map _$ItemBorrowedToJson(ItemBorrowed instance) => + { + 'item_id': instance.itemId, + 'quantity': instance.quantity, + }; + +ItemQuantity _$ItemQuantityFromJson(Map json) => ItemQuantity( + quantity: json['quantity'] as int? ?? 0, + itemSimple: + ItemSimple.fromJson(json['itemSimple'] as Map), + ); + +Map _$ItemQuantityToJson(ItemQuantity instance) => + { + 'quantity': instance.quantity, + 'itemSimple': instance.itemSimple.toJson(), + }; + +ItemSimple _$ItemSimpleFromJson(Map json) => ItemSimple( + id: json['id'] as String? ?? '', + name: json['name'] as String? ?? '', + loanerId: json['loaner_id'] as String? ?? '', + ); + +Map _$ItemSimpleToJson(ItemSimple instance) => + { + 'id': instance.id, + 'name': instance.name, + 'loaner_id': instance.loanerId, + }; + +ItemUpdate _$ItemUpdateFromJson(Map json) => ItemUpdate( + name: json['name'] as String? ?? '', + suggestedCaution: json['suggested_caution'] as int? ?? 0, + totalQuantity: json['total_quantity'] as int? ?? 0, + suggestedLendingDuration: + (json['suggested_lending_duration'] as num?)?.toDouble() ?? 0.0, + ); + +Map _$ItemUpdateToJson(ItemUpdate instance) => + { + 'name': instance.name, + 'suggested_caution': instance.suggestedCaution, + 'total_quantity': instance.totalQuantity, + 'suggested_lending_duration': instance.suggestedLendingDuration, + }; + +ListBase _$ListBaseFromJson(Map json) => ListBase( + name: json['name'] as String? ?? '', + description: json['description'] as String? ?? '', + type: listTypeFromJson(json['type']), + sectionId: json['section_id'] as String? ?? '', + members: (json['members'] as List?) + ?.map((e) => ListMemberBase.fromJson(e as Map)) + .toList() ?? + [], + program: json['program'] as String? ?? '', + ); + +Map _$ListBaseToJson(ListBase instance) => { + 'name': instance.name, + 'description': instance.description, + 'type': listTypeToJson(instance.type), + 'section_id': instance.sectionId, + 'members': instance.members.map((e) => e.toJson()).toList(), + 'program': instance.program, + }; + +ListEdit _$ListEditFromJson(Map json) => ListEdit( + name: json['name'] as String? ?? '', + description: json['description'] as String? ?? '', + type: listTypeNullableFromJson(json['type']), + members: (json['members'] as List?) + ?.map((e) => ListMemberBase.fromJson(e as Map)) + .toList() ?? + [], + program: json['program'] as String? ?? '', + ); + +Map _$ListEditToJson(ListEdit instance) => { + 'name': instance.name, + 'description': instance.description, + 'type': listTypeNullableToJson(instance.type), + 'members': instance.members?.map((e) => e.toJson()).toList(), + 'program': instance.program, + }; + +ListMemberBase _$ListMemberBaseFromJson(Map json) => + ListMemberBase( + userId: json['user_id'] as String? ?? '', + role: json['role'] as String? ?? '', + ); + +Map _$ListMemberBaseToJson(ListMemberBase instance) => + { + 'user_id': instance.userId, + 'role': instance.role, + }; + +ListMemberComplete _$ListMemberCompleteFromJson(Map json) => + ListMemberComplete( + userId: json['user_id'] as String? ?? '', + role: json['role'] as String? ?? '', + user: CoreUserSimple.fromJson(json['user'] as Map), + ); + +Map _$ListMemberCompleteToJson(ListMemberComplete instance) => + { + 'user_id': instance.userId, + 'role': instance.role, + 'user': instance.user.toJson(), + }; + +ListReturn _$ListReturnFromJson(Map json) => ListReturn( + id: json['id'] as String? ?? '', + name: json['name'] as String? ?? '', + description: json['description'] as String? ?? '', + type: listTypeFromJson(json['type']), + section: + SectionComplete.fromJson(json['section'] as Map), + members: (json['members'] as List?) + ?.map( + (e) => ListMemberComplete.fromJson(e as Map)) + .toList() ?? + [], + program: json['program'] as String? ?? '', + ); + +Map _$ListReturnToJson(ListReturn instance) => + { + 'id': instance.id, + 'name': instance.name, + 'description': instance.description, + 'type': listTypeToJson(instance.type), + 'section': instance.section.toJson(), + 'members': instance.members.map((e) => e.toJson()).toList(), + 'program': instance.program, + }; + +Loan _$LoanFromJson(Map json) => Loan( + borrowerId: json['borrower_id'] as String? ?? '', + loanerId: json['loaner_id'] as String? ?? '', + start: DateTime.parse(json['start'] as String), + end: DateTime.parse(json['end'] as String), + notes: json['notes'] as String? ?? '', + caution: json['caution'] as String? ?? '', + id: json['id'] as String? ?? '', + returned: json['returned'] as bool? ?? false, + itemsQty: (json['items_qty'] as List?) + ?.map((e) => ItemQuantity.fromJson(e as Map)) + .toList() ?? + [], + borrower: + CoreUserSimple.fromJson(json['borrower'] as Map), + loaner: Loaner.fromJson(json['loaner'] as Map), + ); + +Map _$LoanToJson(Loan instance) => { + 'borrower_id': instance.borrowerId, + 'loaner_id': instance.loanerId, + 'start': _dateToJson(instance.start), + 'end': _dateToJson(instance.end), + 'notes': instance.notes, + 'caution': instance.caution, + 'id': instance.id, + 'returned': instance.returned, + 'items_qty': instance.itemsQty.map((e) => e.toJson()).toList(), + 'borrower': instance.borrower.toJson(), + 'loaner': instance.loaner.toJson(), + }; + +LoanCreation _$LoanCreationFromJson(Map json) => LoanCreation( + borrowerId: json['borrower_id'] as String? ?? '', + loanerId: json['loaner_id'] as String? ?? '', + start: DateTime.parse(json['start'] as String), + end: DateTime.parse(json['end'] as String), + notes: json['notes'] as String? ?? '', + caution: json['caution'] as String? ?? '', + itemsBorrowed: (json['items_borrowed'] as List?) + ?.map((e) => ItemBorrowed.fromJson(e as Map)) + .toList() ?? + [], + ); + +Map _$LoanCreationToJson(LoanCreation instance) => + { + 'borrower_id': instance.borrowerId, + 'loaner_id': instance.loanerId, + 'start': _dateToJson(instance.start), + 'end': _dateToJson(instance.end), + 'notes': instance.notes, + 'caution': instance.caution, + 'items_borrowed': instance.itemsBorrowed.map((e) => e.toJson()).toList(), + }; + +LoanExtend _$LoanExtendFromJson(Map json) => LoanExtend( + end: json['end'] == null ? null : DateTime.parse(json['end'] as String), + duration: (json['duration'] as num?)?.toDouble() ?? 0.0, + ); + +Map _$LoanExtendToJson(LoanExtend instance) => + { + 'end': _dateToJson(instance.end), + 'duration': instance.duration, + }; + +LoanUpdate _$LoanUpdateFromJson(Map json) => LoanUpdate( + borrowerId: json['borrower_id'] as String? ?? '', + start: json['start'] == null + ? null + : DateTime.parse(json['start'] as String), + end: json['end'] == null ? null : DateTime.parse(json['end'] as String), + notes: json['notes'] as String? ?? '', + caution: json['caution'] as String? ?? '', + returned: json['returned'] as bool? ?? false, + itemsBorrowed: (json['items_borrowed'] as List?) + ?.map((e) => ItemBorrowed.fromJson(e as Map)) + .toList() ?? + [], + ); + +Map _$LoanUpdateToJson(LoanUpdate instance) => + { + 'borrower_id': instance.borrowerId, + 'start': _dateToJson(instance.start), + 'end': _dateToJson(instance.end), + 'notes': instance.notes, + 'caution': instance.caution, + 'returned': instance.returned, + 'items_borrowed': instance.itemsBorrowed?.map((e) => e.toJson()).toList(), + }; + +Loaner _$LoanerFromJson(Map json) => Loaner( + name: json['name'] as String? ?? '', + groupManagerId: json['group_manager_id'] as String? ?? '', + id: json['id'] as String? ?? '', + ); + +Map _$LoanerToJson(Loaner instance) => { + 'name': instance.name, + 'group_manager_id': instance.groupManagerId, + 'id': instance.id, + }; + +LoanerBase _$LoanerBaseFromJson(Map json) => LoanerBase( + name: json['name'] as String? ?? '', + groupManagerId: json['group_manager_id'] as String? ?? '', + ); + +Map _$LoanerBaseToJson(LoanerBase instance) => + { + 'name': instance.name, + 'group_manager_id': instance.groupManagerId, + }; + +LoanerUpdate _$LoanerUpdateFromJson(Map json) => LoanerUpdate( + name: json['name'] as String? ?? '', + groupManagerId: json['group_manager_id'] as String? ?? '', + ); + +Map _$LoanerUpdateToJson(LoanerUpdate instance) => + { + 'name': instance.name, + 'group_manager_id': instance.groupManagerId, + }; + +MailMigrationRequest _$MailMigrationRequestFromJson( + Map json) => + MailMigrationRequest( + newEmail: json['new_email'] as String? ?? '', + ); + +Map _$MailMigrationRequestToJson( + MailMigrationRequest instance) => + { + 'new_email': instance.newEmail, + }; + +Message _$MessageFromJson(Map json) => Message( + context: json['context'] as String? ?? '', + isVisible: json['is_visible'] as bool? ?? false, + title: json['title'] as String? ?? '', + content: json['content'] as String? ?? '', + actionModule: json['action_module'] as String? ?? '', + actionTable: json['action_table'] as String? ?? '', + deliveryDatetime: json['delivery_datetime'] == null + ? null + : DateTime.parse(json['delivery_datetime'] as String), + expireOn: DateTime.parse(json['expire_on'] as String), + ); + +Map _$MessageToJson(Message instance) => { + 'context': instance.context, + 'is_visible': instance.isVisible, + 'title': instance.title, + 'content': instance.content, + 'action_module': instance.actionModule, + 'action_table': instance.actionTable, + 'delivery_datetime': instance.deliveryDatetime?.toIso8601String(), + 'expire_on': _dateToJson(instance.expireOn), + }; + +ModuleVisibility _$ModuleVisibilityFromJson(Map json) => + ModuleVisibility( + root: json['root'] as String? ?? '', + allowedGroupIds: (json['allowed_group_ids'] as List?) + ?.map((e) => e as String) + .toList() ?? + [], + ); + +Map _$ModuleVisibilityToJson(ModuleVisibility instance) => + { + 'root': instance.root, + 'allowed_group_ids': instance.allowedGroupIds, + }; + +ModuleVisibilityCreate _$ModuleVisibilityCreateFromJson( + Map json) => + ModuleVisibilityCreate( + root: json['root'] as String? ?? '', + allowedGroupId: json['allowed_group_id'] as String? ?? '', + ); + +Map _$ModuleVisibilityCreateToJson( + ModuleVisibilityCreate instance) => + { + 'root': instance.root, + 'allowed_group_id': instance.allowedGroupId, + }; + +OrderBase _$OrderBaseFromJson(Map json) => OrderBase( + userId: json['user_id'] as String? ?? '', + deliveryId: json['delivery_id'] as String? ?? '', + productsIds: (json['products_ids'] as List?) + ?.map((e) => e as String) + .toList() ?? + [], + collectionSlot: amapSlotTypeNullableFromJson(json['collection_slot']), + productsQuantity: (json['products_quantity'] as List?) + ?.map((e) => e as int) + .toList() ?? + [], + ); + +Map _$OrderBaseToJson(OrderBase instance) => { + 'user_id': instance.userId, + 'delivery_id': instance.deliveryId, + 'products_ids': instance.productsIds, + 'collection_slot': amapSlotTypeNullableToJson(instance.collectionSlot), + 'products_quantity': instance.productsQuantity, + }; + +OrderEdit _$OrderEditFromJson(Map json) => OrderEdit( + productsIds: (json['products_ids'] as List?) + ?.map((e) => e as String) + .toList() ?? + [], + collectionSlot: amapSlotTypeNullableFromJson(json['collection_slot']), + productsQuantity: (json['products_quantity'] as List?) + ?.map((e) => e as int) + .toList() ?? + [], + ); + +Map _$OrderEditToJson(OrderEdit instance) => { + 'products_ids': instance.productsIds, + 'collection_slot': amapSlotTypeNullableToJson(instance.collectionSlot), + 'products_quantity': instance.productsQuantity, + }; + +OrderReturn _$OrderReturnFromJson(Map json) => OrderReturn( + user: CoreUserSimple.fromJson(json['user'] as Map), + deliveryId: json['delivery_id'] as String? ?? '', + productsdetail: (json['productsdetail'] as List?) + ?.map((e) => ProductQuantity.fromJson(e as Map)) + .toList() ?? + [], + collectionSlot: amapSlotTypeNullableFromJson(json['collection_slot']), + orderId: json['order_id'] as String? ?? '', + amount: (json['amount'] as num?)?.toDouble() ?? 0.0, + orderingDate: DateTime.parse(json['ordering_date'] as String), + deliveryDate: DateTime.parse(json['delivery_date'] as String), + ); + +Map _$OrderReturnToJson(OrderReturn instance) => + { + 'user': instance.user.toJson(), + 'delivery_id': instance.deliveryId, + 'productsdetail': instance.productsdetail.map((e) => e.toJson()).toList(), + 'collection_slot': amapSlotTypeNullableToJson(instance.collectionSlot), + 'order_id': instance.orderId, + 'amount': instance.amount, + 'ordering_date': instance.orderingDate.toIso8601String(), + 'delivery_date': _dateToJson(instance.deliveryDate), + }; + +PackTicketBase _$PackTicketBaseFromJson(Map json) => + PackTicketBase( + price: (json['price'] as num?)?.toDouble() ?? 0.0, + packSize: json['pack_size'] as int? ?? 0, + raffleId: json['raffle_id'] as String? ?? '', + ); + +Map _$PackTicketBaseToJson(PackTicketBase instance) => + { + 'price': instance.price, + 'pack_size': instance.packSize, + 'raffle_id': instance.raffleId, + }; + +PackTicketEdit _$PackTicketEditFromJson(Map json) => + PackTicketEdit( + raffleId: json['raffle_id'] as String? ?? '', + price: (json['price'] as num?)?.toDouble() ?? 0.0, + packSize: json['pack_size'] as int? ?? 0, + ); + +Map _$PackTicketEditToJson(PackTicketEdit instance) => + { + 'raffle_id': instance.raffleId, + 'price': instance.price, + 'pack_size': instance.packSize, + }; + +PackTicketSimple _$PackTicketSimpleFromJson(Map json) => + PackTicketSimple( + price: (json['price'] as num?)?.toDouble() ?? 0.0, + packSize: json['pack_size'] as int? ?? 0, + raffleId: json['raffle_id'] as String? ?? '', + id: json['id'] as String? ?? '', + ); + +Map _$PackTicketSimpleToJson(PackTicketSimple instance) => + { + 'price': instance.price, + 'pack_size': instance.packSize, + 'raffle_id': instance.raffleId, + 'id': instance.id, + }; + +PrizeBase _$PrizeBaseFromJson(Map json) => PrizeBase( + name: json['name'] as String? ?? '', + description: json['description'] as String? ?? '', + raffleId: json['raffle_id'] as String? ?? '', + quantity: json['quantity'] as int? ?? 0, + ); + +Map _$PrizeBaseToJson(PrizeBase instance) => { + 'name': instance.name, + 'description': instance.description, + 'raffle_id': instance.raffleId, + 'quantity': instance.quantity, + }; + +PrizeEdit _$PrizeEditFromJson(Map json) => PrizeEdit( + raffleId: json['raffle_id'] as String? ?? '', + description: json['description'] as String? ?? '', + name: json['name'] as String? ?? '', + quantity: json['quantity'] as int? ?? 0, + ); + +Map _$PrizeEditToJson(PrizeEdit instance) => { + 'raffle_id': instance.raffleId, + 'description': instance.description, + 'name': instance.name, + 'quantity': instance.quantity, + }; + +PrizeSimple _$PrizeSimpleFromJson(Map json) => PrizeSimple( + name: json['name'] as String? ?? '', + description: json['description'] as String? ?? '', + raffleId: json['raffle_id'] as String? ?? '', + quantity: json['quantity'] as int? ?? 0, + id: json['id'] as String? ?? '', + ); + +Map _$PrizeSimpleToJson(PrizeSimple instance) => + { + 'name': instance.name, + 'description': instance.description, + 'raffle_id': instance.raffleId, + 'quantity': instance.quantity, + 'id': instance.id, + }; + +ProductComplete _$ProductCompleteFromJson(Map json) => + ProductComplete( + name: json['name'] as String? ?? '', + price: (json['price'] as num?)?.toDouble() ?? 0.0, + category: json['category'] as String? ?? '', + id: json['id'] as String? ?? '', + ); + +Map _$ProductCompleteToJson(ProductComplete instance) => + { + 'name': instance.name, + 'price': instance.price, + 'category': instance.category, + 'id': instance.id, + }; + +ProductEdit _$ProductEditFromJson(Map json) => ProductEdit( + category: json['category'] as String? ?? '', + name: json['name'] as String? ?? '', + price: (json['price'] as num?)?.toDouble() ?? 0.0, + ); + +Map _$ProductEditToJson(ProductEdit instance) => + { + 'category': instance.category, + 'name': instance.name, + 'price': instance.price, + }; + +ProductQuantity _$ProductQuantityFromJson(Map json) => + ProductQuantity( + quantity: json['quantity'] as int? ?? 0, + product: + ProductComplete.fromJson(json['product'] as Map), + ); + +Map _$ProductQuantityToJson(ProductQuantity instance) => + { + 'quantity': instance.quantity, + 'product': instance.product.toJson(), + }; + +ProductSimple _$ProductSimpleFromJson(Map json) => + ProductSimple( + name: json['name'] as String? ?? '', + price: (json['price'] as num?)?.toDouble() ?? 0.0, + category: json['category'] as String? ?? '', + ); + +Map _$ProductSimpleToJson(ProductSimple instance) => + { + 'name': instance.name, + 'price': instance.price, + 'category': instance.category, + }; + +RaffleBase _$RaffleBaseFromJson(Map json) => RaffleBase( + name: json['name'] as String? ?? '', + status: raffleStatusTypeNullableFromJson(json['status']), + description: json['description'] as String? ?? '', + groupId: json['group_id'] as String? ?? '', + ); + +Map _$RaffleBaseToJson(RaffleBase instance) => + { + 'name': instance.name, + 'status': raffleStatusTypeNullableToJson(instance.status), + 'description': instance.description, + 'group_id': instance.groupId, + }; + +RaffleComplete _$RaffleCompleteFromJson(Map json) => + RaffleComplete( + name: json['name'] as String? ?? '', + status: raffleStatusTypeNullableFromJson(json['status']), + description: json['description'] as String? ?? '', + groupId: json['group_id'] as String? ?? '', + id: json['id'] as String? ?? '', + group: CoreGroupSimple.fromJson(json['group'] as Map), + ); + +Map _$RaffleCompleteToJson(RaffleComplete instance) => + { + 'name': instance.name, + 'status': raffleStatusTypeNullableToJson(instance.status), + 'description': instance.description, + 'group_id': instance.groupId, + 'id': instance.id, + 'group': instance.group.toJson(), + }; + +RaffleEdit _$RaffleEditFromJson(Map json) => RaffleEdit( + name: json['name'] as String? ?? '', + description: json['description'] as String? ?? '', + ); + +Map _$RaffleEditToJson(RaffleEdit instance) => + { + 'name': instance.name, + 'description': instance.description, + }; + +RaffleSimple _$RaffleSimpleFromJson(Map json) => RaffleSimple( + name: json['name'] as String? ?? '', + status: raffleStatusTypeNullableFromJson(json['status']), + description: json['description'] as String? ?? '', + groupId: json['group_id'] as String? ?? '', + id: json['id'] as String? ?? '', + ); + +Map _$RaffleSimpleToJson(RaffleSimple instance) => + { + 'name': instance.name, + 'status': raffleStatusTypeNullableToJson(instance.status), + 'description': instance.description, + 'group_id': instance.groupId, + 'id': instance.id, + }; + +RaffleStats _$RaffleStatsFromJson(Map json) => RaffleStats( + ticketsSold: json['tickets_sold'] as int? ?? 0, + amountRaised: (json['amount_raised'] as num?)?.toDouble() ?? 0.0, + ); + +Map _$RaffleStatsToJson(RaffleStats instance) => + { + 'tickets_sold': instance.ticketsSold, + 'amount_raised': instance.amountRaised, + }; + +ResetPasswordRequest _$ResetPasswordRequestFromJson( + Map json) => + ResetPasswordRequest( + resetToken: json['reset_token'] as String? ?? '', + newPassword: json['new_password'] as String? ?? '', + ); + +Map _$ResetPasswordRequestToJson( + ResetPasswordRequest instance) => + { + 'reset_token': instance.resetToken, + 'new_password': instance.newPassword, + }; + +Rights _$RightsFromJson(Map json) => Rights( + view: json['view'] as bool? ?? false, + manage: json['manage'] as bool? ?? false, + ); + +Map _$RightsToJson(Rights instance) => { + 'view': instance.view, + 'manage': instance.manage, + }; + +RoomBase _$RoomBaseFromJson(Map json) => RoomBase( + name: json['name'] as String? ?? '', + ); + +Map _$RoomBaseToJson(RoomBase instance) => { + 'name': instance.name, + }; + +RoomComplete _$RoomCompleteFromJson(Map json) => RoomComplete( + name: json['name'] as String? ?? '', + id: json['id'] as String? ?? '', + ); + +Map _$RoomCompleteToJson(RoomComplete instance) => + { + 'name': instance.name, + 'id': instance.id, + }; + +SectionBase _$SectionBaseFromJson(Map json) => SectionBase( + name: json['name'] as String? ?? '', + description: json['description'] as String? ?? '', + ); + +Map _$SectionBaseToJson(SectionBase instance) => + { + 'name': instance.name, + 'description': instance.description, + }; + +SectionComplete _$SectionCompleteFromJson(Map json) => + SectionComplete( + name: json['name'] as String? ?? '', + description: json['description'] as String? ?? '', + id: json['id'] as String? ?? '', + ); + +Map _$SectionCompleteToJson(SectionComplete instance) => + { + 'name': instance.name, + 'description': instance.description, + 'id': instance.id, + }; + +TicketComplete _$TicketCompleteFromJson(Map json) => + TicketComplete( + packId: json['pack_id'] as String? ?? '', + userId: json['user_id'] as String? ?? '', + winningPrize: json['winning_prize'] as String? ?? '', + id: json['id'] as String? ?? '', + prize: json['prize'] == null + ? null + : PrizeSimple.fromJson(json['prize'] as Map), + packTicket: json['pack_ticket'] == null + ? null + : PackTicketSimple.fromJson( + json['pack_ticket'] as Map), + user: CoreUserSimple.fromJson(json['user'] as Map), + ); + +Map _$TicketCompleteToJson(TicketComplete instance) => + { + 'pack_id': instance.packId, + 'user_id': instance.userId, + 'winning_prize': instance.winningPrize, + 'id': instance.id, + 'prize': instance.prize?.toJson(), + 'pack_ticket': instance.packTicket?.toJson(), + 'user': instance.user.toJson(), + }; + +TicketSimple _$TicketSimpleFromJson(Map json) => TicketSimple( + packId: json['pack_id'] as String? ?? '', + userId: json['user_id'] as String? ?? '', + winningPrize: json['winning_prize'] as String? ?? '', + id: json['id'] as String? ?? '', + ); + +Map _$TicketSimpleToJson(TicketSimple instance) => + { + 'pack_id': instance.packId, + 'user_id': instance.userId, + 'winning_prize': instance.winningPrize, + 'id': instance.id, + }; + +TokenResponse _$TokenResponseFromJson(Map json) => + TokenResponse( + accessToken: json['access_token'] as String? ?? '', + tokenType: json['token_type'] as String? ?? '', + expiresIn: json['expires_in'] as int? ?? 0, + scopes: json['scopes'] as String? ?? '', + refreshToken: json['refresh_token'] as String? ?? '', + idToken: json['id_token'] as String? ?? '', + ); + +Map _$TokenResponseToJson(TokenResponse instance) => + { + 'access_token': instance.accessToken, + 'token_type': instance.tokenType, + 'expires_in': instance.expiresIn, + 'scopes': instance.scopes, + 'refresh_token': instance.refreshToken, + 'id_token': instance.idToken, + }; + +ValidationError _$ValidationErrorFromJson(Map json) => + ValidationError( + loc: (json['loc'] as List?)?.map((e) => e as Object).toList() ?? + [], + msg: json['msg'] as String? ?? '', + type: json['type'] as String? ?? '', + ); + +Map _$ValidationErrorToJson(ValidationError instance) => + { + 'loc': instance.loc, + 'msg': instance.msg, + 'type': instance.type, + }; + +VoteBase _$VoteBaseFromJson(Map json) => VoteBase( + listId: json['list_id'] as String? ?? '', + ); + +Map _$VoteBaseToJson(VoteBase instance) => { + 'list_id': instance.listId, + }; + +VoteStats _$VoteStatsFromJson(Map json) => VoteStats( + sectionId: json['section_id'] as String? ?? '', + count: json['count'] as int? ?? 0, + ); + +Map _$VoteStatsToJson(VoteStats instance) => { + 'section_id': instance.sectionId, + 'count': instance.count, + }; + +VoteStatus _$VoteStatusFromJson(Map json) => VoteStatus( + status: statusTypeFromJson(json['status']), + ); + +Map _$VoteStatusToJson(VoteStatus instance) => + { + 'status': statusTypeToJson(instance.status), + }; + +AppSchemasSchemasAmapCashComplete _$AppSchemasSchemasAmapCashCompleteFromJson( + Map json) => + AppSchemasSchemasAmapCashComplete( + balance: (json['balance'] as num?)?.toDouble() ?? 0.0, + userId: json['user_id'] as String? ?? '', + user: CoreUserSimple.fromJson(json['user'] as Map), + ); + +Map _$AppSchemasSchemasAmapCashCompleteToJson( + AppSchemasSchemasAmapCashComplete instance) => + { + 'balance': instance.balance, + 'user_id': instance.userId, + 'user': instance.user.toJson(), + }; + +AppSchemasSchemasAmapCashEdit _$AppSchemasSchemasAmapCashEditFromJson( + Map json) => + AppSchemasSchemasAmapCashEdit( + balance: (json['balance'] as num?)?.toDouble() ?? 0.0, + ); + +Map _$AppSchemasSchemasAmapCashEditToJson( + AppSchemasSchemasAmapCashEdit instance) => + { + 'balance': instance.balance, + }; + +AppSchemasSchemasCampaignResult _$AppSchemasSchemasCampaignResultFromJson( + Map json) => + AppSchemasSchemasCampaignResult( + listId: json['list_id'] as String? ?? '', + count: json['count'] as int? ?? 0, + ); + +Map _$AppSchemasSchemasCampaignResultToJson( + AppSchemasSchemasCampaignResult instance) => + { + 'list_id': instance.listId, + 'count': instance.count, + }; + +AppSchemasSchemasRaffleCashComplete + _$AppSchemasSchemasRaffleCashCompleteFromJson(Map json) => + AppSchemasSchemasRaffleCashComplete( + balance: (json['balance'] as num?)?.toDouble() ?? 0.0, + userId: json['user_id'] as String? ?? '', + user: CoreUserSimple.fromJson(json['user'] as Map), + ); + +Map _$AppSchemasSchemasRaffleCashCompleteToJson( + AppSchemasSchemasRaffleCashComplete instance) => + { + 'balance': instance.balance, + 'user_id': instance.userId, + 'user': instance.user.toJson(), + }; + +AppSchemasSchemasRaffleCashEdit _$AppSchemasSchemasRaffleCashEditFromJson( + Map json) => + AppSchemasSchemasRaffleCashEdit( + balance: (json['balance'] as num?)?.toDouble() ?? 0.0, + ); + +Map _$AppSchemasSchemasRaffleCashEditToJson( + AppSchemasSchemasRaffleCashEdit instance) => + { + 'balance': instance.balance, + }; + +AppUtilsTypesStandardResponsesResult + _$AppUtilsTypesStandardResponsesResultFromJson(Map json) => + AppUtilsTypesStandardResponsesResult( + success: json['success'] as bool? ?? true, + ); + +Map _$AppUtilsTypesStandardResponsesResultToJson( + AppUtilsTypesStandardResponsesResult instance) => + { + 'success': instance.success, + }; diff --git a/lib/generated/openapi.swagger.chopper.dart b/lib/generated/openapi.swagger.chopper.dart new file mode 100644 index 000000000..411cc5c4d --- /dev/null +++ b/lib/generated/openapi.swagger.chopper.dart @@ -0,0 +1,2828 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'openapi.swagger.dart'; + +// ************************************************************************** +// ChopperGenerator +// ************************************************************************** + +// ignore_for_file: type=lint +final class _$Openapi extends Openapi { + _$Openapi([ChopperClient? client]) { + if (client == null) return; + this.client = client; + } + + @override + final definitionType = Openapi; + + @override + Future> _sendEmailPost({ + required String? email, + required String? subject, + required String? content, + }) { + final Uri $url = Uri.parse('/send-email/'); + final Map $params = { + 'email': email, + 'subject': subject, + 'content': content, + }; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + parameters: $params, + ); + return client.send($request); + } + + @override + Future>> _advertAdvertisersGet() { + final Uri $url = Uri.parse('/advert/advertisers'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, AdvertiserComplete>($request); + } + + @override + Future> _advertAdvertisersPost( + {required AdvertiserBase? body}) { + final Uri $url = Uri.parse('/advert/advertisers'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _advertAdvertisersAdvertiserIdDelete( + {required String? advertiserId}) { + final Uri $url = Uri.parse('/advert/advertisers/${advertiserId}'); + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _advertAdvertisersAdvertiserIdPatch({ + required String? advertiserId, + required AdvertiserUpdate? body, + }) { + final Uri $url = Uri.parse('/advert/advertisers/${advertiserId}'); + final $body = body; + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future>> _advertMeAdvertisersGet() { + final Uri $url = Uri.parse('/advert/me/advertisers'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, AdvertiserComplete>($request); + } + + @override + Future>> _advertAdvertsGet( + {List? advertisers}) { + final Uri $url = Uri.parse('/advert/adverts'); + final Map $params = { + 'advertisers': advertisers + }; + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + parameters: $params, + ); + return client + .send, AdvertReturnComplete>($request); + } + + @override + Future> _advertAdvertsPost( + {required AdvertBase? body}) { + final Uri $url = Uri.parse('/advert/adverts'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _advertAdvertsAdvertIdGet( + {required String? advertId}) { + final Uri $url = Uri.parse('/advert/adverts/${advertId}'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _advertAdvertsAdvertIdDelete( + {required String? advertId}) { + final Uri $url = Uri.parse('/advert/adverts/${advertId}'); + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _advertAdvertsAdvertIdPatch({ + required String? advertId, + required AdvertUpdate? body, + }) { + final Uri $url = Uri.parse('/advert/adverts/${advertId}'); + final $body = body; + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _advertAdvertsAdvertIdPictureGet( + {required String? advertId}) { + final Uri $url = Uri.parse('/advert/adverts/${advertId}/picture'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> + _advertAdvertsAdvertIdPicturePost({ + required String? advertId, + required BodyCreateAdvertImageAdvertAdvertsAdvertIdPicturePost body, + }) { + final Uri $url = Uri.parse('/advert/adverts/${advertId}/picture'); + final List $parts = [ + PartValue( + 'body', + body, + ) + ]; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + parts: $parts, + multipart: true, + ); + return client.send($request); + } + + @override + Future>> _amapProductsGet() { + final Uri $url = Uri.parse('/amap/products'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, ProductComplete>($request); + } + + @override + Future> _amapProductsPost( + {required ProductSimple? body}) { + final Uri $url = Uri.parse('/amap/products'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _amapProductsProductIdGet( + {required String? productId}) { + final Uri $url = Uri.parse('/amap/products/${productId}'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _amapProductsProductIdDelete( + {required String? productId}) { + final Uri $url = Uri.parse('/amap/products/${productId}'); + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _amapProductsProductIdPatch({ + required String? productId, + required ProductEdit? body, + }) { + final Uri $url = Uri.parse('/amap/products/${productId}'); + final $body = body; + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future>> _amapDeliveriesGet() { + final Uri $url = Uri.parse('/amap/deliveries'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, DeliveryReturn>($request); + } + + @override + Future> _amapDeliveriesPost( + {required DeliveryBase? body}) { + final Uri $url = Uri.parse('/amap/deliveries'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _amapDeliveriesDeliveryIdDelete( + {required String? deliveryId}) { + final Uri $url = Uri.parse('/amap/deliveries/${deliveryId}'); + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _amapDeliveriesDeliveryIdPatch({ + required String? deliveryId, + required DeliveryUpdate? body, + }) { + final Uri $url = Uri.parse('/amap/deliveries/${deliveryId}'); + final $body = body; + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _amapDeliveriesDeliveryIdProductsPost({ + required String? deliveryId, + required DeliveryProductsUpdate? body, + }) { + final Uri $url = Uri.parse('/amap/deliveries/${deliveryId}/products'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _amapDeliveriesDeliveryIdProductsDelete({ + required String? deliveryId, + required DeliveryProductsUpdate? body, + }) { + final Uri $url = Uri.parse('/amap/deliveries/${deliveryId}/products'); + final $body = body; + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future>> _amapDeliveriesDeliveryIdOrdersGet( + {required String? deliveryId}) { + final Uri $url = Uri.parse('/amap/deliveries/${deliveryId}/orders'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, OrderReturn>($request); + } + + @override + Future> _amapOrdersOrderIdGet( + {required String? orderId}) { + final Uri $url = Uri.parse('/amap/orders/${orderId}'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _amapOrdersOrderIdDelete( + {required String? orderId}) { + final Uri $url = Uri.parse('/amap/orders/${orderId}'); + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _amapOrdersOrderIdPatch({ + required String? orderId, + required OrderEdit? body, + }) { + final Uri $url = Uri.parse('/amap/orders/${orderId}'); + final $body = body; + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _amapOrdersPost({required OrderBase? body}) { + final Uri $url = Uri.parse('/amap/orders'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _amapDeliveriesDeliveryIdOpenorderingPost( + {required String? deliveryId}) { + final Uri $url = Uri.parse('/amap/deliveries/${deliveryId}/openordering'); + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _amapDeliveriesDeliveryIdLockPost( + {required String? deliveryId}) { + final Uri $url = Uri.parse('/amap/deliveries/${deliveryId}/lock'); + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _amapDeliveriesDeliveryIdDeliveredPost( + {required String? deliveryId}) { + final Uri $url = Uri.parse('/amap/deliveries/${deliveryId}/delivered'); + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _amapDeliveriesDeliveryIdArchivePost( + {required String? deliveryId}) { + final Uri $url = Uri.parse('/amap/deliveries/${deliveryId}/archive'); + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future>> + _amapUsersCashGet() { + final Uri $url = Uri.parse('/amap/users/cash'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, + AppSchemasSchemasAmapCashComplete>($request); + } + + @override + Future> _amapUsersUserIdCashGet( + {required String? userId}) { + final Uri $url = Uri.parse('/amap/users/${userId}/cash'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _amapUsersUserIdCashPost({ + required String? userId, + required AppSchemasSchemasAmapCashEdit? body, + }) { + final Uri $url = Uri.parse('/amap/users/${userId}/cash'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _amapUsersUserIdCashPatch({ + required String? userId, + required AppSchemasSchemasAmapCashEdit? body, + }) { + final Uri $url = Uri.parse('/amap/users/${userId}/cash'); + final $body = body; + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future>> _amapUsersUserIdOrdersGet( + {required String? userId}) { + final Uri $url = Uri.parse('/amap/users/${userId}/orders'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, OrderReturn>($request); + } + + @override + Future> _amapInformationGet() { + final Uri $url = Uri.parse('/amap/information'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _amapInformationPatch( + {required InformationEdit? body}) { + final Uri $url = Uri.parse('/amap/information'); + final $body = body; + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _associationsGet() { + final Uri $url = Uri.parse('/associations'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _associationsPut() { + final Uri $url = Uri.parse('/associations'); + final Request $request = Request( + 'PUT', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _associationsPost() { + final Uri $url = Uri.parse('/associations'); + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _associationsAssociationIdGet( + {required Object? associationId}) { + final Uri $url = Uri.parse('/associations/${associationId}'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _associationsAssociationIdUsersGet( + {required Object? associationId}) { + final Uri $url = Uri.parse('/associations/${associationId}/users'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _associationsAssociationIdUsersUserIdPost({ + required Object? associationId, + required Object? userId, + }) { + final Uri $url = + Uri.parse('/associations/${associationId}/users/${userId}'); + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _associationsAssociationIdUsersUserIdDelete({ + required Object? associationId, + required Object? userId, + }) { + final Uri $url = + Uri.parse('/associations/${associationId}/users/${userId}'); + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _associationsAssociationIdAdminsUserIdPost({ + required Object? associationId, + required Object? userId, + }) { + final Uri $url = + Uri.parse('/associations/${associationId}/admins/${userId}'); + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _associationsAssociationIdAdminsUserIdDelete({ + required Object? associationId, + required Object? userId, + }) { + final Uri $url = + Uri.parse('/associations/${associationId}/admins/${userId}'); + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _authSimpleTokenPost( + {required BodyLoginForAccessTokenAuthSimpleTokenPost body}) { + final Uri $url = Uri.parse('/auth/simple_token'); + final List $parts = [ + PartValue( + 'body', + body, + ) + ]; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + parts: $parts, + multipart: true, + ); + return client.send($request); + } + + @override + Future> _authAuthorizeGet({ + required String? clientId, + String? redirectUri, + required String? responseType, + String? scope, + String? state, + String? nonce, + String? codeChallenge, + String? codeChallengeMethod, + }) { + final Uri $url = Uri.parse('/auth/authorize'); + final Map $params = { + 'client_id': clientId, + 'redirect_uri': redirectUri, + 'response_type': responseType, + 'scope': scope, + 'state': state, + 'nonce': nonce, + 'code_challenge': codeChallenge, + 'code_challenge_method': codeChallengeMethod, + }; + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + parameters: $params, + ); + return client.send($request); + } + + @override + Future> _authAuthorizePost( + {required BodyPostAuthorizePageAuthAuthorizePost body}) { + final Uri $url = Uri.parse('/auth/authorize'); + final List $parts = [ + PartValue( + 'body', + body, + ) + ]; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + parts: $parts, + multipart: true, + ); + return client.send($request); + } + + @override + Future> _authAuthorizationFlowAuthorizeValidationPost( + {required BodyAuthorizeValidationAuthAuthorizationFlowAuthorizeValidationPost + body}) { + final Uri $url = Uri.parse('/auth/authorization-flow/authorize-validation'); + final List $parts = [ + PartValue< + BodyAuthorizeValidationAuthAuthorizationFlowAuthorizeValidationPost>( + 'body', + body, + ) + ]; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + parts: $parts, + multipart: true, + ); + return client.send($request); + } + + @override + Future> _authTokenPost({ + String? authorization, + required BodyTokenAuthTokenPost body, + }) { + final Uri $url = Uri.parse('/auth/token'); + final Map $headers = { + if (authorization != null) 'authorization': authorization, + }; + final List $parts = [ + PartValue( + 'body', + body, + ) + ]; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + parts: $parts, + multipart: true, + headers: $headers, + ); + return client.send($request); + } + + @override + Future> _authUserinfoGet() { + final Uri $url = Uri.parse('/auth/userinfo'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _oidcAuthorizationFlowJwksUriGet() { + final Uri $url = Uri.parse('/oidc/authorization-flow/jwks_uri'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _wellKnownOpenidConfigurationGet() { + final Uri $url = Uri.parse('/.well-known/openid-configuration'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _bdebookingRightsGet() { + final Uri $url = Uri.parse('/bdebooking/rights'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future>> _bdebookingBookingsGet() { + final Uri $url = Uri.parse('/bdebooking/bookings'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client + .send, BookingReturnApplicant>($request); + } + + @override + Future> _bdebookingBookingsPost( + {required BookingBase? body}) { + final Uri $url = Uri.parse('/bdebooking/bookings'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future>> _bdebookingBookingsConfirmedGet() { + final Uri $url = Uri.parse('/bdebooking/bookings/confirmed'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, BookingReturn>($request); + } + + @override + Future>> _bdebookingUserApplicantIdGet( + {required String? applicantId}) { + final Uri $url = Uri.parse('/bdebooking/user/${applicantId}'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, BookingReturn>($request); + } + + @override + Future> _bdebookingBookingsBookingIdGet( + {required String? bookingId}) { + final Uri $url = Uri.parse('/bdebooking/bookings/${bookingId}'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _bdebookingBookingsBookingIdDelete( + {required Object? bookingId}) { + final Uri $url = Uri.parse('/bdebooking/bookings/${bookingId}'); + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _bdebookingBookingsBookingIdPatch({ + required String? bookingId, + required BookingEdit? body, + }) { + final Uri $url = Uri.parse('/bdebooking/bookings/${bookingId}'); + final $body = body; + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _bdebookingBookingsBookingIdApplicantGet( + {required String? bookingId}) { + final Uri $url = Uri.parse('/bdebooking/bookings/${bookingId}/applicant'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _bdebookingBookingsBookingIdReplyDecisionPatch({ + required String? bookingId, + required String? decision, + }) { + final Uri $url = + Uri.parse('/bdebooking/bookings/${bookingId}/reply/${decision}'); + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future>> _bdebookingRoomsGet() { + final Uri $url = Uri.parse('/bdebooking/rooms'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, RoomComplete>($request); + } + + @override + Future> _bdebookingRoomsPost( + {required RoomBase? body}) { + final Uri $url = Uri.parse('/bdebooking/rooms'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _bdebookingRoomsRoomIdGet( + {required String? roomId}) { + final Uri $url = Uri.parse('/bdebooking/rooms/${roomId}'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _bdebookingRoomsRoomIdDelete( + {required String? roomId}) { + final Uri $url = Uri.parse('/bdebooking/rooms/${roomId}'); + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _bdebookingRoomsRoomIdPatch({ + required String? roomId, + required RoomBase? body, + }) { + final Uri $url = Uri.parse('/bdebooking/rooms/${roomId}'); + final $body = body; + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future>> _calendarEventsGet() { + final Uri $url = Uri.parse('/calendar/events/'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, EventReturn>($request); + } + + @override + Future> _calendarEventsPost( + {required EventBase? body}) { + final Uri $url = Uri.parse('/calendar/events/'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future>> _calendarEventsConfirmedGet() { + final Uri $url = Uri.parse('/calendar/events/confirmed'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, EventComplete>($request); + } + + @override + Future>> _calendarEventsUserApplicantIdGet( + {required String? applicantId}) { + final Uri $url = Uri.parse('/calendar/events/user/${applicantId}'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, EventReturn>($request); + } + + @override + Future> _calendarEventsEventIdGet( + {required String? eventId}) { + final Uri $url = Uri.parse('/calendar/events/${eventId}'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _calendarEventsEventIdDelete( + {required Object? eventId}) { + final Uri $url = Uri.parse('/calendar/events/${eventId}'); + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _calendarEventsEventIdPatch({ + required String? eventId, + required EventEdit? body, + }) { + final Uri $url = Uri.parse('/calendar/events/${eventId}'); + final $body = body; + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _calendarEventsEventIdApplicantGet( + {required String? eventId}) { + final Uri $url = Uri.parse('calendar/events/${eventId}/applicant'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _calendarEventsEventIdReplyDecisionPatch({ + required String? eventId, + required String? decision, + }) { + final Uri $url = Uri.parse('/calendar/events/${eventId}/reply/${decision}'); + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _calendarIcalCreatePost() { + final Uri $url = Uri.parse('/calendar/ical/create'); + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _calendarIcalGet() { + final Uri $url = Uri.parse('/calendar/ical'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future>> _campaignSectionsGet() { + final Uri $url = Uri.parse('/campaign/sections'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, SectionComplete>($request); + } + + @override + Future> _campaignSectionsPost( + {required SectionBase? body}) { + final Uri $url = Uri.parse('/campaign/sections'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _campaignSectionsSectionIdDelete( + {required String? sectionId}) { + final Uri $url = Uri.parse('/campaign/sections/${sectionId}'); + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future>> _campaignListsGet() { + final Uri $url = Uri.parse('/campaign/lists'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, ListReturn>($request); + } + + @override + Future> _campaignListsPost({required ListBase? body}) { + final Uri $url = Uri.parse('/campaign/lists'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _campaignListsListIdDelete( + {required String? listId}) { + final Uri $url = Uri.parse('/campaign/lists/${listId}'); + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _campaignListsListIdPatch({ + required String? listId, + required ListEdit? body, + }) { + final Uri $url = Uri.parse('/campaign/lists/${listId}'); + final $body = body; + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _campaignListsDelete({String? listType}) { + final Uri $url = Uri.parse('/campaign/lists/'); + final Map $params = { + 'list_type': listType + }; + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + parameters: $params, + ); + return client.send($request); + } + + @override + Future> _campaignStatusOpenPost() { + final Uri $url = Uri.parse('/campaign/status/open'); + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _campaignStatusClosePost() { + final Uri $url = Uri.parse('/campaign/status/close'); + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _campaignStatusCountingPost() { + final Uri $url = Uri.parse('/campaign/status/counting'); + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _campaignStatusPublishedPost() { + final Uri $url = Uri.parse('/campaign/status/published'); + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _campaignStatusResetPost() { + final Uri $url = Uri.parse('/campaign/status/reset'); + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future>> _campaignVotesGet() { + final Uri $url = Uri.parse('/campaign/votes'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, String>($request); + } + + @override + Future> _campaignVotesPost({required VoteBase? body}) { + final Uri $url = Uri.parse('/campaign/votes'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future>> + _campaignResultsGet() { + final Uri $url = Uri.parse('/campaign/results'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, + AppSchemasSchemasCampaignResult>($request); + } + + @override + Future> _campaignStatusGet() { + final Uri $url = Uri.parse('/campaign/status'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _campaignStatsSectionIdGet( + {required String? sectionId}) { + final Uri $url = Uri.parse('/campaign/stats/${sectionId}'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _campaignListsListIdLogoGet( + {required String? listId}) { + final Uri $url = Uri.parse('/campaign/lists/${listId}/logo'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> + _campaignListsListIdLogoPost({ + required String? listId, + required BodyCreateCampaignsLogoCampaignListsListIdLogoPost body, + }) { + final Uri $url = Uri.parse('/campaign/lists/${listId}/logo'); + final List $parts = [ + PartValue( + 'body', + body, + ) + ]; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + parts: $parts, + multipart: true, + ); + return client.send($request); + } + + @override + Future>> _cinemaSessionsGet() { + final Uri $url = Uri.parse('/cinema/sessions'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client + .send, CineSessionComplete>($request); + } + + @override + Future> _cinemaSessionsPost( + {required CineSessionBase? body}) { + final Uri $url = Uri.parse('/cinema/sessions'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _cinemaSessionsSessionIdDelete( + {required String? sessionId}) { + final Uri $url = Uri.parse('/cinema/sessions/${sessionId}'); + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _cinemaSessionsSessionIdPatch({ + required String? sessionId, + required CineSessionUpdate? body, + }) { + final Uri $url = Uri.parse('/cinema/sessions/${sessionId}'); + final $body = body; + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _cinemaSessionsSessionIdPosterGet( + {required String? sessionId}) { + final Uri $url = Uri.parse('/cinema/sessions/${sessionId}/poster'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> + _cinemaSessionsSessionIdPosterPost({ + required String? sessionId, + required BodyCreateCampaignsLogoCinemaSessionsSessionIdPosterPost body, + }) { + final Uri $url = Uri.parse('/cinema/sessions/${sessionId}/poster'); + final List $parts = [ + PartValue( + 'body', + body, + ) + ]; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + parts: $parts, + multipart: true, + ); + return client.send($request); + } + + @override + Future> _informationGet() { + final Uri $url = Uri.parse('/information'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _privacyGet() { + final Uri $url = Uri.parse('/privacy'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _termsAndConditionsGet() { + final Uri $url = Uri.parse('/terms-and-conditions'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _supportGet() { + final Uri $url = Uri.parse('/support'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _securityTxtGet() { + final Uri $url = Uri.parse('/security.txt'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _wellKnownSecurityTxtGet() { + final Uri $url = Uri.parse('/.well-known/security.txt'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _robotsTxtGet() { + final Uri $url = Uri.parse('/robots.txt'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _styleFileCssGet({required String? file}) { + final Uri $url = Uri.parse('/style/${file}.css'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _faviconIcoGet() { + final Uri $url = Uri.parse('/favicon.ico'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future>> _moduleVisibilityGet() { + final Uri $url = Uri.parse('/module-visibility/'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, ModuleVisibility>($request); + } + + @override + Future> _moduleVisibilityPost( + {required ModuleVisibilityCreate? body}) { + final Uri $url = Uri.parse('/module-visibility/'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client + .send($request); + } + + @override + Future>> _moduleVisibilityMeGet() { + final Uri $url = Uri.parse('/module-visibility/me'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, String>($request); + } + + @override + Future> _moduleVisibilityRootGroupIdDelete({ + required String? root, + required String? groupId, + }) { + final Uri $url = Uri.parse('/module-visibility/${root}/${groupId}'); + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future>> _groupsGet() { + final Uri $url = Uri.parse('/groups/'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, CoreGroupSimple>($request); + } + + @override + Future> _groupsPost( + {required CoreGroupCreate? body}) { + final Uri $url = Uri.parse('/groups/'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _groupsGroupIdGet({required String? groupId}) { + final Uri $url = Uri.parse('/groups/${groupId}'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _groupsGroupIdDelete({required String? groupId}) { + final Uri $url = Uri.parse('/groups/${groupId}'); + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _groupsGroupIdPatch({ + required String? groupId, + required CoreGroupUpdate? body, + }) { + final Uri $url = Uri.parse('/groups/${groupId}'); + final $body = body; + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _groupsMembershipPost( + {required CoreMembership? body}) { + final Uri $url = Uri.parse('/groups/membership'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _groupsMembershipDelete( + {required CoreMembershipDelete? body}) { + final Uri $url = Uri.parse('/groups/membership'); + final $body = body; + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _groupsBatchMembershipPost( + {required CoreBatchMembership? body}) { + final Uri $url = Uri.parse('/groups/batch-membership'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _groupsBatchMembershipDelete( + {required CoreBatchDeleteMembership? body}) { + final Uri $url = Uri.parse('/groups/batch-membership'); + final $body = body; + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future>> _loansLoanersGet() { + final Uri $url = Uri.parse('/loans/loaners/'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, Loaner>($request); + } + + @override + Future> _loansLoanersPost({required LoanerBase? body}) { + final Uri $url = Uri.parse('/loans/loaners/'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _loansLoanersLoanerIdDelete( + {required String? loanerId}) { + final Uri $url = Uri.parse('/loans/loaners/${loanerId}'); + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _loansLoanersLoanerIdPatch({ + required String? loanerId, + required LoanerUpdate? body, + }) { + final Uri $url = Uri.parse('/loans/loaners/${loanerId}'); + final $body = body; + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future>> _loansLoanersLoanerIdLoansGet({ + required String? loanerId, + bool? returned, + }) { + final Uri $url = Uri.parse('/loans/loaners/${loanerId}/loans'); + final Map $params = { + 'returned': returned + }; + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + parameters: $params, + ); + return client.send, Loan>($request); + } + + @override + Future>> _loansLoanersLoanerIdItemsGet( + {required String? loanerId}) { + final Uri $url = Uri.parse('/loans/loaners/${loanerId}/items'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, Item>($request); + } + + @override + Future> _loansLoanersLoanerIdItemsPost({ + required String? loanerId, + required ItemBase? body, + }) { + final Uri $url = Uri.parse('/loans/loaners/${loanerId}/items'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _loansLoanersLoanerIdItemsItemIdDelete({ + required String? loanerId, + required String? itemId, + }) { + final Uri $url = Uri.parse('/loans/loaners/${loanerId}/items/${itemId}'); + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _loansLoanersLoanerIdItemsItemIdPatch({ + required String? loanerId, + required String? itemId, + required ItemUpdate? body, + }) { + final Uri $url = Uri.parse('/loans/loaners/${loanerId}/items/${itemId}'); + final $body = body; + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future>> _loansUsersMeGet({bool? returned}) { + final Uri $url = Uri.parse('/loans/users/me'); + final Map $params = { + 'returned': returned + }; + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + parameters: $params, + ); + return client.send, Loan>($request); + } + + @override + Future>> _loansUsersMeLoanersGet() { + final Uri $url = Uri.parse('/loans/users/me/loaners'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, Loaner>($request); + } + + @override + Future> _loansPost({required LoanCreation? body}) { + final Uri $url = Uri.parse('/loans/'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _loansLoanIdDelete({required String? loanId}) { + final Uri $url = Uri.parse('/loans/${loanId}'); + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _loansLoanIdPatch({ + required String? loanId, + required LoanUpdate? body, + }) { + final Uri $url = Uri.parse('/loans/${loanId}'); + final $body = body; + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _loansLoanIdReturnPost({required String? loanId}) { + final Uri $url = Uri.parse('/loans/${loanId}/return'); + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _loansLoanIdExtendPost({ + required String? loanId, + required LoanExtend? body, + }) { + final Uri $url = Uri.parse('/loans/${loanId}/extend'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future>> _notificationDevicesGet() { + final Uri $url = Uri.parse('/notification/devices'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, FirebaseDevice>($request); + } + + @override + Future> _notificationDevicesPost( + {required BodyRegisterFirebaseDeviceNotificationDevicesPost? body}) { + final Uri $url = Uri.parse('/notification/devices'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _notificationDevicesFirebaseTokenDelete( + {required String? firebaseToken}) { + final Uri $url = Uri.parse('/notification/devices/${firebaseToken}'); + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future>> _notificationMessagesFirebaseTokenGet( + {required String? firebaseToken}) { + final Uri $url = Uri.parse('/notification/messages/${firebaseToken}'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, Message>($request); + } + + @override + Future> _notificationTopicsTopicStrSubscribePost( + {required String? topicStr}) { + final Uri $url = Uri.parse('/notification/topics/${topicStr}/subscribe'); + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _notificationTopicsTopicStrUnsubscribePost( + {required String? topicStr}) { + final Uri $url = Uri.parse('/notification/topics/${topicStr}/unsubscribe'); + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future>> _notificationTopicsGet() { + final Uri $url = Uri.parse('/notification/topics'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, String>($request); + } + + @override + Future>> _notificationTopicsTopicStrGet( + {required String? topicStr}) { + final Uri $url = Uri.parse('/notification/topics/${topicStr}'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, String>($request); + } + + @override + Future> _notificationSendPost({required Message? body}) { + final Uri $url = Uri.parse('/notification/send'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future>> _tombolaRafflesGet() { + final Uri $url = Uri.parse('/tombola/raffles'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, RaffleComplete>($request); + } + + @override + Future> _tombolaRafflesPost( + {required RaffleBase? body}) { + final Uri $url = Uri.parse('/tombola/raffles'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _tombolaRafflesRaffleIdDelete( + {required String? raffleId}) { + final Uri $url = Uri.parse('/tombola/raffles/${raffleId}'); + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _tombolaRafflesRaffleIdPatch({ + required String? raffleId, + required RaffleEdit? body, + }) { + final Uri $url = Uri.parse('/tombola/raffles/${raffleId}'); + final $body = body; + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future>> _tombolaGroupGroupIdRafflesGet( + {required String? groupId}) { + final Uri $url = Uri.parse('/tombola/group/${groupId}/raffles'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, RaffleSimple>($request); + } + + @override + Future> _tombolaRafflesRaffleIdStatsGet( + {required String? raffleId}) { + final Uri $url = Uri.parse('/tombola/raffles/${raffleId}/stats'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _tombolaRafflesRaffleIdLogoGet( + {required String? raffleId}) { + final Uri $url = Uri.parse('/tombola/raffles/${raffleId}/logo'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> + _tombolaRafflesRaffleIdLogoPost({ + required String? raffleId, + required BodyCreateCurrentRaffleLogoTombolaRafflesRaffleIdLogoPost body, + }) { + final Uri $url = Uri.parse('/tombola/raffles/${raffleId}/logo'); + final List $parts = [ + PartValue( + 'body', + body, + ) + ]; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + parts: $parts, + multipart: true, + ); + return client.send($request); + } + + @override + Future>> _tombolaPackTicketsGet() { + final Uri $url = Uri.parse('/tombola/pack_tickets'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, PackTicketSimple>($request); + } + + @override + Future> _tombolaPackTicketsPost( + {required PackTicketBase? body}) { + final Uri $url = Uri.parse('/tombola/pack_tickets'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _tombolaPackTicketsPackticketIdDelete( + {required String? packticketId}) { + final Uri $url = Uri.parse('/tombola/pack_tickets/${packticketId}'); + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _tombolaPackTicketsPackticketIdPatch({ + required String? packticketId, + required PackTicketEdit? body, + }) { + final Uri $url = Uri.parse('/tombola/pack_tickets/${packticketId}'); + final $body = body; + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future>> + _tombolaRafflesRaffleIdPackTicketsGet({required String? raffleId}) { + final Uri $url = Uri.parse('/tombola/raffles/${raffleId}/pack_tickets'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, PackTicketSimple>($request); + } + + @override + Future>> _tombolaTicketsGet() { + final Uri $url = Uri.parse('/tombola/tickets'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, TicketSimple>($request); + } + + @override + Future>> _tombolaTicketsBuyPackIdPost( + {required String? packId}) { + final Uri $url = Uri.parse('/tombola/tickets/buy/${packId}'); + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + ); + return client.send, TicketComplete>($request); + } + + @override + Future>> _tombolaUsersUserIdTicketsGet( + {required String? userId}) { + final Uri $url = Uri.parse('/tombola/users/${userId}/tickets'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, TicketComplete>($request); + } + + @override + Future>> _tombolaRafflesRaffleIdTicketsGet( + {required String? raffleId}) { + final Uri $url = Uri.parse('/tombola/raffles/${raffleId}/tickets'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, TicketComplete>($request); + } + + @override + Future>> _tombolaPrizesGet() { + final Uri $url = Uri.parse('/tombola/prizes'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, PrizeSimple>($request); + } + + @override + Future> _tombolaPrizesPost({required PrizeBase? body}) { + final Uri $url = Uri.parse('/tombola/prizes'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _tombolaPrizesPrizeIdDelete( + {required String? prizeId}) { + final Uri $url = Uri.parse('/tombola/prizes/${prizeId}'); + final Request $request = Request( + 'DELETE', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _tombolaPrizesPrizeIdPatch({ + required String? prizeId, + required PrizeEdit? body, + }) { + final Uri $url = Uri.parse('/tombola/prizes/${prizeId}'); + final $body = body; + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future>> _tombolaRafflesRaffleIdPrizesGet( + {required String? raffleId}) { + final Uri $url = Uri.parse('/tombola/raffles/${raffleId}/prizes'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, PrizeSimple>($request); + } + + @override + Future> _tombolaPrizesPrizeIdPictureGet( + {required String? prizeId}) { + final Uri $url = Uri.parse('/tombola/prizes/${prizeId}/picture'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> + _tombolaPrizesPrizeIdPicturePost({ + required String? prizeId, + required BodyCreatePrizePictureTombolaPrizesPrizeIdPicturePost body, + }) { + final Uri $url = Uri.parse('/tombola/prizes/${prizeId}/picture'); + final List $parts = [ + PartValue( + 'body', + body, + ) + ]; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + parts: $parts, + multipart: true, + ); + return client.send($request); + } + + @override + Future>> + _tombolaUsersCashGet() { + final Uri $url = Uri.parse('/tombola/users/cash'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, + AppSchemasSchemasRaffleCashComplete>($request); + } + + @override + Future> + _tombolaUsersUserIdCashGet({required String? userId}) { + final Uri $url = Uri.parse('/tombola/users/${userId}/cash'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> + _tombolaUsersUserIdCashPost({ + required String? userId, + required AppSchemasSchemasRaffleCashEdit? body, + }) { + final Uri $url = Uri.parse('/tombola/users/${userId}/cash'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _tombolaUsersUserIdCashPatch({ + required String? userId, + required AppSchemasSchemasRaffleCashEdit? body, + }) { + final Uri $url = Uri.parse('/tombola/users/${userId}/cash'); + final $body = body; + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future>> _tombolaPrizesPrizeIdDrawPost( + {required String? prizeId}) { + final Uri $url = Uri.parse('/tombola/prizes/${prizeId}/draw'); + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + ); + return client.send, TicketComplete>($request); + } + + @override + Future> _tombolaRafflesRaffleIdOpenPatch( + {required String? raffleId}) { + final Uri $url = Uri.parse('/tombola/raffles/${raffleId}/open'); + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _tombolaRafflesRaffleIdLockPatch( + {required String? raffleId}) { + final Uri $url = Uri.parse('/tombola/raffles/${raffleId}/lock'); + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future>> _usersGet() { + final Uri $url = Uri.parse('/users/'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send, CoreUserSimple>($request); + } + + @override + Future> _usersCountGet() { + final Uri $url = Uri.parse('/users/count'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future>> _usersSearchGet({ + required String? query, + List? includedGroups, + List? excludedGroups, + }) { + final Uri $url = Uri.parse('/users/search'); + final Map $params = { + 'query': query, + 'includedGroups': includedGroups, + 'excludedGroups': excludedGroups, + }; + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + parameters: $params, + ); + return client.send, CoreUserSimple>($request); + } + + @override + Future> _usersMeGet() async { + final Uri $url = Uri.parse('/users/me'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _usersMePatch({required CoreUserUpdate? body}) { + final Uri $url = Uri.parse('/users/me'); + final $body = body; + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _usersCreatePost( + {required CoreUserCreateRequest? body}) { + final Uri $url = Uri.parse('/users/create'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _usersBatchCreationPost( + {required List? body}) { + final Uri $url = Uri.parse('/users/batch-creation'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _usersActivateGet( + {required String? activationToken}) { + final Uri $url = Uri.parse('/users/activate'); + final Map $params = { + 'activation_token': activationToken + }; + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + parameters: $params, + ); + return client.send($request); + } + + @override + Future> _usersActivatePost( + {required CoreUserActivateRequest? body}) { + final Uri $url = Uri.parse('/users/activate'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _usersMakeAdminPost() { + final Uri $url = Uri.parse('/users/make-admin'); + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _usersRecoverPost( + {required BodyRecoverUserUsersRecoverPost? body}) { + final Uri $url = Uri.parse('/users/recover'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> + _usersResetPasswordPost({required ResetPasswordRequest? body}) { + final Uri $url = Uri.parse('/users/reset-password'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _usersMigrateMailPost( + {required MailMigrationRequest? body}) { + final Uri $url = Uri.parse('/users/migrate-mail'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _usersMigrateMailConfirmGet( + {required String? token}) { + final Uri $url = Uri.parse('/users/migrate-mail-confirm'); + final Map $params = {'token': token}; + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + parameters: $params, + ); + return client.send($request); + } + + @override + Future> + _usersChangePasswordPost({required ChangePasswordRequest? body}) { + final Uri $url = Uri.parse('/users/change-password'); + final $body = body; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _usersUserIdGet({required String? userId}) { + final Uri $url = Uri.parse('/users/${userId}'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _usersUserIdPatch({ + required String? userId, + required CoreUserUpdateAdmin? body, + }) { + final Uri $url = Uri.parse('/users/${userId}'); + final $body = body; + final Request $request = Request( + 'PATCH', + $url, + client.baseUrl, + body: $body, + ); + return client.send($request); + } + + @override + Future> _usersMeAskDeletionPost() { + final Uri $url = Uri.parse('/users/me/ask-deletion'); + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> _usersMeProfilePictureGet() { + final Uri $url = Uri.parse('/users/me/profile-picture'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } + + @override + Future> + _usersMeProfilePicturePost( + {required BodyCreateCurrentUserProfilePictureUsersMeProfilePicturePost + body}) { + final Uri $url = Uri.parse('/users/me/profile-picture'); + final List $parts = [ + PartValue( + 'body', + body, + ) + ]; + final Request $request = Request( + 'POST', + $url, + client.baseUrl, + parts: $parts, + multipart: true, + ); + return client.send($request); + } + + @override + Future> _usersUserIdProfilePictureGet( + {required String? userId}) { + final Uri $url = Uri.parse('/users/${userId}/profile-picture'); + final Request $request = Request( + 'GET', + $url, + client.baseUrl, + ); + return client.send($request); + } +} diff --git a/lib/generated/openapi.swagger.dart b/lib/generated/openapi.swagger.dart new file mode 100644 index 000000000..b78bd4eea --- /dev/null +++ b/lib/generated/openapi.swagger.dart @@ -0,0 +1,3374 @@ +// ignore_for_file: type=lint + +import 'package:json_annotation/json_annotation.dart'; +import 'package:collection/collection.dart'; +import 'dart:convert'; + +import 'openapi.models.swagger.dart'; +import 'package:chopper/chopper.dart'; + +import 'client_mapping.dart'; +import 'dart:async'; +import 'package:http/http.dart' as http; +import 'package:http/http.dart' show MultipartFile; +import 'package:chopper/chopper.dart' as chopper; +import 'openapi.enums.swagger.dart' as enums; +export 'openapi.enums.swagger.dart'; +export 'openapi.models.swagger.dart'; + +part 'openapi.swagger.chopper.dart'; + +// ************************************************************************** +// SwaggerChopperGenerator +// ************************************************************************** + +@ChopperApi() +abstract class Openapi extends ChopperService { + static Openapi create({ + ChopperClient? client, + http.Client? httpClient, + Authenticator? authenticator, + Converter? converter, + Uri? baseUrl, + Iterable? interceptors, + }) { + if (client != null) { + return _$Openapi(client); + } + + final newClient = ChopperClient( + services: [_$Openapi()], + converter: converter ?? $JsonSerializableConverter(), + interceptors: interceptors ?? [], + client: httpClient, + authenticator: authenticator, + baseUrl: baseUrl ?? Uri.parse('http://')); + return _$Openapi(newClient); + } + + ///Send Email Backgroundtasks + ///@param email + ///@param subject + ///@param content + Future sendEmailPost({ + required String? email, + required String? subject, + required String? content, + }) { + return _sendEmailPost(email: email, subject: subject, content: content); + } + + ///Send Email Backgroundtasks + ///@param email + ///@param subject + ///@param content + @Post( + path: '/send-email/', + optionalBody: true, + ) + Future _sendEmailPost({ + @Query('email') required String? email, + @Query('subject') required String? subject, + @Query('content') required String? content, + }); + + ///Read Advertisers + Future>> advertAdvertisersGet() { + generatedMapping.putIfAbsent( + AdvertiserComplete, () => AdvertiserComplete.fromJsonFactory); + + return _advertAdvertisersGet(); + } + + ///Read Advertisers + @Get(path: '/advert/advertisers') + Future>> _advertAdvertisersGet(); + + ///Create Advertiser + Future> advertAdvertisersPost( + {required AdvertiserBase? body}) { + generatedMapping.putIfAbsent( + AdvertiserComplete, () => AdvertiserComplete.fromJsonFactory); + + return _advertAdvertisersPost(body: body); + } + + ///Create Advertiser + @Post( + path: '/advert/advertisers', + optionalBody: true, + ) + Future> _advertAdvertisersPost( + {@Body() required AdvertiserBase? body}); + + ///Delete Advertiser + ///@param advertiser_id + Future advertAdvertisersAdvertiserIdDelete( + {required String? advertiserId}) { + return _advertAdvertisersAdvertiserIdDelete(advertiserId: advertiserId); + } + + ///Delete Advertiser + ///@param advertiser_id + @Delete(path: '/advert/advertisers/{advertiser_id}') + Future _advertAdvertisersAdvertiserIdDelete( + {@Path('advertiser_id') required String? advertiserId}); + + ///Update Advertiser + ///@param advertiser_id + Future advertAdvertisersAdvertiserIdPatch({ + required String? advertiserId, + required AdvertiserUpdate? body, + }) { + return _advertAdvertisersAdvertiserIdPatch( + advertiserId: advertiserId, body: body); + } + + ///Update Advertiser + ///@param advertiser_id + @Patch( + path: '/advert/advertisers/{advertiser_id}', + optionalBody: true, + ) + Future _advertAdvertisersAdvertiserIdPatch({ + @Path('advertiser_id') required String? advertiserId, + @Body() required AdvertiserUpdate? body, + }); + + ///Get Current User Advertisers + Future>> advertMeAdvertisersGet() { + generatedMapping.putIfAbsent( + AdvertiserComplete, () => AdvertiserComplete.fromJsonFactory); + + return _advertMeAdvertisersGet(); + } + + ///Get Current User Advertisers + @Get(path: '/advert/me/advertisers') + Future>> _advertMeAdvertisersGet(); + + ///Read Adverts + ///@param advertisers + Future>> advertAdvertsGet( + {List? advertisers}) { + generatedMapping.putIfAbsent( + AdvertReturnComplete, () => AdvertReturnComplete.fromJsonFactory); + + return _advertAdvertsGet(advertisers: advertisers); + } + + ///Read Adverts + ///@param advertisers + @Get(path: '/advert/adverts') + Future>> _advertAdvertsGet( + {@Query('advertisers') List? advertisers}); + + ///Create Advert + Future> advertAdvertsPost( + {required AdvertBase? body}) { + generatedMapping.putIfAbsent( + AdvertReturnComplete, () => AdvertReturnComplete.fromJsonFactory); + + return _advertAdvertsPost(body: body); + } + + ///Create Advert + @Post( + path: '/advert/adverts', + optionalBody: true, + ) + Future> _advertAdvertsPost( + {@Body() required AdvertBase? body}); + + ///Read Advert + ///@param advert_id + Future> advertAdvertsAdvertIdGet( + {required String? advertId}) { + generatedMapping.putIfAbsent( + AdvertReturnComplete, () => AdvertReturnComplete.fromJsonFactory); + + return _advertAdvertsAdvertIdGet(advertId: advertId); + } + + ///Read Advert + ///@param advert_id + @Get(path: '/advert/adverts/{advert_id}') + Future> _advertAdvertsAdvertIdGet( + {@Path('advert_id') required String? advertId}); + + ///Delete Advert + ///@param advert_id + Future advertAdvertsAdvertIdDelete( + {required String? advertId}) { + return _advertAdvertsAdvertIdDelete(advertId: advertId); + } + + ///Delete Advert + ///@param advert_id + @Delete(path: '/advert/adverts/{advert_id}') + Future _advertAdvertsAdvertIdDelete( + {@Path('advert_id') required String? advertId}); + + ///Update Advert + ///@param advert_id + Future advertAdvertsAdvertIdPatch({ + required String? advertId, + required AdvertUpdate? body, + }) { + return _advertAdvertsAdvertIdPatch(advertId: advertId, body: body); + } + + ///Update Advert + ///@param advert_id + @Patch( + path: '/advert/adverts/{advert_id}', + optionalBody: true, + ) + Future _advertAdvertsAdvertIdPatch({ + @Path('advert_id') required String? advertId, + @Body() required AdvertUpdate? body, + }); + + ///Read Advert Image + ///@param advert_id + Future advertAdvertsAdvertIdPictureGet( + {required String? advertId}) { + return _advertAdvertsAdvertIdPictureGet(advertId: advertId); + } + + ///Read Advert Image + ///@param advert_id + @Get(path: '/advert/adverts/{advert_id}/picture') + Future _advertAdvertsAdvertIdPictureGet( + {@Path('advert_id') required String? advertId}); + + ///Create Advert Image + ///@param advert_id + Future> + advertAdvertsAdvertIdPicturePost({ + required String? advertId, + required BodyCreateAdvertImageAdvertAdvertsAdvertIdPicturePost body, + }) { + generatedMapping.putIfAbsent(AppUtilsTypesStandardResponsesResult, + () => AppUtilsTypesStandardResponsesResult.fromJsonFactory); + + return _advertAdvertsAdvertIdPicturePost(advertId: advertId, body: body); + } + + ///Create Advert Image + ///@param advert_id + @Post( + path: '/advert/adverts/{advert_id}/picture', + optionalBody: true, + ) + @Multipart() + Future> + _advertAdvertsAdvertIdPicturePost({ + @Path('advert_id') required String? advertId, + @Part() required BodyCreateAdvertImageAdvertAdvertsAdvertIdPicturePost body, + }); + + ///Get Products + Future>> amapProductsGet() { + generatedMapping.putIfAbsent( + ProductComplete, () => ProductComplete.fromJsonFactory); + + return _amapProductsGet(); + } + + ///Get Products + @Get(path: '/amap/products') + Future>> _amapProductsGet(); + + ///Create Product + Future> amapProductsPost( + {required ProductSimple? body}) { + generatedMapping.putIfAbsent( + ProductComplete, () => ProductComplete.fromJsonFactory); + + return _amapProductsPost(body: body); + } + + ///Create Product + @Post( + path: '/amap/products', + optionalBody: true, + ) + Future> _amapProductsPost( + {@Body() required ProductSimple? body}); + + ///Get Product By Id + ///@param product_id + Future> amapProductsProductIdGet( + {required String? productId}) { + generatedMapping.putIfAbsent( + ProductComplete, () => ProductComplete.fromJsonFactory); + + return _amapProductsProductIdGet(productId: productId); + } + + ///Get Product By Id + ///@param product_id + @Get(path: '/amap/products/{product_id}') + Future> _amapProductsProductIdGet( + {@Path('product_id') required String? productId}); + + ///Delete Product + ///@param product_id + Future amapProductsProductIdDelete( + {required String? productId}) { + return _amapProductsProductIdDelete(productId: productId); + } + + ///Delete Product + ///@param product_id + @Delete(path: '/amap/products/{product_id}') + Future _amapProductsProductIdDelete( + {@Path('product_id') required String? productId}); + + ///Edit Product + ///@param product_id + Future amapProductsProductIdPatch({ + required String? productId, + required ProductEdit? body, + }) { + return _amapProductsProductIdPatch(productId: productId, body: body); + } + + ///Edit Product + ///@param product_id + @Patch( + path: '/amap/products/{product_id}', + optionalBody: true, + ) + Future _amapProductsProductIdPatch({ + @Path('product_id') required String? productId, + @Body() required ProductEdit? body, + }); + + ///Get Deliveries + Future>> amapDeliveriesGet() { + generatedMapping.putIfAbsent( + DeliveryReturn, () => DeliveryReturn.fromJsonFactory); + + return _amapDeliveriesGet(); + } + + ///Get Deliveries + @Get(path: '/amap/deliveries') + Future>> _amapDeliveriesGet(); + + ///Create Delivery + Future> amapDeliveriesPost( + {required DeliveryBase? body}) { + generatedMapping.putIfAbsent( + DeliveryReturn, () => DeliveryReturn.fromJsonFactory); + + return _amapDeliveriesPost(body: body); + } + + ///Create Delivery + @Post( + path: '/amap/deliveries', + optionalBody: true, + ) + Future> _amapDeliveriesPost( + {@Body() required DeliveryBase? body}); + + ///Delete Delivery + ///@param delivery_id + Future amapDeliveriesDeliveryIdDelete( + {required String? deliveryId}) { + return _amapDeliveriesDeliveryIdDelete(deliveryId: deliveryId); + } + + ///Delete Delivery + ///@param delivery_id + @Delete(path: '/amap/deliveries/{delivery_id}') + Future _amapDeliveriesDeliveryIdDelete( + {@Path('delivery_id') required String? deliveryId}); + + ///Edit Delivery + ///@param delivery_id + Future amapDeliveriesDeliveryIdPatch({ + required String? deliveryId, + required DeliveryUpdate? body, + }) { + return _amapDeliveriesDeliveryIdPatch(deliveryId: deliveryId, body: body); + } + + ///Edit Delivery + ///@param delivery_id + @Patch( + path: '/amap/deliveries/{delivery_id}', + optionalBody: true, + ) + Future _amapDeliveriesDeliveryIdPatch({ + @Path('delivery_id') required String? deliveryId, + @Body() required DeliveryUpdate? body, + }); + + ///Add Product To Delivery + ///@param delivery_id + Future amapDeliveriesDeliveryIdProductsPost({ + required String? deliveryId, + required DeliveryProductsUpdate? body, + }) { + return _amapDeliveriesDeliveryIdProductsPost( + deliveryId: deliveryId, body: body); + } + + ///Add Product To Delivery + ///@param delivery_id + @Post( + path: '/amap/deliveries/{delivery_id}/products', + optionalBody: true, + ) + Future _amapDeliveriesDeliveryIdProductsPost({ + @Path('delivery_id') required String? deliveryId, + @Body() required DeliveryProductsUpdate? body, + }); + + ///Remove Product From Delivery + ///@param delivery_id + Future amapDeliveriesDeliveryIdProductsDelete({ + required String? deliveryId, + required DeliveryProductsUpdate? body, + }) { + return _amapDeliveriesDeliveryIdProductsDelete( + deliveryId: deliveryId, body: body); + } + + ///Remove Product From Delivery + ///@param delivery_id + @Delete(path: '/amap/deliveries/{delivery_id}/products') + Future _amapDeliveriesDeliveryIdProductsDelete({ + @Path('delivery_id') required String? deliveryId, + @Body() required DeliveryProductsUpdate? body, + }); + + ///Get Orders From Delivery + ///@param delivery_id + Future>> amapDeliveriesDeliveryIdOrdersGet( + {required String? deliveryId}) { + generatedMapping.putIfAbsent( + OrderReturn, () => OrderReturn.fromJsonFactory); + + return _amapDeliveriesDeliveryIdOrdersGet(deliveryId: deliveryId); + } + + ///Get Orders From Delivery + ///@param delivery_id + @Get(path: '/amap/deliveries/{delivery_id}/orders') + Future>> + _amapDeliveriesDeliveryIdOrdersGet( + {@Path('delivery_id') required String? deliveryId}); + + ///Get Order By Id + ///@param order_id + Future> amapOrdersOrderIdGet( + {required String? orderId}) { + generatedMapping.putIfAbsent( + OrderReturn, () => OrderReturn.fromJsonFactory); + + return _amapOrdersOrderIdGet(orderId: orderId); + } + + ///Get Order By Id + ///@param order_id + @Get(path: '/amap/orders/{order_id}') + Future> _amapOrdersOrderIdGet( + {@Path('order_id') required String? orderId}); + + ///Remove Order + ///@param order_id + Future amapOrdersOrderIdDelete({required String? orderId}) { + return _amapOrdersOrderIdDelete(orderId: orderId); + } + + ///Remove Order + ///@param order_id + @Delete(path: '/amap/orders/{order_id}') + Future _amapOrdersOrderIdDelete( + {@Path('order_id') required String? orderId}); + + ///Edit Order From Delievery + ///@param order_id + Future amapOrdersOrderIdPatch({ + required String? orderId, + required OrderEdit? body, + }) { + return _amapOrdersOrderIdPatch(orderId: orderId, body: body); + } + + ///Edit Order From Delievery + ///@param order_id + @Patch( + path: '/amap/orders/{order_id}', + optionalBody: true, + ) + Future _amapOrdersOrderIdPatch({ + @Path('order_id') required String? orderId, + @Body() required OrderEdit? body, + }); + + ///Add Order To Delievery + Future> amapOrdersPost( + {required OrderBase? body}) { + generatedMapping.putIfAbsent( + OrderReturn, () => OrderReturn.fromJsonFactory); + + return _amapOrdersPost(body: body); + } + + ///Add Order To Delievery + @Post( + path: '/amap/orders', + optionalBody: true, + ) + Future> _amapOrdersPost( + {@Body() required OrderBase? body}); + + ///Open Ordering Of Delivery + ///@param delivery_id + Future amapDeliveriesDeliveryIdOpenorderingPost( + {required String? deliveryId}) { + return _amapDeliveriesDeliveryIdOpenorderingPost(deliveryId: deliveryId); + } + + ///Open Ordering Of Delivery + ///@param delivery_id + @Post( + path: '/amap/deliveries/{delivery_id}/openordering', + optionalBody: true, + ) + Future _amapDeliveriesDeliveryIdOpenorderingPost( + {@Path('delivery_id') required String? deliveryId}); + + ///Lock Delivery + ///@param delivery_id + Future amapDeliveriesDeliveryIdLockPost( + {required String? deliveryId}) { + return _amapDeliveriesDeliveryIdLockPost(deliveryId: deliveryId); + } + + ///Lock Delivery + ///@param delivery_id + @Post( + path: '/amap/deliveries/{delivery_id}/lock', + optionalBody: true, + ) + Future _amapDeliveriesDeliveryIdLockPost( + {@Path('delivery_id') required String? deliveryId}); + + ///Mark Delivery As Delivered + ///@param delivery_id + Future amapDeliveriesDeliveryIdDeliveredPost( + {required String? deliveryId}) { + return _amapDeliveriesDeliveryIdDeliveredPost(deliveryId: deliveryId); + } + + ///Mark Delivery As Delivered + ///@param delivery_id + @Post( + path: '/amap/deliveries/{delivery_id}/delivered', + optionalBody: true, + ) + Future _amapDeliveriesDeliveryIdDeliveredPost( + {@Path('delivery_id') required String? deliveryId}); + + ///Archive Of Delivery + ///@param delivery_id + Future amapDeliveriesDeliveryIdArchivePost( + {required String? deliveryId}) { + return _amapDeliveriesDeliveryIdArchivePost(deliveryId: deliveryId); + } + + ///Archive Of Delivery + ///@param delivery_id + @Post( + path: '/amap/deliveries/{delivery_id}/archive', + optionalBody: true, + ) + Future _amapDeliveriesDeliveryIdArchivePost( + {@Path('delivery_id') required String? deliveryId}); + + ///Get Users Cash + Future>> + amapUsersCashGet() { + generatedMapping.putIfAbsent(AppSchemasSchemasAmapCashComplete, + () => AppSchemasSchemasAmapCashComplete.fromJsonFactory); + + return _amapUsersCashGet(); + } + + ///Get Users Cash + @Get(path: '/amap/users/cash') + Future>> + _amapUsersCashGet(); + + ///Get Cash By Id + ///@param user_id + Future> + amapUsersUserIdCashGet({required String? userId}) { + generatedMapping.putIfAbsent(AppSchemasSchemasAmapCashComplete, + () => AppSchemasSchemasAmapCashComplete.fromJsonFactory); + + return _amapUsersUserIdCashGet(userId: userId); + } + + ///Get Cash By Id + ///@param user_id + @Get(path: '/amap/users/{user_id}/cash') + Future> + _amapUsersUserIdCashGet({@Path('user_id') required String? userId}); + + ///Create Cash Of User + ///@param user_id + Future> + amapUsersUserIdCashPost({ + required String? userId, + required AppSchemasSchemasAmapCashEdit? body, + }) { + generatedMapping.putIfAbsent(AppSchemasSchemasAmapCashComplete, + () => AppSchemasSchemasAmapCashComplete.fromJsonFactory); + + return _amapUsersUserIdCashPost(userId: userId, body: body); + } + + ///Create Cash Of User + ///@param user_id + @Post( + path: '/amap/users/{user_id}/cash', + optionalBody: true, + ) + Future> + _amapUsersUserIdCashPost({ + @Path('user_id') required String? userId, + @Body() required AppSchemasSchemasAmapCashEdit? body, + }); + + ///Edit Cash By Id + ///@param user_id + Future amapUsersUserIdCashPatch({ + required String? userId, + required AppSchemasSchemasAmapCashEdit? body, + }) { + return _amapUsersUserIdCashPatch(userId: userId, body: body); + } + + ///Edit Cash By Id + ///@param user_id + @Patch( + path: '/amap/users/{user_id}/cash', + optionalBody: true, + ) + Future _amapUsersUserIdCashPatch({ + @Path('user_id') required String? userId, + @Body() required AppSchemasSchemasAmapCashEdit? body, + }); + + ///Get Orders Of User + ///@param user_id + Future>> amapUsersUserIdOrdersGet( + {required String? userId}) { + generatedMapping.putIfAbsent( + OrderReturn, () => OrderReturn.fromJsonFactory); + + return _amapUsersUserIdOrdersGet(userId: userId); + } + + ///Get Orders Of User + ///@param user_id + @Get(path: '/amap/users/{user_id}/orders') + Future>> _amapUsersUserIdOrdersGet( + {@Path('user_id') required String? userId}); + + ///Get Information + Future> amapInformationGet() { + generatedMapping.putIfAbsent( + Information, () => Information.fromJsonFactory); + + return _amapInformationGet(); + } + + ///Get Information + @Get(path: '/amap/information') + Future> _amapInformationGet(); + + ///Edit Information + Future amapInformationPatch( + {required InformationEdit? body}) { + return _amapInformationPatch(body: body); + } + + ///Edit Information + @Patch( + path: '/amap/information', + optionalBody: true, + ) + Future _amapInformationPatch( + {@Body() required InformationEdit? body}); + + ///Get Associations + Future associationsGet() { + return _associationsGet(); + } + + ///Get Associations + @Get(path: '/associations') + Future _associationsGet(); + + ///Edit Association + Future associationsPut() { + return _associationsPut(); + } + + ///Edit Association + @Put( + path: '/associations', + optionalBody: true, + ) + Future _associationsPut(); + + ///Create Association + Future associationsPost() { + return _associationsPost(); + } + + ///Create Association + @Post( + path: '/associations', + optionalBody: true, + ) + Future _associationsPost(); + + ///Get Association + ///@param association_id + Future associationsAssociationIdGet( + {required Object? associationId}) { + return _associationsAssociationIdGet(associationId: associationId); + } + + ///Get Association + ///@param association_id + @Get(path: '/associations/{association_id}') + Future _associationsAssociationIdGet( + {@Path('association_id') required Object? associationId}); + + ///Get Users Association + ///@param association_id + Future associationsAssociationIdUsersGet( + {required Object? associationId}) { + return _associationsAssociationIdUsersGet(associationId: associationId); + } + + ///Get Users Association + ///@param association_id + @Get(path: '/associations/{association_id}/users') + Future _associationsAssociationIdUsersGet( + {@Path('association_id') required Object? associationId}); + + ///Create User Association + ///@param association_id + ///@param user_id + Future associationsAssociationIdUsersUserIdPost({ + required Object? associationId, + required Object? userId, + }) { + return _associationsAssociationIdUsersUserIdPost( + associationId: associationId, userId: userId); + } + + ///Create User Association + ///@param association_id + ///@param user_id + @Post( + path: '/associations/{association_id}/users/{user_id}', + optionalBody: true, + ) + Future _associationsAssociationIdUsersUserIdPost({ + @Path('association_id') required Object? associationId, + @Path('user_id') required Object? userId, + }); + + ///Delete User Association + ///@param association_id + ///@param user_id + Future associationsAssociationIdUsersUserIdDelete({ + required Object? associationId, + required Object? userId, + }) { + return _associationsAssociationIdUsersUserIdDelete( + associationId: associationId, userId: userId); + } + + ///Delete User Association + ///@param association_id + ///@param user_id + @Delete(path: '/associations/{association_id}/users/{user_id}') + Future _associationsAssociationIdUsersUserIdDelete({ + @Path('association_id') required Object? associationId, + @Path('user_id') required Object? userId, + }); + + ///Create Admin Association + ///@param association_id + ///@param user_id + Future associationsAssociationIdAdminsUserIdPost({ + required Object? associationId, + required Object? userId, + }) { + return _associationsAssociationIdAdminsUserIdPost( + associationId: associationId, userId: userId); + } + + ///Create Admin Association + ///@param association_id + ///@param user_id + @Post( + path: '/associations/{association_id}/admins/{user_id}', + optionalBody: true, + ) + Future _associationsAssociationIdAdminsUserIdPost({ + @Path('association_id') required Object? associationId, + @Path('user_id') required Object? userId, + }); + + ///Delete Admin Association + ///@param association_id + ///@param user_id + Future associationsAssociationIdAdminsUserIdDelete({ + required Object? associationId, + required Object? userId, + }) { + return _associationsAssociationIdAdminsUserIdDelete( + associationId: associationId, userId: userId); + } + + ///Delete Admin Association + ///@param association_id + ///@param user_id + @Delete(path: '/associations/{association_id}/admins/{user_id}') + Future _associationsAssociationIdAdminsUserIdDelete({ + @Path('association_id') required Object? associationId, + @Path('user_id') required Object? userId, + }); + + ///Login For Access Token + Future> authSimpleTokenPost( + {required BodyLoginForAccessTokenAuthSimpleTokenPost body}) { + generatedMapping.putIfAbsent( + AccessToken, () => AccessToken.fromJsonFactory); + + return _authSimpleTokenPost(body: body); + } + + ///Login For Access Token + @Post( + path: '/auth/simple_token', + optionalBody: true, + ) + @Multipart() + Future> _authSimpleTokenPost( + {@Part() required BodyLoginForAccessTokenAuthSimpleTokenPost body}); + + ///Get Authorize Page + ///@param client_id + ///@param redirect_uri + ///@param response_type + ///@param scope + ///@param state + ///@param nonce + ///@param code_challenge + ///@param code_challenge_method + Future> authAuthorizeGet({ + required String? clientId, + String? redirectUri, + required String? responseType, + String? scope, + String? state, + String? nonce, + String? codeChallenge, + String? codeChallengeMethod, + }) { + return _authAuthorizeGet( + clientId: clientId, + redirectUri: redirectUri, + responseType: responseType, + scope: scope, + state: state, + nonce: nonce, + codeChallenge: codeChallenge, + codeChallengeMethod: codeChallengeMethod); + } + + ///Get Authorize Page + ///@param client_id + ///@param redirect_uri + ///@param response_type + ///@param scope + ///@param state + ///@param nonce + ///@param code_challenge + ///@param code_challenge_method + @Get(path: '/auth/authorize') + Future> _authAuthorizeGet({ + @Query('client_id') required String? clientId, + @Query('redirect_uri') String? redirectUri, + @Query('response_type') required String? responseType, + @Query('scope') String? scope, + @Query('state') String? state, + @Query('nonce') String? nonce, + @Query('code_challenge') String? codeChallenge, + @Query('code_challenge_method') String? codeChallengeMethod, + }); + + ///Post Authorize Page + Future> authAuthorizePost( + {required BodyPostAuthorizePageAuthAuthorizePost body}) { + return _authAuthorizePost(body: body); + } + + ///Post Authorize Page + @Post( + path: '/auth/authorize', + optionalBody: true, + ) + @Multipart() + Future> _authAuthorizePost( + {@Part() required BodyPostAuthorizePageAuthAuthorizePost body}); + + ///Authorize Validation + Future authAuthorizationFlowAuthorizeValidationPost( + {required BodyAuthorizeValidationAuthAuthorizationFlowAuthorizeValidationPost + body}) { + return _authAuthorizationFlowAuthorizeValidationPost(body: body); + } + + ///Authorize Validation + @Post( + path: '/auth/authorization-flow/authorize-validation', + optionalBody: true, + ) + @Multipart() + Future _authAuthorizationFlowAuthorizeValidationPost( + {@Part() + required BodyAuthorizeValidationAuthAuthorizationFlowAuthorizeValidationPost + body}); + + ///Token + ///@param authorization + Future> authTokenPost({ + String? authorization, + required BodyTokenAuthTokenPost body, + }) { + generatedMapping.putIfAbsent( + TokenResponse, () => TokenResponse.fromJsonFactory); + + return _authTokenPost(authorization: authorization?.toString(), body: body); + } + + ///Token + ///@param authorization + @Post( + path: '/auth/token', + optionalBody: true, + ) + @Multipart() + Future> _authTokenPost({ + @Header('authorization') String? authorization, + @Part() required BodyTokenAuthTokenPost body, + }); + + ///Auth Get Userinfo + Future authUserinfoGet() { + return _authUserinfoGet(); + } + + ///Auth Get Userinfo + @Get(path: '/auth/userinfo') + Future _authUserinfoGet(); + + ///Jwks Uri + Future oidcAuthorizationFlowJwksUriGet() { + return _oidcAuthorizationFlowJwksUriGet(); + } + + ///Jwks Uri + @Get(path: '/oidc/authorization-flow/jwks_uri') + Future _oidcAuthorizationFlowJwksUriGet(); + + ///Oidc Configuration + Future wellKnownOpenidConfigurationGet() { + return _wellKnownOpenidConfigurationGet(); + } + + ///Oidc Configuration + @Get(path: '/.well-known/openid-configuration') + Future _wellKnownOpenidConfigurationGet(); + + ///Get Rights + Future> bdebookingRightsGet() { + generatedMapping.putIfAbsent(Rights, () => Rights.fromJsonFactory); + + return _bdebookingRightsGet(); + } + + ///Get Rights + @Get(path: '/bdebooking/rights') + Future> _bdebookingRightsGet(); + + ///Get Bookings + Future>> + bdebookingBookingsGet() { + generatedMapping.putIfAbsent( + BookingReturnApplicant, () => BookingReturnApplicant.fromJsonFactory); + + return _bdebookingBookingsGet(); + } + + ///Get Bookings + @Get(path: '/bdebooking/bookings') + Future>> + _bdebookingBookingsGet(); + + ///Create Bookings + Future> bdebookingBookingsPost( + {required BookingBase? body}) { + generatedMapping.putIfAbsent( + BookingReturn, () => BookingReturn.fromJsonFactory); + + return _bdebookingBookingsPost(body: body); + } + + ///Create Bookings + @Post( + path: '/bdebooking/bookings', + optionalBody: true, + ) + Future> _bdebookingBookingsPost( + {@Body() required BookingBase? body}); + + ///Get Confirmed Bookings + Future>> + bdebookingBookingsConfirmedGet() { + generatedMapping.putIfAbsent( + BookingReturn, () => BookingReturn.fromJsonFactory); + + return _bdebookingBookingsConfirmedGet(); + } + + ///Get Confirmed Bookings + @Get(path: '/bdebooking/bookings/confirmed') + Future>> + _bdebookingBookingsConfirmedGet(); + + ///Get Applicant Bookings + ///@param applicant_id + Future>> bdebookingUserApplicantIdGet( + {required String? applicantId}) { + generatedMapping.putIfAbsent( + BookingReturn, () => BookingReturn.fromJsonFactory); + + return _bdebookingUserApplicantIdGet(applicantId: applicantId); + } + + ///Get Applicant Bookings + ///@param applicant_id + @Get(path: '/bdebooking/user/{applicant_id}') + Future>> _bdebookingUserApplicantIdGet( + {@Path('applicant_id') required String? applicantId}); + + ///Get Booking By Id + ///@param booking_id + Future> bdebookingBookingsBookingIdGet( + {required String? bookingId}) { + generatedMapping.putIfAbsent( + BookingReturn, () => BookingReturn.fromJsonFactory); + + return _bdebookingBookingsBookingIdGet(bookingId: bookingId); + } + + ///Get Booking By Id + ///@param booking_id + @Get(path: '/bdebooking/bookings/{booking_id}') + Future> _bdebookingBookingsBookingIdGet( + {@Path('booking_id') required String? bookingId}); + + ///Delete Bookings Id + ///@param booking_id + Future bdebookingBookingsBookingIdDelete( + {required Object? bookingId}) { + return _bdebookingBookingsBookingIdDelete(bookingId: bookingId); + } + + ///Delete Bookings Id + ///@param booking_id + @Delete(path: '/bdebooking/bookings/{booking_id}') + Future _bdebookingBookingsBookingIdDelete( + {@Path('booking_id') required Object? bookingId}); + + ///Edit Bookings Id + ///@param booking_id + Future bdebookingBookingsBookingIdPatch({ + required String? bookingId, + required BookingEdit? body, + }) { + return _bdebookingBookingsBookingIdPatch(bookingId: bookingId, body: body); + } + + ///Edit Bookings Id + ///@param booking_id + @Patch( + path: '/bdebooking/bookings/{booking_id}', + optionalBody: true, + ) + Future _bdebookingBookingsBookingIdPatch({ + @Path('booking_id') required String? bookingId, + @Body() required BookingEdit? body, + }); + + ///Get Booking Applicant + ///@param booking_id + Future> bdebookingBookingsBookingIdApplicantGet( + {required String? bookingId}) { + generatedMapping.putIfAbsent(Applicant, () => Applicant.fromJsonFactory); + + return _bdebookingBookingsBookingIdApplicantGet(bookingId: bookingId); + } + + ///Get Booking Applicant + ///@param booking_id + @Get(path: '/bdebooking/bookings/{booking_id}/applicant') + Future> _bdebookingBookingsBookingIdApplicantGet( + {@Path('booking_id') required String? bookingId}); + + ///Confirm Booking + ///@param booking_id + ///@param decision + Future bdebookingBookingsBookingIdReplyDecisionPatch({ + required String? bookingId, + required enums.AppUtilsTypesBdebookingTypeDecision? decision, + }) { + return _bdebookingBookingsBookingIdReplyDecisionPatch( + bookingId: bookingId, decision: decision?.value?.toString()); + } + + ///Confirm Booking + ///@param booking_id + ///@param decision + @Patch( + path: '/bdebooking/bookings/{booking_id}/reply/{decision}', + optionalBody: true, + ) + Future _bdebookingBookingsBookingIdReplyDecisionPatch({ + @Path('booking_id') required String? bookingId, + @Path('decision') required String? decision, + }); + + ///Get Rooms + Future>> bdebookingRoomsGet() { + generatedMapping.putIfAbsent( + RoomComplete, () => RoomComplete.fromJsonFactory); + + return _bdebookingRoomsGet(); + } + + ///Get Rooms + @Get(path: '/bdebooking/rooms') + Future>> _bdebookingRoomsGet(); + + ///Create Room + Future> bdebookingRoomsPost( + {required RoomBase? body}) { + generatedMapping.putIfAbsent( + RoomComplete, () => RoomComplete.fromJsonFactory); + + return _bdebookingRoomsPost(body: body); + } + + ///Create Room + @Post( + path: '/bdebooking/rooms', + optionalBody: true, + ) + Future> _bdebookingRoomsPost( + {@Body() required RoomBase? body}); + + ///Get Room By Id + ///@param room_id + Future> bdebookingRoomsRoomIdGet( + {required String? roomId}) { + generatedMapping.putIfAbsent( + RoomComplete, () => RoomComplete.fromJsonFactory); + + return _bdebookingRoomsRoomIdGet(roomId: roomId); + } + + ///Get Room By Id + ///@param room_id + @Get(path: '/bdebooking/rooms/{room_id}') + Future> _bdebookingRoomsRoomIdGet( + {@Path('room_id') required String? roomId}); + + ///Delete Room + ///@param room_id + Future bdebookingRoomsRoomIdDelete( + {required String? roomId}) { + return _bdebookingRoomsRoomIdDelete(roomId: roomId); + } + + ///Delete Room + ///@param room_id + @Delete(path: '/bdebooking/rooms/{room_id}') + Future _bdebookingRoomsRoomIdDelete( + {@Path('room_id') required String? roomId}); + + ///Edit Room + ///@param room_id + Future bdebookingRoomsRoomIdPatch({ + required String? roomId, + required RoomBase? body, + }) { + return _bdebookingRoomsRoomIdPatch(roomId: roomId, body: body); + } + + ///Edit Room + ///@param room_id + @Patch( + path: '/bdebooking/rooms/{room_id}', + optionalBody: true, + ) + Future _bdebookingRoomsRoomIdPatch({ + @Path('room_id') required String? roomId, + @Body() required RoomBase? body, + }); + + ///Get Events + Future>> calendarEventsGet() { + generatedMapping.putIfAbsent( + EventReturn, () => EventReturn.fromJsonFactory); + + return _calendarEventsGet(); + } + + ///Get Events + @Get(path: '/calendar/events/') + Future>> _calendarEventsGet(); + + ///Add Event + Future> calendarEventsPost( + {required EventBase? body}) { + generatedMapping.putIfAbsent( + EventComplete, () => EventComplete.fromJsonFactory); + + return _calendarEventsPost(body: body); + } + + ///Add Event + @Post( + path: '/calendar/events/', + optionalBody: true, + ) + Future> _calendarEventsPost( + {@Body() required EventBase? body}); + + ///Get Confirmed Events + Future>> calendarEventsConfirmedGet() { + generatedMapping.putIfAbsent( + EventComplete, () => EventComplete.fromJsonFactory); + + return _calendarEventsConfirmedGet(); + } + + ///Get Confirmed Events + @Get(path: '/calendar/events/confirmed') + Future>> _calendarEventsConfirmedGet(); + + ///Get Applicant Bookings + ///@param applicant_id + Future>> calendarEventsUserApplicantIdGet( + {required String? applicantId}) { + generatedMapping.putIfAbsent( + EventReturn, () => EventReturn.fromJsonFactory); + + return _calendarEventsUserApplicantIdGet(applicantId: applicantId); + } + + ///Get Applicant Bookings + ///@param applicant_id + @Get(path: '/calendar/events/user/{applicant_id}') + Future>> _calendarEventsUserApplicantIdGet( + {@Path('applicant_id') required String? applicantId}); + + ///Get Event By Id + ///@param event_id + Future> calendarEventsEventIdGet( + {required String? eventId}) { + generatedMapping.putIfAbsent( + EventComplete, () => EventComplete.fromJsonFactory); + + return _calendarEventsEventIdGet(eventId: eventId); + } + + ///Get Event By Id + ///@param event_id + @Get(path: '/calendar/events/{event_id}') + Future> _calendarEventsEventIdGet( + {@Path('event_id') required String? eventId}); + + ///Delete Bookings Id + ///@param event_id + Future calendarEventsEventIdDelete( + {required Object? eventId}) { + return _calendarEventsEventIdDelete(eventId: eventId); + } + + ///Delete Bookings Id + ///@param event_id + @Delete(path: '/calendar/events/{event_id}') + Future _calendarEventsEventIdDelete( + {@Path('event_id') required Object? eventId}); + + ///Edit Bookings Id + ///@param event_id + Future calendarEventsEventIdPatch({ + required String? eventId, + required EventEdit? body, + }) { + return _calendarEventsEventIdPatch(eventId: eventId, body: body); + } + + ///Edit Bookings Id + ///@param event_id + @Patch( + path: '/calendar/events/{event_id}', + optionalBody: true, + ) + Future _calendarEventsEventIdPatch({ + @Path('event_id') required String? eventId, + @Body() required EventEdit? body, + }); + + ///Get Event Applicant + ///@param event_id + Future> calendarEventsEventIdApplicantGet( + {required String? eventId}) { + generatedMapping.putIfAbsent( + EventApplicant, () => EventApplicant.fromJsonFactory); + + return _calendarEventsEventIdApplicantGet(eventId: eventId); + } + + ///Get Event Applicant + ///@param event_id + @Get(path: 'calendar/events/{event_id}/applicant') + Future> _calendarEventsEventIdApplicantGet( + {@Path('event_id') required String? eventId}); + + ///Confirm Booking + ///@param event_id + ///@param decision + Future calendarEventsEventIdReplyDecisionPatch({ + required String? eventId, + required enums.AppUtilsTypesCalendarTypesDecision? decision, + }) { + return _calendarEventsEventIdReplyDecisionPatch( + eventId: eventId, decision: decision?.value?.toString()); + } + + ///Confirm Booking + ///@param event_id + ///@param decision + @Patch( + path: '/calendar/events/{event_id}/reply/{decision}', + optionalBody: true, + ) + Future _calendarEventsEventIdReplyDecisionPatch({ + @Path('event_id') required String? eventId, + @Path('decision') required String? decision, + }); + + ///Recreate Ical File + Future calendarIcalCreatePost() { + return _calendarIcalCreatePost(); + } + + ///Recreate Ical File + @Post( + path: '/calendar/ical/create', + optionalBody: true, + ) + Future _calendarIcalCreatePost(); + + ///Get Icalendar File + Future calendarIcalGet() { + return _calendarIcalGet(); + } + + ///Get Icalendar File + @Get(path: '/calendar/ical') + Future _calendarIcalGet(); + + ///Get Sections + Future>> campaignSectionsGet() { + generatedMapping.putIfAbsent( + SectionComplete, () => SectionComplete.fromJsonFactory); + + return _campaignSectionsGet(); + } + + ///Get Sections + @Get(path: '/campaign/sections') + Future>> _campaignSectionsGet(); + + ///Add Section + Future> campaignSectionsPost( + {required SectionBase? body}) { + generatedMapping.putIfAbsent( + SectionComplete, () => SectionComplete.fromJsonFactory); + + return _campaignSectionsPost(body: body); + } + + ///Add Section + @Post( + path: '/campaign/sections', + optionalBody: true, + ) + Future> _campaignSectionsPost( + {@Body() required SectionBase? body}); + + ///Delete Section + ///@param section_id + Future campaignSectionsSectionIdDelete( + {required String? sectionId}) { + return _campaignSectionsSectionIdDelete(sectionId: sectionId); + } + + ///Delete Section + ///@param section_id + @Delete(path: '/campaign/sections/{section_id}') + Future _campaignSectionsSectionIdDelete( + {@Path('section_id') required String? sectionId}); + + ///Get Lists + Future>> campaignListsGet() { + generatedMapping.putIfAbsent(ListReturn, () => ListReturn.fromJsonFactory); + + return _campaignListsGet(); + } + + ///Get Lists + @Get(path: '/campaign/lists') + Future>> _campaignListsGet(); + + ///Add List + Future> campaignListsPost( + {required ListBase? body}) { + generatedMapping.putIfAbsent(ListReturn, () => ListReturn.fromJsonFactory); + + return _campaignListsPost(body: body); + } + + ///Add List + @Post( + path: '/campaign/lists', + optionalBody: true, + ) + Future> _campaignListsPost( + {@Body() required ListBase? body}); + + ///Delete List + ///@param list_id + Future campaignListsListIdDelete( + {required String? listId}) { + return _campaignListsListIdDelete(listId: listId); + } + + ///Delete List + ///@param list_id + @Delete(path: '/campaign/lists/{list_id}') + Future _campaignListsListIdDelete( + {@Path('list_id') required String? listId}); + + ///Update List + ///@param list_id + Future campaignListsListIdPatch({ + required String? listId, + required ListEdit? body, + }) { + return _campaignListsListIdPatch(listId: listId, body: body); + } + + ///Update List + ///@param list_id + @Patch( + path: '/campaign/lists/{list_id}', + optionalBody: true, + ) + Future _campaignListsListIdPatch({ + @Path('list_id') required String? listId, + @Body() required ListEdit? body, + }); + + ///Delete Lists By Type + ///@param list_type + Future campaignListsDelete({enums.ListType? listType}) { + return _campaignListsDelete(listType: listType?.value?.toString()); + } + + ///Delete Lists By Type + ///@param list_type + @Delete(path: '/campaign/lists/') + Future _campaignListsDelete( + {@Query('list_type') String? listType}); + + ///Open Vote + Future campaignStatusOpenPost() { + return _campaignStatusOpenPost(); + } + + ///Open Vote + @Post( + path: '/campaign/status/open', + optionalBody: true, + ) + Future _campaignStatusOpenPost(); + + ///Close Vote + Future campaignStatusClosePost() { + return _campaignStatusClosePost(); + } + + ///Close Vote + @Post( + path: '/campaign/status/close', + optionalBody: true, + ) + Future _campaignStatusClosePost(); + + ///Count Voting + Future campaignStatusCountingPost() { + return _campaignStatusCountingPost(); + } + + ///Count Voting + @Post( + path: '/campaign/status/counting', + optionalBody: true, + ) + Future _campaignStatusCountingPost(); + + ///Publish Vote + Future campaignStatusPublishedPost() { + return _campaignStatusPublishedPost(); + } + + ///Publish Vote + @Post( + path: '/campaign/status/published', + optionalBody: true, + ) + Future _campaignStatusPublishedPost(); + + ///Reset Vote + Future campaignStatusResetPost() { + return _campaignStatusResetPost(); + } + + ///Reset Vote + @Post( + path: '/campaign/status/reset', + optionalBody: true, + ) + Future _campaignStatusResetPost(); + + ///Get Sections Already Voted + Future>> campaignVotesGet() { + return _campaignVotesGet(); + } + + ///Get Sections Already Voted + @Get(path: '/campaign/votes') + Future>> _campaignVotesGet(); + + ///Vote + Future campaignVotesPost({required VoteBase? body}) { + return _campaignVotesPost(body: body); + } + + ///Vote + @Post( + path: '/campaign/votes', + optionalBody: true, + ) + Future _campaignVotesPost( + {@Body() required VoteBase? body}); + + ///Get Results + Future>> + campaignResultsGet() { + generatedMapping.putIfAbsent(AppSchemasSchemasCampaignResult, + () => AppSchemasSchemasCampaignResult.fromJsonFactory); + + return _campaignResultsGet(); + } + + ///Get Results + @Get(path: '/campaign/results') + Future>> + _campaignResultsGet(); + + ///Get Status Vote + Future> campaignStatusGet() { + generatedMapping.putIfAbsent(VoteStatus, () => VoteStatus.fromJsonFactory); + + return _campaignStatusGet(); + } + + ///Get Status Vote + @Get(path: '/campaign/status') + Future> _campaignStatusGet(); + + ///Get Stats For Section + ///@param section_id + Future> campaignStatsSectionIdGet( + {required String? sectionId}) { + generatedMapping.putIfAbsent(VoteStats, () => VoteStats.fromJsonFactory); + + return _campaignStatsSectionIdGet(sectionId: sectionId); + } + + ///Get Stats For Section + ///@param section_id + @Get(path: '/campaign/stats/{section_id}') + Future> _campaignStatsSectionIdGet( + {@Path('section_id') required String? sectionId}); + + ///Read Campaigns Logo + ///@param list_id + Future campaignListsListIdLogoGet( + {required String? listId}) { + return _campaignListsListIdLogoGet(listId: listId); + } + + ///Read Campaigns Logo + ///@param list_id + @Get(path: '/campaign/lists/{list_id}/logo') + Future _campaignListsListIdLogoGet( + {@Path('list_id') required String? listId}); + + ///Create Campaigns Logo + ///@param list_id + Future> + campaignListsListIdLogoPost({ + required String? listId, + required BodyCreateCampaignsLogoCampaignListsListIdLogoPost body, + }) { + generatedMapping.putIfAbsent(AppUtilsTypesStandardResponsesResult, + () => AppUtilsTypesStandardResponsesResult.fromJsonFactory); + + return _campaignListsListIdLogoPost(listId: listId, body: body); + } + + ///Create Campaigns Logo + ///@param list_id + @Post( + path: '/campaign/lists/{list_id}/logo', + optionalBody: true, + ) + @Multipart() + Future> + _campaignListsListIdLogoPost({ + @Path('list_id') required String? listId, + @Part() required BodyCreateCampaignsLogoCampaignListsListIdLogoPost body, + }); + + ///Get Sessions + Future>> cinemaSessionsGet() { + generatedMapping.putIfAbsent( + CineSessionComplete, () => CineSessionComplete.fromJsonFactory); + + return _cinemaSessionsGet(); + } + + ///Get Sessions + @Get(path: '/cinema/sessions') + Future>> _cinemaSessionsGet(); + + ///Create Session + Future> cinemaSessionsPost( + {required CineSessionBase? body}) { + generatedMapping.putIfAbsent( + CineSessionComplete, () => CineSessionComplete.fromJsonFactory); + + return _cinemaSessionsPost(body: body); + } + + ///Create Session + @Post( + path: '/cinema/sessions', + optionalBody: true, + ) + Future> _cinemaSessionsPost( + {@Body() required CineSessionBase? body}); + + ///Delete Session + ///@param session_id + Future cinemaSessionsSessionIdDelete( + {required String? sessionId}) { + return _cinemaSessionsSessionIdDelete(sessionId: sessionId); + } + + ///Delete Session + ///@param session_id + @Delete(path: '/cinema/sessions/{session_id}') + Future _cinemaSessionsSessionIdDelete( + {@Path('session_id') required String? sessionId}); + + ///Update Session + ///@param session_id + Future cinemaSessionsSessionIdPatch({ + required String? sessionId, + required CineSessionUpdate? body, + }) { + return _cinemaSessionsSessionIdPatch(sessionId: sessionId, body: body); + } + + ///Update Session + ///@param session_id + @Patch( + path: '/cinema/sessions/{session_id}', + optionalBody: true, + ) + Future _cinemaSessionsSessionIdPatch({ + @Path('session_id') required String? sessionId, + @Body() required CineSessionUpdate? body, + }); + + ///Read Session Poster + ///@param session_id + Future cinemaSessionsSessionIdPosterGet( + {required String? sessionId}) { + return _cinemaSessionsSessionIdPosterGet(sessionId: sessionId); + } + + ///Read Session Poster + ///@param session_id + @Get(path: '/cinema/sessions/{session_id}/poster') + Future _cinemaSessionsSessionIdPosterGet( + {@Path('session_id') required String? sessionId}); + + ///Create Campaigns Logo + ///@param session_id + Future> + cinemaSessionsSessionIdPosterPost({ + required String? sessionId, + required BodyCreateCampaignsLogoCinemaSessionsSessionIdPosterPost body, + }) { + generatedMapping.putIfAbsent(AppUtilsTypesStandardResponsesResult, + () => AppUtilsTypesStandardResponsesResult.fromJsonFactory); + + return _cinemaSessionsSessionIdPosterPost(sessionId: sessionId, body: body); + } + + ///Create Campaigns Logo + ///@param session_id + @Post( + path: '/cinema/sessions/{session_id}/poster', + optionalBody: true, + ) + @Multipart() + Future> + _cinemaSessionsSessionIdPosterPost({ + @Path('session_id') required String? sessionId, + @Part() + required BodyCreateCampaignsLogoCinemaSessionsSessionIdPosterPost body, + }); + + ///Read Information + Future> informationGet() { + generatedMapping.putIfAbsent( + CoreInformation, () => CoreInformation.fromJsonFactory); + + return _informationGet(); + } + + ///Read Information + @Get(path: '/information') + Future> _informationGet(); + + ///Read Privacy + Future privacyGet() { + return _privacyGet(); + } + + ///Read Privacy + @Get(path: '/privacy') + Future _privacyGet(); + + ///Read Terms And Conditions + Future termsAndConditionsGet() { + return _termsAndConditionsGet(); + } + + ///Read Terms And Conditions + @Get(path: '/terms-and-conditions') + Future _termsAndConditionsGet(); + + ///Read Support + Future supportGet() { + return _supportGet(); + } + + ///Read Support + @Get(path: '/support') + Future _supportGet(); + + ///Read Security Txt + Future securityTxtGet() { + return _securityTxtGet(); + } + + ///Read Security Txt + @Get(path: '/security.txt') + Future _securityTxtGet(); + + ///Read Wellknown Security Txt + Future wellKnownSecurityTxtGet() { + return _wellKnownSecurityTxtGet(); + } + + ///Read Wellknown Security Txt + @Get(path: '/.well-known/security.txt') + Future _wellKnownSecurityTxtGet(); + + ///Read Robots Txt + Future robotsTxtGet() { + return _robotsTxtGet(); + } + + ///Read Robots Txt + @Get(path: '/robots.txt') + Future _robotsTxtGet(); + + ///Get Style File + ///@param file + Future styleFileCssGet({required String? file}) { + return _styleFileCssGet(file: file); + } + + ///Get Style File + ///@param file + @Get(path: '/style/{file}.css') + Future _styleFileCssGet( + {@Path('file') required String? file}); + + ///Get Favicon + Future faviconIcoGet() { + return _faviconIcoGet(); + } + + ///Get Favicon + @Get(path: '/favicon.ico') + Future _faviconIcoGet(); + + ///Get Module Visibility + Future>> moduleVisibilityGet() { + generatedMapping.putIfAbsent( + ModuleVisibility, () => ModuleVisibility.fromJsonFactory); + + return _moduleVisibilityGet(); + } + + ///Get Module Visibility + @Get(path: '/module-visibility/') + Future>> _moduleVisibilityGet(); + + ///Add Module Visibility + Future> moduleVisibilityPost( + {required ModuleVisibilityCreate? body}) { + generatedMapping.putIfAbsent( + ModuleVisibilityCreate, () => ModuleVisibilityCreate.fromJsonFactory); + + return _moduleVisibilityPost(body: body); + } + + ///Add Module Visibility + @Post( + path: '/module-visibility/', + optionalBody: true, + ) + Future> _moduleVisibilityPost( + {@Body() required ModuleVisibilityCreate? body}); + + ///Get User Modules Visibility + Future>> moduleVisibilityMeGet() { + return _moduleVisibilityMeGet(); + } + + ///Get User Modules Visibility + @Get(path: '/module-visibility/me') + Future>> _moduleVisibilityMeGet(); + + ///Delete Session + ///@param root + ///@param group_id + Future moduleVisibilityRootGroupIdDelete({ + required String? root, + required String? groupId, + }) { + return _moduleVisibilityRootGroupIdDelete(root: root, groupId: groupId); + } + + ///Delete Session + ///@param root + ///@param group_id + @Delete(path: '/module-visibility/{root}/{group_id}') + Future _moduleVisibilityRootGroupIdDelete({ + @Path('root') required String? root, + @Path('group_id') required String? groupId, + }); + + ///Read Groups + Future>> groupsGet() { + generatedMapping.putIfAbsent( + CoreGroupSimple, () => CoreGroupSimple.fromJsonFactory); + + return _groupsGet(); + } + + ///Read Groups + @Get(path: '/groups/') + Future>> _groupsGet(); + + ///Create Group + Future> groupsPost( + {required CoreGroupCreate? body}) { + generatedMapping.putIfAbsent( + CoreGroupSimple, () => CoreGroupSimple.fromJsonFactory); + + return _groupsPost(body: body); + } + + ///Create Group + @Post( + path: '/groups/', + optionalBody: true, + ) + Future> _groupsPost( + {@Body() required CoreGroupCreate? body}); + + ///Read Group + ///@param group_id + Future> groupsGroupIdGet( + {required String? groupId}) { + generatedMapping.putIfAbsent(CoreGroup, () => CoreGroup.fromJsonFactory); + + return _groupsGroupIdGet(groupId: groupId); + } + + ///Read Group + ///@param group_id + @Get(path: '/groups/{group_id}') + Future> _groupsGroupIdGet( + {@Path('group_id') required String? groupId}); + + ///Delete Group + ///@param group_id + Future groupsGroupIdDelete({required String? groupId}) { + return _groupsGroupIdDelete(groupId: groupId); + } + + ///Delete Group + ///@param group_id + @Delete(path: '/groups/{group_id}') + Future _groupsGroupIdDelete( + {@Path('group_id') required String? groupId}); + + ///Update Group + ///@param group_id + Future groupsGroupIdPatch({ + required String? groupId, + required CoreGroupUpdate? body, + }) { + return _groupsGroupIdPatch(groupId: groupId, body: body); + } + + ///Update Group + ///@param group_id + @Patch( + path: '/groups/{group_id}', + optionalBody: true, + ) + Future _groupsGroupIdPatch({ + @Path('group_id') required String? groupId, + @Body() required CoreGroupUpdate? body, + }); + + ///Create Membership + Future> groupsMembershipPost( + {required CoreMembership? body}) { + generatedMapping.putIfAbsent(CoreGroup, () => CoreGroup.fromJsonFactory); + + return _groupsMembershipPost(body: body); + } + + ///Create Membership + @Post( + path: '/groups/membership', + optionalBody: true, + ) + Future> _groupsMembershipPost( + {@Body() required CoreMembership? body}); + + ///Delete Membership + Future groupsMembershipDelete( + {required CoreMembershipDelete? body}) { + return _groupsMembershipDelete(body: body); + } + + ///Delete Membership + @Delete(path: '/groups/membership') + Future _groupsMembershipDelete( + {@Body() required CoreMembershipDelete? body}); + + ///Create Batch Membership + Future groupsBatchMembershipPost( + {required CoreBatchMembership? body}) { + return _groupsBatchMembershipPost(body: body); + } + + ///Create Batch Membership + @Post( + path: '/groups/batch-membership', + optionalBody: true, + ) + Future _groupsBatchMembershipPost( + {@Body() required CoreBatchMembership? body}); + + ///Delete Batch Membership + Future groupsBatchMembershipDelete( + {required CoreBatchDeleteMembership? body}) { + return _groupsBatchMembershipDelete(body: body); + } + + ///Delete Batch Membership + @Delete(path: '/groups/batch-membership') + Future _groupsBatchMembershipDelete( + {@Body() required CoreBatchDeleteMembership? body}); + + ///Read Loaners + Future>> loansLoanersGet() { + generatedMapping.putIfAbsent(Loaner, () => Loaner.fromJsonFactory); + + return _loansLoanersGet(); + } + + ///Read Loaners + @Get(path: '/loans/loaners/') + Future>> _loansLoanersGet(); + + ///Create Loaner + Future> loansLoanersPost( + {required LoanerBase? body}) { + generatedMapping.putIfAbsent(Loaner, () => Loaner.fromJsonFactory); + + return _loansLoanersPost(body: body); + } + + ///Create Loaner + @Post( + path: '/loans/loaners/', + optionalBody: true, + ) + Future> _loansLoanersPost( + {@Body() required LoanerBase? body}); + + ///Delete Loaner + ///@param loaner_id + Future loansLoanersLoanerIdDelete( + {required String? loanerId}) { + return _loansLoanersLoanerIdDelete(loanerId: loanerId); + } + + ///Delete Loaner + ///@param loaner_id + @Delete(path: '/loans/loaners/{loaner_id}') + Future _loansLoanersLoanerIdDelete( + {@Path('loaner_id') required String? loanerId}); + + ///Update Loaner + ///@param loaner_id + Future loansLoanersLoanerIdPatch({ + required String? loanerId, + required LoanerUpdate? body, + }) { + return _loansLoanersLoanerIdPatch(loanerId: loanerId, body: body); + } + + ///Update Loaner + ///@param loaner_id + @Patch( + path: '/loans/loaners/{loaner_id}', + optionalBody: true, + ) + Future _loansLoanersLoanerIdPatch({ + @Path('loaner_id') required String? loanerId, + @Body() required LoanerUpdate? body, + }); + + ///Get Loans By Loaner + ///@param loaner_id + ///@param returned + Future>> loansLoanersLoanerIdLoansGet({ + required String? loanerId, + bool? returned, + }) { + generatedMapping.putIfAbsent(Loan, () => Loan.fromJsonFactory); + + return _loansLoanersLoanerIdLoansGet( + loanerId: loanerId, returned: returned); + } + + ///Get Loans By Loaner + ///@param loaner_id + ///@param returned + @Get(path: '/loans/loaners/{loaner_id}/loans') + Future>> _loansLoanersLoanerIdLoansGet({ + @Path('loaner_id') required String? loanerId, + @Query('returned') bool? returned, + }); + + ///Get Items By Loaner + ///@param loaner_id + Future>> loansLoanersLoanerIdItemsGet( + {required String? loanerId}) { + generatedMapping.putIfAbsent(Item, () => Item.fromJsonFactory); + + return _loansLoanersLoanerIdItemsGet(loanerId: loanerId); + } + + ///Get Items By Loaner + ///@param loaner_id + @Get(path: '/loans/loaners/{loaner_id}/items') + Future>> _loansLoanersLoanerIdItemsGet( + {@Path('loaner_id') required String? loanerId}); + + ///Create Items For Loaner + ///@param loaner_id + Future> loansLoanersLoanerIdItemsPost({ + required String? loanerId, + required ItemBase? body, + }) { + generatedMapping.putIfAbsent(Item, () => Item.fromJsonFactory); + + return _loansLoanersLoanerIdItemsPost(loanerId: loanerId, body: body); + } + + ///Create Items For Loaner + ///@param loaner_id + @Post( + path: '/loans/loaners/{loaner_id}/items', + optionalBody: true, + ) + Future> _loansLoanersLoanerIdItemsPost({ + @Path('loaner_id') required String? loanerId, + @Body() required ItemBase? body, + }); + + ///Delete Loaner Item + ///@param loaner_id + ///@param item_id + Future loansLoanersLoanerIdItemsItemIdDelete({ + required String? loanerId, + required String? itemId, + }) { + return _loansLoanersLoanerIdItemsItemIdDelete( + loanerId: loanerId, itemId: itemId); + } + + ///Delete Loaner Item + ///@param loaner_id + ///@param item_id + @Delete(path: '/loans/loaners/{loaner_id}/items/{item_id}') + Future _loansLoanersLoanerIdItemsItemIdDelete({ + @Path('loaner_id') required String? loanerId, + @Path('item_id') required String? itemId, + }); + + ///Update Items For Loaner + ///@param loaner_id + ///@param item_id + Future loansLoanersLoanerIdItemsItemIdPatch({ + required String? loanerId, + required String? itemId, + required ItemUpdate? body, + }) { + return _loansLoanersLoanerIdItemsItemIdPatch( + loanerId: loanerId, itemId: itemId, body: body); + } + + ///Update Items For Loaner + ///@param loaner_id + ///@param item_id + @Patch( + path: '/loans/loaners/{loaner_id}/items/{item_id}', + optionalBody: true, + ) + Future _loansLoanersLoanerIdItemsItemIdPatch({ + @Path('loaner_id') required String? loanerId, + @Path('item_id') required String? itemId, + @Body() required ItemUpdate? body, + }); + + ///Get Current User Loans + ///@param returned + Future>> loansUsersMeGet({bool? returned}) { + generatedMapping.putIfAbsent(Loan, () => Loan.fromJsonFactory); + + return _loansUsersMeGet(returned: returned); + } + + ///Get Current User Loans + ///@param returned + @Get(path: '/loans/users/me') + Future>> _loansUsersMeGet( + {@Query('returned') bool? returned}); + + ///Get Current User Loaners + Future>> loansUsersMeLoanersGet() { + generatedMapping.putIfAbsent(Loaner, () => Loaner.fromJsonFactory); + + return _loansUsersMeLoanersGet(); + } + + ///Get Current User Loaners + @Get(path: '/loans/users/me/loaners') + Future>> _loansUsersMeLoanersGet(); + + ///Create Loan + Future> loansPost({required LoanCreation? body}) { + generatedMapping.putIfAbsent(Loan, () => Loan.fromJsonFactory); + + return _loansPost(body: body); + } + + ///Create Loan + @Post( + path: '/loans/', + optionalBody: true, + ) + Future> _loansPost( + {@Body() required LoanCreation? body}); + + ///Delete Loan + ///@param loan_id + Future loansLoanIdDelete({required String? loanId}) { + return _loansLoanIdDelete(loanId: loanId); + } + + ///Delete Loan + ///@param loan_id + @Delete(path: '/loans/{loan_id}') + Future _loansLoanIdDelete( + {@Path('loan_id') required String? loanId}); + + ///Update Loan + ///@param loan_id + Future loansLoanIdPatch({ + required String? loanId, + required LoanUpdate? body, + }) { + return _loansLoanIdPatch(loanId: loanId, body: body); + } + + ///Update Loan + ///@param loan_id + @Patch( + path: '/loans/{loan_id}', + optionalBody: true, + ) + Future _loansLoanIdPatch({ + @Path('loan_id') required String? loanId, + @Body() required LoanUpdate? body, + }); + + ///Return Loan + ///@param loan_id + Future loansLoanIdReturnPost({required String? loanId}) { + return _loansLoanIdReturnPost(loanId: loanId); + } + + ///Return Loan + ///@param loan_id + @Post( + path: '/loans/{loan_id}/return', + optionalBody: true, + ) + Future _loansLoanIdReturnPost( + {@Path('loan_id') required String? loanId}); + + ///Extend Loan + ///@param loan_id + Future loansLoanIdExtendPost({ + required String? loanId, + required LoanExtend? body, + }) { + return _loansLoanIdExtendPost(loanId: loanId, body: body); + } + + ///Extend Loan + ///@param loan_id + @Post( + path: '/loans/{loan_id}/extend', + optionalBody: true, + ) + Future _loansLoanIdExtendPost({ + @Path('loan_id') required String? loanId, + @Body() required LoanExtend? body, + }); + + ///Get Devices + Future>> notificationDevicesGet() { + generatedMapping.putIfAbsent( + FirebaseDevice, () => FirebaseDevice.fromJsonFactory); + + return _notificationDevicesGet(); + } + + ///Get Devices + @Get(path: '/notification/devices') + Future>> _notificationDevicesGet(); + + ///Register Firebase Device + Future notificationDevicesPost( + {required BodyRegisterFirebaseDeviceNotificationDevicesPost? body}) { + return _notificationDevicesPost(body: body); + } + + ///Register Firebase Device + @Post( + path: '/notification/devices', + optionalBody: true, + ) + Future _notificationDevicesPost( + {@Body() + required BodyRegisterFirebaseDeviceNotificationDevicesPost? body}); + + ///Unregister Firebase Device + ///@param firebase_token + Future notificationDevicesFirebaseTokenDelete( + {required String? firebaseToken}) { + return _notificationDevicesFirebaseTokenDelete( + firebaseToken: firebaseToken); + } + + ///Unregister Firebase Device + ///@param firebase_token + @Delete(path: '/notification/devices/{firebase_token}') + Future _notificationDevicesFirebaseTokenDelete( + {@Path('firebase_token') required String? firebaseToken}); + + ///Get Messages + ///@param firebase_token + Future>> notificationMessagesFirebaseTokenGet( + {required String? firebaseToken}) { + generatedMapping.putIfAbsent(Message, () => Message.fromJsonFactory); + + return _notificationMessagesFirebaseTokenGet(firebaseToken: firebaseToken); + } + + ///Get Messages + ///@param firebase_token + @Get(path: '/notification/messages/{firebase_token}') + Future>> _notificationMessagesFirebaseTokenGet( + {@Path('firebase_token') required String? firebaseToken}); + + ///Subscribe To Topic + ///@param topic_str The topic to subscribe to. The Topic may be followed by an additional identifier (ex: cinema_4c029b5f-2bf7-4b70-85d4-340a4bd28653) + Future notificationTopicsTopicStrSubscribePost( + {required String? topicStr}) { + return _notificationTopicsTopicStrSubscribePost(topicStr: topicStr); + } + + ///Subscribe To Topic + ///@param topic_str The topic to subscribe to. The Topic may be followed by an additional identifier (ex: cinema_4c029b5f-2bf7-4b70-85d4-340a4bd28653) + @Post( + path: '/notification/topics/{topic_str}/subscribe', + optionalBody: true, + ) + Future _notificationTopicsTopicStrSubscribePost( + {@Path('topic_str') required String? topicStr}); + + ///Unsubscribe To Topic + ///@param topic_str + Future notificationTopicsTopicStrUnsubscribePost( + {required String? topicStr}) { + return _notificationTopicsTopicStrUnsubscribePost(topicStr: topicStr); + } + + ///Unsubscribe To Topic + ///@param topic_str + @Post( + path: '/notification/topics/{topic_str}/unsubscribe', + optionalBody: true, + ) + Future _notificationTopicsTopicStrUnsubscribePost( + {@Path('topic_str') required String? topicStr}); + + ///Get Topic + Future>> notificationTopicsGet() { + return _notificationTopicsGet(); + } + + ///Get Topic + @Get(path: '/notification/topics') + Future>> _notificationTopicsGet(); + + ///Get Topic Identifier + ///@param topic_str + Future>> notificationTopicsTopicStrGet( + {required String? topicStr}) { + return _notificationTopicsTopicStrGet(topicStr: topicStr); + } + + ///Get Topic Identifier + ///@param topic_str + @Get(path: '/notification/topics/{topic_str}') + Future>> _notificationTopicsTopicStrGet( + {@Path('topic_str') required String? topicStr}); + + ///Send Notification + Future notificationSendPost({required Message? body}) { + return _notificationSendPost(body: body); + } + + ///Send Notification + @Post( + path: '/notification/send', + optionalBody: true, + ) + Future _notificationSendPost( + {@Body() required Message? body}); + + ///Get Raffle + Future>> tombolaRafflesGet() { + generatedMapping.putIfAbsent( + RaffleComplete, () => RaffleComplete.fromJsonFactory); + + return _tombolaRafflesGet(); + } + + ///Get Raffle + @Get(path: '/tombola/raffles') + Future>> _tombolaRafflesGet(); + + ///Create Raffle + Future> tombolaRafflesPost( + {required RaffleBase? body}) { + generatedMapping.putIfAbsent( + RaffleSimple, () => RaffleSimple.fromJsonFactory); + + return _tombolaRafflesPost(body: body); + } + + ///Create Raffle + @Post( + path: '/tombola/raffles', + optionalBody: true, + ) + Future> _tombolaRafflesPost( + {@Body() required RaffleBase? body}); + + ///Delete Raffle + ///@param raffle_id + Future tombolaRafflesRaffleIdDelete( + {required String? raffleId}) { + return _tombolaRafflesRaffleIdDelete(raffleId: raffleId); + } + + ///Delete Raffle + ///@param raffle_id + @Delete(path: '/tombola/raffles/{raffle_id}') + Future _tombolaRafflesRaffleIdDelete( + {@Path('raffle_id') required String? raffleId}); + + ///Edit Raffle + ///@param raffle_id + Future tombolaRafflesRaffleIdPatch({ + required String? raffleId, + required RaffleEdit? body, + }) { + return _tombolaRafflesRaffleIdPatch(raffleId: raffleId, body: body); + } + + ///Edit Raffle + ///@param raffle_id + @Patch( + path: '/tombola/raffles/{raffle_id}', + optionalBody: true, + ) + Future _tombolaRafflesRaffleIdPatch({ + @Path('raffle_id') required String? raffleId, + @Body() required RaffleEdit? body, + }); + + ///Get Raffles By Group Id + ///@param group_id + Future>> tombolaGroupGroupIdRafflesGet( + {required String? groupId}) { + generatedMapping.putIfAbsent( + RaffleSimple, () => RaffleSimple.fromJsonFactory); + + return _tombolaGroupGroupIdRafflesGet(groupId: groupId); + } + + ///Get Raffles By Group Id + ///@param group_id + @Get(path: '/tombola/group/{group_id}/raffles') + Future>> _tombolaGroupGroupIdRafflesGet( + {@Path('group_id') required String? groupId}); + + ///Get Raffle Stats + ///@param raffle_id + Future> tombolaRafflesRaffleIdStatsGet( + {required String? raffleId}) { + generatedMapping.putIfAbsent( + RaffleStats, () => RaffleStats.fromJsonFactory); + + return _tombolaRafflesRaffleIdStatsGet(raffleId: raffleId); + } + + ///Get Raffle Stats + ///@param raffle_id + @Get(path: '/tombola/raffles/{raffle_id}/stats') + Future> _tombolaRafflesRaffleIdStatsGet( + {@Path('raffle_id') required String? raffleId}); + + ///Read Raffle Logo + ///@param raffle_id + Future tombolaRafflesRaffleIdLogoGet( + {required String? raffleId}) { + return _tombolaRafflesRaffleIdLogoGet(raffleId: raffleId); + } + + ///Read Raffle Logo + ///@param raffle_id + @Get(path: '/tombola/raffles/{raffle_id}/logo') + Future _tombolaRafflesRaffleIdLogoGet( + {@Path('raffle_id') required String? raffleId}); + + ///Create Current Raffle Logo + ///@param raffle_id + Future> + tombolaRafflesRaffleIdLogoPost({ + required String? raffleId, + required BodyCreateCurrentRaffleLogoTombolaRafflesRaffleIdLogoPost body, + }) { + generatedMapping.putIfAbsent(AppUtilsTypesStandardResponsesResult, + () => AppUtilsTypesStandardResponsesResult.fromJsonFactory); + + return _tombolaRafflesRaffleIdLogoPost(raffleId: raffleId, body: body); + } + + ///Create Current Raffle Logo + ///@param raffle_id + @Post( + path: '/tombola/raffles/{raffle_id}/logo', + optionalBody: true, + ) + @Multipart() + Future> + _tombolaRafflesRaffleIdLogoPost({ + @Path('raffle_id') required String? raffleId, + @Part() + required BodyCreateCurrentRaffleLogoTombolaRafflesRaffleIdLogoPost body, + }); + + ///Get Pack Tickets + Future>> tombolaPackTicketsGet() { + generatedMapping.putIfAbsent( + PackTicketSimple, () => PackTicketSimple.fromJsonFactory); + + return _tombolaPackTicketsGet(); + } + + ///Get Pack Tickets + @Get(path: '/tombola/pack_tickets') + Future>> _tombolaPackTicketsGet(); + + ///Create Packticket + Future> tombolaPackTicketsPost( + {required PackTicketBase? body}) { + generatedMapping.putIfAbsent( + PackTicketSimple, () => PackTicketSimple.fromJsonFactory); + + return _tombolaPackTicketsPost(body: body); + } + + ///Create Packticket + @Post( + path: '/tombola/pack_tickets', + optionalBody: true, + ) + Future> _tombolaPackTicketsPost( + {@Body() required PackTicketBase? body}); + + ///Delete Packticket + ///@param packticket_id + Future tombolaPackTicketsPackticketIdDelete( + {required String? packticketId}) { + return _tombolaPackTicketsPackticketIdDelete(packticketId: packticketId); + } + + ///Delete Packticket + ///@param packticket_id + @Delete(path: '/tombola/pack_tickets/{packticket_id}') + Future _tombolaPackTicketsPackticketIdDelete( + {@Path('packticket_id') required String? packticketId}); + + ///Edit Packticket + ///@param packticket_id + Future tombolaPackTicketsPackticketIdPatch({ + required String? packticketId, + required PackTicketEdit? body, + }) { + return _tombolaPackTicketsPackticketIdPatch( + packticketId: packticketId, body: body); + } + + ///Edit Packticket + ///@param packticket_id + @Patch( + path: '/tombola/pack_tickets/{packticket_id}', + optionalBody: true, + ) + Future _tombolaPackTicketsPackticketIdPatch({ + @Path('packticket_id') required String? packticketId, + @Body() required PackTicketEdit? body, + }); + + ///Get Pack Tickets By Raffle Id + ///@param raffle_id + Future>> + tombolaRafflesRaffleIdPackTicketsGet({required String? raffleId}) { + generatedMapping.putIfAbsent( + PackTicketSimple, () => PackTicketSimple.fromJsonFactory); + + return _tombolaRafflesRaffleIdPackTicketsGet(raffleId: raffleId); + } + + ///Get Pack Tickets By Raffle Id + ///@param raffle_id + @Get(path: '/tombola/raffles/{raffle_id}/pack_tickets') + Future>> + _tombolaRafflesRaffleIdPackTicketsGet( + {@Path('raffle_id') required String? raffleId}); + + ///Get Tickets + Future>> tombolaTicketsGet() { + generatedMapping.putIfAbsent( + TicketSimple, () => TicketSimple.fromJsonFactory); + + return _tombolaTicketsGet(); + } + + ///Get Tickets + @Get(path: '/tombola/tickets') + Future>> _tombolaTicketsGet(); + + ///Buy Ticket + ///@param pack_id + Future>> tombolaTicketsBuyPackIdPost( + {required String? packId}) { + generatedMapping.putIfAbsent( + TicketComplete, () => TicketComplete.fromJsonFactory); + + return _tombolaTicketsBuyPackIdPost(packId: packId); + } + + ///Buy Ticket + ///@param pack_id + @Post( + path: '/tombola/tickets/buy/{pack_id}', + optionalBody: true, + ) + Future>> _tombolaTicketsBuyPackIdPost( + {@Path('pack_id') required String? packId}); + + ///Get Tickets By Userid + ///@param user_id + Future>> tombolaUsersUserIdTicketsGet( + {required String? userId}) { + generatedMapping.putIfAbsent( + TicketComplete, () => TicketComplete.fromJsonFactory); + + return _tombolaUsersUserIdTicketsGet(userId: userId); + } + + ///Get Tickets By Userid + ///@param user_id + @Get(path: '/tombola/users/{user_id}/tickets') + Future>> _tombolaUsersUserIdTicketsGet( + {@Path('user_id') required String? userId}); + + ///Get Tickets By Raffleid + ///@param raffle_id + Future>> + tombolaRafflesRaffleIdTicketsGet({required String? raffleId}) { + generatedMapping.putIfAbsent( + TicketComplete, () => TicketComplete.fromJsonFactory); + + return _tombolaRafflesRaffleIdTicketsGet(raffleId: raffleId); + } + + ///Get Tickets By Raffleid + ///@param raffle_id + @Get(path: '/tombola/raffles/{raffle_id}/tickets') + Future>> + _tombolaRafflesRaffleIdTicketsGet( + {@Path('raffle_id') required String? raffleId}); + + ///Get Prizes + Future>> tombolaPrizesGet() { + generatedMapping.putIfAbsent( + PrizeSimple, () => PrizeSimple.fromJsonFactory); + + return _tombolaPrizesGet(); + } + + ///Get Prizes + @Get(path: '/tombola/prizes') + Future>> _tombolaPrizesGet(); + + ///Create Prize + Future> tombolaPrizesPost( + {required PrizeBase? body}) { + generatedMapping.putIfAbsent( + PrizeSimple, () => PrizeSimple.fromJsonFactory); + + return _tombolaPrizesPost(body: body); + } + + ///Create Prize + @Post( + path: '/tombola/prizes', + optionalBody: true, + ) + Future> _tombolaPrizesPost( + {@Body() required PrizeBase? body}); + + ///Delete Prize + ///@param prize_id + Future tombolaPrizesPrizeIdDelete( + {required String? prizeId}) { + return _tombolaPrizesPrizeIdDelete(prizeId: prizeId); + } + + ///Delete Prize + ///@param prize_id + @Delete(path: '/tombola/prizes/{prize_id}') + Future _tombolaPrizesPrizeIdDelete( + {@Path('prize_id') required String? prizeId}); + + ///Edit Prize + ///@param prize_id + Future tombolaPrizesPrizeIdPatch({ + required String? prizeId, + required PrizeEdit? body, + }) { + return _tombolaPrizesPrizeIdPatch(prizeId: prizeId, body: body); + } + + ///Edit Prize + ///@param prize_id + @Patch( + path: '/tombola/prizes/{prize_id}', + optionalBody: true, + ) + Future _tombolaPrizesPrizeIdPatch({ + @Path('prize_id') required String? prizeId, + @Body() required PrizeEdit? body, + }); + + ///Get Prizes By Raffleid + ///@param raffle_id + Future>> tombolaRafflesRaffleIdPrizesGet( + {required String? raffleId}) { + generatedMapping.putIfAbsent( + PrizeSimple, () => PrizeSimple.fromJsonFactory); + + return _tombolaRafflesRaffleIdPrizesGet(raffleId: raffleId); + } + + ///Get Prizes By Raffleid + ///@param raffle_id + @Get(path: '/tombola/raffles/{raffle_id}/prizes') + Future>> _tombolaRafflesRaffleIdPrizesGet( + {@Path('raffle_id') required String? raffleId}); + + ///Read Prize Logo + ///@param prize_id + Future tombolaPrizesPrizeIdPictureGet( + {required String? prizeId}) { + return _tombolaPrizesPrizeIdPictureGet(prizeId: prizeId); + } + + ///Read Prize Logo + ///@param prize_id + @Get(path: '/tombola/prizes/{prize_id}/picture') + Future _tombolaPrizesPrizeIdPictureGet( + {@Path('prize_id') required String? prizeId}); + + ///Create Prize Picture + ///@param prize_id + Future> + tombolaPrizesPrizeIdPicturePost({ + required String? prizeId, + required BodyCreatePrizePictureTombolaPrizesPrizeIdPicturePost body, + }) { + generatedMapping.putIfAbsent(AppUtilsTypesStandardResponsesResult, + () => AppUtilsTypesStandardResponsesResult.fromJsonFactory); + + return _tombolaPrizesPrizeIdPicturePost(prizeId: prizeId, body: body); + } + + ///Create Prize Picture + ///@param prize_id + @Post( + path: '/tombola/prizes/{prize_id}/picture', + optionalBody: true, + ) + @Multipart() + Future> + _tombolaPrizesPrizeIdPicturePost({ + @Path('prize_id') required String? prizeId, + @Part() required BodyCreatePrizePictureTombolaPrizesPrizeIdPicturePost body, + }); + + ///Get Users Cash + Future>> + tombolaUsersCashGet() { + generatedMapping.putIfAbsent(AppSchemasSchemasRaffleCashComplete, + () => AppSchemasSchemasRaffleCashComplete.fromJsonFactory); + + return _tombolaUsersCashGet(); + } + + ///Get Users Cash + @Get(path: '/tombola/users/cash') + Future>> + _tombolaUsersCashGet(); + + ///Get Cash By Id + ///@param user_id + Future> + tombolaUsersUserIdCashGet({required String? userId}) { + generatedMapping.putIfAbsent(AppSchemasSchemasRaffleCashComplete, + () => AppSchemasSchemasRaffleCashComplete.fromJsonFactory); + + return _tombolaUsersUserIdCashGet(userId: userId); + } + + ///Get Cash By Id + ///@param user_id + @Get(path: '/tombola/users/{user_id}/cash') + Future> + _tombolaUsersUserIdCashGet({@Path('user_id') required String? userId}); + + ///Create Cash Of User + ///@param user_id + Future> + tombolaUsersUserIdCashPost({ + required String? userId, + required AppSchemasSchemasRaffleCashEdit? body, + }) { + generatedMapping.putIfAbsent(AppSchemasSchemasRaffleCashComplete, + () => AppSchemasSchemasRaffleCashComplete.fromJsonFactory); + + return _tombolaUsersUserIdCashPost(userId: userId, body: body); + } + + ///Create Cash Of User + ///@param user_id + @Post( + path: '/tombola/users/{user_id}/cash', + optionalBody: true, + ) + Future> + _tombolaUsersUserIdCashPost({ + @Path('user_id') required String? userId, + @Body() required AppSchemasSchemasRaffleCashEdit? body, + }); + + ///Edit Cash By Id + ///@param user_id + Future tombolaUsersUserIdCashPatch({ + required String? userId, + required AppSchemasSchemasRaffleCashEdit? body, + }) { + return _tombolaUsersUserIdCashPatch(userId: userId, body: body); + } + + ///Edit Cash By Id + ///@param user_id + @Patch( + path: '/tombola/users/{user_id}/cash', + optionalBody: true, + ) + Future _tombolaUsersUserIdCashPatch({ + @Path('user_id') required String? userId, + @Body() required AppSchemasSchemasRaffleCashEdit? body, + }); + + ///Draw Winner + ///@param prize_id + Future>> tombolaPrizesPrizeIdDrawPost( + {required String? prizeId}) { + generatedMapping.putIfAbsent( + TicketComplete, () => TicketComplete.fromJsonFactory); + + return _tombolaPrizesPrizeIdDrawPost(prizeId: prizeId); + } + + ///Draw Winner + ///@param prize_id + @Post( + path: '/tombola/prizes/{prize_id}/draw', + optionalBody: true, + ) + Future>> _tombolaPrizesPrizeIdDrawPost( + {@Path('prize_id') required String? prizeId}); + + ///Open Raffle + ///@param raffle_id + Future tombolaRafflesRaffleIdOpenPatch( + {required String? raffleId}) { + return _tombolaRafflesRaffleIdOpenPatch(raffleId: raffleId); + } + + ///Open Raffle + ///@param raffle_id + @Patch( + path: '/tombola/raffles/{raffle_id}/open', + optionalBody: true, + ) + Future _tombolaRafflesRaffleIdOpenPatch( + {@Path('raffle_id') required String? raffleId}); + + ///Lock Raffle + ///@param raffle_id + Future tombolaRafflesRaffleIdLockPatch( + {required String? raffleId}) { + return _tombolaRafflesRaffleIdLockPatch(raffleId: raffleId); + } + + ///Lock Raffle + ///@param raffle_id + @Patch( + path: '/tombola/raffles/{raffle_id}/lock', + optionalBody: true, + ) + Future _tombolaRafflesRaffleIdLockPatch( + {@Path('raffle_id') required String? raffleId}); + + ///Read Users + Future>> usersGet() { + generatedMapping.putIfAbsent( + CoreUserSimple, () => CoreUserSimple.fromJsonFactory); + + return _usersGet(); + } + + ///Read Users + @Get(path: '/users/') + Future>> _usersGet(); + + ///Count Users + Future> usersCountGet() { + return _usersCountGet(); + } + + ///Count Users + @Get(path: '/users/count') + Future> _usersCountGet(); + + ///Search Users + ///@param query + ///@param includedGroups + ///@param excludedGroups + Future>> usersSearchGet({ + required String? query, + List? includedGroups, + List? excludedGroups, + }) { + generatedMapping.putIfAbsent( + CoreUserSimple, () => CoreUserSimple.fromJsonFactory); + + return _usersSearchGet( + query: query, + includedGroups: includedGroups, + excludedGroups: excludedGroups); + } + + ///Search Users + ///@param query + ///@param includedGroups + ///@param excludedGroups + @Get(path: '/users/search') + Future>> _usersSearchGet({ + @Query('query') required String? query, + @Query('includedGroups') List? includedGroups, + @Query('excludedGroups') List? excludedGroups, + }); + + ///Read Current User + Future> usersMeGet() { + generatedMapping.putIfAbsent(CoreUser, () => CoreUser.fromJsonFactory); + + return _usersMeGet(); + } + + ///Read Current User + @Get(path: '/users/me') + Future> _usersMeGet(); + + ///Update Current User + Future usersMePatch({required CoreUserUpdate? body}) { + return _usersMePatch(body: body); + } + + ///Update Current User + @Patch( + path: '/users/me', + optionalBody: true, + ) + Future _usersMePatch( + {@Body() required CoreUserUpdate? body}); + + ///Create User By User + Future> + usersCreatePost({required CoreUserCreateRequest? body}) { + generatedMapping.putIfAbsent(AppUtilsTypesStandardResponsesResult, + () => AppUtilsTypesStandardResponsesResult.fromJsonFactory); + + return _usersCreatePost(body: body); + } + + ///Create User By User + @Post( + path: '/users/create', + optionalBody: true, + ) + Future> + _usersCreatePost({@Body() required CoreUserCreateRequest? body}); + + ///Batch Create Users + Future> usersBatchCreationPost( + {required List? body}) { + generatedMapping.putIfAbsent( + BatchResult, () => BatchResult.fromJsonFactory); + + return _usersBatchCreationPost(body: body); + } + + ///Batch Create Users + @Post( + path: '/users/batch-creation', + optionalBody: true, + ) + Future> _usersBatchCreationPost( + {@Body() required List? body}); + + ///Get User Activation Page + ///@param activation_token + Future> usersActivateGet( + {required String? activationToken}) { + return _usersActivateGet(activationToken: activationToken); + } + + ///Get User Activation Page + ///@param activation_token + @Get(path: '/users/activate') + Future> _usersActivateGet( + {@Query('activation_token') required String? activationToken}); + + ///Activate User + Future> + usersActivatePost({required CoreUserActivateRequest? body}) { + generatedMapping.putIfAbsent(AppUtilsTypesStandardResponsesResult, + () => AppUtilsTypesStandardResponsesResult.fromJsonFactory); + + return _usersActivatePost(body: body); + } + + ///Activate User + @Post( + path: '/users/activate', + optionalBody: true, + ) + Future> + _usersActivatePost({@Body() required CoreUserActivateRequest? body}); + + ///Make Admin + Future> + usersMakeAdminPost() { + generatedMapping.putIfAbsent(AppUtilsTypesStandardResponsesResult, + () => AppUtilsTypesStandardResponsesResult.fromJsonFactory); + + return _usersMakeAdminPost(); + } + + ///Make Admin + @Post( + path: '/users/make-admin', + optionalBody: true, + ) + Future> + _usersMakeAdminPost(); + + ///Recover User + Future> + usersRecoverPost({required BodyRecoverUserUsersRecoverPost? body}) { + generatedMapping.putIfAbsent(AppUtilsTypesStandardResponsesResult, + () => AppUtilsTypesStandardResponsesResult.fromJsonFactory); + + return _usersRecoverPost(body: body); + } + + ///Recover User + @Post( + path: '/users/recover', + optionalBody: true, + ) + Future> + _usersRecoverPost( + {@Body() required BodyRecoverUserUsersRecoverPost? body}); + + ///Reset Password + Future> + usersResetPasswordPost({required ResetPasswordRequest? body}) { + generatedMapping.putIfAbsent(AppUtilsTypesStandardResponsesResult, + () => AppUtilsTypesStandardResponsesResult.fromJsonFactory); + + return _usersResetPasswordPost(body: body); + } + + ///Reset Password + @Post( + path: '/users/reset-password', + optionalBody: true, + ) + Future> + _usersResetPasswordPost({@Body() required ResetPasswordRequest? body}); + + ///Migrate Mail + Future usersMigrateMailPost( + {required MailMigrationRequest? body}) { + return _usersMigrateMailPost(body: body); + } + + ///Migrate Mail + @Post( + path: '/users/migrate-mail', + optionalBody: true, + ) + Future _usersMigrateMailPost( + {@Body() required MailMigrationRequest? body}); + + ///Migrate Mail Confirm + ///@param token + Future usersMigrateMailConfirmGet( + {required String? token}) { + return _usersMigrateMailConfirmGet(token: token); + } + + ///Migrate Mail Confirm + ///@param token + @Get(path: '/users/migrate-mail-confirm') + Future _usersMigrateMailConfirmGet( + {@Query('token') required String? token}); + + ///Change Password + Future> + usersChangePasswordPost({required ChangePasswordRequest? body}) { + generatedMapping.putIfAbsent(AppUtilsTypesStandardResponsesResult, + () => AppUtilsTypesStandardResponsesResult.fromJsonFactory); + + return _usersChangePasswordPost(body: body); + } + + ///Change Password + @Post( + path: '/users/change-password', + optionalBody: true, + ) + Future> + _usersChangePasswordPost({@Body() required ChangePasswordRequest? body}); + + ///Read User + ///@param user_id + Future> usersUserIdGet({required String? userId}) { + generatedMapping.putIfAbsent(CoreUser, () => CoreUser.fromJsonFactory); + + return _usersUserIdGet(userId: userId); + } + + ///Read User + ///@param user_id + @Get(path: '/users/{user_id}') + Future> _usersUserIdGet( + {@Path('user_id') required String? userId}); + + ///Update User + ///@param user_id + Future usersUserIdPatch({ + required String? userId, + required CoreUserUpdateAdmin? body, + }) { + return _usersUserIdPatch(userId: userId, body: body); + } + + ///Update User + ///@param user_id + @Patch( + path: '/users/{user_id}', + optionalBody: true, + ) + Future _usersUserIdPatch({ + @Path('user_id') required String? userId, + @Body() required CoreUserUpdateAdmin? body, + }); + + ///Delete User + Future usersMeAskDeletionPost() { + return _usersMeAskDeletionPost(); + } + + ///Delete User + @Post( + path: '/users/me/ask-deletion', + optionalBody: true, + ) + Future _usersMeAskDeletionPost(); + + ///Read Own Profile Picture + Future usersMeProfilePictureGet() { + return _usersMeProfilePictureGet(); + } + + ///Read Own Profile Picture + @Get(path: '/users/me/profile-picture') + Future _usersMeProfilePictureGet(); + + ///Create Current User Profile Picture + Future> + usersMeProfilePicturePost( + {required BodyCreateCurrentUserProfilePictureUsersMeProfilePicturePost + body}) { + generatedMapping.putIfAbsent(AppUtilsTypesStandardResponsesResult, + () => AppUtilsTypesStandardResponsesResult.fromJsonFactory); + + return _usersMeProfilePicturePost(body: body); + } + + ///Create Current User Profile Picture + @Post( + path: '/users/me/profile-picture', + optionalBody: true, + ) + @Multipart() + Future> + _usersMeProfilePicturePost( + {@Part() + required BodyCreateCurrentUserProfilePictureUsersMeProfilePicturePost + body}); + + ///Read User Profile Picture + ///@param user_id + Future usersUserIdProfilePictureGet( + {required String? userId}) { + return _usersUserIdProfilePictureGet(userId: userId); + } + + ///Read User Profile Picture + ///@param user_id + @Get(path: '/users/{user_id}/profile-picture') + Future _usersUserIdProfilePictureGet( + {@Path('user_id') required String? userId}); +} + +typedef $JsonFactory = T Function(Map json); + +class $CustomJsonDecoder { + $CustomJsonDecoder(this.factories); + + final Map factories; + + dynamic decode(dynamic entity) { + if (entity is Iterable) { + return _decodeList(entity); + } + + if (entity is T) { + return entity; + } + + if (isTypeOf()) { + return entity; + } + + if (isTypeOf()) { + return entity; + } + + if (entity is Map) { + return _decodeMap(entity); + } + + return entity; + } + + T _decodeMap(Map values) { + final jsonFactory = factories[T]; + if (jsonFactory == null || jsonFactory is! $JsonFactory) { + return throw "Could not find factory for type $T. Is '$T: $T.fromJsonFactory' included in the CustomJsonDecoder instance creation in bootstrapper.dart?"; + } + + return jsonFactory(values); + } + + List _decodeList(Iterable values) => + values.where((v) => v != null).map((v) => decode(v) as T).toList(); +} + +class $JsonSerializableConverter extends chopper.JsonConverter { + @override + FutureOr> convertResponse( + chopper.Response response) async { + if (response.bodyString.isEmpty) { + // In rare cases, when let's say 204 (no content) is returned - + // we cannot decode the missing json with the result type specified + return chopper.Response(response.base, null, error: response.error); + } + + if (ResultType == String) { + return response.copyWith(); + } + + if (ResultType == DateTime) { + return response.copyWith( + body: DateTime.parse((response.body as String).replaceAll('"', '')) + as ResultType); + } + + final jsonRes = await super.convertResponse(response); + return jsonRes.copyWith( + body: $jsonDecoder.decode(jsonRes.body) as ResultType); + } +} + +final $jsonDecoder = $CustomJsonDecoder(generatedMapping); diff --git a/lib/others/ui/loading_page.dart b/lib/others/ui/loading_page.dart index 0ffbfddde..2d38670bd 100644 --- a/lib/others/ui/loading_page.dart +++ b/lib/others/ui/loading_page.dart @@ -4,8 +4,8 @@ import 'package:myecl/auth/providers/openid_provider.dart'; import 'package:myecl/login/router.dart'; import 'package:myecl/router.dart'; import 'package:myecl/tools/providers/path_forwarding_provider.dart'; -import 'package:myecl/tools/ui/widgets/loader.dart'; import 'package:myecl/user/providers/user_provider.dart'; +import 'package:myecl/tools/ui/widgets/loader.dart'; import 'package:myecl/version/providers/titan_version_provider.dart'; import 'package:myecl/version/providers/version_verifier_provider.dart'; import 'package:qlevar_router/qlevar_router.dart'; diff --git a/lib/raffle/providers/is_raffle_admin.dart b/lib/raffle/providers/is_raffle_admin.dart index ca9f934e2..d0b11568b 100644 --- a/lib/raffle/providers/is_raffle_admin.dart +++ b/lib/raffle/providers/is_raffle_admin.dart @@ -3,7 +3,7 @@ import 'package:myecl/user/providers/user_provider.dart'; final isRaffleAdminProvider = StateProvider((ref) { final me = ref.watch(userProvider); - return me.groups + return me.groups! .map((e) => e.id) .contains("0a25cb76-4b63-4fd3-b939-da6d9feabf28"); }); diff --git a/lib/settings/ui/pages/edit_user_page/edit_user_page.dart b/lib/settings/ui/pages/edit_user_page/edit_user_page.dart index 39ad10748..42dc2047b 100644 --- a/lib/settings/ui/pages/edit_user_page/edit_user_page.dart +++ b/lib/settings/ui/pages/edit_user_page/edit_user_page.dart @@ -4,6 +4,8 @@ import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:heroicons/heroicons.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:image_picker/image_picker.dart'; +import 'package:myecl/generated/openapi.enums.swagger.dart'; +import 'package:myecl/generated/openapi.models.swagger.dart'; import 'package:myecl/settings/router.dart'; import 'package:myecl/settings/tools/constants.dart'; import 'package:myecl/settings/ui/pages/edit_user_page/picture_button.dart'; @@ -34,7 +36,7 @@ class EditUserPage extends HookConsumerWidget { final profilePicture = ref.watch(profilePictureProvider); final profilePictureNotifier = ref.watch(profilePictureProvider.notifier); final dateController = - useTextEditingController(text: processDatePrint(user.birthday)); + useTextEditingController(text: processDate(user.birthday!)); final nickNameController = useTextEditingController(text: user.nickname ?? ''); final phoneController = useTextEditingController(text: user.phone ?? ''); @@ -233,7 +235,7 @@ class EditUserPage extends HookConsumerWidget { ), GestureDetector( onTap: () => getOnlyDayDate(context, dateController, - initialDate: DateTime.parse(user.birthday), + initialDate: user.birthday!, firstDate: DateTime(1900), lastDate: DateTime.now()), child: Container( @@ -316,14 +318,17 @@ class EditUserPage extends HookConsumerWidget { await tokenExpireWrapper(ref, () async { final value = await asyncUserNotifier.updateMe(user.copyWith( - birthday: processDateBack(dateController.value.text), + birthday: DateTime.parse( + processDateBack(dateController.value.text)), nickname: nickNameController.value.text.isEmpty ? null : nickNameController.value.text, phone: phoneController.value.text.isEmpty ? null : phoneController.value.text, - floor: floorController.value.text, + floor: FloorsType.values.firstWhere((e) => + e.toString().split('.').last == + floorController.value.text), )); if (value) { displayToastWithContext(TypeMsg.msg, diff --git a/lib/tools/interceptors/authentication_interceptor.dart b/lib/tools/interceptors/authentication_interceptor.dart new file mode 100644 index 000000000..db11d91be --- /dev/null +++ b/lib/tools/interceptors/authentication_interceptor.dart @@ -0,0 +1,83 @@ +// import 'dart:async'; +// import 'dart:io'; + +// import 'package:chopper/chopper.dart'; +// import 'package:myecl/generated/openapi.swagger.dart'; + +// class MyAuthenticator implements Authenticator { +// MyAuthenticator(this._repo); + +// final Openapi _repo; +// Completer? _completer; + +// @override +// FutureOr authenticate( +// Request request, +// Response response, [ +// Request? originalRequest, +// ]) async { +// print('[MyAuthenticator] response.statusCode: ${response.statusCode}'); +// print( +// '[MyAuthenticator] request Retry-Count: ${request.headers['Retry-Count'] ?? 0}', +// ); + +// // 401 +// if (response.statusCode == HttpStatus.unauthorized) { +// // Trying to update token only 1 time +// if (request.headers['Retry-Count'] != null) { +// print( +// '[MyAuthenticator] Unable to refresh token, retry count exceeded', +// ); +// return null; +// } + +// try { +// final newToken = await _refreshToken(); + +// return applyHeaders( +// request, +// { +// HttpHeaders.authorizationHeader: newToken, +// // Setting the retry count to not end up in an infinite loop +// // of unsuccessful updates +// 'Retry-Count': '1', +// }, +// ); +// } catch (e) { +// print('[MyAuthenticator] Unable to refresh token: $e'); +// return null; +// } +// } + +// return null; +// } + +// Future _refreshToken() { +// var completer = _completer; +// if (completer != null && !completer.isCompleted) { +// print('Token refresh is already in progress'); +// return completer.future; +// } + +// completer = Completer(); +// _completer = completer; + +// _repo.refreshToken().then((_) { +// // Completing with a new token +// completer?.complete(_repo.accessToken); +// }).onError((error, stackTrace) { +// // Completing with an error +// completer?.completeError(error ?? 'Refresh token error', stackTrace); +// }); + +// return completer.future; +// } + +// @override +// // TODO: implement onAuthenticationFailed +// AuthenticationCallback? get onAuthenticationFailed => throw UnimplementedError(); + +// @override +// // TODO: implement onAuthenticationSuccessful +// AuthenticationCallback? get onAuthenticationSuccessful => throw UnimplementedError(); +// } diff --git a/lib/tools/interceptors/request_interceptor.dart b/lib/tools/interceptors/request_interceptor.dart new file mode 100644 index 000000000..82d40e7fa --- /dev/null +++ b/lib/tools/interceptors/request_interceptor.dart @@ -0,0 +1,26 @@ +import 'dart:async'; + +import 'package:chopper/chopper.dart'; + +class MyRequestInterceptor implements RequestInterceptor { + final String? token; + + MyRequestInterceptor(this.token); + + @override + FutureOr onRequest(Request request) { + final updatedRequest = applyHeader( + request, + 'Authorization', + 'Bearer $token', + // Do not override existing header + override: false, + ); + + print( + '[AuthInterceptor] accessToken: $token', + ); + + return updatedRequest; + } +} diff --git a/lib/tools/providers/single_notifier copy.dart b/lib/tools/providers/single_notifier copy.dart new file mode 100644 index 000000000..8b5ad6315 --- /dev/null +++ b/lib/tools/providers/single_notifier copy.dart @@ -0,0 +1,125 @@ +import 'package:chopper/chopper.dart'; +import 'package:hooks_riverpod/hooks_riverpod.dart'; +import 'package:myecl/tools/exception.dart'; + +abstract class SingleNotifier2 extends StateNotifier> { + SingleNotifier2(AsyncValue state) : super(const AsyncLoading()); + + Future> load(Future> Function() f) async { + try { + final response = await f(); + final data = response.body; + if (response.isSuccessful && data != null) { + state = AsyncValue.data(data); + return state; + } else { + throw response.error!; + } + } catch (e) { + state = AsyncValue.error(e, StackTrace.current); + if (e is AppException && e.type == ErrorType.tokenExpire) { + rethrow; + } else { + return state; + } + } + } + + Future add(Future> Function(T t) f, T t) async { + return state.when(data: (d) async { + try { + final response = await f(t); + final data = response.body; + if (response.isSuccessful && data != null) { + state = AsyncValue.data(data); + return true; + } else { + throw response.error!; + } + } catch (error) { + state = AsyncValue.data(d); + if (error is AppException && error.type == ErrorType.tokenExpire) { + rethrow; + } else { + return false; + } + } + }, error: (error, s) { + if (error is AppException && error.type == ErrorType.tokenExpire) { + throw error; + } else { + state = AsyncValue.error(error, s); + return false; + } + }, loading: () { + state = + const AsyncValue.error("Cannot add while loading", StackTrace.empty); + return false; + }); + } + + Future update(Future> Function(T t) f, T t) async { + return state.when(data: (d) async { + try { + final response = await f(t); + if (response.isSuccessful) { + state = AsyncValue.data(t); + return true; + } else { + throw response.error!; + } + } catch (error) { + state = AsyncValue.data(d); + if (error is AppException && error.type == ErrorType.tokenExpire) { + rethrow; + } else { + return false; + } + } + }, error: (error, s) { + if (error is AppException && error.type == ErrorType.tokenExpire) { + throw error; + } else { + state = AsyncValue.error(error, s); + return false; + } + }, loading: () { + state = const AsyncValue.error( + "Cannot update while loading", StackTrace.empty); + return false; + }); + } + + Future delete( + Future> Function(String id) f, T t, String id) async { + return state.when(data: (d) async { + try { + final response = await f(id); + if (response.isSuccessful) { + state = const AsyncValue.loading(); + return true; + } else { + throw response.error!; + } + } catch (error) { + state = AsyncValue.data(d); + if (error is AppException && error.type == ErrorType.tokenExpire) { + rethrow; + } else { + return false; + } + } + }, error: (error, s) { + if (error is AppException && error.type == ErrorType.tokenExpire) { + throw error; + } else { + state = AsyncValue.error(error, s); + return false; + } + }, loading: () { + state = const AsyncValue.error( + "Cannot delete while loading", StackTrace.empty); + return false; + }); + } +} diff --git a/lib/tools/repository/repository2.dart b/lib/tools/repository/repository2.dart new file mode 100644 index 000000000..e74a1cb80 --- /dev/null +++ b/lib/tools/repository/repository2.dart @@ -0,0 +1,19 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; +import 'package:myecl/generated/openapi.swagger.dart'; +import 'package:myecl/tools/interceptors/request_interceptor.dart'; + +class Repository { + final String token; + late Openapi repository; + + Repository({required this.token}) { + repository = Openapi.create( + baseUrl: + Uri.parse(dotenv.env[kDebugMode ? "DEBUG_HOST" : "RELEASE_HOST"]!), + interceptors: [ + MyRequestInterceptor(token), + ], + ); + } +} diff --git a/lib/user/providers/user_provider.dart b/lib/user/providers/user_provider.dart index 0897dd577..37c634a6b 100644 --- a/lib/user/providers/user_provider.dart +++ b/lib/user/providers/user_provider.dart @@ -1,55 +1,60 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; +import 'package:myecl/adapters/users.dart'; import 'package:myecl/auth/providers/openid_provider.dart'; -import 'package:myecl/tools/providers/single_notifier.dart'; +import 'package:myecl/generated/openapi.models.swagger.dart'; +import 'package:myecl/tools/providers/single_notifier%20copy.dart'; import 'package:myecl/tools/token_expire_wrapper.dart'; -import 'package:myecl/user/class/user.dart'; import 'package:myecl/user/repositories/user_repository.dart'; -class UserNotifier extends SingleNotifier { - final UserRepository userRepository; - UserNotifier({required this.userRepository}) - : super(const AsyncValue.loading()); +class UserNotifier extends SingleNotifier2 { + UserNotifier({required String token}) + : _userRepository = UserRepository(token: token), + super(const AsyncLoading()); - Future setUser(User user) async { - return await add((u) async => u, user); - } + final UserRepository _userRepository; - Future> loadUser(String userId) async { - return await load(() async => userRepository.getUser(userId)); + Future> loadUser(String userId) async { + return await load(() async => _userRepository.getUser(userId)); } - Future> loadMe() async { - return await load(userRepository.getMe); + Future> loadMe() async { + return await load(_userRepository.getMe); } - Future updateUser(User user) async { - return await update(userRepository.updateUser, user); + Future updateUser(CoreUser user) async { + return await update( + (user) => _userRepository.updateUser( + coreUserUpdateAdminAdapter(user), user.id), + user); } - Future updateMe(User user) async { - return await update(userRepository.updateMe, user); + Future updateMe(CoreUser user) async { + return await update( + (user) async => _userRepository.updateMe(coreUserUpdateAdapter(user)), + user); } Future changePassword( - String oldPassword, String newPassword, User user) async { - return await userRepository.changePassword( - oldPassword, newPassword, user.email); + String oldPassword, String newPassword, CoreUser user) async { + return (await _userRepository.changePassword( + oldPassword, newPassword, user.email)) + .isSuccessful; } Future deletePersonal() async { - return await userRepository.deletePersonalData(); + return (await _userRepository.deletePersonalData()); } Future askMailMigration(String mail) async { - return await userRepository.askMailMigration(mail); + return (await _userRepository.askMailMigration(mail)); } } final asyncUserProvider = - StateNotifierProvider>((ref) { - final UserRepository userRepository = ref.watch(userRepositoryProvider); - UserNotifier userNotifier = UserNotifier(userRepository: userRepository); + StateNotifierProvider>((ref) { + final token = ref.watch(tokenProvider); + UserNotifier userNotifier = UserNotifier(token: token); tokenExpireWrapperAuth(ref, () async { final isLoggedIn = ref.watch(isLoggedInProvider); final id = ref @@ -62,13 +67,8 @@ final asyncUserProvider = return userNotifier; }); -final userProvider = Provider((ref) { - return ref.watch(asyncUserProvider).maybeWhen( - data: (user) { - return user; - }, - orElse: () { - return User.empty(); - }, - ); +final userProvider = Provider((ref) { + return ref + .watch(asyncUserProvider) + .maybeWhen(data: (user) => user, orElse: () => CoreUser.fromJson({})); }); diff --git a/lib/user/repositories/user_repository.dart b/lib/user/repositories/user_repository.dart index 2048f79fb..737d78b6b 100644 --- a/lib/user/repositories/user_repository.dart +++ b/lib/user/repositories/user_repository.dart @@ -1,68 +1,36 @@ -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:myecl/auth/providers/openid_provider.dart'; -import 'package:myecl/tools/repository/repository.dart'; -import 'package:myecl/user/class/user.dart'; +import 'package:chopper/chopper.dart'; +import 'package:myecl/generated/openapi.models.swagger.dart'; +import 'package:myecl/generated/openapi.swagger.dart'; +import 'package:myecl/tools/repository/repository2.dart'; class UserRepository extends Repository { - @override - // ignore: overridden_fields - final ext = "users/"; + UserRepository({required String token}) : super(token: token); - Future getUser(String userId) async { - return User.fromJson(await getOne(userId)); - } + Future> getUser(String userId) => + repository.usersUserIdGet(userId: userId); - Future getMe() async { - return User.fromJson(await getOne("me")); - } + Future> getMe() => repository.usersMeGet(); - Future deleteUser(String userId) async { - return await delete(userId); - } + Future> createUser( + CoreUserCreateRequest user) => + repository.usersCreatePost(body: user); - Future updateUser(User user) async { - return await update(user, user.id); - } + Future> updateUser( + CoreUserUpdateAdmin user, String userId) => + repository.usersUserIdPatch(userId: userId, body: user); - Future updateMe(User user) async { - return await update(user, "me"); - } + Future> updateMe(CoreUserUpdate user) => + repository.usersMePatch(body: user); - Future createUser(User user) async { - return User.fromJson(await create(user)); - } + Future> changePassword( + String oldPassword, String newPassword, String mail) => + repository.usersChangePasswordPost( + body: ChangePasswordRequest( + email: mail, newPassword: newPassword, oldPassword: oldPassword)); - Future changePassword( - String oldPassword, String newPassword, String mail) async { - try { - return (await create({ - "old_password": oldPassword, - "new_password": newPassword, - "email": mail - }, suffix: "change-password"))["success"]; - } catch (e) { - return false; - } - } + Future> deletePersonalData() => + repository.usersMeAskDeletionPost(); - Future deletePersonalData() async { - try { - return await create({}, suffix: "me/ask-deletion"); - } catch (e) { - return false; - } - } - - Future askMailMigration(String mail) async { - try { - return await create({"new_email": mail}, suffix: "migrate-mail"); - } catch (e) { - return false; - } - } -} - -final userRepositoryProvider = Provider((ref) { - final token = ref.watch(tokenProvider); - return UserRepository()..setToken(token); -}); + Future> askMailMigration(String mail) => + repository.usersMigrateMailPost(body: MailMigrationRequest(newEmail: mail)); +} \ No newline at end of file diff --git a/lib/vote/providers/can_vote_provider.dart b/lib/vote/providers/can_vote_provider.dart index cb4351163..7596a17e5 100644 --- a/lib/vote/providers/can_vote_provider.dart +++ b/lib/vote/providers/can_vote_provider.dart @@ -5,6 +5,8 @@ import 'package:myecl/vote/providers/voting_group_list_provider.dart'; final canVoteProvider = StateProvider((ref) { final me = ref.watch(userProvider); final votingGroupList = ref.watch(votingGroupListProvider); - final myGroupIds = me.groups.map((e) => e.id).toList(); + final myGroupIds = me.groups! + .map((e) => e.id) + .toList(); return votingGroupList.any((e) => myGroupIds.contains(e.id)); }); diff --git a/lib/vote/providers/is_vote_admin_provider.dart b/lib/vote/providers/is_vote_admin_provider.dart index 66661bb7c..6bd7acea1 100644 --- a/lib/vote/providers/is_vote_admin_provider.dart +++ b/lib/vote/providers/is_vote_admin_provider.dart @@ -3,7 +3,7 @@ import 'package:myecl/user/providers/user_provider.dart'; final isVoteAdminProvider = StateProvider((ref) { final me = ref.watch(userProvider); - return me.groups + return me.groups! .map((e) => e.id) .contains("6c6d7e88-fdb8-4e42-b2b5-3d3cfd12e7d6"); }); diff --git a/swaggers/openapi.json b/swaggers/openapi.json new file mode 100644 index 000000000..ff4257c74 --- /dev/null +++ b/swaggers/openapi.json @@ -0,0 +1 @@ +{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/send-email/":{"post":{"summary":"Send Email Backgroundtasks","operationId":"send_email_backgroundtasks_send_email__post","parameters":[{"required":true,"schema":{"type":"string","title":"Email"},"name":"email","in":"query"},{"required":true,"schema":{"type":"string","title":"Subject"},"name":"subject","in":"query"},{"required":true,"schema":{"type":"string","title":"Content"},"name":"content","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/advert/advertisers":{"get":{"tags":["Advert"],"summary":"Read Advertisers","description":"Get existing advertisers.","operationId":"read_advertisers_advert_advertisers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AdvertiserComplete"},"type":"array","title":"Response Read Advertisers Advert Advertisers Get"}}}}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["Advert"],"summary":"Create Advertiser","description":"Create a new advertiser.\n\nEach advertiser is associated with a `manager_group`. Users belonging to this group are able to manage the adverts related to the advertiser.\n\n**The user must be authenticated to use this endpoint**","operationId":"create_advertiser_advert_advertisers_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertiserBase"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertiserComplete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/advert/advertisers/{advertiser_id}":{"delete":{"tags":["Advert"],"summary":"Delete Advertiser","description":"Delete an advertiser. All adverts associated with the advertiser will also be deleted from the database.\n\n**This endpoint is only usable by administrators**","operationId":"delete_advertiser_advert_advertisers__advertiser_id__delete","parameters":[{"required":true,"schema":{"type":"string","title":"Advertiser Id"},"name":"advertiser_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"patch":{"tags":["Advert"],"summary":"Update Advertiser","description":"Update an advertiser\n\n**This endpoint is only usable by administrators**","operationId":"update_advertiser_advert_advertisers__advertiser_id__patch","parameters":[{"required":true,"schema":{"type":"string","title":"Advertiser Id"},"name":"advertiser_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertiserUpdate"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/advert/me/advertisers":{"get":{"tags":["Advert"],"summary":"Get Current User Advertisers","description":"Return all advertisers the current user can manage.\n\n**The user must be authenticated to use this endpoint**","operationId":"get_current_user_advertisers_advert_me_advertisers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AdvertiserComplete"},"type":"array","title":"Response Get Current User Advertisers Advert Me Advertisers Get"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/advert/adverts":{"get":{"tags":["Advert"],"summary":"Read Adverts","description":"Get existing adverts. If advertisers optional parameter is used, search adverts by advertisers\n\n**The user must be authenticated to use this endpoint**","operationId":"read_adverts_advert_adverts_get","parameters":[{"required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Advertisers","default":[]},"name":"advertisers","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AdvertReturnComplete"},"type":"array","title":"Response Read Adverts Advert Adverts Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["Advert"],"summary":"Create Advert","description":"Create a new advert\n\n**The user must be a member of the advertiser group_manager to use this endpoint**","operationId":"create_advert_advert_adverts_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertBase"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertReturnComplete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/advert/adverts/{advert_id}":{"get":{"tags":["Advert"],"summary":"Read Advert","description":"Get an advert\n\n**The user must be authenticated to use this endpoint**","operationId":"read_advert_advert_adverts__advert_id__get","parameters":[{"required":true,"schema":{"type":"string","title":"Advert Id"},"name":"advert_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertReturnComplete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"delete":{"tags":["Advert"],"summary":"Delete Advert","description":"Delete an advert\n\n**The user must be admin or a member of the advertiser group_manager to use this endpoint**","operationId":"delete_advert_advert_adverts__advert_id__delete","parameters":[{"required":true,"schema":{"type":"string","title":"Advert Id"},"name":"advert_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"patch":{"tags":["Advert"],"summary":"Update Advert","description":"Edit an advert\n\n**The user must be a member of the advertiser group_manager to use this endpoint**","operationId":"update_advert_advert_adverts__advert_id__patch","parameters":[{"required":true,"schema":{"type":"string","title":"Advert Id"},"name":"advert_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvertUpdate"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/advert/adverts/{advert_id}/picture":{"get":{"tags":["Advert"],"summary":"Read Advert Image","description":"Get the image of an advert\n\n**The user must be authenticated to use this endpoint**","operationId":"read_advert_image_advert_adverts__advert_id__picture_get","parameters":[{"required":true,"schema":{"type":"string","title":"Advert Id"},"name":"advert_id","in":"path"}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Advert"],"summary":"Create Advert Image","description":"Add an image to an advert\n\n**The user must be authenticated to use this endpoint**","operationId":"create_advert_image_advert_adverts__advert_id__picture_post","parameters":[{"required":true,"schema":{"type":"string","title":"Advert Id"},"name":"advert_id","in":"path"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_advert_image_advert_adverts__advert_id__picture_post"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__utils__types__standard_responses__Result"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/amap/products":{"get":{"tags":["AMAP"],"summary":"Get Products","description":"Return all products\n\n**The user must be a member of the group AMAP to use this endpoint**","operationId":"get_products_amap_products_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ProductComplete"},"type":"array","title":"Response Get Products Amap Products Get"}}}}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["AMAP"],"summary":"Create Product","description":"Create a new product\n\n**The user must be a member of the group AMAP to use this endpoint**","operationId":"create_product_amap_products_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductSimple"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductComplete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/amap/products/{product_id}":{"get":{"tags":["AMAP"],"summary":"Get Product By Id","description":"Get a specific product","operationId":"get_product_by_id_amap_products__product_id__get","parameters":[{"required":true,"schema":{"type":"string","title":"Product Id"},"name":"product_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductComplete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"delete":{"tags":["AMAP"],"summary":"Delete Product","description":"Delete a product. A product can not be deleted if it is already used in a delivery.\n\n**The user must be a member of the group AMAP to use this endpoint**","operationId":"delete_product_amap_products__product_id__delete","parameters":[{"required":true,"schema":{"type":"string","title":"Product Id"},"name":"product_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"patch":{"tags":["AMAP"],"summary":"Edit Product","description":"Edit a product\n\n**The user must be a member of the group AMAP to use this endpoint**","operationId":"edit_product_amap_products__product_id__patch","parameters":[{"required":true,"schema":{"type":"string","title":"Product Id"},"name":"product_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductEdit"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/amap/deliveries":{"get":{"tags":["AMAP"],"summary":"Get Deliveries","description":"Get all deliveries.","operationId":"get_deliveries_amap_deliveries_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/DeliveryReturn"},"type":"array","title":"Response Get Deliveries Amap Deliveries Get"}}}}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["AMAP"],"summary":"Create Delivery","description":"Create a new delivery.\n\n**The user must be a member of the group AMAP to use this endpoint**","operationId":"create_delivery_amap_deliveries_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeliveryBase"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeliveryReturn"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/amap/deliveries/{delivery_id}":{"delete":{"tags":["AMAP"],"summary":"Delete Delivery","description":"Delete a delivery.\n\n**The user must be a member of the group AMAP to use this endpoint**","operationId":"delete_delivery_amap_deliveries__delivery_id__delete","parameters":[{"required":true,"schema":{"type":"string","title":"Delivery Id"},"name":"delivery_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"patch":{"tags":["AMAP"],"summary":"Edit Delivery","description":"Edit a delivery.\n\n**The user must be a member of the group AMAP to use this endpoint**","operationId":"edit_delivery_amap_deliveries__delivery_id__patch","parameters":[{"required":true,"schema":{"type":"string","title":"Delivery Id"},"name":"delivery_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeliveryUpdate"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/amap/deliveries/{delivery_id}/products":{"post":{"tags":["AMAP"],"summary":"Add Product To Delivery","description":"Add `product_id` product to `delivery_id` delivery. This endpoint will only add a membership between the two objects.\n\n**The user must be a member of the group AMAP to use this endpoint**","operationId":"add_product_to_delivery_amap_deliveries__delivery_id__products_post","parameters":[{"required":true,"schema":{"type":"string","title":"Delivery Id"},"name":"delivery_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeliveryProductsUpdate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"delete":{"tags":["AMAP"],"summary":"Remove Product From Delivery","description":"Remove a given product from a delivery. This won't delete the product nor the delivery.\n\n**The user must be a member of the group AMAP to use this endpoint**","operationId":"remove_product_from_delivery_amap_deliveries__delivery_id__products_delete","parameters":[{"required":true,"schema":{"type":"string","title":"Delivery Id"},"name":"delivery_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeliveryProductsUpdate"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/amap/deliveries/{delivery_id}/orders":{"get":{"tags":["AMAP"],"summary":"Get Orders From Delivery","description":"Get orders from a delivery.\n\n**The user must be a member of the group AMAP to use this endpoint**","operationId":"get_orders_from_delivery_amap_deliveries__delivery_id__orders_get","parameters":[{"required":true,"schema":{"type":"string","title":"Delivery Id"},"name":"delivery_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/OrderReturn"},"type":"array","title":"Response Get Orders From Delivery Amap Deliveries Delivery Id Orders Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/amap/orders/{order_id}":{"get":{"tags":["AMAP"],"summary":"Get Order By Id","description":"Get content of an order.\n\n**The user must be a member of the group AMAP to use this endpoint**","operationId":"get_order_by_id_amap_orders__order_id__get","parameters":[{"required":true,"schema":{"type":"string","title":"Order Id"},"name":"order_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderReturn"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"delete":{"tags":["AMAP"],"summary":"Remove Order","description":"Delete an order.\n\n**A member of the group AMAP can delete orders of other users**","operationId":"remove_order_amap_orders__order_id__delete","parameters":[{"required":true,"schema":{"type":"string","title":"Order Id"},"name":"order_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"patch":{"tags":["AMAP"],"summary":"Edit Order From Delievery","description":"Edit an order.\n\n**A member of the group AMAP can edit orders of other users**","operationId":"edit_order_from_delievery_amap_orders__order_id__patch","parameters":[{"required":true,"schema":{"type":"string","title":"Order Id"},"name":"order_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderEdit"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/amap/orders":{"post":{"tags":["AMAP"],"summary":"Add Order To Delievery","description":"Add an order to a delivery.\n\n**A member of the group AMAP can create an order for every user**","operationId":"add_order_to_delievery_amap_orders_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderBase"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderReturn"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/amap/deliveries/{delivery_id}/openordering":{"post":{"tags":["AMAP"],"summary":"Open Ordering Of Delivery","operationId":"open_ordering_of_delivery_amap_deliveries__delivery_id__openordering_post","parameters":[{"required":true,"schema":{"type":"string","title":"Delivery Id"},"name":"delivery_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/amap/deliveries/{delivery_id}/lock":{"post":{"tags":["AMAP"],"summary":"Lock Delivery","operationId":"lock_delivery_amap_deliveries__delivery_id__lock_post","parameters":[{"required":true,"schema":{"type":"string","title":"Delivery Id"},"name":"delivery_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/amap/deliveries/{delivery_id}/delivered":{"post":{"tags":["AMAP"],"summary":"Mark Delivery As Delivered","operationId":"mark_delivery_as_delivered_amap_deliveries__delivery_id__delivered_post","parameters":[{"required":true,"schema":{"type":"string","title":"Delivery Id"},"name":"delivery_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/amap/deliveries/{delivery_id}/archive":{"post":{"tags":["AMAP"],"summary":"Archive Of Delivery","operationId":"archive_of_delivery_amap_deliveries__delivery_id__archive_post","parameters":[{"required":true,"schema":{"type":"string","title":"Delivery Id"},"name":"delivery_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/amap/users/cash":{"get":{"tags":["AMAP"],"summary":"Get Users Cash","description":"Get cash from all users.\n\n**The user must be a member of the group AMAP to use this endpoint**","operationId":"get_users_cash_amap_users_cash_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/app__schemas__schemas_amap__CashComplete"},"type":"array","title":"Response Get Users Cash Amap Users Cash Get"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/amap/users/{user_id}/cash":{"get":{"tags":["AMAP"],"summary":"Get Cash By Id","description":"Get cash from a specific user.\n\n**The user must be a member of the group AMAP to use this endpoint or can only access the endpoint for its own user_id**","operationId":"get_cash_by_id_amap_users__user_id__cash_get","parameters":[{"required":true,"schema":{"type":"string","title":"User Id"},"name":"user_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schemas__schemas_amap__CashComplete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["AMAP"],"summary":"Create Cash Of User","description":"Create cash for an user.\n\n**The user must be a member of the group AMAP to use this endpoint**","operationId":"create_cash_of_user_amap_users__user_id__cash_post","parameters":[{"required":true,"schema":{"type":"string","title":"User Id"},"name":"user_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schemas__schemas_amap__CashEdit"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schemas__schemas_amap__CashComplete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"patch":{"tags":["AMAP"],"summary":"Edit Cash By Id","description":"Edit cash for an user. This will add the balance to the current balance.\nA negative value can be provided to remove money from the user.\n\n**The user must be a member of the group AMAP to use this endpoint**","operationId":"edit_cash_by_id_amap_users__user_id__cash_patch","parameters":[{"required":true,"schema":{"type":"string","title":"User Id"},"name":"user_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schemas__schemas_amap__CashEdit"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/amap/users/{user_id}/orders":{"get":{"tags":["AMAP"],"summary":"Get Orders Of User","description":"Get orders from an user.\n\n**The user must be a member of the group AMAP to use this endpoint or can only access the endpoint for its own user_id**","operationId":"get_orders_of_user_amap_users__user_id__orders_get","parameters":[{"required":true,"schema":{"type":"string","title":"User Id"},"name":"user_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/OrderReturn"},"type":"array","title":"Response Get Orders Of User Amap Users User Id Orders Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/amap/information":{"get":{"tags":["AMAP"],"summary":"Get Information","description":"Return all information","operationId":"get_information_amap_information_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Information"}}}}},"security":[{"Authorization Code authentication":[]}]},"patch":{"tags":["AMAP"],"summary":"Edit Information","description":"Update information\n\n**The user must be a member of the group AMAP to use this endpoint**","operationId":"edit_information_amap_information_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InformationEdit"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/associations":{"get":{"summary":"Get Associations","operationId":"get_associations_associations_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"put":{"summary":"Edit Association","operationId":"edit_association_associations_put","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Create Association","operationId":"create_association_associations_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/associations/{association_id}":{"get":{"summary":"Get Association","operationId":"get_association_associations__association_id__get","parameters":[{"required":true,"schema":{"title":"Association Id"},"name":"association_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/associations/{association_id}/users":{"get":{"summary":"Get Users Association","operationId":"get_users_association_associations__association_id__users_get","parameters":[{"required":true,"schema":{"title":"Association Id"},"name":"association_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/associations/{association_id}/users/{user_id}":{"post":{"summary":"Create User Association","operationId":"create_user_association_associations__association_id__users__user_id__post","parameters":[{"required":true,"schema":{"title":"Association Id"},"name":"association_id","in":"path"},{"required":true,"schema":{"title":"User Id"},"name":"user_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Delete User Association","operationId":"delete_user_association_associations__association_id__users__user_id__delete","parameters":[{"required":true,"schema":{"title":"Association Id"},"name":"association_id","in":"path"},{"required":true,"schema":{"title":"User Id"},"name":"user_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/associations/{association_id}/admins/{user_id}":{"post":{"summary":"Create Admin Association","operationId":"create_admin_association_associations__association_id__admins__user_id__post","parameters":[{"required":true,"schema":{"title":"Association Id"},"name":"association_id","in":"path"},{"required":true,"schema":{"title":"User Id"},"name":"user_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Delete Admin Association","operationId":"delete_admin_association_associations__association_id__admins__user_id__delete","parameters":[{"required":true,"schema":{"title":"Association Id"},"name":"association_id","in":"path"},{"required":true,"schema":{"title":"User Id"},"name":"user_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/simple_token":{"post":{"tags":["Auth"],"summary":"Login For Access Token","description":"Ask for a JWT acc ess token using oauth password flow.\n\n*username* and *password* must be provided\n\nNote: the request body needs to use **form-data** and not json.","operationId":"login_for_access_token_auth_simple_token_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_login_for_access_token_auth_simple_token_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessToken"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/authorize":{"get":{"tags":["Auth"],"summary":"Get Authorize Page","description":"This endpoint is the one the user is redirected to when they begin the Oauth or Openid connect (*oidc*) *Authorization code* process.\nThe page allows the user to login and may let the user choose what type of data they want to authorize the client for.\n\nThis is the endpoint that should be set in the client OAuth or OIDC configuration page. It can be called by a GET or a POST request.\n\nSee `/auth/authorization-flow/authorize-validation` endpoint for information about the parameters.\n\n> In order for the authorization code grant to be secure, the authorization page must appear in a web browser the user is familiar with,\n> and must not be embedded in an iframe popup or an embedded browser in a mobile app.\n> If it could be embedded in another website, the user would have no way of verifying it is the legitimate service and is not a phishing attempt.\n\n**This endpoint is a UI endpoint which send and html page response. It will redirect to `/auth/authorization-flow/authorize-validation`**","operationId":"get_authorize_page_auth_authorize_get","parameters":[{"required":true,"schema":{"type":"string","title":"Client Id"},"name":"client_id","in":"query"},{"required":false,"schema":{"type":"string","title":"Redirect Uri"},"name":"redirect_uri","in":"query"},{"required":true,"schema":{"type":"string","title":"Response Type"},"name":"response_type","in":"query"},{"required":false,"schema":{"type":"string","title":"Scope"},"name":"scope","in":"query"},{"required":false,"schema":{"type":"string","title":"State"},"name":"state","in":"query"},{"required":false,"schema":{"type":"string","title":"Nonce"},"name":"nonce","in":"query"},{"required":false,"schema":{"type":"string","title":"Code Challenge"},"name":"code_challenge","in":"query"},{"required":false,"schema":{"type":"string","title":"Code Challenge Method"},"name":"code_challenge_method","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Auth"],"summary":"Post Authorize Page","description":"This endpoint is the one the user is redirected to when they begin the OAuth or Openid connect (*oidc*) *Authorization code* process with or without PKCE.\nThe page allows the user to login and may let the user choose what type of data they want to authorize the client for.\n\nThis is the endpoint that should be set in the client OAuth or OIDC configuration page. It can be called by a GET or a POST request.\n\nSee `/auth/authorization-flow/authorize-validation` endpoint for information about the parameters.\n\n> In order for the authorization code grant to be secure, the authorization page must appear in a web browser the user is familiar with,\n> and must not be embedded in an iframe popup or an embedded browser in a mobile app.\n> If it could be embedded in another website, the user would have no way of verifying it is the legitimate service and is not a phishing attempt.\n\n**This endpoint is a UI endpoint which send and html page response. It will redirect to `/auth/authorization-flow/authorize-validation`**","operationId":"post_authorize_page_auth_authorize_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_post_authorize_page_auth_authorize_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/authorization-flow/authorize-validation":{"post":{"tags":["Auth"],"summary":"Authorize Validation","description":"Part 1 of the authorization code grant.\n\nParameters must be `application/x-www-form-urlencoded` and includes:\n\n* parameters for OAuth and Openid connect:\n * `response_type`: must be `code`\n * `client_id`: client identifier, needs to be registered in the server known_clients\n * `redirect_uri`: optional for OAuth (when registered in known_clients) but required for oidc. The url we need to redirect the user to after the authorization.\n * `scope`: optional for OAuth, must contain \"openid\" for oidc. List of scope the client want to get access to.\n * `state`: recommended. Opaque value used to maintain state between the request and the callback.\n\n* additional parameters for Openid connect:\n * `nonce`: oidc only. A string value used to associate a client session with an ID Token, and to mitigate replay attacks.\n\n* additional parameters for PKCE (see specs on https://datatracker.ietf.org/doc/html/rfc7636/):\n * `code_challenge`: PKCE only\n * `code_challenge_method`: PKCE only\n\n\n* parameters that allows to authenticate the user and know which scopes he grants access to.\n * `email`\n * `password`\n\nReferences:\n * https://www.rfc-editor.org/rfc/rfc6749.html#section-4.1.2\n * https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest","operationId":"authorize_validation_auth_authorization_flow_authorize_validation_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_authorize_validation_auth_authorization_flow_authorize_validation_post"}}},"required":true},"responses":{"307":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/token":{"post":{"tags":["Auth"],"summary":"Token","description":"Part 2 of the authorization code grant.\nThe client exchange its authorization code for an access token. The endpoint supports OAuth and Openid connect, with or without PKCE.\n\nParameters must be `application/x-www-form-urlencoded` and include:\n\n* parameters for OAuth and Openid connect:\n * `grant_type`: must be `authorization_code` or `refresh_token`\n * `code`: the authorization code received from the authorization endpoint\n * `redirect_uri`: optional for OAuth (when registered in known_clients) but required for oidc. The url we need to redirect the user to after the authorization. If provided, must be the same as previously registered in the `redirect_uri` field of the client.\n\n* Client credentials\n The client must send either:\n the client id and secret in the authorization header or with client_id and client_secret parameters\n\n* additional parameters for PKCE:\n * `code_verifier`: PKCE only, allows to verify the previous code_challenge\n\nhttps://datatracker.ietf.org/doc/html/rfc6749#section-4.1.3\nhttps://openid.net/specs/openid-connect-core-1_0.html#TokenRequestValidation","operationId":"token_auth_token_post","parameters":[{"required":false,"schema":{"type":"string","title":"Authorization"},"name":"authorization","in":"header"}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_token_auth_token_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/userinfo":{"get":{"tags":["Auth"],"summary":"Auth Get Userinfo","description":"Openid connect specify an endpoint the client can use to get information about the user.\nThe oidc client will provide the access_token it got previously in the request.\n\nThe information expected depends on the client and may include the user identifier, name, email, phone...\nSee the reference for possible claims. See the client documentation and implementation to know what it needs and can receive.\nThe sub (subject) Claim MUST always be returned in the UserInfo Response.\n\nThe client can ask for specific information using scopes and claims. See the reference for more information.\nThis procedure is not implemented in Hyperion as we can customize the response using auth_client class\n\nReference:\nhttps://openid.net/specs/openid-connect-core-1_0.html#UserInfo","operationId":"auth_get_userinfo_auth_userinfo_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"Authorization Code authentication":[]}]}},"/oidc/authorization-flow/jwks_uri":{"get":{"tags":["Auth"],"summary":"Jwks Uri","operationId":"jwks_uri_oidc_authorization_flow_jwks_uri_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/openid-configuration":{"get":{"tags":["Auth"],"summary":"Oidc Configuration","operationId":"oidc_configuration__well_known_openid_configuration_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/bdebooking/rights":{"get":{"tags":["BDEBooking"],"summary":"Get Rights","operationId":"get_rights_bdebooking_rights_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Rights"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/bdebooking/bookings":{"get":{"tags":["BDEBooking"],"summary":"Get Bookings","description":"Get all bookings.\n\n**Only usable by admins**","operationId":"get_bookings_bdebooking_bookings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BookingReturnApplicant"},"type":"array","title":"Response Get Bookings Bdebooking Bookings Get"}}}}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["BDEBooking"],"summary":"Create Bookings","description":"Create a booking.\n\n**Usable by every members**","operationId":"create_bookings_bdebooking_bookings_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingBase"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingReturn"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/bdebooking/bookings/confirmed":{"get":{"tags":["BDEBooking"],"summary":"Get Confirmed Bookings","description":"Get all confirmed bookings.\n\n**Usable by every member**","operationId":"get_confirmed_bookings_bdebooking_bookings_confirmed_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BookingReturn"},"type":"array","title":"Response Get Confirmed Bookings Bdebooking Bookings Confirmed Get"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/bdebooking/user/{applicant_id}":{"get":{"tags":["BDEBooking"],"summary":"Get Applicant Bookings","description":"Get one user bookings.\n\n**Usable by the user or admins**","operationId":"get_applicant_bookings_bdebooking_user__applicant_id__get","parameters":[{"required":true,"schema":{"type":"string","title":"Applicant Id"},"name":"applicant_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BookingReturn"},"type":"array","title":"Response Get Applicant Bookings Bdebooking User Applicant Id Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/bdebooking/bookings/{booking_id}":{"get":{"tags":["BDEBooking"],"summary":"Get Booking By Id","description":"Get one booking.\n\n**Usable by admins or booking's applicant**","operationId":"get_booking_by_id_bdebooking_bookings__booking_id__get","parameters":[{"required":true,"schema":{"type":"string","title":"Booking Id"},"name":"booking_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingReturn"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"delete":{"tags":["BDEBooking"],"summary":"Delete Bookings Id","description":"Remove a booking.\n\n**Only usable by admins or applicant before decision**","operationId":"delete_bookings_id_bdebooking_bookings__booking_id__delete","parameters":[{"required":true,"schema":{"title":"Booking Id"},"name":"booking_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"patch":{"tags":["BDEBooking"],"summary":"Edit Bookings Id","description":"Edit a booking.\n\n**Only usable by admins or applicant before decision**","operationId":"edit_bookings_id_bdebooking_bookings__booking_id__patch","parameters":[{"required":true,"schema":{"type":"string","title":"Booking Id"},"name":"booking_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingEdit"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/bdebooking/bookings/{booking_id}/applicant":{"get":{"tags":["BDEBooking"],"summary":"Get Booking Applicant","description":"Get one booking's applicant.\n\n**Usable by admins**","operationId":"get_booking_applicant_bdebooking_bookings__booking_id__applicant_get","parameters":[{"required":true,"schema":{"type":"string","title":"Booking Id"},"name":"booking_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Applicant"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/bdebooking/bookings/{booking_id}/reply/{decision}":{"patch":{"tags":["BDEBooking"],"summary":"Confirm Booking","description":"Give a decision to a booking.\n\n**Only usable by admins**","operationId":"confirm_booking_bdebooking_bookings__booking_id__reply__decision__patch","parameters":[{"required":true,"schema":{"type":"string","title":"Booking Id"},"name":"booking_id","in":"path"},{"required":true,"schema":{"$ref":"#/components/schemas/app__utils__types__bdebooking_type__Decision"},"name":"decision","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/bdebooking/rooms":{"get":{"tags":["BDEBooking"],"summary":"Get Rooms","description":"Get all rooms.\n\n**Usable by every member**","operationId":"get_rooms_bdebooking_rooms_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/RoomComplete"},"type":"array","title":"Response Get Rooms Bdebooking Rooms Get"}}}}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["BDEBooking"],"summary":"Create Room","description":"Create a room.\n\n**Only usable by admins**","operationId":"create_room_bdebooking_rooms_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoomBase"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoomComplete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/bdebooking/rooms/{room_id}":{"get":{"tags":["BDEBooking"],"summary":"Get Room By Id","description":"Get a particular room.\n\n**Usable by every member**","operationId":"get_room_by_id_bdebooking_rooms__room_id__get","parameters":[{"required":true,"schema":{"type":"string","title":"Room Id"},"name":"room_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoomComplete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"delete":{"tags":["BDEBooking"],"summary":"Delete Room","description":"Remove a room.\n\n**Only usable by admins**","operationId":"delete_room_bdebooking_rooms__room_id__delete","parameters":[{"required":true,"schema":{"type":"string","title":"Room Id"},"name":"room_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"patch":{"tags":["BDEBooking"],"summary":"Edit Room","description":"Edit a room.\n\n**Only usable by admins**","operationId":"edit_room_bdebooking_rooms__room_id__patch","parameters":[{"required":true,"schema":{"type":"string","title":"Room Id"},"name":"room_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoomBase"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/calendar/events/":{"get":{"tags":["Calendar"],"summary":"Get Events","description":"Get all events from the database.","operationId":"get_events_calendar_events__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/EventReturn"},"type":"array","title":"Response Get Events Calendar Events Get"}}}}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["Calendar"],"summary":"Add Event","description":"Add an event to the calendar.","operationId":"add_event_calendar_events__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventBase"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventComplete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/calendar/events/confirmed":{"get":{"tags":["Calendar"],"summary":"Get Confirmed Events","description":"Get all confirmed events.\n\n**Usable by every member**","operationId":"get_confirmed_events_calendar_events_confirmed_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/EventComplete"},"type":"array","title":"Response Get Confirmed Events Calendar Events Confirmed Get"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/calendar/events/user/{applicant_id}":{"get":{"tags":["Calendar"],"summary":"Get Applicant Bookings","description":"Get one user bookings.\n\n**Usable by the user or admins**","operationId":"get_applicant_bookings_calendar_events_user__applicant_id__get","parameters":[{"required":true,"schema":{"type":"string","title":"Applicant Id"},"name":"applicant_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/EventReturn"},"type":"array","title":"Response Get Applicant Bookings Calendar Events User Applicant Id Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/calendar/events/{event_id}":{"get":{"tags":["Calendar"],"summary":"Get Event By Id","description":"Get an event's information by its id.","operationId":"get_event_by_id_calendar_events__event_id__get","parameters":[{"required":true,"schema":{"type":"string","title":"Event Id"},"name":"event_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventComplete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"delete":{"tags":["Calendar"],"summary":"Delete Bookings Id","description":"Remove an event.\n\n**Only usable by admins or applicant before decision**","operationId":"delete_bookings_id_calendar_events__event_id__delete","parameters":[{"required":true,"schema":{"title":"Event Id"},"name":"event_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"patch":{"tags":["Calendar"],"summary":"Edit Bookings Id","description":"Edit an event.\n\n**Only usable by admins or applicant before decision**","operationId":"edit_bookings_id_calendar_events__event_id__patch","parameters":[{"required":true,"schema":{"type":"string","title":"Event Id"},"name":"event_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventEdit"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"calendar/events/{event_id}/applicant":{"get":{"tags":["Calendar"],"summary":"Get Event Applicant","operationId":"get_event_applicantcalendar_events__event_id__applicant_get","parameters":[{"required":true,"schema":{"type":"string","title":"Event Id"},"name":"event_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventApplicant"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/calendar/events/{event_id}/reply/{decision}":{"patch":{"tags":["BDEBooking"],"summary":"Confirm Booking","description":"Give a decision to an event.\n\n**Only usable by admins**","operationId":"confirm_booking_calendar_events__event_id__reply__decision__patch","parameters":[{"required":true,"schema":{"type":"string","title":"Event Id"},"name":"event_id","in":"path"},{"required":true,"schema":{"$ref":"#/components/schemas/app__utils__types__calendar_types__Decision"},"name":"decision","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/calendar/ical/create":{"post":{"tags":["Calendar"],"summary":"Recreate Ical File","description":"Create manually the icalendar file\n\n**Only usable by global admins**","operationId":"recreate_ical_file_calendar_ical_create_post","responses":{"204":{"description":"Successful Response"}},"security":[{"Authorization Code authentication":[]}]}},"/calendar/ical":{"get":{"tags":["Calendar"],"summary":"Get Icalendar File","description":"Get the icalendar file corresponding to the event in the database.","operationId":"get_icalendar_file_calendar_ical_get","responses":{"200":{"description":"Successful Response"}}}},"/campaign/sections":{"get":{"tags":["Campaign"],"summary":"Get Sections","description":"Return sections in the database as a list of `schemas_campaign.SectionBase`\n\n**The user must be a member of the group AE to use this endpoint**","operationId":"get_sections_campaign_sections_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SectionComplete"},"type":"array","title":"Response Get Sections Campaign Sections Get"}}}}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["Campaign"],"summary":"Add Section","description":"Add a section of AEECL.\n\nThis endpoint can only be used in 'waiting' status.\n\n**The user must be a member of the group CAA to use this endpoint**","operationId":"add_section_campaign_sections_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SectionBase"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SectionComplete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/campaign/sections/{section_id}":{"delete":{"tags":["Campaign"],"summary":"Delete Section","description":"Delete a section of AEECL.\n\nThis endpoint can only be used in 'waiting' status.\n\n**The user must be a member of the group CAA to use this endpoint**","operationId":"delete_section_campaign_sections__section_id__delete","parameters":[{"required":true,"schema":{"type":"string","title":"Section Id"},"name":"section_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/campaign/lists":{"get":{"tags":["Campaign"],"summary":"Get Lists","description":"Return campaign lists registered for the vote.\n\n**The user must be a member of the group AE to use this endpoint**","operationId":"get_lists_campaign_lists_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ListReturn"},"type":"array","title":"Response Get Lists Campaign Lists Get"}}}}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["Campaign"],"summary":"Add List","description":"Add a campaign list to a section.\n\nThis endpoint can only be used in 'waiting' status.\n\n**The user must be a member of the group CAA to use this endpoint**","operationId":"add_list_campaign_lists_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListBase"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListReturn"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/campaign/lists/{list_id}":{"delete":{"tags":["Campaign"],"summary":"Delete List","description":"Delete the campaign list with the given id.\n\nThis endpoint can only be used in 'waiting' status.\n\n**The user must be a member of the group CAA to use this endpoint**","operationId":"delete_list_campaign_lists__list_id__delete","parameters":[{"required":true,"schema":{"type":"string","title":"List Id"},"name":"list_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"patch":{"tags":["Campaign"],"summary":"Update List","description":"Update the campaign list with the given id.\n\nThis endpoint can only be used in 'waiting' status.\n\n**The user must be a member of the group CAA to use this endpoint**","operationId":"update_list_campaign_lists__list_id__patch","parameters":[{"required":true,"schema":{"type":"string","title":"List Id"},"name":"list_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListEdit"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/campaign/lists/":{"delete":{"tags":["Campaign"],"summary":"Delete Lists By Type","description":"Delete the all lists by type.\n\nThis endpoint can only be used in 'waiting' status.\n\n**The user must be a member of the group CAA to use this endpoint**","operationId":"delete_lists_by_type_campaign_lists__delete","parameters":[{"required":false,"schema":{"$ref":"#/components/schemas/ListType"},"name":"list_type","in":"query"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/campaign/status/open":{"post":{"tags":["Campaign"],"summary":"Open Vote","description":"If the status is 'waiting', change it to 'voting' and create the blank lists.\n\n> WARNING: this operation can not be reversed.\n> When the status is 'open', all users can vote and sections and lists can no longer be edited.\n\n**The user must be a member of the group CAA to use this endpoint**","operationId":"open_vote_campaign_status_open_post","responses":{"204":{"description":"Successful Response"}},"security":[{"Authorization Code authentication":[]}]}},"/campaign/status/close":{"post":{"tags":["Campaign"],"summary":"Close Vote","description":"If the status is 'open', change it to 'closed'.\n\n> WARNING: this operation can not be reversed.\n> When the status is 'closed', users are no longer able to vote.\n\n**The user must be a member of the group CAA to use this endpoint**","operationId":"close_vote_campaign_status_close_post","responses":{"204":{"description":"Successful Response"}},"security":[{"Authorization Code authentication":[]}]}},"/campaign/status/counting":{"post":{"tags":["Campaign"],"summary":"Count Voting","description":"If the status is 'closed', change it to 'counting'.\n\n> WARNING: this operation can not be reversed.\n> When the status is 'counting', administrators can see the results of the vote.\n\n**The user must be a member of the group CAA to use this endpoint**","operationId":"count_voting_campaign_status_counting_post","responses":{"204":{"description":"Successful Response"}},"security":[{"Authorization Code authentication":[]}]}},"/campaign/status/published":{"post":{"tags":["Campaign"],"summary":"Publish Vote","description":"If the status is 'counting', change it to 'published'.\n\n> WARNING: this operation can not be reversed.\n> When the status is 'published', everyone can see the results of the vote.\n\n**The user must be a member of the group CAA to use this endpoint**","operationId":"publish_vote_campaign_status_published_post","responses":{"204":{"description":"Successful Response"}},"security":[{"Authorization Code authentication":[]}]}},"/campaign/status/reset":{"post":{"tags":["Campaign"],"summary":"Reset Vote","description":"Reset the vote. Can only be used if the current status is counting ou published.\n\n> WARNING: This will delete all votes then put the module to Waiting status. This will also delete blank lists.\n\n**The user must be a member of the group CAA to use this endpoint**","operationId":"reset_vote_campaign_status_reset_post","responses":{"204":{"description":"Successful Response"}},"security":[{"Authorization Code authentication":[]}]}},"/campaign/votes":{"get":{"tags":["Campaign"],"summary":"Get Sections Already Voted","description":"Return the list of id of sections an user has already voted for.\n\n**The user must be a member of the group AE to use this endpoint**","operationId":"get_sections_already_voted_campaign_votes_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array","title":"Response Get Sections Already Voted Campaign Votes Get"}}}}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["Campaign"],"summary":"Vote","description":"Add a vote for a given campaign list.\n\nAn user can only vote for one list per section.\n\n**The user must be a member of the group AE to use this endpoint**","operationId":"vote_campaign_votes_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoteBase"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/campaign/results":{"get":{"tags":["Campaign"],"summary":"Get Results","description":"Return the results of the vote.\n\n**The user must be a member of the group CAA and AE to use this endpoint in 'counting' status**\n**The user must be a member of the group AE to use this endpoint in 'published' status**","operationId":"get_results_campaign_results_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/app__schemas__schemas_campaign__Result"},"type":"array","title":"Response Get Results Campaign Results Get"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/campaign/status":{"get":{"tags":["Campaign"],"summary":"Get Status Vote","description":"Get the current status of the vote.\n\n**The user must be a member of the group AE to use this endpoint**","operationId":"get_status_vote_campaign_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoteStatus"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/campaign/stats/{section_id}":{"get":{"tags":["Campaign"],"summary":"Get Stats For Section","description":"Get stats about a given section.\n\n**The user must be a member of the group CAA to use this endpoint**","operationId":"get_stats_for_section_campaign_stats__section_id__get","parameters":[{"required":true,"schema":{"type":"string","title":"Section Id"},"name":"section_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoteStats"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/campaign/lists/{list_id}/logo":{"get":{"tags":["Users"],"summary":"Read Campaigns Logo","description":"Get the logo of a campaign list.","operationId":"read_campaigns_logo_campaign_lists__list_id__logo_get","parameters":[{"required":true,"schema":{"type":"string","title":"List Id"},"name":"list_id","in":"path"}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["Users"],"summary":"Create Campaigns Logo","description":"Upload a logo for a campaign list.\n\n**The user must be a member of the group CAA to use this endpoint**","operationId":"create_campaigns_logo_campaign_lists__list_id__logo_post","parameters":[{"required":true,"schema":{"type":"string","title":"List Id"},"name":"list_id","in":"path"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_campaigns_logo_campaign_lists__list_id__logo_post"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__utils__types__standard_responses__Result"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/cinema/sessions":{"get":{"tags":["Cinema"],"summary":"Get Sessions","operationId":"get_sessions_cinema_sessions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CineSessionComplete"},"type":"array","title":"Response Get Sessions Cinema Sessions Get"}}}}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["Cinema"],"summary":"Create Session","operationId":"create_session_cinema_sessions_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CineSessionBase"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CineSessionComplete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/cinema/sessions/{session_id}":{"delete":{"tags":["Cinema"],"summary":"Delete Session","operationId":"delete_session_cinema_sessions__session_id__delete","parameters":[{"required":true,"schema":{"type":"string","title":"Session Id"},"name":"session_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"patch":{"tags":["Cinema"],"summary":"Update Session","operationId":"update_session_cinema_sessions__session_id__patch","parameters":[{"required":true,"schema":{"type":"string","title":"Session Id"},"name":"session_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CineSessionUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/cinema/sessions/{session_id}/poster":{"get":{"tags":["Users"],"summary":"Read Session Poster","operationId":"read_session_poster_cinema_sessions__session_id__poster_get","parameters":[{"required":true,"schema":{"type":"string","title":"Session Id"},"name":"session_id","in":"path"}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["Users"],"summary":"Create Campaigns Logo","operationId":"create_campaigns_logo_cinema_sessions__session_id__poster_post","parameters":[{"required":true,"schema":{"type":"string","title":"Session Id"},"name":"session_id","in":"path"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_campaigns_logo_cinema_sessions__session_id__poster_post"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__utils__types__standard_responses__Result"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/information":{"get":{"tags":["Core"],"summary":"Read Information","description":"Return information about Hyperion. This endpoint can be used to check if the API is up.","operationId":"read_information_information_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoreInformation"}}}}}}},"/privacy":{"get":{"tags":["Core"],"summary":"Read Privacy","description":"Return Hyperion privacy","operationId":"read_privacy_privacy_get","responses":{"200":{"description":"Successful Response"}}}},"/terms-and-conditions":{"get":{"tags":["Core"],"summary":"Read Terms And Conditions","description":"Return Hyperion terms and conditions pages","operationId":"read_terms_and_conditions_terms_and_conditions_get","responses":{"200":{"description":"Successful Response"}}}},"/support":{"get":{"tags":["Core"],"summary":"Read Support","description":"Return Hyperion terms and conditions pages","operationId":"read_support_support_get","responses":{"200":{"description":"Successful Response"}}}},"/security.txt":{"get":{"tags":["Core"],"summary":"Read Security Txt","description":"Return Hyperion security.txt file","operationId":"read_security_txt_security_txt_get","responses":{"200":{"description":"Successful Response"}}}},"/.well-known/security.txt":{"get":{"tags":["Core"],"summary":"Read Wellknown Security Txt","description":"Return Hyperion security.txt file","operationId":"read_wellknown_security_txt__well_known_security_txt_get","responses":{"200":{"description":"Successful Response"}}}},"/robots.txt":{"get":{"tags":["Core"],"summary":"Read Robots Txt","description":"Return Hyperion robots.txt file","operationId":"read_robots_txt_robots_txt_get","responses":{"200":{"description":"Successful Response"}}}},"/style/{file}.css":{"get":{"tags":["Core"],"summary":"Get Style File","description":"Return a style file from the assets folder","operationId":"get_style_file_style__file__css_get","parameters":[{"required":true,"schema":{"type":"string","title":"File"},"name":"file","in":"path"}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/favicon.ico":{"get":{"tags":["Core"],"summary":"Get Favicon","operationId":"get_favicon_favicon_ico_get","responses":{"200":{"description":"Successful Response"}}}},"/module-visibility/":{"get":{"tags":["Core"],"summary":"Get Module Visibility","description":"Get all existing module_visibility.\n\n**This endpoint is only usable by administrators**","operationId":"get_module_visibility_module_visibility__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ModuleVisibility"},"type":"array","title":"Response Get Module Visibility Module Visibility Get"}}}}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["Core"],"summary":"Add Module Visibility","description":"Add a new group to a module\n\n**This endpoint is only usable by administrators**","operationId":"add_module_visibility_module_visibility__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModuleVisibilityCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModuleVisibilityCreate"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/module-visibility/me":{"get":{"tags":["Core"],"summary":"Get User Modules Visibility","description":"Get group user accessible root\n\n**This endpoint is only usable by everyone**","operationId":"get_user_modules_visibility_module_visibility_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array","title":"Response Get User Modules Visibility Module Visibility Me Get"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/module-visibility/{root}/{group_id}":{"delete":{"tags":["Core"],"summary":"Delete Session","operationId":"delete_session_module_visibility__root___group_id__delete","parameters":[{"required":true,"schema":{"type":"string","title":"Root"},"name":"root","in":"path"},{"required":true,"schema":{"type":"string","title":"Group Id"},"name":"group_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/groups/":{"get":{"tags":["Groups"],"summary":"Read Groups","description":"Return all groups from database as a list of dictionaries\n\n**This endpoint is only usable by administrators**","operationId":"read_groups_groups__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CoreGroupSimple"},"type":"array","title":"Response Read Groups Groups Get"}}}}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["Groups"],"summary":"Create Group","description":"Create a new group.\n\n**This endpoint is only usable by administrators**","operationId":"create_group_groups__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoreGroupCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoreGroupSimple"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/groups/{group_id}":{"get":{"tags":["Groups"],"summary":"Read Group","description":"Return group with id from database as a dictionary. This includes a list of users being members of the group.\n\n**This endpoint is only usable by administrators**","operationId":"read_group_groups__group_id__get","parameters":[{"required":true,"schema":{"type":"string","title":"Group Id"},"name":"group_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoreGroup"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"delete":{"tags":["Groups"],"summary":"Delete Group","description":"Delete group from database.\nThis will remove the group from all users but won't delete any user.\n\n`GroupTypes` groups can not be deleted.\n\n**This endpoint is only usable by administrators**","operationId":"delete_group_groups__group_id__delete","parameters":[{"required":true,"schema":{"type":"string","title":"Group Id"},"name":"group_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"patch":{"tags":["Groups"],"summary":"Update Group","description":"Update the name or the description of a group.\n\n**This endpoint is only usable by administrators**","operationId":"update_group_groups__group_id__patch","parameters":[{"required":true,"schema":{"type":"string","title":"Group Id"},"name":"group_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoreGroupUpdate"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/groups/membership":{"post":{"tags":["Groups"],"summary":"Create Membership","description":"Create a new membership in database and return the group. This allows to \"add a user to a group\".\n\n**This endpoint is only usable by administrators**","operationId":"create_membership_groups_membership_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoreMembership"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoreGroup"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"delete":{"tags":["Groups"],"summary":"Delete Membership","description":"Delete a membership using the user and group ids.\n\n**This endpoint is only usable by administrators**","operationId":"delete_membership_groups_membership_delete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoreMembershipDelete"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/groups/batch-membership":{"post":{"tags":["Groups"],"summary":"Create Batch Membership","description":"Add a list of user to a group, using a list of email.\nIf an user does not exist it will be ignored.\n\n**This endpoint is only usable by administrators**","operationId":"create_batch_membership_groups_batch_membership_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoreBatchMembership"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"delete":{"tags":["Groups"],"summary":"Delete Batch Membership","description":"This endpoint removes all users from a given group.\n\n**This endpoint is only usable by administrators**","operationId":"delete_batch_membership_groups_batch_membership_delete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoreBatchDeleteMembership"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/loans/loaners/":{"get":{"tags":["Loans"],"summary":"Read Loaners","description":"Get existing loaners.\n\n**This endpoint is only usable by administrators**","operationId":"read_loaners_loans_loaners__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Loaner"},"type":"array","title":"Response Read Loaners Loans Loaners Get"}}}}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["Loans"],"summary":"Create Loaner","description":"Create a new loaner.\n\nEach loaner is associated with a `manager_group`. Users belonging to this group are able to manage the loaner items and loans.\n\n**This endpoint is only usable by administrators**","operationId":"create_loaner_loans_loaners__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoanerBase"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Loaner"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/loans/loaners/{loaner_id}":{"delete":{"tags":["Loans"],"summary":"Delete Loaner","description":"Delete a loaner. All items and loans associated with the loaner will also be deleted from the database.\n\n**This endpoint is only usable by administrators**","operationId":"delete_loaner_loans_loaners__loaner_id__delete","parameters":[{"required":true,"schema":{"type":"string","title":"Loaner Id"},"name":"loaner_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"patch":{"tags":["Loans"],"summary":"Update Loaner","description":"Update a loaner, the request should contain a JSON with the fields to change (not necessarily all fields) and their new value.\n\n**This endpoint is only usable by administrators**","operationId":"update_loaner_loans_loaners__loaner_id__patch","parameters":[{"required":true,"schema":{"type":"string","title":"Loaner Id"},"name":"loaner_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoanerUpdate"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/loans/loaners/{loaner_id}/loans":{"get":{"tags":["Loans"],"summary":"Get Loans By Loaner","description":"Return all loans from a given group.\n\n\nThe query string `returned` can be used to get only return or non returned loans. By default, all loans are returned.\n\n\n**The user must be a member of the loaner group_manager to use this endpoint**","operationId":"get_loans_by_loaner_loans_loaners__loaner_id__loans_get","parameters":[{"required":true,"schema":{"type":"string","title":"Loaner Id"},"name":"loaner_id","in":"path"},{"required":false,"schema":{"type":"boolean","title":"Returned"},"name":"returned","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Loan"},"type":"array","title":"Response Get Loans By Loaner Loans Loaners Loaner Id Loans Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/loans/loaners/{loaner_id}/items":{"get":{"tags":["Loans"],"summary":"Get Items By Loaner","description":"Return all items of a loaner.\n\n**The user must be a member of the loaner group_manager to use this endpoint**","operationId":"get_items_by_loaner_loans_loaners__loaner_id__items_get","parameters":[{"required":true,"schema":{"type":"string","title":"Loaner Id"},"name":"loaner_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Item"},"type":"array","title":"Response Get Items By Loaner Loans Loaners Loaner Id Items Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["Loans"],"summary":"Create Items For Loaner","description":"Create a new item for a loaner. A given loaner can not have more than one item with the same `name`.\n\n**The user must be a member of the loaner group_manager to use this endpoint**","operationId":"create_items_for_loaner_loans_loaners__loaner_id__items_post","parameters":[{"required":true,"schema":{"type":"string","title":"Loaner Id"},"name":"loaner_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemBase"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Item"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/loans/loaners/{loaner_id}/items/{item_id}":{"delete":{"tags":["Loans"],"summary":"Delete Loaner Item","description":"Delete a loaner's item.\nThis will remove the item from all loans but won't delete any loan.\n\n**The user must be a member of the loaner group_manager to use this endpoint**","operationId":"delete_loaner_item_loans_loaners__loaner_id__items__item_id__delete","parameters":[{"required":true,"schema":{"type":"string","title":"Loaner Id"},"name":"loaner_id","in":"path"},{"required":true,"schema":{"type":"string","title":"Item Id"},"name":"item_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"patch":{"tags":["Loans"],"summary":"Update Items For Loaner","description":"Update a loaner's item.\n\n**The user must be a member of the loaner group_manager to use this endpoint**","operationId":"update_items_for_loaner_loans_loaners__loaner_id__items__item_id__patch","parameters":[{"required":true,"schema":{"type":"string","title":"Loaner Id"},"name":"loaner_id","in":"path"},{"required":true,"schema":{"type":"string","title":"Item Id"},"name":"item_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ItemUpdate"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/loans/users/me":{"get":{"tags":["Loans"],"summary":"Get Current User Loans","description":"Return all loans from the current user.\n\nThe query string `returned` can be used to get only returned or non returned loans. By default, all loans are returned.\n\n**The user must be authenticated to use this endpoint**","operationId":"get_current_user_loans_loans_users_me_get","parameters":[{"required":false,"schema":{"type":"boolean","title":"Returned"},"name":"returned","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Loan"},"type":"array","title":"Response Get Current User Loans Loans Users Me Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/loans/users/me/loaners":{"get":{"tags":["Loans"],"summary":"Get Current User Loaners","description":"Return all loaners the current user can manage.\n\n**The user must be authenticated to use this endpoint**","operationId":"get_current_user_loaners_loans_users_me_loaners_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Loaner"},"type":"array","title":"Response Get Current User Loaners Loans Users Me Loaners Get"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/loans/":{"post":{"tags":["Loans"],"summary":"Create Loan","description":"Create a new loan in database and add the requested items\n\n**The user must be a member of the loaner group_manager to use this endpoint**","operationId":"create_loan_loans__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoanCreation"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Loan"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/loans/{loan_id}":{"delete":{"tags":["Loans"],"summary":"Delete Loan","description":"Delete a loan\nThis will remove the loan but won't delete any loaner items.\n\n**The user must be a member of the loaner group_manager to use this endpoint**","operationId":"delete_loan_loans__loan_id__delete","parameters":[{"required":true,"schema":{"type":"string","title":"Loan Id"},"name":"loan_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"patch":{"tags":["Loans"],"summary":"Update Loan","description":"Update a loan and its items.\n\nAs the endpoint can update the loan items, it will send back\nthe new representation of the loan `Loan` including the new items relationships\n\n**The user must be a member of the loaner group_manager to use this endpoint**","operationId":"update_loan_loans__loan_id__patch","parameters":[{"required":true,"schema":{"type":"string","title":"Loan Id"},"name":"loan_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoanUpdate"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/loans/{loan_id}/return":{"post":{"tags":["Loans"],"summary":"Return Loan","description":"Mark a loan as returned. This will update items availability.\n\n**The user must be a member of the loaner group_manager to use this endpoint**","operationId":"return_loan_loans__loan_id__return_post","parameters":[{"required":true,"schema":{"type":"string","title":"Loan Id"},"name":"loan_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/loans/{loan_id}/extend":{"post":{"tags":["Loans"],"summary":"Extend Loan","description":"A new `end` date or an extended `duration` can be provided. If the two are provided, only `end` will be used.\n\n**The user must be a member of the loaner group_manager to use this endpoint**","operationId":"extend_loan_loans__loan_id__extend_post","parameters":[{"required":true,"schema":{"type":"string","title":"Loan Id"},"name":"loan_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoanExtend"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/notification/devices":{"get":{"tags":["Notifications"],"summary":"Get Devices","description":"Get all devices a user have registered.\nThis endpoint is useful to get firebase tokens for debugging purposes.\n\n**Only admins can use this endpoint**","operationId":"get_devices_notification_devices_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/FirebaseDevice"},"type":"array","title":"Response Get Devices Notification Devices Get"}}}}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["Notifications"],"summary":"Register Firebase Device","description":"Register a firebase device for the user, if the device already exists, this will update the creation date.\nThis endpoint should be called once a month to ensure that the token is still valide.\n\n**The user must be authenticated to use this endpoint**","operationId":"register_firebase_device_notification_devices_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_register_firebase_device_notification_devices_post"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/notification/devices/{firebase_token}":{"delete":{"tags":["Notifications"],"summary":"Unregister Firebase Device","description":"Unregister a new firebase device for the user\n\n**The user must be authenticated to use this endpoint**","operationId":"unregister_firebase_device_notification_devices__firebase_token__delete","parameters":[{"required":true,"schema":{"type":"string","title":"Firebase Token"},"name":"firebase_token","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/notification/messages/{firebase_token}":{"get":{"tags":["Notifications"],"summary":"Get Messages","description":"Get all messages for a specific device from the user\n\n**The user must be authenticated to use this endpoint**","operationId":"get_messages_notification_messages__firebase_token__get","parameters":[{"required":true,"schema":{"type":"string","title":"Firebase Token"},"name":"firebase_token","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Message"},"type":"array","title":"Response Get Messages Notification Messages Firebase Token Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notification/topics/{topic_str}/subscribe":{"post":{"tags":["Notifications"],"summary":"Subscribe To Topic","description":"Subscribe to a topic\n\n**The user must be authenticated to use this endpoint**","operationId":"subscribe_to_topic_notification_topics__topic_str__subscribe_post","parameters":[{"description":"The topic to subscribe to. The Topic may be followed by an additional identifier (ex: cinema_4c029b5f-2bf7-4b70-85d4-340a4bd28653)","required":true,"schema":{"type":"string","title":"Topic Str","description":"The topic to subscribe to. The Topic may be followed by an additional identifier (ex: cinema_4c029b5f-2bf7-4b70-85d4-340a4bd28653)"},"name":"topic_str","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/notification/topics/{topic_str}/unsubscribe":{"post":{"tags":["Notifications"],"summary":"Unsubscribe To Topic","description":"Unsubscribe to a topic\n\n**The user must be authenticated to use this endpoint**","operationId":"unsubscribe_to_topic_notification_topics__topic_str__unsubscribe_post","parameters":[{"required":true,"schema":{"type":"string","title":"Topic Str"},"name":"topic_str","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/notification/topics":{"get":{"tags":["Notifications"],"summary":"Get Topic","description":"Get topics the user is subscribed to\nDoes not return session topics (those with a topic_identifier)\n\n**The user must be authenticated to use this endpoint**","operationId":"get_topic_notification_topics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array","title":"Response Get Topic Notification Topics Get"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/notification/topics/{topic_str}":{"get":{"tags":["Notifications"],"summary":"Get Topic Identifier","description":"Get custom topic (with identifiers) the user is subscribed to\n\n**The user must be authenticated to use this endpoint**","operationId":"get_topic_identifier_notification_topics__topic_str__get","parameters":[{"required":true,"schema":{"type":"string","title":"Topic Str"},"name":"topic_str","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array","title":"Response Get Topic Identifier Notification Topics Topic Str Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/notification/send":{"post":{"tags":["Notifications"],"summary":"Send Notification","description":"Send ourself a test notification.\n\n**Only admins can use this endpoint**","operationId":"send_notification_notification_send_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Message"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/tombola/raffles":{"get":{"tags":["Raffle"],"summary":"Get Raffle","description":"Return all raffles","operationId":"get_raffle_tombola_raffles_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/RaffleComplete"},"type":"array","title":"Response Get Raffle Tombola Raffles Get"}}}}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["Raffle"],"summary":"Create Raffle","description":"Create a new raffle\n\n**The user must be a member of the group admin to use this endpoint**","operationId":"create_raffle_tombola_raffles_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RaffleBase"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RaffleSimple"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/tombola/raffles/{raffle_id}":{"delete":{"tags":["Raffle"],"summary":"Delete Raffle","description":"Delete a raffle.\n\n**The user must be a member of the raffle's group to use this endpoint**","operationId":"delete_raffle_tombola_raffles__raffle_id__delete","parameters":[{"required":true,"schema":{"type":"string","title":"Raffle Id"},"name":"raffle_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"patch":{"tags":["Raffle"],"summary":"Edit Raffle","description":"Edit a raffle\n\n**The user must be a member of the raffle's group to use this endpoint**","operationId":"edit_raffle_tombola_raffles__raffle_id__patch","parameters":[{"required":true,"schema":{"type":"string","title":"Raffle Id"},"name":"raffle_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RaffleEdit"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/tombola/group/{group_id}/raffles":{"get":{"tags":["Raffle"],"summary":"Get Raffles By Group Id","description":"Return all raffles from a group","operationId":"get_raffles_by_group_id_tombola_group__group_id__raffles_get","parameters":[{"required":true,"schema":{"type":"string","title":"Group Id"},"name":"group_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/RaffleSimple"},"type":"array","title":"Response Get Raffles By Group Id Tombola Group Group Id Raffles Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/tombola/raffles/{raffle_id}/stats":{"get":{"tags":["Raffle"],"summary":"Get Raffle Stats","description":"Return the number of ticket sold and the total amount recollected for a raffle","operationId":"get_raffle_stats_tombola_raffles__raffle_id__stats_get","parameters":[{"required":true,"schema":{"type":"string","title":"Raffle Id"},"name":"raffle_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RaffleStats"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/tombola/raffles/{raffle_id}/logo":{"get":{"tags":["Raffle"],"summary":"Read Raffle Logo","description":"Get the logo of a specific raffle.","operationId":"read_raffle_logo_tombola_raffles__raffle_id__logo_get","parameters":[{"required":true,"schema":{"type":"string","title":"Raffle Id"},"name":"raffle_id","in":"path"}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["Raffle"],"summary":"Create Current Raffle Logo","description":"Upload a logo for a specific raffle.\n\n**The user must be a member of the raffle's group to use this endpoint**","operationId":"create_current_raffle_logo_tombola_raffles__raffle_id__logo_post","parameters":[{"required":true,"schema":{"type":"string","title":"Raffle Id"},"name":"raffle_id","in":"path"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_current_raffle_logo_tombola_raffles__raffle_id__logo_post"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__utils__types__standard_responses__Result"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/tombola/pack_tickets":{"get":{"tags":["Raffle"],"summary":"Get Pack Tickets","description":"Return all tickets","operationId":"get_pack_tickets_tombola_pack_tickets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PackTicketSimple"},"type":"array","title":"Response Get Pack Tickets Tombola Pack Tickets Get"}}}}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["Raffle"],"summary":"Create Packticket","description":"Create a new packticket\n\n**The user must be a member of the raffle's group to use this endpoint**","operationId":"create_packticket_tombola_pack_tickets_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackTicketBase"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackTicketSimple"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/tombola/pack_tickets/{packticket_id}":{"delete":{"tags":["Raffle"],"summary":"Delete Packticket","description":"Delete a packticket.\n\n**The user must be a member of the raffle's group to use this endpoint**","operationId":"delete_packticket_tombola_pack_tickets__packticket_id__delete","parameters":[{"required":true,"schema":{"type":"string","title":"Packticket Id"},"name":"packticket_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"patch":{"tags":["Raffle"],"summary":"Edit Packticket","description":"Edit a packticket\n\n**The user must be a member of the raffle's group to use this endpoint**","operationId":"edit_packticket_tombola_pack_tickets__packticket_id__patch","parameters":[{"required":true,"schema":{"type":"string","title":"Packticket Id"},"name":"packticket_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PackTicketEdit"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/tombola/raffles/{raffle_id}/pack_tickets":{"get":{"tags":["Raffle"],"summary":"Get Pack Tickets By Raffle Id","description":"Return all pack_tickets associated to a raffle","operationId":"get_pack_tickets_by_raffle_id_tombola_raffles__raffle_id__pack_tickets_get","parameters":[{"required":true,"schema":{"type":"string","title":"Raffle Id"},"name":"raffle_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PackTicketSimple"},"type":"array","title":"Response Get Pack Tickets By Raffle Id Tombola Raffles Raffle Id Pack Tickets Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/tombola/tickets":{"get":{"tags":["Raffle"],"summary":"Get Tickets","description":"Return all tickets\n\n**The user must be a member of the group admin to use this endpoint**","operationId":"get_tickets_tombola_tickets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TicketSimple"},"type":"array","title":"Response Get Tickets Tombola Tickets Get"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/tombola/tickets/buy/{pack_id}":{"post":{"tags":["Raffle"],"summary":"Buy Ticket","description":"Buy a ticket","operationId":"buy_ticket_tombola_tickets_buy__pack_id__post","parameters":[{"required":true,"schema":{"type":"string","title":"Pack Id"},"name":"pack_id","in":"path"}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TicketComplete"},"type":"array","title":"Response Buy Ticket Tombola Tickets Buy Pack Id Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/tombola/users/{user_id}/tickets":{"get":{"tags":["Raffle"],"summary":"Get Tickets By Userid","description":"Get tickets of a specific user.\n\n**Only admin users can get tickets of another user**","operationId":"get_tickets_by_userid_tombola_users__user_id__tickets_get","parameters":[{"required":true,"schema":{"type":"string","title":"User Id"},"name":"user_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TicketComplete"},"type":"array","title":"Response Get Tickets By Userid Tombola Users User Id Tickets Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/tombola/raffles/{raffle_id}/tickets":{"get":{"tags":["Raffle"],"summary":"Get Tickets By Raffleid","description":"Get tickets from a specific raffle.\n\n**The user must be a member of the raffle's group to use this endpoint","operationId":"get_tickets_by_raffleid_tombola_raffles__raffle_id__tickets_get","parameters":[{"required":true,"schema":{"type":"string","title":"Raffle Id"},"name":"raffle_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TicketComplete"},"type":"array","title":"Response Get Tickets By Raffleid Tombola Raffles Raffle Id Tickets Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/tombola/prizes":{"get":{"tags":["Raffle"],"summary":"Get Prizes","description":"Return all prizes","operationId":"get_prizes_tombola_prizes_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PrizeSimple"},"type":"array","title":"Response Get Prizes Tombola Prizes Get"}}}}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["Raffle"],"summary":"Create Prize","description":"Create a new prize\n\n**The user must be a member of the raffle's group to use this endpoint","operationId":"create_prize_tombola_prizes_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrizeBase"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrizeSimple"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/tombola/prizes/{prize_id}":{"delete":{"tags":["Raffle"],"summary":"Delete Prize","description":"Delete a prize.\n\n**The user must be a member of the group raffle's to use this endpoint","operationId":"delete_prize_tombola_prizes__prize_id__delete","parameters":[{"required":true,"schema":{"type":"string","title":"Prize Id"},"name":"prize_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"patch":{"tags":["Raffle"],"summary":"Edit Prize","description":"Edit a prize\n\n**The user must be a member of the group raffle's to use this endpoint","operationId":"edit_prize_tombola_prizes__prize_id__patch","parameters":[{"required":true,"schema":{"type":"string","title":"Prize Id"},"name":"prize_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrizeEdit"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/tombola/raffles/{raffle_id}/prizes":{"get":{"tags":["Raffle"],"summary":"Get Prizes By Raffleid","description":"Get prizes from a specific raffle.","operationId":"get_prizes_by_raffleid_tombola_raffles__raffle_id__prizes_get","parameters":[{"required":true,"schema":{"type":"string","title":"Raffle Id"},"name":"raffle_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PrizeSimple"},"type":"array","title":"Response Get Prizes By Raffleid Tombola Raffles Raffle Id Prizes Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/tombola/prizes/{prize_id}/picture":{"get":{"tags":["Raffle"],"summary":"Read Prize Logo","description":"Get the logo of a specific prize.","operationId":"read_prize_logo_tombola_prizes__prize_id__picture_get","parameters":[{"required":true,"schema":{"type":"string","title":"Prize Id"},"name":"prize_id","in":"path"}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["Raffle"],"summary":"Create Prize Picture","description":"Upload a logo for a specific prize.\n\n**The user must be a member of the raffle's group to use this endpoint**","operationId":"create_prize_picture_tombola_prizes__prize_id__picture_post","parameters":[{"required":true,"schema":{"type":"string","title":"Prize Id"},"name":"prize_id","in":"path"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_prize_picture_tombola_prizes__prize_id__picture_post"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__utils__types__standard_responses__Result"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/tombola/users/cash":{"get":{"tags":["Raffle"],"summary":"Get Users Cash","description":"Get cash from all users.\n\n**The user must be a member of the group admin to use this endpoint","operationId":"get_users_cash_tombola_users_cash_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/app__schemas__schemas_raffle__CashComplete"},"type":"array","title":"Response Get Users Cash Tombola Users Cash Get"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/tombola/users/{user_id}/cash":{"get":{"tags":["Raffle"],"summary":"Get Cash By Id","description":"Get cash from a specific user.\n\n**The user must be a member of the group admin to use this endpoint or can only access the endpoint for its own user_id**","operationId":"get_cash_by_id_tombola_users__user_id__cash_get","parameters":[{"required":true,"schema":{"type":"string","title":"User Id"},"name":"user_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schemas__schemas_raffle__CashComplete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["Raffle"],"summary":"Create Cash Of User","description":"Create cash for a user.\n\n**The user must be a member of the group admin to use this endpoint**","operationId":"create_cash_of_user_tombola_users__user_id__cash_post","parameters":[{"required":true,"schema":{"type":"string","title":"User Id"},"name":"user_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schemas__schemas_raffle__CashEdit"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schemas__schemas_raffle__CashComplete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"patch":{"tags":["Raffle"],"summary":"Edit Cash By Id","description":"Edit cash for an user. This will add the balance to the current balance.\nA negative value can be provided to remove money from the user.\n\n**The user must be a member of the group admin to use this endpoint**","operationId":"edit_cash_by_id_tombola_users__user_id__cash_patch","parameters":[{"required":true,"schema":{"type":"string","title":"User Id"},"name":"user_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schemas__schemas_raffle__CashEdit"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/tombola/prizes/{prize_id}/draw":{"post":{"tags":["Raffle"],"summary":"Draw Winner","operationId":"draw_winner_tombola_prizes__prize_id__draw_post","parameters":[{"required":true,"schema":{"type":"string","title":"Prize Id"},"name":"prize_id","in":"path"}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TicketComplete"},"type":"array","title":"Response Draw Winner Tombola Prizes Prize Id Draw Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/tombola/raffles/{raffle_id}/open":{"patch":{"tags":["Raffle"],"summary":"Open Raffle","description":"Open a raffle\n\n**The user must be a member of the raffle's group to use this endpoint**","operationId":"open_raffle_tombola_raffles__raffle_id__open_patch","parameters":[{"required":true,"schema":{"type":"string","title":"Raffle Id"},"name":"raffle_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/tombola/raffles/{raffle_id}/lock":{"patch":{"tags":["Raffle"],"summary":"Lock Raffle","description":"Lock a raffle\n\n**The user must be a member of the raffle's group to use this endpoint**","operationId":"lock_raffle_tombola_raffles__raffle_id__lock_patch","parameters":[{"required":true,"schema":{"type":"string","title":"Raffle Id"},"name":"raffle_id","in":"path"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/users/":{"get":{"tags":["Users"],"summary":"Read Users","description":"Return all users from database as a list of `CoreUserSimple`\n\n**This endpoint is only usable by administrators**","operationId":"read_users_users__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CoreUserSimple"},"type":"array","title":"Response Read Users Users Get"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/users/count":{"get":{"tags":["Users"],"summary":"Count Users","description":"Return all users from database as a list of `CoreUserSimple`\n\n**This endpoint is only usable by administrators**","operationId":"count_users_users_count_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"integer","title":"Response Count Users Users Count Get"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/users/search":{"get":{"tags":["Users"],"summary":"Search Users","description":"Search for a user using Fuzzy String Matching\n\n`query` will be compared against users name, firstname and nickname\n\n**The user must be authenticated to use this endpoint**","operationId":"search_users_users_search_get","parameters":[{"required":true,"schema":{"type":"string","title":"Query"},"name":"query","in":"query"},{"required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Includedgroups","default":[]},"name":"includedGroups","in":"query"},{"required":false,"schema":{"items":{"type":"string"},"type":"array","title":"Excludedgroups","default":[]},"name":"excludedGroups","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CoreUserSimple"},"type":"array","title":"Response Search Users Users Search Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/users/me":{"get":{"tags":["Users"],"summary":"Read Current User","description":"Return `CoreUser` representation of current user\n\n**The user must be authenticated to use this endpoint**","operationId":"read_current_user_users_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoreUser"}}}}},"security":[{"Authorization Code authentication":[]}]},"patch":{"tags":["Users"],"summary":"Update Current User","description":"Update the current user, the request should contain a JSON with the fields to change (not necessarily all fields) and their new value\n\n**The user must be authenticated to use this endpoint**","operationId":"update_current_user_users_me_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoreUserUpdate"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/users/create":{"post":{"tags":["Users"],"summary":"Create User By User","description":"Start the user account creation process. The user will be sent an email with a link to activate his account.\n> The received token needs to be sent to the `/users/activate` endpoint to activate the account.\n\nIf the **password** is not provided, it will be required during the activation process. Don't submit a password if you are creating an account for someone else.\n\nWhen creating **student** or **staff** account a valid ECL email is required.\nOnly admin users can create other **account types**, contact ÉCLAIR for more information.","operationId":"create_user_by_user_users_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoreUserCreateRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__utils__types__standard_responses__Result"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/batch-creation":{"post":{"tags":["Users"],"summary":"Batch Create Users","description":"Batch user account creation process. All users will be sent an email with a link to activate their account.\n> The received token needs to be send to `/users/activate` endpoint to activate the account.\n\nEven for creating **student** or **staff** account a valid ECL email is not required but should preferably be used.\n\nThe endpoint return a dictionary of unsuccessful user creation: `{email: error message}`.\n\n**This endpoint is only usable by administrators**","operationId":"batch_create_users_users_batch_creation_post","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CoreBatchUserCreateRequest"},"type":"array","title":"User Creates"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/users/activate":{"get":{"tags":["Users"],"summary":"Get User Activation Page","description":"Return a HTML page to activate an account. The activation token is passed as a query string.\n\n**This endpoint is an UI endpoint which send and html page response.","operationId":"get_user_activation_page_users_activate_get","parameters":[{"required":true,"schema":{"type":"string","title":"Activation Token"},"name":"activation_token","in":"query"}],"responses":{"201":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Users"],"summary":"Activate User","description":"Activate the previously created account.\n\n**token**: the activation token sent by email to the user\n\n**password**: user password, required if it was not provided previously","operationId":"activate_user_users_activate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoreUserActivateRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__utils__types__standard_responses__Result"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/make-admin":{"post":{"tags":["Users"],"summary":"Make Admin","description":"This endpoint is only usable if the database contains exactly one user.\nIt will add this user to the `admin` group.","operationId":"make_admin_users_make_admin_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__utils__types__standard_responses__Result"}}}}}}},"/users/recover":{"post":{"tags":["Users"],"summary":"Recover User","description":"Allow a user to start a password reset process.\n\nIf the provided **email** corresponds to an existing account, a password reset token will be sent.\nUsing this token, the password can be changed with `/users/reset-password` endpoint","operationId":"recover_user_users_recover_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_recover_user_users_recover_post"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__utils__types__standard_responses__Result"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/reset-password":{"post":{"tags":["Users"],"summary":"Reset Password","description":"Reset the user password, using a **reset_token** provided by `/users/recover` endpoint.","operationId":"reset_password_users_reset_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPasswordRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__utils__types__standard_responses__Result"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/migrate-mail":{"post":{"tags":["Users"],"summary":"Migrate Mail","description":"Due to a change in the email format, all student users need to migrate their email address.\nThis endpoint will send a confirmation code to the user's new email address. He will need to use this code to confirm the change with `/users/confirm-mail-migration` endpoint.","operationId":"migrate_mail_users_migrate_mail_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MailMigrationRequest"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/users/migrate-mail-confirm":{"get":{"tags":["Users"],"summary":"Migrate Mail Confirm","description":"Due to a change in the email format, all student users need to migrate their email address.\nThis endpoint will updates the user new email address.","operationId":"migrate_mail_confirm_users_migrate_mail_confirm_get","parameters":[{"required":true,"schema":{"type":"string","title":"Token"},"name":"token","in":"query"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/change-password":{"post":{"tags":["Users"],"summary":"Change Password","description":"Change a user password.\n\nThis endpoint will check the **old_password**, see also the `/users/reset-password` endpoint if the user forgot their password.","operationId":"change_password_users_change_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePasswordRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__utils__types__standard_responses__Result"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/{user_id}":{"get":{"tags":["Users"],"summary":"Read User","description":"Return `CoreUserSimple` representation of user with id `user_id`\n\n**The user must be authenticated to use this endpoint**","operationId":"read_user_users__user_id__get","parameters":[{"required":true,"schema":{"type":"string","title":"User Id"},"name":"user_id","in":"path"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoreUser"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]},"patch":{"tags":["Users"],"summary":"Update User","description":"Update an user, the request should contain a JSON with the fields to change (not necessarily all fields) and their new value\n\n**This endpoint is only usable by administrators**","operationId":"update_user_users__user_id__patch","parameters":[{"required":true,"schema":{"type":"string","title":"User Id"},"name":"user_id","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoreUserUpdateAdmin"}}},"required":true},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/users/me/ask-deletion":{"post":{"tags":["Users"],"summary":"Delete User","description":"This endpoint will ask administrators to process to the user deletion.\nThis manual verification is needed to prevent data from being deleting for other users","operationId":"delete_user_users_me_ask_deletion_post","responses":{"204":{"description":"Successful Response"}},"security":[{"Authorization Code authentication":[]}]}},"/users/me/profile-picture":{"get":{"tags":["Users"],"summary":"Read Own Profile Picture","description":"Get the profile picture of the authenticated user.","operationId":"read_own_profile_picture_users_me_profile_picture_get","responses":{"200":{"description":"Successful Response"}},"security":[{"Authorization Code authentication":[]}]},"post":{"tags":["Users"],"summary":"Create Current User Profile Picture","description":"Upload a profile picture for the current user.\n\n**The user must be authenticated to use this endpoint**","operationId":"create_current_user_profile_picture_users_me_profile_picture_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_current_user_profile_picture_users_me_profile_picture_post"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__utils__types__standard_responses__Result"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Authorization Code authentication":[]}]}},"/users/{user_id}/profile-picture":{"get":{"tags":["Users"],"summary":"Read User Profile Picture","description":"Get the profile picture of an user.\n\nUnauthenticated users can use this endpoint (needed for some OIDC services)","operationId":"read_user_profile_picture_users__user_id__profile_picture_get","parameters":[{"required":true,"schema":{"type":"string","title":"User Id"},"name":"user_id","in":"path"}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AccessToken":{"properties":{"access_token":{"type":"string","title":"Access Token"},"token_type":{"type":"string","title":"Token Type"}},"type":"object","required":["access_token","token_type"],"title":"AccessToken"},"AccountType":{"type":"string","enum":["39691052-2ae5-4e12-99d0-7a9f5f2b0136","ab4c7503-41b3-11ee-8177-089798f1a4a5","703056c4-be9d-475c-aa51-b7fc62a96aaa","29751438-103c-42f2-b09b-33fbb20758a7"],"title":"AccountType","description":"Various account types that can be created in Hyperion.\nThese values should match GroupType's. They are the lower level groups in Hyperion"},"AdvertBase":{"properties":{"title":{"type":"string","title":"Title"},"content":{"type":"string","title":"Content"},"advertiser_id":{"type":"string","title":"Advertiser Id"},"tags":{"type":"string","title":"Tags"}},"type":"object","required":["title","content","advertiser_id"],"title":"AdvertBase"},"AdvertReturnComplete":{"properties":{"title":{"type":"string","title":"Title"},"content":{"type":"string","title":"Content"},"advertiser_id":{"type":"string","title":"Advertiser Id"},"tags":{"type":"string","title":"Tags"},"id":{"type":"string","title":"Id"},"advertiser":{"$ref":"#/components/schemas/AdvertiserComplete"},"date":{"type":"string","format":"date-time","title":"Date"}},"type":"object","required":["title","content","advertiser_id","id","advertiser"],"title":"AdvertReturnComplete"},"AdvertUpdate":{"properties":{"title":{"type":"string","title":"Title"},"content":{"type":"string","title":"Content"},"tags":{"type":"string","title":"Tags"}},"type":"object","title":"AdvertUpdate"},"AdvertiserBase":{"properties":{"name":{"type":"string","title":"Name"},"group_manager_id":{"type":"string","title":"Group Manager Id","description":"The group manager id should be a group identifier"}},"type":"object","required":["name","group_manager_id"],"title":"AdvertiserBase"},"AdvertiserComplete":{"properties":{"name":{"type":"string","title":"Name"},"group_manager_id":{"type":"string","title":"Group Manager Id","description":"The group manager id should be a group identifier"},"id":{"type":"string","title":"Id"}},"type":"object","required":["name","group_manager_id","id"],"title":"AdvertiserComplete"},"AdvertiserUpdate":{"properties":{"name":{"type":"string","title":"Name"},"group_manager_id":{"type":"string","title":"Group Manager Id"}},"type":"object","title":"AdvertiserUpdate"},"AmapSlotType":{"type":"string","enum":["midi","soir"],"title":"AmapSlotType","description":"An enumeration."},"Applicant":{"properties":{"name":{"type":"string","title":"Name"},"firstname":{"type":"string","title":"Firstname"},"nickname":{"type":"string","title":"Nickname"},"id":{"type":"string","title":"Id"},"email":{"type":"string","title":"Email"},"promo":{"type":"integer","title":"Promo"},"phone":{"type":"string","title":"Phone"}},"type":"object","required":["name","firstname","id","email"],"title":"Applicant","description":"Simplified schema for user's model, used when getting all users"},"BatchResult":{"properties":{"failed":{"additionalProperties":{"type":"string"},"type":"object","title":"Failed"}},"type":"object","required":["failed"],"title":"BatchResult","description":"Return a dictionary of {key: error message} indicating which element of failed."},"Body_authorize_validation_auth_authorization_flow_authorize_validation_post":{"properties":{"client_id":{"type":"string","title":"Client Id"},"redirect_uri":{"type":"string","title":"Redirect Uri"},"response_type":{"type":"string","title":"Response Type"},"scope":{"type":"string","title":"Scope"},"state":{"type":"string","title":"State"},"nonce":{"type":"string","title":"Nonce"},"code_challenge":{"type":"string","title":"Code Challenge"},"code_challenge_method":{"type":"string","title":"Code Challenge Method"},"email":{"type":"string","title":"Email"},"password":{"type":"string","title":"Password"}},"type":"object","required":["client_id","response_type","email","password"],"title":"Body_authorize_validation_auth_authorization_flow_authorize_validation_post"},"Body_create_advert_image_advert_adverts__advert_id__picture_post":{"properties":{"image":{"type":"string","format":"binary","title":"Image"}},"type":"object","required":["image"],"title":"Body_create_advert_image_advert_adverts__advert_id__picture_post"},"Body_create_campaigns_logo_campaign_lists__list_id__logo_post":{"properties":{"image":{"type":"string","format":"binary","title":"Image"}},"type":"object","required":["image"],"title":"Body_create_campaigns_logo_campaign_lists__list_id__logo_post"},"Body_create_campaigns_logo_cinema_sessions__session_id__poster_post":{"properties":{"image":{"type":"string","format":"binary","title":"Image"}},"type":"object","required":["image"],"title":"Body_create_campaigns_logo_cinema_sessions__session_id__poster_post"},"Body_create_current_raffle_logo_tombola_raffles__raffle_id__logo_post":{"properties":{"image":{"type":"string","format":"binary","title":"Image"}},"type":"object","required":["image"],"title":"Body_create_current_raffle_logo_tombola_raffles__raffle_id__logo_post"},"Body_create_current_user_profile_picture_users_me_profile_picture_post":{"properties":{"image":{"type":"string","format":"binary","title":"Image"}},"type":"object","required":["image"],"title":"Body_create_current_user_profile_picture_users_me_profile_picture_post"},"Body_create_prize_picture_tombola_prizes__prize_id__picture_post":{"properties":{"image":{"type":"string","format":"binary","title":"Image"}},"type":"object","required":["image"],"title":"Body_create_prize_picture_tombola_prizes__prize_id__picture_post"},"Body_login_for_access_token_auth_simple_token_post":{"properties":{"grant_type":{"type":"string","pattern":"password","title":"Grant Type"},"username":{"type":"string","title":"Username"},"password":{"type":"string","title":"Password"},"scope":{"type":"string","title":"Scope","default":""},"client_id":{"type":"string","title":"Client Id"},"client_secret":{"type":"string","title":"Client Secret"}},"type":"object","required":["username","password"],"title":"Body_login_for_access_token_auth_simple_token_post"},"Body_post_authorize_page_auth_authorize_post":{"properties":{"response_type":{"type":"string","title":"Response Type"},"client_id":{"type":"string","title":"Client Id"},"redirect_uri":{"type":"string","title":"Redirect Uri"},"scope":{"type":"string","title":"Scope"},"state":{"type":"string","title":"State"},"nonce":{"type":"string","title":"Nonce"},"code_challenge":{"type":"string","title":"Code Challenge"},"code_challenge_method":{"type":"string","title":"Code Challenge Method"}},"type":"object","required":["response_type","client_id","redirect_uri"],"title":"Body_post_authorize_page_auth_authorize_post"},"Body_recover_user_users_recover_post":{"properties":{"email":{"type":"string","title":"Email"}},"type":"object","required":["email"],"title":"Body_recover_user_users_recover_post"},"Body_register_firebase_device_notification_devices_post":{"properties":{"firebase_token":{"type":"string","title":"Firebase Token"}},"type":"object","required":["firebase_token"],"title":"Body_register_firebase_device_notification_devices_post"},"Body_token_auth_token_post":{"properties":{"refresh_token":{"type":"string","title":"Refresh Token"},"grant_type":{"type":"string","title":"Grant Type"},"code":{"type":"string","title":"Code"},"redirect_uri":{"type":"string","title":"Redirect Uri"},"client_id":{"type":"string","title":"Client Id"},"client_secret":{"type":"string","title":"Client Secret"},"code_verifier":{"type":"string","title":"Code Verifier"}},"type":"object","required":["grant_type"],"title":"Body_token_auth_token_post"},"BookingBase":{"properties":{"reason":{"type":"string","title":"Reason"},"start":{"type":"string","format":"date-time","title":"Start"},"end":{"type":"string","format":"date-time","title":"End"},"note":{"type":"string","title":"Note"},"room_id":{"type":"string","title":"Room Id"},"key":{"type":"boolean","title":"Key"},"recurrence_rule":{"type":"string","title":"Recurrence Rule"},"entity":{"type":"string","title":"Entity"}},"type":"object","required":["reason","start","end","room_id","key"],"title":"BookingBase"},"BookingEdit":{"properties":{"reason":{"type":"string","title":"Reason"},"start":{"type":"string","format":"date-time","title":"Start"},"end":{"type":"string","format":"date-time","title":"End"},"note":{"type":"string","title":"Note"},"room":{"type":"string","title":"Room"},"key":{"type":"boolean","title":"Key"},"recurrence_rule":{"type":"string","title":"Recurrence Rule"},"entity":{"type":"string","title":"Entity"}},"type":"object","title":"BookingEdit"},"BookingReturn":{"properties":{"reason":{"type":"string","title":"Reason"},"start":{"type":"string","format":"date-time","title":"Start"},"end":{"type":"string","format":"date-time","title":"End"},"note":{"type":"string","title":"Note"},"room_id":{"type":"string","title":"Room Id"},"key":{"type":"boolean","title":"Key"},"recurrence_rule":{"type":"string","title":"Recurrence Rule"},"entity":{"type":"string","title":"Entity"},"id":{"type":"string","title":"Id"},"decision":{"$ref":"#/components/schemas/app__utils__types__bdebooking_type__Decision"},"applicant_id":{"type":"string","title":"Applicant Id"},"room":{"$ref":"#/components/schemas/RoomComplete"}},"type":"object","required":["reason","start","end","room_id","key","id","decision","applicant_id","room"],"title":"BookingReturn"},"BookingReturnApplicant":{"properties":{"reason":{"type":"string","title":"Reason"},"start":{"type":"string","format":"date-time","title":"Start"},"end":{"type":"string","format":"date-time","title":"End"},"note":{"type":"string","title":"Note"},"room_id":{"type":"string","title":"Room Id"},"key":{"type":"boolean","title":"Key"},"recurrence_rule":{"type":"string","title":"Recurrence Rule"},"entity":{"type":"string","title":"Entity"},"id":{"type":"string","title":"Id"},"decision":{"$ref":"#/components/schemas/app__utils__types__bdebooking_type__Decision"},"applicant_id":{"type":"string","title":"Applicant Id"},"room":{"$ref":"#/components/schemas/RoomComplete"},"applicant":{"$ref":"#/components/schemas/Applicant"}},"type":"object","required":["reason","start","end","room_id","key","id","decision","applicant_id","room","applicant"],"title":"BookingReturnApplicant"},"CalendarEventType":{"type":"string","enum":["Event AE","Event USE","Asso indé","HH","Strass","Soirée","Autre"],"title":"CalendarEventType","description":"An enumeration."},"ChangePasswordRequest":{"properties":{"email":{"type":"string","title":"Email"},"old_password":{"type":"string","title":"Old Password"},"new_password":{"type":"string","title":"New Password"}},"type":"object","required":["email","old_password","new_password"],"title":"ChangePasswordRequest"},"CineSessionBase":{"properties":{"start":{"type":"string","format":"date-time","title":"Start"},"duration":{"type":"integer","title":"Duration"},"name":{"type":"string","title":"Name"},"overview":{"type":"string","title":"Overview"},"genre":{"type":"string","title":"Genre"},"tagline":{"type":"string","title":"Tagline"}},"type":"object","required":["start","duration","name"],"title":"CineSessionBase"},"CineSessionComplete":{"properties":{"start":{"type":"string","format":"date-time","title":"Start"},"duration":{"type":"integer","title":"Duration"},"name":{"type":"string","title":"Name"},"overview":{"type":"string","title":"Overview"},"genre":{"type":"string","title":"Genre"},"tagline":{"type":"string","title":"Tagline"},"id":{"type":"string","title":"Id"}},"type":"object","required":["start","duration","name","id"],"title":"CineSessionComplete"},"CineSessionUpdate":{"properties":{"name":{"type":"string","title":"Name"},"start":{"type":"string","format":"date-time","title":"Start"},"duration":{"type":"integer","title":"Duration"},"overview":{"type":"string","title":"Overview"},"genre":{"type":"string","title":"Genre"},"tagline":{"type":"string","title":"Tagline"}},"type":"object","title":"CineSessionUpdate"},"CoreBatchDeleteMembership":{"properties":{"group_id":{"type":"string","title":"Group Id"}},"type":"object","required":["group_id"],"title":"CoreBatchDeleteMembership","description":"Schema for batch membership deletion"},"CoreBatchMembership":{"properties":{"user_emails":{"items":{"type":"string"},"type":"array","title":"User Emails"},"group_id":{"type":"string","title":"Group Id"},"description":{"type":"string","title":"Description"}},"type":"object","required":["user_emails","group_id"],"title":"CoreBatchMembership","description":"Schema for batch membership creation"},"CoreBatchUserCreateRequest":{"properties":{"email":{"type":"string","title":"Email"},"account_type":{"$ref":"#/components/schemas/AccountType"}},"type":"object","required":["email","account_type"],"title":"CoreBatchUserCreateRequest","description":"The schema is used for batch account creation requests. An account type should be provided","example":{"email":"user@example.fr","account_type":"39691052-2ae5-4e12-99d0-7a9f5f2b0136"}},"CoreGroup":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"id":{"type":"string","title":"Id"},"members":{"items":{"$ref":"#/components/schemas/CoreUserSimple"},"type":"array","title":"Members","default":[]}},"type":"object","required":["name","id"],"title":"CoreGroup","description":"Schema for group's model similar to core_group table in database"},"CoreGroupCreate":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"}},"type":"object","required":["name"],"title":"CoreGroupCreate","description":"Model for group creation schema"},"CoreGroupSimple":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"id":{"type":"string","title":"Id"}},"type":"object","required":["name","id"],"title":"CoreGroupSimple","description":"Simplified schema for group's model, used when getting all groups"},"CoreGroupUpdate":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"}},"type":"object","title":"CoreGroupUpdate","description":"Schema for group update"},"CoreInformation":{"properties":{"ready":{"type":"boolean","title":"Ready"},"version":{"type":"string","title":"Version"},"minimal_titan_version_code":{"type":"integer","title":"Minimal Titan Version Code"},"minimal_titan_version":{"type":"string","title":"Minimal Titan Version"}},"type":"object","required":["ready","version","minimal_titan_version_code","minimal_titan_version"],"title":"CoreInformation","description":"Information about Hyperion"},"CoreMembership":{"properties":{"user_id":{"type":"string","title":"User Id"},"group_id":{"type":"string","title":"Group Id"},"description":{"type":"string","title":"Description"}},"type":"object","required":["user_id","group_id"],"title":"CoreMembership","description":"Schema for membership creation (allows adding a user to a group)"},"CoreMembershipDelete":{"properties":{"user_id":{"type":"string","title":"User Id"},"group_id":{"type":"string","title":"Group Id"}},"type":"object","required":["user_id","group_id"],"title":"CoreMembershipDelete"},"CoreUser":{"properties":{"name":{"type":"string","title":"Name"},"firstname":{"type":"string","title":"Firstname"},"nickname":{"type":"string","title":"Nickname"},"id":{"type":"string","title":"Id"},"email":{"type":"string","title":"Email"},"birthday":{"type":"string","format":"date","title":"Birthday"},"promo":{"type":"integer","title":"Promo"},"floor":{"$ref":"#/components/schemas/FloorsType"},"phone":{"type":"string","title":"Phone"},"created_on":{"type":"string","format":"date-time","title":"Created On"},"groups":{"items":{"$ref":"#/components/schemas/CoreGroupSimple"},"type":"array","title":"Groups","default":[]}},"type":"object","required":["name","firstname","id","email","floor"],"title":"CoreUser","description":"Schema for user's model similar to core_user table in database"},"CoreUserActivateRequest":{"properties":{"name":{"type":"string","title":"Name"},"firstname":{"type":"string","title":"Firstname"},"nickname":{"type":"string","title":"Nickname"},"activation_token":{"type":"string","title":"Activation Token"},"password":{"type":"string","title":"Password"},"birthday":{"type":"string","format":"date","title":"Birthday"},"phone":{"type":"string","title":"Phone"},"floor":{"$ref":"#/components/schemas/FloorsType"},"promo":{"type":"integer","title":"Promo","description":"Promotion of the student, an integer like 21"}},"type":"object","required":["name","firstname","activation_token","password","floor"],"title":"CoreUserActivateRequest","description":"Base schema for user's model","example":{"name":"Name","firstname":"Firstname","nickname":"Antoine","activation_token":"62D-QJI5IYrjuywH8IWnuBo0xHrbTCfw_18HP4mdRrA","password":"areallycomplexpassword","floor":"Autre"}},"CoreUserCreateRequest":{"properties":{"email":{"type":"string","title":"Email"}},"type":"object","required":["email"],"title":"CoreUserCreateRequest","description":"The schema is used to send an account creation request.","example":{"email":"user@example.fr"}},"CoreUserSimple":{"properties":{"name":{"type":"string","title":"Name"},"firstname":{"type":"string","title":"Firstname"},"nickname":{"type":"string","title":"Nickname"},"id":{"type":"string","title":"Id"}},"type":"object","required":["name","firstname","id"],"title":"CoreUserSimple","description":"Simplified schema for user's model, used when getting all users"},"CoreUserUpdate":{"properties":{"nickname":{"type":"string","title":"Nickname"},"birthday":{"type":"string","format":"date","title":"Birthday"},"phone":{"type":"string","title":"Phone"},"floor":{"$ref":"#/components/schemas/FloorsType"}},"type":"object","title":"CoreUserUpdate","description":"Schema for user update","example":{"name":"Backend","firstname":"MyECL","nickname":"Hyperion","birthday":"2022-05-04","promo":2021,"floor":"Adoma"}},"CoreUserUpdateAdmin":{"properties":{"name":{"type":"string","title":"Name"},"firstname":{"type":"string","title":"Firstname"},"promo":{"type":"integer","title":"Promo"},"nickname":{"type":"string","title":"Nickname"},"birthday":{"type":"string","format":"date","title":"Birthday"},"phone":{"type":"string","title":"Phone"},"floor":{"$ref":"#/components/schemas/FloorsType"}},"type":"object","title":"CoreUserUpdateAdmin","example":{"name":"Backend","firstname":"MyECL","nickname":"Hyperion","birthday":"2022-05-04","promo":2021,"floor":"Adoma"}},"DeliveryBase":{"properties":{"delivery_date":{"type":"string","format":"date","title":"Delivery Date"},"products_ids":{"items":{"type":"string"},"type":"array","title":"Products Ids","default":[]}},"type":"object","required":["delivery_date"],"title":"DeliveryBase","description":"Base schema for AMAP deliveries"},"DeliveryProductsUpdate":{"properties":{"products_ids":{"items":{"type":"string"},"type":"array","title":"Products Ids"}},"type":"object","required":["products_ids"],"title":"DeliveryProductsUpdate"},"DeliveryReturn":{"properties":{"delivery_date":{"type":"string","format":"date","title":"Delivery Date"},"products":{"items":{"$ref":"#/components/schemas/ProductComplete"},"type":"array","title":"Products","default":[]},"id":{"type":"string","title":"Id"},"status":{"$ref":"#/components/schemas/DeliveryStatusType"}},"type":"object","required":["delivery_date","id","status"],"title":"DeliveryReturn"},"DeliveryStatusType":{"type":"string","enum":["creation","orderable","locked","delivered","archived"],"title":"DeliveryStatusType","description":"An enumeration."},"DeliveryUpdate":{"properties":{"delivery_date":{"type":"string","format":"date","title":"Delivery Date"}},"type":"object","title":"DeliveryUpdate"},"EventApplicant":{"properties":{"name":{"type":"string","title":"Name"},"firstname":{"type":"string","title":"Firstname"},"nickname":{"type":"string","title":"Nickname"},"id":{"type":"string","title":"Id"},"email":{"type":"string","title":"Email"},"promo":{"type":"integer","title":"Promo"},"phone":{"type":"string","title":"Phone"}},"type":"object","required":["name","firstname","id","email"],"title":"EventApplicant","description":"Simplified schema for user's model, used when getting all users"},"EventBase":{"properties":{"name":{"type":"string","title":"Name"},"organizer":{"type":"string","title":"Organizer"},"start":{"type":"string","format":"date-time","title":"Start"},"end":{"type":"string","format":"date-time","title":"End"},"all_day":{"type":"boolean","title":"All Day"},"location":{"type":"string","title":"Location"},"type":{"$ref":"#/components/schemas/CalendarEventType"},"description":{"type":"string","title":"Description"},"recurrence_rule":{"type":"string","title":"Recurrence Rule"}},"type":"object","required":["name","organizer","start","end","all_day","location","type","description"],"title":"EventBase"},"EventComplete":{"properties":{"name":{"type":"string","title":"Name"},"organizer":{"type":"string","title":"Organizer"},"start":{"type":"string","format":"date-time","title":"Start"},"end":{"type":"string","format":"date-time","title":"End"},"all_day":{"type":"boolean","title":"All Day"},"location":{"type":"string","title":"Location"},"type":{"$ref":"#/components/schemas/CalendarEventType"},"description":{"type":"string","title":"Description"},"recurrence_rule":{"type":"string","title":"Recurrence Rule"},"id":{"type":"string","title":"Id"},"decision":{"$ref":"#/components/schemas/app__utils__types__calendar_types__Decision"},"applicant_id":{"type":"string","title":"Applicant Id"}},"type":"object","required":["name","organizer","start","end","all_day","location","type","description","id","decision","applicant_id"],"title":"EventComplete"},"EventEdit":{"properties":{"name":{"type":"string","title":"Name"},"organizer":{"type":"string","title":"Organizer"},"start":{"type":"string","format":"date-time","title":"Start"},"end":{"type":"string","format":"date-time","title":"End"},"all_day":{"type":"boolean","title":"All Day"},"location":{"type":"string","title":"Location"},"type":{"$ref":"#/components/schemas/CalendarEventType"},"description":{"type":"string","title":"Description"},"recurrence_rule":{"type":"string","title":"Recurrence Rule"}},"type":"object","title":"EventEdit"},"EventReturn":{"properties":{"name":{"type":"string","title":"Name"},"organizer":{"type":"string","title":"Organizer"},"start":{"type":"string","format":"date-time","title":"Start"},"end":{"type":"string","format":"date-time","title":"End"},"all_day":{"type":"boolean","title":"All Day"},"location":{"type":"string","title":"Location"},"type":{"$ref":"#/components/schemas/CalendarEventType"},"description":{"type":"string","title":"Description"},"recurrence_rule":{"type":"string","title":"Recurrence Rule"},"id":{"type":"string","title":"Id"},"decision":{"$ref":"#/components/schemas/app__utils__types__calendar_types__Decision"},"applicant_id":{"type":"string","title":"Applicant Id"},"applicant":{"$ref":"#/components/schemas/EventApplicant"}},"type":"object","required":["name","organizer","start","end","all_day","location","type","description","id","decision","applicant_id","applicant"],"title":"EventReturn"},"FirebaseDevice":{"properties":{"user_id":{"type":"string","title":"User Id","description":"The Hyperion user id"},"firebase_device_token":{"type":"string","title":"Firebase Device Token","default":"Firebase device token"}},"type":"object","required":["user_id"],"title":"FirebaseDevice"},"FloorsType":{"type":"string","enum":["Autre","Adoma","Exte","T1","T2","T3","T4","T56","U1","U2","U3","U4","U56","V1","V2","V3","V45","V6","X1","X2","X3","X4","X5","X6"],"title":"FloorsType","description":"An enumeration."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"Information":{"properties":{"manager":{"type":"string","title":"Manager"},"link":{"type":"string","title":"Link"},"description":{"type":"string","title":"Description"}},"type":"object","required":["manager","link","description"],"title":"Information"},"InformationEdit":{"properties":{"manager":{"type":"string","title":"Manager"},"link":{"type":"string","title":"Link"},"description":{"type":"string","title":"Description"}},"type":"object","title":"InformationEdit"},"Item":{"properties":{"name":{"type":"string","title":"Name"},"suggested_caution":{"type":"integer","title":"Suggested Caution"},"total_quantity":{"type":"integer","title":"Total Quantity"},"suggested_lending_duration":{"type":"number","format":"time-delta","title":"Suggested Lending Duration"},"id":{"type":"string","title":"Id"},"loaner_id":{"type":"string","title":"Loaner Id"},"loaned_quantity":{"type":"integer","title":"Loaned Quantity"}},"type":"object","required":["name","suggested_caution","total_quantity","suggested_lending_duration","id","loaner_id","loaned_quantity"],"title":"Item","description":"Base schema for item's model"},"ItemBase":{"properties":{"name":{"type":"string","title":"Name"},"suggested_caution":{"type":"integer","title":"Suggested Caution"},"total_quantity":{"type":"integer","title":"Total Quantity"},"suggested_lending_duration":{"type":"number","format":"time-delta","title":"Suggested Lending Duration"}},"type":"object","required":["name","suggested_caution","total_quantity","suggested_lending_duration"],"title":"ItemBase","description":"Base schema for item's model"},"ItemBorrowed":{"properties":{"item_id":{"type":"string","title":"Item Id"},"quantity":{"type":"integer","title":"Quantity"}},"type":"object","required":["item_id","quantity"],"title":"ItemBorrowed","description":"A schema used to represent Item in a loan with its quantity in a request by the client"},"ItemQuantity":{"properties":{"quantity":{"type":"integer","title":"Quantity"},"itemSimple":{"$ref":"#/components/schemas/ItemSimple"}},"type":"object","required":["quantity","itemSimple"],"title":"ItemQuantity","description":"A schema used to represent Item in a loan with its quantity in a response to the client"},"ItemSimple":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"loaner_id":{"type":"string","title":"Loaner Id"}},"type":"object","required":["id","name","loaner_id"],"title":"ItemSimple"},"ItemUpdate":{"properties":{"name":{"type":"string","title":"Name"},"suggested_caution":{"type":"integer","title":"Suggested Caution"},"total_quantity":{"type":"integer","title":"Total Quantity"},"suggested_lending_duration":{"type":"number","format":"time-delta","title":"Suggested Lending Duration"}},"type":"object","title":"ItemUpdate"},"ListBase":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"type":{"$ref":"#/components/schemas/ListType"},"section_id":{"type":"string","title":"Section Id"},"members":{"items":{"$ref":"#/components/schemas/ListMemberBase"},"type":"array","title":"Members"},"program":{"type":"string","title":"Program"}},"type":"object","required":["name","description","type","section_id","members"],"title":"ListBase","description":"Base schema for a list."},"ListEdit":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"type":{"$ref":"#/components/schemas/ListType"},"members":{"items":{"$ref":"#/components/schemas/ListMemberBase"},"type":"array","title":"Members"},"program":{"type":"string","title":"Program"}},"type":"object","title":"ListEdit"},"ListMemberBase":{"properties":{"user_id":{"type":"string","title":"User Id"},"role":{"type":"string","title":"Role"}},"type":"object","required":["user_id","role"],"title":"ListMemberBase"},"ListMemberComplete":{"properties":{"user_id":{"type":"string","title":"User Id"},"role":{"type":"string","title":"Role"},"user":{"$ref":"#/components/schemas/CoreUserSimple"}},"type":"object","required":["user_id","role","user"],"title":"ListMemberComplete"},"ListReturn":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"type":{"$ref":"#/components/schemas/ListType"},"section":{"$ref":"#/components/schemas/SectionComplete"},"members":{"items":{"$ref":"#/components/schemas/ListMemberComplete"},"type":"array","title":"Members"},"program":{"type":"string","title":"Program"}},"type":"object","required":["id","name","description","type","section","members"],"title":"ListReturn"},"ListType":{"type":"string","enum":["Serio","Pipo","Blank"],"title":"ListType","description":"A list can be \"Serios\" or \"Pipo\". There will also be one \"Blank\" list by section that will be automatically added when the vote is open."},"Loan":{"properties":{"borrower_id":{"type":"string","title":"Borrower Id"},"loaner_id":{"type":"string","title":"Loaner Id"},"start":{"type":"string","format":"date","title":"Start"},"end":{"type":"string","format":"date","title":"End"},"notes":{"type":"string","title":"Notes"},"caution":{"type":"string","title":"Caution"},"id":{"type":"string","title":"Id"},"returned":{"type":"boolean","title":"Returned"},"items_qty":{"items":{"$ref":"#/components/schemas/ItemQuantity"},"type":"array","title":"Items Qty"},"borrower":{"$ref":"#/components/schemas/CoreUserSimple"},"loaner":{"$ref":"#/components/schemas/Loaner"}},"type":"object","required":["borrower_id","loaner_id","start","end","id","returned","items_qty","borrower","loaner"],"title":"Loan","description":"A complete representation of a Loan which can be sent by the API"},"LoanCreation":{"properties":{"borrower_id":{"type":"string","title":"Borrower Id"},"loaner_id":{"type":"string","title":"Loaner Id"},"start":{"type":"string","format":"date","title":"Start"},"end":{"type":"string","format":"date","title":"End"},"notes":{"type":"string","title":"Notes"},"caution":{"type":"string","title":"Caution"},"items_borrowed":{"items":{"$ref":"#/components/schemas/ItemBorrowed"},"type":"array","title":"Items Borrowed"}},"type":"object","required":["borrower_id","loaner_id","start","end","items_borrowed"],"title":"LoanCreation","description":"A schema used to create a new loan"},"LoanExtend":{"properties":{"end":{"type":"string","format":"date","title":"End","description":"A new return date for the Loan"},"duration":{"type":"number","format":"time-delta","title":"Duration","description":"The duration by which the loan should be extended"}},"type":"object","title":"LoanExtend"},"LoanUpdate":{"properties":{"borrower_id":{"type":"string","title":"Borrower Id"},"start":{"type":"string","format":"date","title":"Start"},"end":{"type":"string","format":"date","title":"End"},"notes":{"type":"string","title":"Notes"},"caution":{"type":"string","title":"Caution"},"returned":{"type":"boolean","title":"Returned"},"items_borrowed":{"items":{"$ref":"#/components/schemas/ItemBorrowed"},"type":"array","title":"Items Borrowed"}},"type":"object","title":"LoanUpdate","description":"When the client asks to update the Loan with a PATCH request, they should be able to change the loan items."},"Loaner":{"properties":{"name":{"type":"string","title":"Name"},"group_manager_id":{"type":"string","title":"Group Manager Id","description":"The group manager id should by a group identifier"},"id":{"type":"string","title":"Id"}},"type":"object","required":["name","group_manager_id","id"],"title":"Loaner"},"LoanerBase":{"properties":{"name":{"type":"string","title":"Name"},"group_manager_id":{"type":"string","title":"Group Manager Id","description":"The group manager id should by a group identifier"}},"type":"object","required":["name","group_manager_id"],"title":"LoanerBase"},"LoanerUpdate":{"properties":{"name":{"type":"string","title":"Name"},"group_manager_id":{"type":"string","title":"Group Manager Id"}},"type":"object","title":"LoanerUpdate"},"MailMigrationRequest":{"properties":{"new_email":{"type":"string","title":"New Email"}},"type":"object","required":["new_email"],"title":"MailMigrationRequest"},"Message":{"properties":{"context":{"type":"string","title":"Context","description":"A context represents a topic. There can only by one notification per context."},"is_visible":{"type":"boolean","title":"Is Visible","description":"A message can be visible or not, if it is not visible, it should only trigger an action"},"title":{"type":"string","title":"Title"},"content":{"type":"string","title":"Content"},"action_module":{"type":"string","title":"Action Module","description":"An identifier for the module that should be triggered when the notification is clicked"},"action_table":{"type":"string","title":"Action Table"},"delivery_datetime":{"type":"string","format":"date-time","title":"Delivery Datetime","description":"The date the notification should be shown"},"expire_on":{"type":"string","format":"date","title":"Expire On"}},"type":"object","required":["context","is_visible","expire_on"],"title":"Message"},"ModuleVisibility":{"properties":{"root":{"type":"string","title":"Root"},"allowed_group_ids":{"items":{"type":"string"},"type":"array","title":"Allowed Group Ids"}},"type":"object","required":["root","allowed_group_ids"],"title":"ModuleVisibility"},"ModuleVisibilityCreate":{"properties":{"root":{"type":"string","title":"Root"},"allowed_group_id":{"type":"string","title":"Allowed Group Id"}},"type":"object","required":["root","allowed_group_id"],"title":"ModuleVisibilityCreate"},"OrderBase":{"properties":{"user_id":{"type":"string","title":"User Id"},"delivery_id":{"type":"string","title":"Delivery Id"},"products_ids":{"items":{"type":"string"},"type":"array","title":"Products Ids"},"collection_slot":{"$ref":"#/components/schemas/AmapSlotType"},"products_quantity":{"items":{"type":"integer"},"type":"array","title":"Products Quantity"}},"type":"object","required":["user_id","delivery_id","products_ids","collection_slot","products_quantity"],"title":"OrderBase"},"OrderEdit":{"properties":{"products_ids":{"items":{"type":"string"},"type":"array","title":"Products Ids"},"collection_slot":{"$ref":"#/components/schemas/AmapSlotType"},"products_quantity":{"items":{"type":"integer"},"type":"array","title":"Products Quantity"}},"type":"object","title":"OrderEdit"},"OrderReturn":{"properties":{"user":{"$ref":"#/components/schemas/CoreUserSimple"},"delivery_id":{"type":"string","title":"Delivery Id"},"productsdetail":{"items":{"$ref":"#/components/schemas/ProductQuantity"},"type":"array","title":"Productsdetail"},"collection_slot":{"$ref":"#/components/schemas/AmapSlotType"},"order_id":{"type":"string","title":"Order Id"},"amount":{"type":"number","title":"Amount"},"ordering_date":{"type":"string","format":"date-time","title":"Ordering Date"},"delivery_date":{"type":"string","format":"date","title":"Delivery Date"}},"type":"object","required":["user","delivery_id","productsdetail","collection_slot","order_id","amount","ordering_date","delivery_date"],"title":"OrderReturn"},"PackTicketBase":{"properties":{"price":{"type":"number","title":"Price"},"pack_size":{"type":"integer","title":"Pack Size"},"raffle_id":{"type":"string","title":"Raffle Id"}},"type":"object","required":["price","pack_size","raffle_id"],"title":"PackTicketBase"},"PackTicketEdit":{"properties":{"raffle_id":{"type":"string","title":"Raffle Id"},"price":{"type":"number","title":"Price"},"pack_size":{"type":"integer","title":"Pack Size"}},"type":"object","title":"PackTicketEdit"},"PackTicketSimple":{"properties":{"price":{"type":"number","title":"Price"},"pack_size":{"type":"integer","title":"Pack Size"},"raffle_id":{"type":"string","title":"Raffle Id"},"id":{"type":"string","title":"Id"}},"type":"object","required":["price","pack_size","raffle_id","id"],"title":"PackTicketSimple"},"PrizeBase":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"raffle_id":{"type":"string","title":"Raffle Id"},"quantity":{"type":"integer","title":"Quantity"}},"type":"object","required":["name","description","raffle_id","quantity"],"title":"PrizeBase"},"PrizeEdit":{"properties":{"raffle_id":{"type":"string","title":"Raffle Id"},"description":{"type":"string","title":"Description"},"name":{"type":"string","title":"Name"},"quantity":{"type":"integer","title":"Quantity"}},"type":"object","title":"PrizeEdit"},"PrizeSimple":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"raffle_id":{"type":"string","title":"Raffle Id"},"quantity":{"type":"integer","title":"Quantity"},"id":{"type":"string","title":"Id"}},"type":"object","required":["name","description","raffle_id","quantity","id"],"title":"PrizeSimple"},"ProductComplete":{"properties":{"name":{"type":"string","title":"Name"},"price":{"type":"number","title":"Price"},"category":{"type":"string","title":"Category"},"id":{"type":"string","title":"Id"}},"type":"object","required":["name","price","category","id"],"title":"ProductComplete","description":"Base schema for AMAP products"},"ProductEdit":{"properties":{"category":{"type":"string","title":"Category"},"name":{"type":"string","title":"Name"},"price":{"type":"number","title":"Price"}},"type":"object","title":"ProductEdit"},"ProductQuantity":{"properties":{"quantity":{"type":"integer","title":"Quantity"},"product":{"$ref":"#/components/schemas/ProductComplete"}},"type":"object","required":["quantity","product"],"title":"ProductQuantity"},"ProductSimple":{"properties":{"name":{"type":"string","title":"Name"},"price":{"type":"number","title":"Price"},"category":{"type":"string","title":"Category"}},"type":"object","required":["name","price","category"],"title":"ProductSimple","description":"Base schema for AMAP products"},"RaffleBase":{"properties":{"name":{"type":"string","title":"Name"},"status":{"$ref":"#/components/schemas/RaffleStatusType"},"description":{"type":"string","title":"Description"},"group_id":{"type":"string","title":"Group Id"}},"type":"object","required":["name","group_id"],"title":"RaffleBase","description":"Base schema for raffles"},"RaffleComplete":{"properties":{"name":{"type":"string","title":"Name"},"status":{"$ref":"#/components/schemas/RaffleStatusType"},"description":{"type":"string","title":"Description"},"group_id":{"type":"string","title":"Group Id"},"id":{"type":"string","title":"Id"},"group":{"$ref":"#/components/schemas/CoreGroupSimple"}},"type":"object","required":["name","group_id","id","group"],"title":"RaffleComplete","description":"Base schema for raffles"},"RaffleEdit":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"}},"type":"object","title":"RaffleEdit"},"RaffleSimple":{"properties":{"name":{"type":"string","title":"Name"},"status":{"$ref":"#/components/schemas/RaffleStatusType"},"description":{"type":"string","title":"Description"},"group_id":{"type":"string","title":"Group Id"},"id":{"type":"string","title":"Id"}},"type":"object","required":["name","group_id","id"],"title":"RaffleSimple","description":"Base schema for raffles"},"RaffleStats":{"properties":{"tickets_sold":{"type":"integer","title":"Tickets Sold"},"amount_raised":{"type":"number","title":"Amount Raised"}},"type":"object","required":["tickets_sold","amount_raised"],"title":"RaffleStats"},"RaffleStatusType":{"type":"string","enum":["creation","open","lock"],"title":"RaffleStatusType","description":"An enumeration."},"ResetPasswordRequest":{"properties":{"reset_token":{"type":"string","title":"Reset Token"},"new_password":{"type":"string","title":"New Password"}},"type":"object","required":["reset_token","new_password"],"title":"ResetPasswordRequest"},"Rights":{"properties":{"view":{"type":"boolean","title":"View"},"manage":{"type":"boolean","title":"Manage"}},"type":"object","required":["view","manage"],"title":"Rights"},"RoomBase":{"properties":{"name":{"type":"string","title":"Name"}},"type":"object","required":["name"],"title":"RoomBase"},"RoomComplete":{"properties":{"name":{"type":"string","title":"Name"},"id":{"type":"string","title":"Id"}},"type":"object","required":["name","id"],"title":"RoomComplete"},"SectionBase":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"}},"type":"object","required":["name","description"],"title":"SectionBase","description":"Base schema for a section of AEECL."},"SectionComplete":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"id":{"type":"string","title":"Id"}},"type":"object","required":["name","description","id"],"title":"SectionComplete","description":"Base schema for a section of AEECL."},"StatusType":{"type":"string","enum":["waiting","open","closed","counting","published"],"title":"StatusType","description":"Status of the voting"},"TicketComplete":{"properties":{"pack_id":{"type":"string","title":"Pack Id"},"user_id":{"type":"string","title":"User Id"},"winning_prize":{"type":"string","title":"Winning Prize"},"id":{"type":"string","title":"Id"},"prize":{"$ref":"#/components/schemas/PrizeSimple"},"pack_ticket":{"$ref":"#/components/schemas/PackTicketSimple"},"user":{"$ref":"#/components/schemas/CoreUserSimple"}},"type":"object","required":["pack_id","user_id","id","pack_ticket","user"],"title":"TicketComplete"},"TicketSimple":{"properties":{"pack_id":{"type":"string","title":"Pack Id"},"user_id":{"type":"string","title":"User Id"},"winning_prize":{"type":"string","title":"Winning Prize"},"id":{"type":"string","title":"Id"}},"type":"object","required":["pack_id","user_id","id"],"title":"TicketSimple"},"TokenResponse":{"properties":{"access_token":{"type":"string","title":"Access Token"},"token_type":{"type":"string","title":"Token Type","default":"bearer"},"expires_in":{"type":"integer","title":"Expires In","default":1800},"scopes":{"type":"string","title":"Scopes","default":""},"refresh_token":{"type":"string","title":"Refresh Token"},"id_token":{"type":"string","title":"Id Token"}},"type":"object","required":["access_token","refresh_token"],"title":"TokenResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VoteBase":{"properties":{"list_id":{"type":"string","title":"List Id"}},"type":"object","required":["list_id"],"title":"VoteBase","description":"Base schema for a vote."},"VoteStats":{"properties":{"section_id":{"type":"string","title":"Section Id"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["section_id","count"],"title":"VoteStats"},"VoteStatus":{"properties":{"status":{"$ref":"#/components/schemas/StatusType"}},"type":"object","required":["status"],"title":"VoteStatus"},"app__schemas__schemas_amap__CashComplete":{"properties":{"balance":{"type":"number","title":"Balance"},"user_id":{"type":"string","title":"User Id"},"user":{"$ref":"#/components/schemas/CoreUserSimple"}},"type":"object","required":["balance","user_id","user"],"title":"CashComplete"},"app__schemas__schemas_amap__CashEdit":{"properties":{"balance":{"type":"number","title":"Balance"}},"type":"object","required":["balance"],"title":"CashEdit"},"app__schemas__schemas_campaign__Result":{"properties":{"list_id":{"type":"string","title":"List Id"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["list_id","count"],"title":"Result"},"app__schemas__schemas_raffle__CashComplete":{"properties":{"balance":{"type":"number","title":"Balance"},"user_id":{"type":"string","title":"User Id"},"user":{"$ref":"#/components/schemas/CoreUserSimple"}},"type":"object","required":["balance","user_id","user"],"title":"CashComplete"},"app__schemas__schemas_raffle__CashEdit":{"properties":{"balance":{"type":"number","title":"Balance"}},"type":"object","required":["balance"],"title":"CashEdit"},"app__utils__types__bdebooking_type__Decision":{"type":"string","enum":["approved","declined","pending"],"title":"Decision","description":"An enumeration."},"app__utils__types__calendar_types__Decision":{"type":"string","enum":["approved","declined","pending"],"title":"Decision","description":"An enumeration."},"app__utils__types__standard_responses__Result":{"properties":{"success":{"type":"boolean","title":"Success","default":true}},"type":"object","title":"Result"}},"securitySchemes":{"Authorization Code authentication":{"type":"oauth2","flows":{"authorizationCode":{"scopes":{},"authorizationUrl":"auth/authorize","tokenUrl":"auth/token"}}}}}} \ No newline at end of file