diff --git a/assets/i18n/en-US.json b/assets/i18n/en-US.json index 404d21a..55a870e 100644 --- a/assets/i18n/en-US.json +++ b/assets/i18n/en-US.json @@ -615,5 +615,9 @@ "abuseReportTypeOffensiveContent": "Offensive Content", "abuseReportTypePrivacyViolation": "Privacy Violation", "abuseReportTypeIllegalContent": "Illegal Content", - "abuseReportTypeOther": "Other" + "abuseReportTypeOther": "Other", + "tags": "Tags", + "tagsHint": "Enter tags, separated by commas", + "categories": "Categories", + "categoriesHint": "Enter categories, separated by commas" } diff --git a/lib/models/activity.freezed.dart b/lib/models/activity.freezed.dart index 4bcfcc5..3a40705 100644 --- a/lib/models/activity.freezed.dart +++ b/lib/models/activity.freezed.dart @@ -26,6 +26,7 @@ $SnActivityCopyWith get copyWith => _$SnActivityCopyWithImpl toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnActivity&&(identical(other.id, id) || other.id == id)&&(identical(other.type, type) || other.type == type)&&(identical(other.resourceIdentifier, resourceIdentifier) || other.resourceIdentifier == resourceIdentifier)&&const DeepCollectionEquality().equals(other.data, data)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)); @@ -40,6 +41,7 @@ String toString() { return 'SnActivity(id: $id, type: $type, resourceIdentifier: $resourceIdentifier, data: $data, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -50,6 +52,9 @@ $Res call({ String id, String type, String resourceIdentifier, dynamic data, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + + + } /// @nodoc class _$SnActivityCopyWithImpl<$Res> @@ -76,6 +81,7 @@ as DateTime?, } + /// @nodoc @JsonSerializable() @@ -116,6 +122,7 @@ String toString() { return 'SnActivity(id: $id, type: $type, resourceIdentifier: $resourceIdentifier, data: $data, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -126,6 +133,9 @@ $Res call({ String id, String type, String resourceIdentifier, dynamic data, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + + + } /// @nodoc class __$SnActivityCopyWithImpl<$Res> @@ -150,8 +160,10 @@ as DateTime?, )); } + } + /// @nodoc mixin _$SnCheckInResult { @@ -165,6 +177,7 @@ $SnCheckInResultCopyWith get copyWith => _$SnCheckInResultCopyW /// Serializes this SnCheckInResult to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnCheckInResult&&(identical(other.id, id) || other.id == id)&&(identical(other.level, level) || other.level == level)&&const DeepCollectionEquality().equals(other.tips, tips)&&(identical(other.accountId, accountId) || other.accountId == accountId)&&(identical(other.account, account) || other.account == account)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)); @@ -179,6 +192,7 @@ String toString() { return 'SnCheckInResult(id: $id, level: $level, tips: $tips, accountId: $accountId, account: $account, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -189,6 +203,7 @@ $Res call({ String id, int level, List tips, String accountId, SnAccount? account, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + $SnAccountCopyWith<$Res>? get account; } @@ -230,6 +245,7 @@ $SnAccountCopyWith<$Res>? get account { } } + /// @nodoc @JsonSerializable() @@ -277,6 +293,7 @@ String toString() { return 'SnCheckInResult(id: $id, level: $level, tips: $tips, accountId: $accountId, account: $account, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -287,6 +304,7 @@ $Res call({ String id, int level, List tips, String accountId, SnAccount? account, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + @override $SnAccountCopyWith<$Res>? get account; } @@ -329,6 +347,7 @@ $SnAccountCopyWith<$Res>? get account { } } + /// @nodoc mixin _$SnFortuneTip { @@ -342,6 +361,7 @@ $SnFortuneTipCopyWith get copyWith => _$SnFortuneTipCopyWithImpl toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnFortuneTip&&(identical(other.isPositive, isPositive) || other.isPositive == isPositive)&&(identical(other.title, title) || other.title == title)&&(identical(other.content, content) || other.content == content)); @@ -356,6 +376,7 @@ String toString() { return 'SnFortuneTip(isPositive: $isPositive, title: $title, content: $content)'; } + } /// @nodoc @@ -366,6 +387,9 @@ $Res call({ bool isPositive, String title, String content }); + + + } /// @nodoc class _$SnFortuneTipCopyWithImpl<$Res> @@ -388,6 +412,7 @@ as String, } + /// @nodoc @JsonSerializable() @@ -424,6 +449,7 @@ String toString() { return 'SnFortuneTip(isPositive: $isPositive, title: $title, content: $content)'; } + } /// @nodoc @@ -434,6 +460,9 @@ $Res call({ bool isPositive, String title, String content }); + + + } /// @nodoc class __$SnFortuneTipCopyWithImpl<$Res> @@ -454,8 +483,10 @@ as String, )); } + } + /// @nodoc mixin _$SnEventCalendarEntry { @@ -469,6 +500,7 @@ $SnEventCalendarEntryCopyWith get copyWith => _$SnEventCal /// Serializes this SnEventCalendarEntry to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnEventCalendarEntry&&(identical(other.date, date) || other.date == date)&&(identical(other.checkInResult, checkInResult) || other.checkInResult == checkInResult)&&const DeepCollectionEquality().equals(other.statuses, statuses)); @@ -483,6 +515,7 @@ String toString() { return 'SnEventCalendarEntry(date: $date, checkInResult: $checkInResult, statuses: $statuses)'; } + } /// @nodoc @@ -493,6 +526,7 @@ $Res call({ DateTime date, SnCheckInResult? checkInResult, List statuses }); + $SnCheckInResultCopyWith<$Res>? get checkInResult; } @@ -529,6 +563,7 @@ $SnCheckInResultCopyWith<$Res>? get checkInResult { } } + /// @nodoc @JsonSerializable() @@ -545,6 +580,7 @@ class _SnEventCalendarEntry implements SnEventCalendarEntry { return EqualUnmodifiableListView(_statuses); } + /// Create a copy of SnEventCalendarEntry /// with the given fields replaced by the non-null parameter values. @override @JsonKey(includeFromJson: false, includeToJson: false) @@ -570,6 +606,7 @@ String toString() { return 'SnEventCalendarEntry(date: $date, checkInResult: $checkInResult, statuses: $statuses)'; } + } /// @nodoc @@ -580,6 +617,7 @@ $Res call({ DateTime date, SnCheckInResult? checkInResult, List statuses }); + @override $SnCheckInResultCopyWith<$Res>? get checkInResult; } diff --git a/lib/models/auth.freezed.dart b/lib/models/auth.freezed.dart index 946a71b..0fdeee2 100644 --- a/lib/models/auth.freezed.dart +++ b/lib/models/auth.freezed.dart @@ -26,6 +26,7 @@ $AppTokenCopyWith get copyWith => _$AppTokenCopyWithImpl(thi /// Serializes this AppToken to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is AppToken&&(identical(other.token, token) || other.token == token)); @@ -40,6 +41,7 @@ String toString() { return 'AppToken(token: $token)'; } + } /// @nodoc @@ -50,6 +52,9 @@ $Res call({ String token }); + + + } /// @nodoc class _$AppTokenCopyWithImpl<$Res> @@ -70,6 +75,7 @@ as String, } + /// @nodoc @JsonSerializable() @@ -104,6 +110,7 @@ String toString() { return 'AppToken(token: $token)'; } + } /// @nodoc @@ -114,6 +121,9 @@ $Res call({ String token }); + + + } /// @nodoc class __$AppTokenCopyWithImpl<$Res> @@ -132,8 +142,10 @@ as String, )); } + } + /// @nodoc mixin _$SnAuthChallenge { @@ -147,6 +159,7 @@ $SnAuthChallengeCopyWith get copyWith => _$SnAuthChallengeCopyW /// Serializes this SnAuthChallenge to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnAuthChallenge&&(identical(other.id, id) || other.id == id)&&(identical(other.expiredAt, expiredAt) || other.expiredAt == expiredAt)&&(identical(other.stepRemain, stepRemain) || other.stepRemain == stepRemain)&&(identical(other.stepTotal, stepTotal) || other.stepTotal == stepTotal)&&(identical(other.failedAttempts, failedAttempts) || other.failedAttempts == failedAttempts)&&(identical(other.platform, platform) || other.platform == platform)&&(identical(other.type, type) || other.type == type)&&const DeepCollectionEquality().equals(other.blacklistFactors, blacklistFactors)&&const DeepCollectionEquality().equals(other.audiences, audiences)&&const DeepCollectionEquality().equals(other.scopes, scopes)&&(identical(other.ipAddress, ipAddress) || other.ipAddress == ipAddress)&&(identical(other.userAgent, userAgent) || other.userAgent == userAgent)&&(identical(other.deviceId, deviceId) || other.deviceId == deviceId)&&(identical(other.nonce, nonce) || other.nonce == nonce)&&(identical(other.location, location) || other.location == location)&&(identical(other.accountId, accountId) || other.accountId == accountId)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)); @@ -161,6 +174,7 @@ String toString() { return 'SnAuthChallenge(id: $id, expiredAt: $expiredAt, stepRemain: $stepRemain, stepTotal: $stepTotal, failedAttempts: $failedAttempts, platform: $platform, type: $type, blacklistFactors: $blacklistFactors, audiences: $audiences, scopes: $scopes, ipAddress: $ipAddress, userAgent: $userAgent, deviceId: $deviceId, nonce: $nonce, location: $location, accountId: $accountId, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -171,6 +185,9 @@ $Res call({ String id, DateTime expiredAt, int stepRemain, int stepTotal, int failedAttempts, int platform, int type, List blacklistFactors, List audiences, List scopes, String ipAddress, String userAgent, String deviceId, String? nonce, String? location, String accountId, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + + + } /// @nodoc class _$SnAuthChallengeCopyWithImpl<$Res> @@ -209,6 +226,7 @@ as DateTime?, } + /// @nodoc @JsonSerializable() @@ -279,6 +297,7 @@ String toString() { return 'SnAuthChallenge(id: $id, expiredAt: $expiredAt, stepRemain: $stepRemain, stepTotal: $stepTotal, failedAttempts: $failedAttempts, platform: $platform, type: $type, blacklistFactors: $blacklistFactors, audiences: $audiences, scopes: $scopes, ipAddress: $ipAddress, userAgent: $userAgent, deviceId: $deviceId, nonce: $nonce, location: $location, accountId: $accountId, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -289,6 +308,9 @@ $Res call({ String id, DateTime expiredAt, int stepRemain, int stepTotal, int failedAttempts, int platform, int type, List blacklistFactors, List audiences, List scopes, String ipAddress, String userAgent, String deviceId, String? nonce, String? location, String accountId, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + + + } /// @nodoc class __$SnAuthChallengeCopyWithImpl<$Res> @@ -325,8 +347,10 @@ as DateTime?, )); } + } + /// @nodoc mixin _$SnAuthSession { @@ -340,6 +364,7 @@ $SnAuthSessionCopyWith get copyWith => _$SnAuthSessionCopyWithImp /// Serializes this SnAuthSession to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnAuthSession&&(identical(other.id, id) || other.id == id)&&(identical(other.label, label) || other.label == label)&&(identical(other.lastGrantedAt, lastGrantedAt) || other.lastGrantedAt == lastGrantedAt)&&(identical(other.expiredAt, expiredAt) || other.expiredAt == expiredAt)&&(identical(other.accountId, accountId) || other.accountId == accountId)&&(identical(other.challengeId, challengeId) || other.challengeId == challengeId)&&(identical(other.challenge, challenge) || other.challenge == challenge)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)); @@ -354,6 +379,7 @@ String toString() { return 'SnAuthSession(id: $id, label: $label, lastGrantedAt: $lastGrantedAt, expiredAt: $expiredAt, accountId: $accountId, challengeId: $challengeId, challenge: $challenge, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -364,6 +390,7 @@ $Res call({ String id, String? label, DateTime lastGrantedAt, DateTime expiredAt, String accountId, String challengeId, SnAuthChallenge challenge, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + $SnAuthChallengeCopyWith<$Res> get challenge; } @@ -404,6 +431,7 @@ $SnAuthChallengeCopyWith<$Res> get challenge { } } + /// @nodoc @JsonSerializable() @@ -447,6 +475,7 @@ String toString() { return 'SnAuthSession(id: $id, label: $label, lastGrantedAt: $lastGrantedAt, expiredAt: $expiredAt, accountId: $accountId, challengeId: $challengeId, challenge: $challenge, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -457,6 +486,7 @@ $Res call({ String id, String? label, DateTime lastGrantedAt, DateTime expiredAt, String accountId, String challengeId, SnAuthChallenge challenge, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + @override $SnAuthChallengeCopyWith<$Res> get challenge; } @@ -498,6 +528,7 @@ $SnAuthChallengeCopyWith<$Res> get challenge { } } + /// @nodoc mixin _$SnAuthFactor { @@ -511,6 +542,7 @@ $SnAuthFactorCopyWith get copyWith => _$SnAuthFactorCopyWithImpl toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnAuthFactor&&(identical(other.id, id) || other.id == id)&&(identical(other.type, type) || other.type == type)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)&&(identical(other.expiredAt, expiredAt) || other.expiredAt == expiredAt)&&(identical(other.enabledAt, enabledAt) || other.enabledAt == enabledAt)&&(identical(other.trustworthy, trustworthy) || other.trustworthy == trustworthy)&&const DeepCollectionEquality().equals(other.createdResponse, createdResponse)); @@ -525,6 +557,7 @@ String toString() { return 'SnAuthFactor(id: $id, type: $type, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt, expiredAt: $expiredAt, enabledAt: $enabledAt, trustworthy: $trustworthy, createdResponse: $createdResponse)'; } + } /// @nodoc @@ -535,6 +568,9 @@ $Res call({ String id, int type, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt, DateTime? expiredAt, DateTime? enabledAt, int trustworthy, Map? createdResponse }); + + + } /// @nodoc class _$SnAuthFactorCopyWithImpl<$Res> @@ -563,6 +599,7 @@ as Map?, } + /// @nodoc @JsonSerializable() @@ -587,6 +624,7 @@ class _SnAuthFactor implements SnAuthFactor { return EqualUnmodifiableMapView(value); } + /// Create a copy of SnAuthFactor /// with the given fields replaced by the non-null parameter values. @override @JsonKey(includeFromJson: false, includeToJson: false) @@ -612,6 +650,7 @@ String toString() { return 'SnAuthFactor(id: $id, type: $type, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt, expiredAt: $expiredAt, enabledAt: $enabledAt, trustworthy: $trustworthy, createdResponse: $createdResponse)'; } + } /// @nodoc @@ -622,6 +661,9 @@ $Res call({ String id, int type, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt, DateTime? expiredAt, DateTime? enabledAt, int trustworthy, Map? createdResponse }); + + + } /// @nodoc class __$SnAuthFactorCopyWithImpl<$Res> @@ -648,8 +690,10 @@ as Map?, )); } + } + /// @nodoc mixin _$SnAuthDevice { @@ -664,6 +708,7 @@ $SnAuthDeviceCopyWith get copyWith => _$SnAuthDeviceCopyWithImpl toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnAuthDevice&&const DeepCollectionEquality().equals(other.label, label)&&(identical(other.userAgent, userAgent) || other.userAgent == userAgent)&&(identical(other.deviceId, deviceId) || other.deviceId == deviceId)&&(identical(other.platform, platform) || other.platform == platform)&&const DeepCollectionEquality().equals(other.sessions, sessions)&&(identical(other.isCurrent, isCurrent) || other.isCurrent == isCurrent)); @@ -678,6 +723,7 @@ String toString() { return 'SnAuthDevice(label: $label, userAgent: $userAgent, deviceId: $deviceId, platform: $platform, sessions: $sessions, isCurrent: $isCurrent)'; } + } /// @nodoc @@ -688,6 +734,9 @@ $Res call({ dynamic label, String userAgent, String deviceId, int platform, List sessions, bool isCurrent }); + + + } /// @nodoc class _$SnAuthDeviceCopyWithImpl<$Res> @@ -713,6 +762,7 @@ as bool, } + /// @nodoc @JsonSerializable() @@ -759,6 +809,7 @@ String toString() { return 'SnAuthDevice(label: $label, userAgent: $userAgent, deviceId: $deviceId, platform: $platform, sessions: $sessions, isCurrent: $isCurrent)'; } + } /// @nodoc @@ -769,6 +820,9 @@ $Res call({ dynamic label, String userAgent, String deviceId, int platform, List sessions, bool isCurrent }); + + + } /// @nodoc class __$SnAuthDeviceCopyWithImpl<$Res> @@ -792,8 +846,10 @@ as bool, )); } + } + /// @nodoc mixin _$SnAccountConnection { @@ -807,6 +863,7 @@ $SnAccountConnectionCopyWith get copyWith => _$SnAccountCon /// Serializes this SnAccountConnection to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnAccountConnection&&(identical(other.id, id) || other.id == id)&&(identical(other.accountId, accountId) || other.accountId == accountId)&&(identical(other.provider, provider) || other.provider == provider)&&(identical(other.providedIdentifier, providedIdentifier) || other.providedIdentifier == providedIdentifier)&&const DeepCollectionEquality().equals(other.meta, meta)&&(identical(other.lastUsedAt, lastUsedAt) || other.lastUsedAt == lastUsedAt)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)); @@ -821,6 +878,7 @@ String toString() { return 'SnAccountConnection(id: $id, accountId: $accountId, provider: $provider, providedIdentifier: $providedIdentifier, meta: $meta, lastUsedAt: $lastUsedAt, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -831,6 +889,9 @@ $Res call({ String id, String accountId, String provider, String providedIdentifier, Map meta, DateTime lastUsedAt, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + + + } /// @nodoc class _$SnAccountConnectionCopyWithImpl<$Res> @@ -859,6 +920,7 @@ as DateTime?, } + /// @nodoc @JsonSerializable() @@ -907,6 +969,7 @@ String toString() { return 'SnAccountConnection(id: $id, accountId: $accountId, provider: $provider, providedIdentifier: $providedIdentifier, meta: $meta, lastUsedAt: $lastUsedAt, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -917,6 +980,9 @@ $Res call({ String id, String accountId, String provider, String providedIdentifier, Map meta, DateTime lastUsedAt, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + + + } /// @nodoc class __$SnAccountConnectionCopyWithImpl<$Res> @@ -943,6 +1009,7 @@ as DateTime?, )); } + } // dart format on diff --git a/lib/models/chat.freezed.dart b/lib/models/chat.freezed.dart index 4d69a75..86597ae 100644 --- a/lib/models/chat.freezed.dart +++ b/lib/models/chat.freezed.dart @@ -26,6 +26,7 @@ $SnChatRoomCopyWith get copyWith => _$SnChatRoomCopyWithImpl toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnChatRoom&&(identical(other.id, id) || other.id == id)&&(identical(other.name, name) || other.name == name)&&(identical(other.description, description) || other.description == description)&&(identical(other.type, type) || other.type == type)&&(identical(other.isPublic, isPublic) || other.isPublic == isPublic)&&(identical(other.picture, picture) || other.picture == picture)&&(identical(other.background, background) || other.background == background)&&(identical(other.realmId, realmId) || other.realmId == realmId)&&(identical(other.realm, realm) || other.realm == realm)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)&&const DeepCollectionEquality().equals(other.members, members)); @@ -40,6 +41,7 @@ String toString() { return 'SnChatRoom(id: $id, name: $name, description: $description, type: $type, isPublic: $isPublic, picture: $picture, background: $background, realmId: $realmId, realm: $realm, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt, members: $members)'; } + } /// @nodoc @@ -50,6 +52,7 @@ $Res call({ String id, String? name, String? description, int type, bool isPublic, SnCloudFile? picture, SnCloudFile? background, String? realmId, SnRealm? realm, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt, List? members }); + $SnCloudFileCopyWith<$Res>? get picture;$SnCloudFileCopyWith<$Res>? get background;$SnRealmCopyWith<$Res>? get realm; } @@ -120,6 +123,7 @@ $SnRealmCopyWith<$Res>? get realm { } } + /// @nodoc @JsonSerializable() @@ -148,6 +152,7 @@ class _SnChatRoom implements SnChatRoom { return EqualUnmodifiableListView(value); } + /// Create a copy of SnChatRoom /// with the given fields replaced by the non-null parameter values. @override @JsonKey(includeFromJson: false, includeToJson: false) @@ -173,6 +178,7 @@ String toString() { return 'SnChatRoom(id: $id, name: $name, description: $description, type: $type, isPublic: $isPublic, picture: $picture, background: $background, realmId: $realmId, realm: $realm, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt, members: $members)'; } + } /// @nodoc @@ -183,6 +189,7 @@ $Res call({ String id, String? name, String? description, int type, bool isPublic, SnCloudFile? picture, SnCloudFile? background, String? realmId, SnRealm? realm, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt, List? members }); + @override $SnCloudFileCopyWith<$Res>? get picture;@override $SnCloudFileCopyWith<$Res>? get background;@override $SnRealmCopyWith<$Res>? get realm; } @@ -254,6 +261,7 @@ $SnRealmCopyWith<$Res>? get realm { } } + /// @nodoc mixin _$SnChatMessage { @@ -267,6 +275,7 @@ $SnChatMessageCopyWith get copyWith => _$SnChatMessageCopyWithImp /// Serializes this SnChatMessage to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnChatMessage&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)&&(identical(other.id, id) || other.id == id)&&(identical(other.type, type) || other.type == type)&&(identical(other.content, content) || other.content == content)&&(identical(other.nonce, nonce) || other.nonce == nonce)&&const DeepCollectionEquality().equals(other.meta, meta)&&const DeepCollectionEquality().equals(other.membersMetioned, membersMetioned)&&(identical(other.editedAt, editedAt) || other.editedAt == editedAt)&&const DeepCollectionEquality().equals(other.attachments, attachments)&&const DeepCollectionEquality().equals(other.reactions, reactions)&&(identical(other.repliedMessageId, repliedMessageId) || other.repliedMessageId == repliedMessageId)&&(identical(other.forwardedMessageId, forwardedMessageId) || other.forwardedMessageId == forwardedMessageId)&&(identical(other.senderId, senderId) || other.senderId == senderId)&&(identical(other.sender, sender) || other.sender == sender)&&(identical(other.chatRoomId, chatRoomId) || other.chatRoomId == chatRoomId)); @@ -281,6 +290,7 @@ String toString() { return 'SnChatMessage(createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt, id: $id, type: $type, content: $content, nonce: $nonce, meta: $meta, membersMetioned: $membersMetioned, editedAt: $editedAt, attachments: $attachments, reactions: $reactions, repliedMessageId: $repliedMessageId, forwardedMessageId: $forwardedMessageId, senderId: $senderId, sender: $sender, chatRoomId: $chatRoomId)'; } + } /// @nodoc @@ -291,6 +301,7 @@ $Res call({ DateTime createdAt, DateTime updatedAt, DateTime? deletedAt, String id, String type, String? content, String? nonce, Map meta, List membersMetioned, DateTime? editedAt, List attachments, List reactions, String? repliedMessageId, String? forwardedMessageId, String senderId, SnChatMember sender, String chatRoomId }); + $SnChatMemberCopyWith<$Res> get sender; } @@ -338,6 +349,7 @@ $SnChatMemberCopyWith<$Res> get sender { } } + /// @nodoc @JsonSerializable() @@ -412,6 +424,7 @@ String toString() { return 'SnChatMessage(createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt, id: $id, type: $type, content: $content, nonce: $nonce, meta: $meta, membersMetioned: $membersMetioned, editedAt: $editedAt, attachments: $attachments, reactions: $reactions, repliedMessageId: $repliedMessageId, forwardedMessageId: $forwardedMessageId, senderId: $senderId, sender: $sender, chatRoomId: $chatRoomId)'; } + } /// @nodoc @@ -422,6 +435,7 @@ $Res call({ DateTime createdAt, DateTime updatedAt, DateTime? deletedAt, String id, String type, String? content, String? nonce, Map meta, List membersMetioned, DateTime? editedAt, List attachments, List reactions, String? repliedMessageId, String? forwardedMessageId, String senderId, SnChatMember sender, String chatRoomId }); + @override $SnChatMemberCopyWith<$Res> get sender; } @@ -470,6 +484,7 @@ $SnChatMemberCopyWith<$Res> get sender { } } + /// @nodoc mixin _$SnChatReaction { @@ -483,6 +498,7 @@ $SnChatReactionCopyWith get copyWith => _$SnChatReactionCopyWith /// Serializes this SnChatReaction to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnChatReaction&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)&&(identical(other.id, id) || other.id == id)&&(identical(other.messageId, messageId) || other.messageId == messageId)&&(identical(other.senderId, senderId) || other.senderId == senderId)&&(identical(other.sender, sender) || other.sender == sender)&&(identical(other.symbol, symbol) || other.symbol == symbol)&&(identical(other.attitude, attitude) || other.attitude == attitude)); @@ -497,6 +513,7 @@ String toString() { return 'SnChatReaction(createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt, id: $id, messageId: $messageId, senderId: $senderId, sender: $sender, symbol: $symbol, attitude: $attitude)'; } + } /// @nodoc @@ -507,6 +524,7 @@ $Res call({ DateTime createdAt, DateTime updatedAt, DateTime? deletedAt, String id, String messageId, String senderId, SnChatMember sender, String symbol, int attitude }); + $SnChatMemberCopyWith<$Res> get sender; } @@ -546,6 +564,7 @@ $SnChatMemberCopyWith<$Res> get sender { } } + /// @nodoc @JsonSerializable() @@ -588,6 +607,7 @@ String toString() { return 'SnChatReaction(createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt, id: $id, messageId: $messageId, senderId: $senderId, sender: $sender, symbol: $symbol, attitude: $attitude)'; } + } /// @nodoc @@ -598,6 +618,7 @@ $Res call({ DateTime createdAt, DateTime updatedAt, DateTime? deletedAt, String id, String messageId, String senderId, SnChatMember sender, String symbol, int attitude }); + @override $SnChatMemberCopyWith<$Res> get sender; } @@ -638,6 +659,7 @@ $SnChatMemberCopyWith<$Res> get sender { } } + /// @nodoc mixin _$SnChatMember { @@ -652,6 +674,7 @@ $SnChatMemberCopyWith get copyWith => _$SnChatMemberCopyWithImpl toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnChatMember&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)&&(identical(other.id, id) || other.id == id)&&(identical(other.chatRoomId, chatRoomId) || other.chatRoomId == chatRoomId)&&(identical(other.chatRoom, chatRoom) || other.chatRoom == chatRoom)&&(identical(other.accountId, accountId) || other.accountId == accountId)&&(identical(other.account, account) || other.account == account)&&(identical(other.nick, nick) || other.nick == nick)&&(identical(other.role, role) || other.role == role)&&(identical(other.notify, notify) || other.notify == notify)&&(identical(other.joinedAt, joinedAt) || other.joinedAt == joinedAt)&&(identical(other.breakUntil, breakUntil) || other.breakUntil == breakUntil)&&(identical(other.timeoutUntil, timeoutUntil) || other.timeoutUntil == timeoutUntil)&&(identical(other.isBot, isBot) || other.isBot == isBot)&&(identical(other.lastTyped, lastTyped) || other.lastTyped == lastTyped)); @@ -666,6 +689,7 @@ String toString() { return 'SnChatMember(createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt, id: $id, chatRoomId: $chatRoomId, chatRoom: $chatRoom, accountId: $accountId, account: $account, nick: $nick, role: $role, notify: $notify, joinedAt: $joinedAt, breakUntil: $breakUntil, timeoutUntil: $timeoutUntil, isBot: $isBot, lastTyped: $lastTyped)'; } + } /// @nodoc @@ -676,6 +700,7 @@ $Res call({ DateTime createdAt, DateTime updatedAt, DateTime? deletedAt, String id, String chatRoomId, SnChatRoom? chatRoom, String accountId, SnAccount account, String? nick, int role, int notify, DateTime? joinedAt, DateTime? breakUntil, DateTime? timeoutUntil, bool isBot, DateTime? lastTyped }); + $SnChatRoomCopyWith<$Res>? get chatRoom;$SnAccountCopyWith<$Res> get account; } @@ -734,6 +759,7 @@ $SnAccountCopyWith<$Res> get account { } } + /// @nodoc @JsonSerializable() @@ -784,6 +810,7 @@ String toString() { return 'SnChatMember(createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt, id: $id, chatRoomId: $chatRoomId, chatRoom: $chatRoom, accountId: $accountId, account: $account, nick: $nick, role: $role, notify: $notify, joinedAt: $joinedAt, breakUntil: $breakUntil, timeoutUntil: $timeoutUntil, isBot: $isBot, lastTyped: $lastTyped)'; } + } /// @nodoc @@ -794,6 +821,7 @@ $Res call({ DateTime createdAt, DateTime updatedAt, DateTime? deletedAt, String id, String chatRoomId, SnChatRoom? chatRoom, String accountId, SnAccount account, String? nick, int role, int notify, DateTime? joinedAt, DateTime? breakUntil, DateTime? timeoutUntil, bool isBot, DateTime? lastTyped }); + @override $SnChatRoomCopyWith<$Res>? get chatRoom;@override $SnAccountCopyWith<$Res> get account; } @@ -853,6 +881,7 @@ $SnAccountCopyWith<$Res> get account { } } + /// @nodoc mixin _$SnChatSummary { @@ -866,6 +895,7 @@ $SnChatSummaryCopyWith get copyWith => _$SnChatSummaryCopyWithImp /// Serializes this SnChatSummary to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnChatSummary&&(identical(other.unreadCount, unreadCount) || other.unreadCount == unreadCount)&&(identical(other.lastMessage, lastMessage) || other.lastMessage == lastMessage)); @@ -880,6 +910,7 @@ String toString() { return 'SnChatSummary(unreadCount: $unreadCount, lastMessage: $lastMessage)'; } + } /// @nodoc @@ -890,6 +921,7 @@ $Res call({ int unreadCount, SnChatMessage lastMessage }); + $SnChatMessageCopyWith<$Res> get lastMessage; } @@ -922,6 +954,7 @@ $SnChatMessageCopyWith<$Res> get lastMessage { } } + /// @nodoc @JsonSerializable() @@ -957,6 +990,7 @@ String toString() { return 'SnChatSummary(unreadCount: $unreadCount, lastMessage: $lastMessage)'; } + } /// @nodoc @@ -967,6 +1001,7 @@ $Res call({ int unreadCount, SnChatMessage lastMessage }); + @override $SnChatMessageCopyWith<$Res> get lastMessage; } @@ -1000,6 +1035,7 @@ $SnChatMessageCopyWith<$Res> get lastMessage { } } + /// @nodoc mixin _$MessageChange { @@ -1013,6 +1049,7 @@ $MessageChangeCopyWith get copyWith => _$MessageChangeCopyWithImp /// Serializes this MessageChange to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is MessageChange&&(identical(other.messageId, messageId) || other.messageId == messageId)&&(identical(other.action, action) || other.action == action)&&(identical(other.message, message) || other.message == message)&&(identical(other.timestamp, timestamp) || other.timestamp == timestamp)); @@ -1027,6 +1064,7 @@ String toString() { return 'MessageChange(messageId: $messageId, action: $action, message: $message, timestamp: $timestamp)'; } + } /// @nodoc @@ -1037,6 +1075,7 @@ $Res call({ String messageId, String action, SnChatMessage? message, DateTime timestamp }); + $SnChatMessageCopyWith<$Res>? get message; } @@ -1074,6 +1113,7 @@ $SnChatMessageCopyWith<$Res>? get message { } } + /// @nodoc @JsonSerializable() @@ -1111,6 +1151,7 @@ String toString() { return 'MessageChange(messageId: $messageId, action: $action, message: $message, timestamp: $timestamp)'; } + } /// @nodoc @@ -1121,6 +1162,7 @@ $Res call({ String messageId, String action, SnChatMessage? message, DateTime timestamp }); + @override $SnChatMessageCopyWith<$Res>? get message; } @@ -1159,6 +1201,7 @@ $SnChatMessageCopyWith<$Res>? get message { } } + /// @nodoc mixin _$MessageSyncResponse { @@ -1172,6 +1215,7 @@ $MessageSyncResponseCopyWith get copyWith => _$MessageSyncR /// Serializes this MessageSyncResponse to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is MessageSyncResponse&&const DeepCollectionEquality().equals(other.changes, changes)&&(identical(other.currentTimestamp, currentTimestamp) || other.currentTimestamp == currentTimestamp)); @@ -1186,6 +1230,7 @@ String toString() { return 'MessageSyncResponse(changes: $changes, currentTimestamp: $currentTimestamp)'; } + } /// @nodoc @@ -1196,6 +1241,9 @@ $Res call({ List changes, DateTime currentTimestamp }); + + + } /// @nodoc class _$MessageSyncResponseCopyWithImpl<$Res> @@ -1217,6 +1265,7 @@ as DateTime, } + /// @nodoc @JsonSerializable() @@ -1258,6 +1307,7 @@ String toString() { return 'MessageSyncResponse(changes: $changes, currentTimestamp: $currentTimestamp)'; } + } /// @nodoc @@ -1268,6 +1318,9 @@ $Res call({ List changes, DateTime currentTimestamp }); + + + } /// @nodoc class __$MessageSyncResponseCopyWithImpl<$Res> @@ -1287,8 +1340,10 @@ as DateTime, )); } + } + /// @nodoc mixin _$ChatRealtimeJoinResponse { @@ -1302,6 +1357,7 @@ $ChatRealtimeJoinResponseCopyWith get copyWith => _$Ch /// Serializes this ChatRealtimeJoinResponse to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is ChatRealtimeJoinResponse&&(identical(other.provider, provider) || other.provider == provider)&&(identical(other.endpoint, endpoint) || other.endpoint == endpoint)&&(identical(other.token, token) || other.token == token)&&(identical(other.callId, callId) || other.callId == callId)&&(identical(other.roomName, roomName) || other.roomName == roomName)&&(identical(other.isAdmin, isAdmin) || other.isAdmin == isAdmin)&&const DeepCollectionEquality().equals(other.participants, participants)); @@ -1316,6 +1372,7 @@ String toString() { return 'ChatRealtimeJoinResponse(provider: $provider, endpoint: $endpoint, token: $token, callId: $callId, roomName: $roomName, isAdmin: $isAdmin, participants: $participants)'; } + } /// @nodoc @@ -1326,6 +1383,9 @@ $Res call({ String provider, String endpoint, String token, String callId, String roomName, bool isAdmin, List participants }); + + + } /// @nodoc class _$ChatRealtimeJoinResponseCopyWithImpl<$Res> @@ -1352,6 +1412,7 @@ as List, } + /// @nodoc @JsonSerializable() @@ -1372,6 +1433,7 @@ class _ChatRealtimeJoinResponse implements ChatRealtimeJoinResponse { return EqualUnmodifiableListView(_participants); } + /// Create a copy of ChatRealtimeJoinResponse /// with the given fields replaced by the non-null parameter values. @override @JsonKey(includeFromJson: false, includeToJson: false) @@ -1397,6 +1459,7 @@ String toString() { return 'ChatRealtimeJoinResponse(provider: $provider, endpoint: $endpoint, token: $token, callId: $callId, roomName: $roomName, isAdmin: $isAdmin, participants: $participants)'; } + } /// @nodoc @@ -1407,6 +1470,9 @@ $Res call({ String provider, String endpoint, String token, String callId, String roomName, bool isAdmin, List participants }); + + + } /// @nodoc class __$ChatRealtimeJoinResponseCopyWithImpl<$Res> @@ -1431,8 +1497,10 @@ as List, )); } + } + /// @nodoc mixin _$CallParticipant { @@ -1446,6 +1514,7 @@ $CallParticipantCopyWith get copyWith => _$CallParticipantCopyW /// Serializes this CallParticipant to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is CallParticipant&&(identical(other.identity, identity) || other.identity == identity)&&(identical(other.name, name) || other.name == name)&&(identical(other.joinedAt, joinedAt) || other.joinedAt == joinedAt)&&(identical(other.accountId, accountId) || other.accountId == accountId)&&(identical(other.profile, profile) || other.profile == profile)); @@ -1460,6 +1529,7 @@ String toString() { return 'CallParticipant(identity: $identity, name: $name, joinedAt: $joinedAt, accountId: $accountId, profile: $profile)'; } + } /// @nodoc @@ -1470,6 +1540,7 @@ $Res call({ String identity, String name, DateTime joinedAt, String? accountId, SnChatMember? profile }); + $SnChatMemberCopyWith<$Res>? get profile; } @@ -1508,6 +1579,7 @@ $SnChatMemberCopyWith<$Res>? get profile { } } + /// @nodoc @JsonSerializable() @@ -1546,6 +1618,7 @@ String toString() { return 'CallParticipant(identity: $identity, name: $name, joinedAt: $joinedAt, accountId: $accountId, profile: $profile)'; } + } /// @nodoc @@ -1556,6 +1629,7 @@ $Res call({ String identity, String name, DateTime joinedAt, String? accountId, SnChatMember? profile }); + @override $SnChatMemberCopyWith<$Res>? get profile; } @@ -1595,6 +1669,7 @@ $SnChatMemberCopyWith<$Res>? get profile { } } + /// @nodoc mixin _$SnRealtimeCall { @@ -1608,6 +1683,7 @@ $SnRealtimeCallCopyWith get copyWith => _$SnRealtimeCallCopyWith /// Serializes this SnRealtimeCall to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnRealtimeCall&&(identical(other.id, id) || other.id == id)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)&&(identical(other.endedAt, endedAt) || other.endedAt == endedAt)&&(identical(other.senderId, senderId) || other.senderId == senderId)&&(identical(other.sender, sender) || other.sender == sender)&&(identical(other.roomId, roomId) || other.roomId == roomId)&&(identical(other.room, room) || other.room == room)&&const DeepCollectionEquality().equals(other.upstreamConfig, upstreamConfig)&&(identical(other.providerName, providerName) || other.providerName == providerName)&&(identical(other.sessionId, sessionId) || other.sessionId == sessionId)); @@ -1622,6 +1698,7 @@ String toString() { return 'SnRealtimeCall(id: $id, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt, endedAt: $endedAt, senderId: $senderId, sender: $sender, roomId: $roomId, room: $room, upstreamConfig: $upstreamConfig, providerName: $providerName, sessionId: $sessionId)'; } + } /// @nodoc @@ -1632,6 +1709,7 @@ $Res call({ String id, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt, DateTime? endedAt, String senderId, SnChatMember sender, String roomId, SnChatRoom room, Map upstreamConfig, String? providerName, String? sessionId }); + $SnChatMemberCopyWith<$Res> get sender;$SnChatRoomCopyWith<$Res> get room; } @@ -1683,6 +1761,7 @@ $SnChatRoomCopyWith<$Res> get room { } } + /// @nodoc @JsonSerializable() @@ -1734,6 +1813,7 @@ String toString() { return 'SnRealtimeCall(id: $id, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt, endedAt: $endedAt, senderId: $senderId, sender: $sender, roomId: $roomId, room: $room, upstreamConfig: $upstreamConfig, providerName: $providerName, sessionId: $sessionId)'; } + } /// @nodoc @@ -1744,6 +1824,7 @@ $Res call({ String id, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt, DateTime? endedAt, String senderId, SnChatMember sender, String roomId, SnChatRoom room, Map upstreamConfig, String? providerName, String? sessionId }); + @override $SnChatMemberCopyWith<$Res> get sender;@override $SnChatRoomCopyWith<$Res> get room; } diff --git a/lib/models/embed.freezed.dart b/lib/models/embed.freezed.dart index b016202..42a0367 100644 --- a/lib/models/embed.freezed.dart +++ b/lib/models/embed.freezed.dart @@ -26,6 +26,7 @@ $SnEmbedLinkCopyWith get copyWith => _$SnEmbedLinkCopyWithImpl toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnEmbedLink&&(identical(other.type, type) || other.type == type)&&(identical(other.url, url) || other.url == url)&&(identical(other.title, title) || other.title == title)&&(identical(other.description, description) || other.description == description)&&(identical(other.imageUrl, imageUrl) || other.imageUrl == imageUrl)&&(identical(other.faviconUrl, faviconUrl) || other.faviconUrl == faviconUrl)&&(identical(other.siteName, siteName) || other.siteName == siteName)&&(identical(other.contentType, contentType) || other.contentType == contentType)&&(identical(other.author, author) || other.author == author)&&(identical(other.publishedDate, publishedDate) || other.publishedDate == publishedDate)); @@ -40,6 +41,7 @@ String toString() { return 'SnEmbedLink(type: $type, url: $url, title: $title, description: $description, imageUrl: $imageUrl, faviconUrl: $faviconUrl, siteName: $siteName, contentType: $contentType, author: $author, publishedDate: $publishedDate)'; } + } /// @nodoc @@ -50,6 +52,9 @@ $Res call({ @JsonKey(name: 'Type') String type,@JsonKey(name: 'Url') String url,@JsonKey(name: 'Title') String title,@JsonKey(name: 'Description') String? description,@JsonKey(name: 'ImageUrl') String? imageUrl,@JsonKey(name: 'FaviconUrl') String faviconUrl,@JsonKey(name: 'SiteName') String siteName,@JsonKey(name: 'ContentType') String? contentType,@JsonKey(name: 'Author') String? author,@JsonKey(name: 'PublishedDate') DateTime? publishedDate }); + + + } /// @nodoc class _$SnEmbedLinkCopyWithImpl<$Res> @@ -79,6 +84,7 @@ as DateTime?, } + /// @nodoc @JsonSerializable() @@ -122,6 +128,7 @@ String toString() { return 'SnEmbedLink(type: $type, url: $url, title: $title, description: $description, imageUrl: $imageUrl, faviconUrl: $faviconUrl, siteName: $siteName, contentType: $contentType, author: $author, publishedDate: $publishedDate)'; } + } /// @nodoc @@ -132,6 +139,9 @@ $Res call({ @JsonKey(name: 'Type') String type,@JsonKey(name: 'Url') String url,@JsonKey(name: 'Title') String title,@JsonKey(name: 'Description') String? description,@JsonKey(name: 'ImageUrl') String? imageUrl,@JsonKey(name: 'FaviconUrl') String faviconUrl,@JsonKey(name: 'SiteName') String siteName,@JsonKey(name: 'ContentType') String? contentType,@JsonKey(name: 'Author') String? author,@JsonKey(name: 'PublishedDate') DateTime? publishedDate }); + + + } /// @nodoc class __$SnEmbedLinkCopyWithImpl<$Res> @@ -159,8 +169,10 @@ as DateTime?, )); } + } + /// @nodoc mixin _$SnScrappedLink { @@ -174,6 +186,7 @@ $SnScrappedLinkCopyWith get copyWith => _$SnScrappedLinkCopyWith /// Serializes this SnScrappedLink to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnScrappedLink&&(identical(other.type, type) || other.type == type)&&(identical(other.url, url) || other.url == url)&&(identical(other.title, title) || other.title == title)&&(identical(other.description, description) || other.description == description)&&(identical(other.imageUrl, imageUrl) || other.imageUrl == imageUrl)&&(identical(other.faviconUrl, faviconUrl) || other.faviconUrl == faviconUrl)&&(identical(other.siteName, siteName) || other.siteName == siteName)&&(identical(other.contentType, contentType) || other.contentType == contentType)&&(identical(other.author, author) || other.author == author)&&(identical(other.publishedDate, publishedDate) || other.publishedDate == publishedDate)); @@ -188,6 +201,7 @@ String toString() { return 'SnScrappedLink(type: $type, url: $url, title: $title, description: $description, imageUrl: $imageUrl, faviconUrl: $faviconUrl, siteName: $siteName, contentType: $contentType, author: $author, publishedDate: $publishedDate)'; } + } /// @nodoc @@ -198,6 +212,9 @@ $Res call({ String type, String url, String title, String? description, String? imageUrl, String faviconUrl, String siteName, String? contentType, String? author, DateTime? publishedDate }); + + + } /// @nodoc class _$SnScrappedLinkCopyWithImpl<$Res> @@ -227,6 +244,7 @@ as DateTime?, } + /// @nodoc @JsonSerializable() @@ -270,6 +288,7 @@ String toString() { return 'SnScrappedLink(type: $type, url: $url, title: $title, description: $description, imageUrl: $imageUrl, faviconUrl: $faviconUrl, siteName: $siteName, contentType: $contentType, author: $author, publishedDate: $publishedDate)'; } + } /// @nodoc @@ -280,6 +299,9 @@ $Res call({ String type, String url, String title, String? description, String? imageUrl, String faviconUrl, String siteName, String? contentType, String? author, DateTime? publishedDate }); + + + } /// @nodoc class __$SnScrappedLinkCopyWithImpl<$Res> @@ -307,6 +329,7 @@ as DateTime?, )); } + } // dart format on diff --git a/lib/models/file.freezed.dart b/lib/models/file.freezed.dart index ca74c3e..4dcb7ad 100644 --- a/lib/models/file.freezed.dart +++ b/lib/models/file.freezed.dart @@ -26,6 +26,7 @@ $UniversalFileCopyWith get copyWith => _$UniversalFileCopyWithImp /// Serializes this UniversalFile to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is UniversalFile&&const DeepCollectionEquality().equals(other.data, data)&&(identical(other.type, type) || other.type == type)); @@ -40,6 +41,7 @@ String toString() { return 'UniversalFile(data: $data, type: $type)'; } + } /// @nodoc @@ -50,6 +52,9 @@ $Res call({ dynamic data, UniversalFileType type }); + + + } /// @nodoc class _$UniversalFileCopyWithImpl<$Res> @@ -71,6 +76,7 @@ as UniversalFileType, } + /// @nodoc @JsonSerializable() @@ -106,6 +112,7 @@ String toString() { return 'UniversalFile(data: $data, type: $type)'; } + } /// @nodoc @@ -116,6 +123,9 @@ $Res call({ dynamic data, UniversalFileType type }); + + + } /// @nodoc class __$UniversalFileCopyWithImpl<$Res> @@ -135,8 +145,10 @@ as UniversalFileType, )); } + } + /// @nodoc mixin _$SnCloudFile { @@ -150,6 +162,7 @@ $SnCloudFileCopyWith get copyWith => _$SnCloudFileCopyWithImpl toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnCloudFile&&(identical(other.id, id) || other.id == id)&&(identical(other.name, name) || other.name == name)&&(identical(other.description, description) || other.description == description)&&const DeepCollectionEquality().equals(other.fileMeta, fileMeta)&&const DeepCollectionEquality().equals(other.userMeta, userMeta)&&(identical(other.mimeType, mimeType) || other.mimeType == mimeType)&&(identical(other.hash, hash) || other.hash == hash)&&(identical(other.size, size) || other.size == size)&&(identical(other.uploadedAt, uploadedAt) || other.uploadedAt == uploadedAt)&&(identical(other.uploadedTo, uploadedTo) || other.uploadedTo == uploadedTo)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)); @@ -164,6 +177,7 @@ String toString() { return 'SnCloudFile(id: $id, name: $name, description: $description, fileMeta: $fileMeta, userMeta: $userMeta, mimeType: $mimeType, hash: $hash, size: $size, uploadedAt: $uploadedAt, uploadedTo: $uploadedTo, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -174,6 +188,9 @@ $Res call({ String id, String name, String? description, Map? fileMeta, Map? userMeta, String? mimeType, String? hash, int size, DateTime? uploadedAt, String? uploadedTo, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + + + } /// @nodoc class _$SnCloudFileCopyWithImpl<$Res> @@ -206,6 +223,7 @@ as DateTime?, } + /// @nodoc @JsonSerializable() @@ -268,6 +286,7 @@ String toString() { return 'SnCloudFile(id: $id, name: $name, description: $description, fileMeta: $fileMeta, userMeta: $userMeta, mimeType: $mimeType, hash: $hash, size: $size, uploadedAt: $uploadedAt, uploadedTo: $uploadedTo, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -278,6 +297,9 @@ $Res call({ String id, String name, String? description, Map? fileMeta, Map? userMeta, String? mimeType, String? hash, int size, DateTime? uploadedAt, String? uploadedTo, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + + + } /// @nodoc class __$SnCloudFileCopyWithImpl<$Res> @@ -308,6 +330,7 @@ as DateTime?, )); } + } // dart format on diff --git a/lib/models/post.dart b/lib/models/post.dart index 350c724..f0edd76 100644 --- a/lib/models/post.dart +++ b/lib/models/post.dart @@ -1,5 +1,7 @@ import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:island/models/file.dart'; +import 'package:island/models/post_category.dart'; +import 'package:island/models/post_tag.dart'; import 'package:island/models/user.dart'; part 'post.freezed.dart'; @@ -33,8 +35,8 @@ sealed class SnPost with _$SnPost { @Default(SnPublisher()) SnPublisher publisher, @Default({}) Map reactionsCount, @Default([]) List reactions, - @Default([]) List tags, - @Default([]) List categories, + @Default([]) List tags, + @Default([]) List categories, @Default([]) List collections, @Default(null) DateTime? createdAt, @Default(null) DateTime? updatedAt, diff --git a/lib/models/post.freezed.dart b/lib/models/post.freezed.dart index 4d9694b..d12f8c6 100644 --- a/lib/models/post.freezed.dart +++ b/lib/models/post.freezed.dart @@ -16,7 +16,7 @@ T _$identity(T value) => value; /// @nodoc mixin _$SnPost { - String get id; String? get title; String? get description; String? get language; DateTime? get editedAt; DateTime? get publishedAt; int get visibility; String? get content; int get type; Map? get meta; int get viewsUnique; int get viewsTotal; int get upvotes; int get downvotes; int get repliesCount; String? get threadedPostId; SnPost? get threadedPost; String? get repliedPostId; SnPost? get repliedPost; String? get forwardedPostId; SnPost? get forwardedPost; List get attachments; SnPublisher get publisher; Map get reactionsCount; List get reactions; List get tags; List get categories; List get collections; DateTime? get createdAt; DateTime? get updatedAt; DateTime? get deletedAt; bool get isTruncated; + String get id; String? get title; String? get description; String? get language; DateTime? get editedAt; DateTime? get publishedAt; int get visibility; String? get content; int get type; Map? get meta; int get viewsUnique; int get viewsTotal; int get upvotes; int get downvotes; int get repliesCount; String? get threadedPostId; SnPost? get threadedPost; String? get repliedPostId; SnPost? get repliedPost; String? get forwardedPostId; SnPost? get forwardedPost; List get attachments; SnPublisher get publisher; Map get reactionsCount; List get reactions; List get tags; List get categories; List get collections; DateTime? get createdAt; DateTime? get updatedAt; DateTime? get deletedAt; bool get isTruncated; /// Create a copy of SnPost /// with the given fields replaced by the non-null parameter values. @JsonKey(includeFromJson: false, includeToJson: false) @@ -26,6 +26,7 @@ $SnPostCopyWith get copyWith => _$SnPostCopyWithImpl(this as SnP /// Serializes this SnPost to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnPost&&(identical(other.id, id) || other.id == id)&&(identical(other.title, title) || other.title == title)&&(identical(other.description, description) || other.description == description)&&(identical(other.language, language) || other.language == language)&&(identical(other.editedAt, editedAt) || other.editedAt == editedAt)&&(identical(other.publishedAt, publishedAt) || other.publishedAt == publishedAt)&&(identical(other.visibility, visibility) || other.visibility == visibility)&&(identical(other.content, content) || other.content == content)&&(identical(other.type, type) || other.type == type)&&const DeepCollectionEquality().equals(other.meta, meta)&&(identical(other.viewsUnique, viewsUnique) || other.viewsUnique == viewsUnique)&&(identical(other.viewsTotal, viewsTotal) || other.viewsTotal == viewsTotal)&&(identical(other.upvotes, upvotes) || other.upvotes == upvotes)&&(identical(other.downvotes, downvotes) || other.downvotes == downvotes)&&(identical(other.repliesCount, repliesCount) || other.repliesCount == repliesCount)&&(identical(other.threadedPostId, threadedPostId) || other.threadedPostId == threadedPostId)&&(identical(other.threadedPost, threadedPost) || other.threadedPost == threadedPost)&&(identical(other.repliedPostId, repliedPostId) || other.repliedPostId == repliedPostId)&&(identical(other.repliedPost, repliedPost) || other.repliedPost == repliedPost)&&(identical(other.forwardedPostId, forwardedPostId) || other.forwardedPostId == forwardedPostId)&&(identical(other.forwardedPost, forwardedPost) || other.forwardedPost == forwardedPost)&&const DeepCollectionEquality().equals(other.attachments, attachments)&&(identical(other.publisher, publisher) || other.publisher == publisher)&&const DeepCollectionEquality().equals(other.reactionsCount, reactionsCount)&&const DeepCollectionEquality().equals(other.reactions, reactions)&&const DeepCollectionEquality().equals(other.tags, tags)&&const DeepCollectionEquality().equals(other.categories, categories)&&const DeepCollectionEquality().equals(other.collections, collections)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)&&(identical(other.isTruncated, isTruncated) || other.isTruncated == isTruncated)); @@ -40,6 +41,7 @@ String toString() { return 'SnPost(id: $id, title: $title, description: $description, language: $language, editedAt: $editedAt, publishedAt: $publishedAt, visibility: $visibility, content: $content, type: $type, meta: $meta, viewsUnique: $viewsUnique, viewsTotal: $viewsTotal, upvotes: $upvotes, downvotes: $downvotes, repliesCount: $repliesCount, threadedPostId: $threadedPostId, threadedPost: $threadedPost, repliedPostId: $repliedPostId, repliedPost: $repliedPost, forwardedPostId: $forwardedPostId, forwardedPost: $forwardedPost, attachments: $attachments, publisher: $publisher, reactionsCount: $reactionsCount, reactions: $reactions, tags: $tags, categories: $categories, collections: $collections, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt, isTruncated: $isTruncated)'; } + } /// @nodoc @@ -47,9 +49,10 @@ abstract mixin class $SnPostCopyWith<$Res> { factory $SnPostCopyWith(SnPost value, $Res Function(SnPost) _then) = _$SnPostCopyWithImpl; @useResult $Res call({ - String id, String? title, String? description, String? language, DateTime? editedAt, DateTime? publishedAt, int visibility, String? content, int type, Map? meta, int viewsUnique, int viewsTotal, int upvotes, int downvotes, int repliesCount, String? threadedPostId, SnPost? threadedPost, String? repliedPostId, SnPost? repliedPost, String? forwardedPostId, SnPost? forwardedPost, List attachments, SnPublisher publisher, Map reactionsCount, List reactions, List tags, List categories, List collections, DateTime? createdAt, DateTime? updatedAt, DateTime? deletedAt, bool isTruncated + String id, String? title, String? description, String? language, DateTime? editedAt, DateTime? publishedAt, int visibility, String? content, int type, Map? meta, int viewsUnique, int viewsTotal, int upvotes, int downvotes, int repliesCount, String? threadedPostId, SnPost? threadedPost, String? repliedPostId, SnPost? repliedPost, String? forwardedPostId, SnPost? forwardedPost, List attachments, SnPublisher publisher, Map reactionsCount, List reactions, List tags, List categories, List collections, DateTime? createdAt, DateTime? updatedAt, DateTime? deletedAt, bool isTruncated }); + $SnPostCopyWith<$Res>? get threadedPost;$SnPostCopyWith<$Res>? get repliedPost;$SnPostCopyWith<$Res>? get forwardedPost;$SnPublisherCopyWith<$Res> get publisher; } @@ -91,8 +94,8 @@ as List,publisher: null == publisher ? _self.publisher : publisher as SnPublisher,reactionsCount: null == reactionsCount ? _self.reactionsCount : reactionsCount // ignore: cast_nullable_to_non_nullable as Map,reactions: null == reactions ? _self.reactions : reactions // ignore: cast_nullable_to_non_nullable as List,tags: null == tags ? _self.tags : tags // ignore: cast_nullable_to_non_nullable -as List,categories: null == categories ? _self.categories : categories // ignore: cast_nullable_to_non_nullable -as List,collections: null == collections ? _self.collections : collections // ignore: cast_nullable_to_non_nullable +as List,categories: null == categories ? _self.categories : categories // ignore: cast_nullable_to_non_nullable +as List,collections: null == collections ? _self.collections : collections // ignore: cast_nullable_to_non_nullable as List,createdAt: freezed == createdAt ? _self.createdAt : createdAt // ignore: cast_nullable_to_non_nullable as DateTime?,updatedAt: freezed == updatedAt ? _self.updatedAt : updatedAt // ignore: cast_nullable_to_non_nullable as DateTime?,deletedAt: freezed == deletedAt ? _self.deletedAt : deletedAt // ignore: cast_nullable_to_non_nullable @@ -148,11 +151,12 @@ $SnPublisherCopyWith<$Res> get publisher { } } + /// @nodoc @JsonSerializable() class _SnPost implements SnPost { - const _SnPost({required this.id, this.title, this.description, this.language, this.editedAt, this.publishedAt = null, this.visibility = 0, this.content, this.type = 0, final Map? meta, this.viewsUnique = 0, this.viewsTotal = 0, this.upvotes = 0, this.downvotes = 0, this.repliesCount = 0, this.threadedPostId, this.threadedPost, this.repliedPostId, this.repliedPost, this.forwardedPostId, this.forwardedPost, final List attachments = const [], this.publisher = const SnPublisher(), final Map reactionsCount = const {}, final List reactions = const [], final List tags = const [], final List categories = const [], final List collections = const [], this.createdAt = null, this.updatedAt = null, this.deletedAt, this.isTruncated = false}): _meta = meta,_attachments = attachments,_reactionsCount = reactionsCount,_reactions = reactions,_tags = tags,_categories = categories,_collections = collections; + const _SnPost({required this.id, this.title, this.description, this.language, this.editedAt, this.publishedAt = null, this.visibility = 0, this.content, this.type = 0, final Map? meta, this.viewsUnique = 0, this.viewsTotal = 0, this.upvotes = 0, this.downvotes = 0, this.repliesCount = 0, this.threadedPostId, this.threadedPost, this.repliedPostId, this.repliedPost, this.forwardedPostId, this.forwardedPost, final List attachments = const [], this.publisher = const SnPublisher(), final Map reactionsCount = const {}, final List reactions = const [], final List tags = const [], final List categories = const [], final List collections = const [], this.createdAt = null, this.updatedAt = null, this.deletedAt, this.isTruncated = false}): _meta = meta,_attachments = attachments,_reactionsCount = reactionsCount,_reactions = reactions,_tags = tags,_categories = categories,_collections = collections; factory _SnPost.fromJson(Map json) => _$SnPostFromJson(json); @override final String id; @@ -206,15 +210,15 @@ class _SnPost implements SnPost { return EqualUnmodifiableListView(_reactions); } - final List _tags; -@override@JsonKey() List get tags { + final List _tags; +@override@JsonKey() List get tags { if (_tags is EqualUnmodifiableListView) return _tags; // ignore: implicit_dynamic_type return EqualUnmodifiableListView(_tags); } - final List _categories; -@override@JsonKey() List get categories { + final List _categories; +@override@JsonKey() List get categories { if (_categories is EqualUnmodifiableListView) return _categories; // ignore: implicit_dynamic_type return EqualUnmodifiableListView(_categories); @@ -257,6 +261,7 @@ String toString() { return 'SnPost(id: $id, title: $title, description: $description, language: $language, editedAt: $editedAt, publishedAt: $publishedAt, visibility: $visibility, content: $content, type: $type, meta: $meta, viewsUnique: $viewsUnique, viewsTotal: $viewsTotal, upvotes: $upvotes, downvotes: $downvotes, repliesCount: $repliesCount, threadedPostId: $threadedPostId, threadedPost: $threadedPost, repliedPostId: $repliedPostId, repliedPost: $repliedPost, forwardedPostId: $forwardedPostId, forwardedPost: $forwardedPost, attachments: $attachments, publisher: $publisher, reactionsCount: $reactionsCount, reactions: $reactions, tags: $tags, categories: $categories, collections: $collections, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt, isTruncated: $isTruncated)'; } + } /// @nodoc @@ -264,9 +269,10 @@ abstract mixin class _$SnPostCopyWith<$Res> implements $SnPostCopyWith<$Res> { factory _$SnPostCopyWith(_SnPost value, $Res Function(_SnPost) _then) = __$SnPostCopyWithImpl; @override @useResult $Res call({ - String id, String? title, String? description, String? language, DateTime? editedAt, DateTime? publishedAt, int visibility, String? content, int type, Map? meta, int viewsUnique, int viewsTotal, int upvotes, int downvotes, int repliesCount, String? threadedPostId, SnPost? threadedPost, String? repliedPostId, SnPost? repliedPost, String? forwardedPostId, SnPost? forwardedPost, List attachments, SnPublisher publisher, Map reactionsCount, List reactions, List tags, List categories, List collections, DateTime? createdAt, DateTime? updatedAt, DateTime? deletedAt, bool isTruncated + String id, String? title, String? description, String? language, DateTime? editedAt, DateTime? publishedAt, int visibility, String? content, int type, Map? meta, int viewsUnique, int viewsTotal, int upvotes, int downvotes, int repliesCount, String? threadedPostId, SnPost? threadedPost, String? repliedPostId, SnPost? repliedPost, String? forwardedPostId, SnPost? forwardedPost, List attachments, SnPublisher publisher, Map reactionsCount, List reactions, List tags, List categories, List collections, DateTime? createdAt, DateTime? updatedAt, DateTime? deletedAt, bool isTruncated }); + @override $SnPostCopyWith<$Res>? get threadedPost;@override $SnPostCopyWith<$Res>? get repliedPost;@override $SnPostCopyWith<$Res>? get forwardedPost;@override $SnPublisherCopyWith<$Res> get publisher; } @@ -308,8 +314,8 @@ as List,publisher: null == publisher ? _self.publisher : publisher as SnPublisher,reactionsCount: null == reactionsCount ? _self._reactionsCount : reactionsCount // ignore: cast_nullable_to_non_nullable as Map,reactions: null == reactions ? _self._reactions : reactions // ignore: cast_nullable_to_non_nullable as List,tags: null == tags ? _self._tags : tags // ignore: cast_nullable_to_non_nullable -as List,categories: null == categories ? _self._categories : categories // ignore: cast_nullable_to_non_nullable -as List,collections: null == collections ? _self._collections : collections // ignore: cast_nullable_to_non_nullable +as List,categories: null == categories ? _self._categories : categories // ignore: cast_nullable_to_non_nullable +as List,collections: null == collections ? _self._collections : collections // ignore: cast_nullable_to_non_nullable as List,createdAt: freezed == createdAt ? _self.createdAt : createdAt // ignore: cast_nullable_to_non_nullable as DateTime?,updatedAt: freezed == updatedAt ? _self.updatedAt : updatedAt // ignore: cast_nullable_to_non_nullable as DateTime?,deletedAt: freezed == deletedAt ? _self.deletedAt : deletedAt // ignore: cast_nullable_to_non_nullable @@ -366,6 +372,7 @@ $SnPublisherCopyWith<$Res> get publisher { } } + /// @nodoc mixin _$SnPublisher { @@ -379,6 +386,7 @@ $SnPublisherCopyWith get copyWith => _$SnPublisherCopyWithImpl toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnPublisher&&(identical(other.id, id) || other.id == id)&&(identical(other.type, type) || other.type == type)&&(identical(other.name, name) || other.name == name)&&(identical(other.nick, nick) || other.nick == nick)&&(identical(other.bio, bio) || other.bio == bio)&&(identical(other.picture, picture) || other.picture == picture)&&(identical(other.background, background) || other.background == background)&&(identical(other.account, account) || other.account == account)&&(identical(other.accountId, accountId) || other.accountId == accountId)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)&&(identical(other.realmId, realmId) || other.realmId == realmId)&&(identical(other.verification, verification) || other.verification == verification)); @@ -393,6 +401,7 @@ String toString() { return 'SnPublisher(id: $id, type: $type, name: $name, nick: $nick, bio: $bio, picture: $picture, background: $background, account: $account, accountId: $accountId, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt, realmId: $realmId, verification: $verification)'; } + } /// @nodoc @@ -403,6 +412,7 @@ $Res call({ String id, int type, String name, String nick, String bio, SnCloudFile? picture, SnCloudFile? background, SnAccount? account, String? accountId, DateTime? createdAt, DateTime? updatedAt, DateTime? deletedAt, String? realmId, SnVerificationMark? verification }); + $SnCloudFileCopyWith<$Res>? get picture;$SnCloudFileCopyWith<$Res>? get background;$SnAccountCopyWith<$Res>? get account;$SnVerificationMarkCopyWith<$Res>? get verification; } @@ -486,6 +496,7 @@ $SnVerificationMarkCopyWith<$Res>? get verification { } } + /// @nodoc @JsonSerializable() @@ -533,6 +544,7 @@ String toString() { return 'SnPublisher(id: $id, type: $type, name: $name, nick: $nick, bio: $bio, picture: $picture, background: $background, account: $account, accountId: $accountId, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt, realmId: $realmId, verification: $verification)'; } + } /// @nodoc @@ -543,6 +555,7 @@ $Res call({ String id, int type, String name, String nick, String bio, SnCloudFile? picture, SnCloudFile? background, SnAccount? account, String? accountId, DateTime? createdAt, DateTime? updatedAt, DateTime? deletedAt, String? realmId, SnVerificationMark? verification }); + @override $SnCloudFileCopyWith<$Res>? get picture;@override $SnCloudFileCopyWith<$Res>? get background;@override $SnAccountCopyWith<$Res>? get account;@override $SnVerificationMarkCopyWith<$Res>? get verification; } @@ -627,6 +640,7 @@ $SnVerificationMarkCopyWith<$Res>? get verification { } } + /// @nodoc mixin _$SnPublisherStats { @@ -640,6 +654,7 @@ $SnPublisherStatsCopyWith get copyWith => _$SnPublisherStatsCo /// Serializes this SnPublisherStats to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnPublisherStats&&(identical(other.postsCreated, postsCreated) || other.postsCreated == postsCreated)&&(identical(other.stickerPacksCreated, stickerPacksCreated) || other.stickerPacksCreated == stickerPacksCreated)&&(identical(other.stickersCreated, stickersCreated) || other.stickersCreated == stickersCreated)&&(identical(other.upvoteReceived, upvoteReceived) || other.upvoteReceived == upvoteReceived)&&(identical(other.downvoteReceived, downvoteReceived) || other.downvoteReceived == downvoteReceived)); @@ -654,6 +669,7 @@ String toString() { return 'SnPublisherStats(postsCreated: $postsCreated, stickerPacksCreated: $stickerPacksCreated, stickersCreated: $stickersCreated, upvoteReceived: $upvoteReceived, downvoteReceived: $downvoteReceived)'; } + } /// @nodoc @@ -664,6 +680,9 @@ $Res call({ int postsCreated, int stickerPacksCreated, int stickersCreated, int upvoteReceived, int downvoteReceived }); + + + } /// @nodoc class _$SnPublisherStatsCopyWithImpl<$Res> @@ -688,6 +707,7 @@ as int, } + /// @nodoc @JsonSerializable() @@ -726,6 +746,7 @@ String toString() { return 'SnPublisherStats(postsCreated: $postsCreated, stickerPacksCreated: $stickerPacksCreated, stickersCreated: $stickersCreated, upvoteReceived: $upvoteReceived, downvoteReceived: $downvoteReceived)'; } + } /// @nodoc @@ -736,6 +757,9 @@ $Res call({ int postsCreated, int stickerPacksCreated, int stickersCreated, int upvoteReceived, int downvoteReceived }); + + + } /// @nodoc class __$SnPublisherStatsCopyWithImpl<$Res> @@ -758,8 +782,10 @@ as int, )); } + } + /// @nodoc mixin _$SnSubscriptionStatus { @@ -773,6 +799,7 @@ $SnSubscriptionStatusCopyWith get copyWith => _$SnSubscrip /// Serializes this SnSubscriptionStatus to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnSubscriptionStatus&&(identical(other.isSubscribed, isSubscribed) || other.isSubscribed == isSubscribed)&&(identical(other.publisherId, publisherId) || other.publisherId == publisherId)&&(identical(other.publisherName, publisherName) || other.publisherName == publisherName)); @@ -787,6 +814,7 @@ String toString() { return 'SnSubscriptionStatus(isSubscribed: $isSubscribed, publisherId: $publisherId, publisherName: $publisherName)'; } + } /// @nodoc @@ -797,6 +825,9 @@ $Res call({ bool isSubscribed, String publisherId, String publisherName }); + + + } /// @nodoc class _$SnSubscriptionStatusCopyWithImpl<$Res> @@ -819,6 +850,7 @@ as String, } + /// @nodoc @JsonSerializable() @@ -855,6 +887,7 @@ String toString() { return 'SnSubscriptionStatus(isSubscribed: $isSubscribed, publisherId: $publisherId, publisherName: $publisherName)'; } + } /// @nodoc @@ -865,6 +898,9 @@ $Res call({ bool isSubscribed, String publisherId, String publisherName }); + + + } /// @nodoc class __$SnSubscriptionStatusCopyWithImpl<$Res> @@ -885,6 +921,7 @@ as String, )); } + } /// @nodoc @@ -897,11 +934,14 @@ mixin _$ReactInfo { @pragma('vm:prefer-inline') $ReactInfoCopyWith get copyWith => _$ReactInfoCopyWithImpl(this as ReactInfo, _$identity); + + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is ReactInfo&&(identical(other.icon, icon) || other.icon == icon)&&(identical(other.attitude, attitude) || other.attitude == attitude)); } + @override int get hashCode => Object.hash(runtimeType,icon,attitude); @@ -910,6 +950,7 @@ String toString() { return 'ReactInfo(icon: $icon, attitude: $attitude)'; } + } /// @nodoc @@ -920,6 +961,9 @@ $Res call({ String icon, int attitude }); + + + } /// @nodoc class _$ReactInfoCopyWithImpl<$Res> @@ -941,8 +985,10 @@ as int, } + /// @nodoc + class _ReactInfo implements ReactInfo { const _ReactInfo({required this.icon, required this.attitude}); @@ -956,11 +1002,14 @@ class _ReactInfo implements ReactInfo { @pragma('vm:prefer-inline') _$ReactInfoCopyWith<_ReactInfo> get copyWith => __$ReactInfoCopyWithImpl<_ReactInfo>(this, _$identity); + + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is _ReactInfo&&(identical(other.icon, icon) || other.icon == icon)&&(identical(other.attitude, attitude) || other.attitude == attitude)); } + @override int get hashCode => Object.hash(runtimeType,icon,attitude); @@ -969,6 +1018,7 @@ String toString() { return 'ReactInfo(icon: $icon, attitude: $attitude)'; } + } /// @nodoc @@ -979,6 +1029,9 @@ $Res call({ String icon, int attitude }); + + + } /// @nodoc class __$ReactInfoCopyWithImpl<$Res> @@ -998,6 +1051,7 @@ as int, )); } + } // dart format on diff --git a/lib/models/post.g.dart b/lib/models/post.g.dart index 22b2304..afaee77 100644 --- a/lib/models/post.g.dart +++ b/lib/models/post.g.dart @@ -58,8 +58,16 @@ _SnPost _$SnPostFromJson(Map json) => _SnPost( ) ?? const {}, reactions: json['reactions'] as List? ?? const [], - tags: json['tags'] as List? ?? const [], - categories: json['categories'] as List? ?? const [], + tags: + (json['tags'] as List?) + ?.map((e) => PostTag.fromJson(e as Map)) + .toList() ?? + const [], + categories: + (json['categories'] as List?) + ?.map((e) => PostCategory.fromJson(e as Map)) + .toList() ?? + const [], collections: json['collections'] as List? ?? const [], createdAt: json['created_at'] == null @@ -102,8 +110,8 @@ Map _$SnPostToJson(_SnPost instance) => { 'publisher': instance.publisher.toJson(), 'reactions_count': instance.reactionsCount, 'reactions': instance.reactions, - 'tags': instance.tags, - 'categories': instance.categories, + 'tags': instance.tags.map((e) => e.toJson()).toList(), + 'categories': instance.categories.map((e) => e.toJson()).toList(), 'collections': instance.collections, 'created_at': instance.createdAt?.toIso8601String(), 'updated_at': instance.updatedAt?.toIso8601String(), diff --git a/lib/models/post_category.dart b/lib/models/post_category.dart new file mode 100644 index 0000000..aa14793 --- /dev/null +++ b/lib/models/post_category.dart @@ -0,0 +1,19 @@ + +import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:island/models/post.dart'; + +part 'post_category.freezed.dart'; +part 'post_category.g.dart'; + +@freezed +sealed class PostCategory with _$PostCategory { + const factory PostCategory({ + required String id, + required String slug, + String? name, + @Default([]) List posts, + }) = _PostCategory; + + factory PostCategory.fromJson(Map json) => + _$PostCategoryFromJson(json); +} diff --git a/lib/models/post_category.freezed.dart b/lib/models/post_category.freezed.dart new file mode 100644 index 0000000..853e631 --- /dev/null +++ b/lib/models/post_category.freezed.dart @@ -0,0 +1,163 @@ +// dart format width=80 +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark + +part of 'post_category.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +// dart format off +T _$identity(T value) => value; + +/// @nodoc +mixin _$PostCategory { + + String get id; String get slug; String? get name; List get posts; +/// Create a copy of PostCategory +/// with the given fields replaced by the non-null parameter values. +@JsonKey(includeFromJson: false, includeToJson: false) +@pragma('vm:prefer-inline') +$PostCategoryCopyWith get copyWith => _$PostCategoryCopyWithImpl(this as PostCategory, _$identity); + + /// Serializes this PostCategory to a JSON map. + Map toJson(); + + +@override +bool operator ==(Object other) { + return identical(this, other) || (other.runtimeType == runtimeType&&other is PostCategory&&(identical(other.id, id) || other.id == id)&&(identical(other.slug, slug) || other.slug == slug)&&(identical(other.name, name) || other.name == name)&&const DeepCollectionEquality().equals(other.posts, posts)); +} + +@JsonKey(includeFromJson: false, includeToJson: false) +@override +int get hashCode => Object.hash(runtimeType,id,slug,name,const DeepCollectionEquality().hash(posts)); + +@override +String toString() { + return 'PostCategory(id: $id, slug: $slug, name: $name, posts: $posts)'; +} + + +} + +/// @nodoc +abstract mixin class $PostCategoryCopyWith<$Res> { + factory $PostCategoryCopyWith(PostCategory value, $Res Function(PostCategory) _then) = _$PostCategoryCopyWithImpl; +@useResult +$Res call({ + String id, String slug, String? name, List posts +}); + + + + +} +/// @nodoc +class _$PostCategoryCopyWithImpl<$Res> + implements $PostCategoryCopyWith<$Res> { + _$PostCategoryCopyWithImpl(this._self, this._then); + + final PostCategory _self; + final $Res Function(PostCategory) _then; + +/// Create a copy of PostCategory +/// with the given fields replaced by the non-null parameter values. +@pragma('vm:prefer-inline') @override $Res call({Object? id = null,Object? slug = null,Object? name = freezed,Object? posts = null,}) { + return _then(_self.copyWith( +id: null == id ? _self.id : id // ignore: cast_nullable_to_non_nullable +as String,slug: null == slug ? _self.slug : slug // ignore: cast_nullable_to_non_nullable +as String,name: freezed == name ? _self.name : name // ignore: cast_nullable_to_non_nullable +as String?,posts: null == posts ? _self.posts : posts // ignore: cast_nullable_to_non_nullable +as List, + )); +} + +} + + +/// @nodoc +@JsonSerializable() + +class _PostCategory implements PostCategory { + const _PostCategory({required this.id, required this.slug, this.name, final List posts = const []}): _posts = posts; + factory _PostCategory.fromJson(Map json) => _$PostCategoryFromJson(json); + +@override final String id; +@override final String slug; +@override final String? name; + final List _posts; +@override@JsonKey() List get posts { + if (_posts is EqualUnmodifiableListView) return _posts; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_posts); +} + + +/// Create a copy of PostCategory +/// with the given fields replaced by the non-null parameter values. +@override @JsonKey(includeFromJson: false, includeToJson: false) +@pragma('vm:prefer-inline') +_$PostCategoryCopyWith<_PostCategory> get copyWith => __$PostCategoryCopyWithImpl<_PostCategory>(this, _$identity); + +@override +Map toJson() { + return _$PostCategoryToJson(this, ); +} + +@override +bool operator ==(Object other) { + return identical(this, other) || (other.runtimeType == runtimeType&&other is _PostCategory&&(identical(other.id, id) || other.id == id)&&(identical(other.slug, slug) || other.slug == slug)&&(identical(other.name, name) || other.name == name)&&const DeepCollectionEquality().equals(other._posts, _posts)); +} + +@JsonKey(includeFromJson: false, includeToJson: false) +@override +int get hashCode => Object.hash(runtimeType,id,slug,name,const DeepCollectionEquality().hash(_posts)); + +@override +String toString() { + return 'PostCategory(id: $id, slug: $slug, name: $name, posts: $posts)'; +} + + +} + +/// @nodoc +abstract mixin class _$PostCategoryCopyWith<$Res> implements $PostCategoryCopyWith<$Res> { + factory _$PostCategoryCopyWith(_PostCategory value, $Res Function(_PostCategory) _then) = __$PostCategoryCopyWithImpl; +@override @useResult +$Res call({ + String id, String slug, String? name, List posts +}); + + + + +} +/// @nodoc +class __$PostCategoryCopyWithImpl<$Res> + implements _$PostCategoryCopyWith<$Res> { + __$PostCategoryCopyWithImpl(this._self, this._then); + + final _PostCategory _self; + final $Res Function(_PostCategory) _then; + +/// Create a copy of PostCategory +/// with the given fields replaced by the non-null parameter values. +@override @pragma('vm:prefer-inline') $Res call({Object? id = null,Object? slug = null,Object? name = freezed,Object? posts = null,}) { + return _then(_PostCategory( +id: null == id ? _self.id : id // ignore: cast_nullable_to_non_nullable +as String,slug: null == slug ? _self.slug : slug // ignore: cast_nullable_to_non_nullable +as String,name: freezed == name ? _self.name : name // ignore: cast_nullable_to_non_nullable +as String?,posts: null == posts ? _self._posts : posts // ignore: cast_nullable_to_non_nullable +as List, + )); +} + + +} + +// dart format on diff --git a/lib/models/post_category.g.dart b/lib/models/post_category.g.dart new file mode 100644 index 0000000..59ec591 --- /dev/null +++ b/lib/models/post_category.g.dart @@ -0,0 +1,27 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'post_category.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +_PostCategory _$PostCategoryFromJson(Map json) => + _PostCategory( + id: json['id'] as String, + slug: json['slug'] as String, + name: json['name'] as String?, + posts: + (json['posts'] as List?) + ?.map((e) => SnPost.fromJson(e as Map)) + .toList() ?? + const [], + ); + +Map _$PostCategoryToJson(_PostCategory instance) => + { + 'id': instance.id, + 'slug': instance.slug, + 'name': instance.name, + 'posts': instance.posts.map((e) => e.toJson()).toList(), + }; diff --git a/lib/models/post_tag.dart b/lib/models/post_tag.dart new file mode 100644 index 0000000..d667d1e --- /dev/null +++ b/lib/models/post_tag.dart @@ -0,0 +1,19 @@ + +import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:island/models/post.dart'; + +part 'post_tag.freezed.dart'; +part 'post_tag.g.dart'; + +@freezed +sealed class PostTag with _$PostTag { + const factory PostTag({ + required String id, + required String slug, + String? name, + @Default([]) List posts, + }) = _PostTag; + + factory PostTag.fromJson(Map json) => + _$PostTagFromJson(json); +} diff --git a/lib/models/post_tag.freezed.dart b/lib/models/post_tag.freezed.dart new file mode 100644 index 0000000..89edd08 --- /dev/null +++ b/lib/models/post_tag.freezed.dart @@ -0,0 +1,163 @@ +// dart format width=80 +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark + +part of 'post_tag.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +// dart format off +T _$identity(T value) => value; + +/// @nodoc +mixin _$PostTag { + + String get id; String get slug; String? get name; List get posts; +/// Create a copy of PostTag +/// with the given fields replaced by the non-null parameter values. +@JsonKey(includeFromJson: false, includeToJson: false) +@pragma('vm:prefer-inline') +$PostTagCopyWith get copyWith => _$PostTagCopyWithImpl(this as PostTag, _$identity); + + /// Serializes this PostTag to a JSON map. + Map toJson(); + + +@override +bool operator ==(Object other) { + return identical(this, other) || (other.runtimeType == runtimeType&&other is PostTag&&(identical(other.id, id) || other.id == id)&&(identical(other.slug, slug) || other.slug == slug)&&(identical(other.name, name) || other.name == name)&&const DeepCollectionEquality().equals(other.posts, posts)); +} + +@JsonKey(includeFromJson: false, includeToJson: false) +@override +int get hashCode => Object.hash(runtimeType,id,slug,name,const DeepCollectionEquality().hash(posts)); + +@override +String toString() { + return 'PostTag(id: $id, slug: $slug, name: $name, posts: $posts)'; +} + + +} + +/// @nodoc +abstract mixin class $PostTagCopyWith<$Res> { + factory $PostTagCopyWith(PostTag value, $Res Function(PostTag) _then) = _$PostTagCopyWithImpl; +@useResult +$Res call({ + String id, String slug, String? name, List posts +}); + + + + +} +/// @nodoc +class _$PostTagCopyWithImpl<$Res> + implements $PostTagCopyWith<$Res> { + _$PostTagCopyWithImpl(this._self, this._then); + + final PostTag _self; + final $Res Function(PostTag) _then; + +/// Create a copy of PostTag +/// with the given fields replaced by the non-null parameter values. +@pragma('vm:prefer-inline') @override $Res call({Object? id = null,Object? slug = null,Object? name = freezed,Object? posts = null,}) { + return _then(_self.copyWith( +id: null == id ? _self.id : id // ignore: cast_nullable_to_non_nullable +as String,slug: null == slug ? _self.slug : slug // ignore: cast_nullable_to_non_nullable +as String,name: freezed == name ? _self.name : name // ignore: cast_nullable_to_non_nullable +as String?,posts: null == posts ? _self.posts : posts // ignore: cast_nullable_to_non_nullable +as List, + )); +} + +} + + +/// @nodoc +@JsonSerializable() + +class _PostTag implements PostTag { + const _PostTag({required this.id, required this.slug, this.name, final List posts = const []}): _posts = posts; + factory _PostTag.fromJson(Map json) => _$PostTagFromJson(json); + +@override final String id; +@override final String slug; +@override final String? name; + final List _posts; +@override@JsonKey() List get posts { + if (_posts is EqualUnmodifiableListView) return _posts; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_posts); +} + + +/// Create a copy of PostTag +/// with the given fields replaced by the non-null parameter values. +@override @JsonKey(includeFromJson: false, includeToJson: false) +@pragma('vm:prefer-inline') +_$PostTagCopyWith<_PostTag> get copyWith => __$PostTagCopyWithImpl<_PostTag>(this, _$identity); + +@override +Map toJson() { + return _$PostTagToJson(this, ); +} + +@override +bool operator ==(Object other) { + return identical(this, other) || (other.runtimeType == runtimeType&&other is _PostTag&&(identical(other.id, id) || other.id == id)&&(identical(other.slug, slug) || other.slug == slug)&&(identical(other.name, name) || other.name == name)&&const DeepCollectionEquality().equals(other._posts, _posts)); +} + +@JsonKey(includeFromJson: false, includeToJson: false) +@override +int get hashCode => Object.hash(runtimeType,id,slug,name,const DeepCollectionEquality().hash(_posts)); + +@override +String toString() { + return 'PostTag(id: $id, slug: $slug, name: $name, posts: $posts)'; +} + + +} + +/// @nodoc +abstract mixin class _$PostTagCopyWith<$Res> implements $PostTagCopyWith<$Res> { + factory _$PostTagCopyWith(_PostTag value, $Res Function(_PostTag) _then) = __$PostTagCopyWithImpl; +@override @useResult +$Res call({ + String id, String slug, String? name, List posts +}); + + + + +} +/// @nodoc +class __$PostTagCopyWithImpl<$Res> + implements _$PostTagCopyWith<$Res> { + __$PostTagCopyWithImpl(this._self, this._then); + + final _PostTag _self; + final $Res Function(_PostTag) _then; + +/// Create a copy of PostTag +/// with the given fields replaced by the non-null parameter values. +@override @pragma('vm:prefer-inline') $Res call({Object? id = null,Object? slug = null,Object? name = freezed,Object? posts = null,}) { + return _then(_PostTag( +id: null == id ? _self.id : id // ignore: cast_nullable_to_non_nullable +as String,slug: null == slug ? _self.slug : slug // ignore: cast_nullable_to_non_nullable +as String,name: freezed == name ? _self.name : name // ignore: cast_nullable_to_non_nullable +as String?,posts: null == posts ? _self._posts : posts // ignore: cast_nullable_to_non_nullable +as List, + )); +} + + +} + +// dart format on diff --git a/lib/models/post_tag.g.dart b/lib/models/post_tag.g.dart new file mode 100644 index 0000000..95a02f9 --- /dev/null +++ b/lib/models/post_tag.g.dart @@ -0,0 +1,25 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'post_tag.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +_PostTag _$PostTagFromJson(Map json) => _PostTag( + id: json['id'] as String, + slug: json['slug'] as String, + name: json['name'] as String?, + posts: + (json['posts'] as List?) + ?.map((e) => SnPost.fromJson(e as Map)) + .toList() ?? + const [], +); + +Map _$PostTagToJson(_PostTag instance) => { + 'id': instance.id, + 'slug': instance.slug, + 'name': instance.name, + 'posts': instance.posts.map((e) => e.toJson()).toList(), +}; diff --git a/lib/models/realm.freezed.dart b/lib/models/realm.freezed.dart index 8540423..3b128db 100644 --- a/lib/models/realm.freezed.dart +++ b/lib/models/realm.freezed.dart @@ -26,6 +26,7 @@ $SnRealmCopyWith get copyWith => _$SnRealmCopyWithImpl(this as /// Serializes this SnRealm to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnRealm&&(identical(other.id, id) || other.id == id)&&(identical(other.slug, slug) || other.slug == slug)&&(identical(other.name, name) || other.name == name)&&(identical(other.description, description) || other.description == description)&&(identical(other.verifiedAs, verifiedAs) || other.verifiedAs == verifiedAs)&&(identical(other.verifiedAt, verifiedAt) || other.verifiedAt == verifiedAt)&&(identical(other.isCommunity, isCommunity) || other.isCommunity == isCommunity)&&(identical(other.isPublic, isPublic) || other.isPublic == isPublic)&&(identical(other.picture, picture) || other.picture == picture)&&(identical(other.background, background) || other.background == background)&&(identical(other.accountId, accountId) || other.accountId == accountId)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)); @@ -40,6 +41,7 @@ String toString() { return 'SnRealm(id: $id, slug: $slug, name: $name, description: $description, verifiedAs: $verifiedAs, verifiedAt: $verifiedAt, isCommunity: $isCommunity, isPublic: $isPublic, picture: $picture, background: $background, accountId: $accountId, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -50,6 +52,7 @@ $Res call({ String id, String slug, String name, String description, String? verifiedAs, DateTime? verifiedAt, bool isCommunity, bool isPublic, SnCloudFile? picture, SnCloudFile? background, String accountId, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + $SnCloudFileCopyWith<$Res>? get picture;$SnCloudFileCopyWith<$Res>? get background; } @@ -109,6 +112,7 @@ $SnCloudFileCopyWith<$Res>? get background { } } + /// @nodoc @JsonSerializable() @@ -156,6 +160,7 @@ String toString() { return 'SnRealm(id: $id, slug: $slug, name: $name, description: $description, verifiedAs: $verifiedAs, verifiedAt: $verifiedAt, isCommunity: $isCommunity, isPublic: $isPublic, picture: $picture, background: $background, accountId: $accountId, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -166,6 +171,7 @@ $Res call({ String id, String slug, String name, String description, String? verifiedAs, DateTime? verifiedAt, bool isCommunity, bool isPublic, SnCloudFile? picture, SnCloudFile? background, String accountId, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + @override $SnCloudFileCopyWith<$Res>? get picture;@override $SnCloudFileCopyWith<$Res>? get background; } @@ -226,6 +232,7 @@ $SnCloudFileCopyWith<$Res>? get background { } } + /// @nodoc mixin _$SnRealmMember { @@ -239,6 +246,7 @@ $SnRealmMemberCopyWith get copyWith => _$SnRealmMemberCopyWithImp /// Serializes this SnRealmMember to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnRealmMember&&(identical(other.realmId, realmId) || other.realmId == realmId)&&(identical(other.realm, realm) || other.realm == realm)&&(identical(other.accountId, accountId) || other.accountId == accountId)&&(identical(other.account, account) || other.account == account)&&(identical(other.role, role) || other.role == role)&&(identical(other.joinedAt, joinedAt) || other.joinedAt == joinedAt)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)); @@ -253,6 +261,7 @@ String toString() { return 'SnRealmMember(realmId: $realmId, realm: $realm, accountId: $accountId, account: $account, role: $role, joinedAt: $joinedAt, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -263,6 +272,7 @@ $Res call({ String realmId, SnRealm? realm, String accountId, SnAccount? account, int role, DateTime? joinedAt, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + $SnRealmCopyWith<$Res>? get realm;$SnAccountCopyWith<$Res>? get account; } @@ -317,6 +327,7 @@ $SnAccountCopyWith<$Res>? get account { } } + /// @nodoc @JsonSerializable() @@ -359,6 +370,7 @@ String toString() { return 'SnRealmMember(realmId: $realmId, realm: $realm, accountId: $accountId, account: $account, role: $role, joinedAt: $joinedAt, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -369,6 +381,7 @@ $Res call({ String realmId, SnRealm? realm, String accountId, SnAccount? account, int role, DateTime? joinedAt, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + @override $SnRealmCopyWith<$Res>? get realm;@override $SnAccountCopyWith<$Res>? get account; } diff --git a/lib/models/relationship.freezed.dart b/lib/models/relationship.freezed.dart index edecf92..3225593 100644 --- a/lib/models/relationship.freezed.dart +++ b/lib/models/relationship.freezed.dart @@ -26,6 +26,7 @@ $SnRelationshipCopyWith get copyWith => _$SnRelationshipCopyWith /// Serializes this SnRelationship to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnRelationship&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)&&(identical(other.accountId, accountId) || other.accountId == accountId)&&(identical(other.account, account) || other.account == account)&&(identical(other.relatedId, relatedId) || other.relatedId == relatedId)&&(identical(other.related, related) || other.related == related)&&(identical(other.expiredAt, expiredAt) || other.expiredAt == expiredAt)&&(identical(other.status, status) || other.status == status)); @@ -40,6 +41,7 @@ String toString() { return 'SnRelationship(createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt, accountId: $accountId, account: $account, relatedId: $relatedId, related: $related, expiredAt: $expiredAt, status: $status)'; } + } /// @nodoc @@ -50,6 +52,7 @@ $Res call({ DateTime? createdAt, DateTime? updatedAt, DateTime? deletedAt, String accountId, SnAccount account, String relatedId, SnAccount related, DateTime? expiredAt, int status }); + $SnAccountCopyWith<$Res> get account;$SnAccountCopyWith<$Res> get related; } @@ -98,6 +101,7 @@ $SnAccountCopyWith<$Res> get related { } } + /// @nodoc @JsonSerializable() @@ -140,6 +144,7 @@ String toString() { return 'SnRelationship(createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt, accountId: $accountId, account: $account, relatedId: $relatedId, related: $related, expiredAt: $expiredAt, status: $status)'; } + } /// @nodoc @@ -150,6 +155,7 @@ $Res call({ DateTime? createdAt, DateTime? updatedAt, DateTime? deletedAt, String accountId, SnAccount account, String relatedId, SnAccount related, DateTime? expiredAt, int status }); + @override $SnAccountCopyWith<$Res> get account;@override $SnAccountCopyWith<$Res> get related; } diff --git a/lib/models/sticker.freezed.dart b/lib/models/sticker.freezed.dart index 7958fa8..70ca609 100644 --- a/lib/models/sticker.freezed.dart +++ b/lib/models/sticker.freezed.dart @@ -26,6 +26,7 @@ $SnStickerCopyWith get copyWith => _$SnStickerCopyWithImpl /// Serializes this SnSticker to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnSticker&&(identical(other.id, id) || other.id == id)&&(identical(other.slug, slug) || other.slug == slug)&&(identical(other.imageId, imageId) || other.imageId == imageId)&&(identical(other.image, image) || other.image == image)&&(identical(other.packId, packId) || other.packId == packId)&&(identical(other.pack, pack) || other.pack == pack)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)); @@ -40,6 +41,7 @@ String toString() { return 'SnSticker(id: $id, slug: $slug, imageId: $imageId, image: $image, packId: $packId, pack: $pack, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -50,6 +52,7 @@ $Res call({ String id, String slug, String imageId, SnCloudFile image, String packId, SnStickerPack? pack, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + $SnCloudFileCopyWith<$Res> get image;$SnStickerPackCopyWith<$Res>? get pack; } @@ -101,6 +104,7 @@ $SnStickerPackCopyWith<$Res>? get pack { } } + /// @nodoc @JsonSerializable() @@ -143,6 +147,7 @@ String toString() { return 'SnSticker(id: $id, slug: $slug, imageId: $imageId, image: $image, packId: $packId, pack: $pack, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -153,6 +158,7 @@ $Res call({ String id, String slug, String imageId, SnCloudFile image, String packId, SnStickerPack? pack, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + @override $SnCloudFileCopyWith<$Res> get image;@override $SnStickerPackCopyWith<$Res>? get pack; } @@ -205,6 +211,7 @@ $SnStickerPackCopyWith<$Res>? get pack { } } + /// @nodoc mixin _$SnStickerPack { @@ -218,6 +225,7 @@ $SnStickerPackCopyWith get copyWith => _$SnStickerPackCopyWithImp /// Serializes this SnStickerPack to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnStickerPack&&(identical(other.id, id) || other.id == id)&&(identical(other.name, name) || other.name == name)&&(identical(other.description, description) || other.description == description)&&(identical(other.prefix, prefix) || other.prefix == prefix)&&(identical(other.publisherId, publisherId) || other.publisherId == publisherId)&&(identical(other.publisher, publisher) || other.publisher == publisher)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)); @@ -232,6 +240,7 @@ String toString() { return 'SnStickerPack(id: $id, name: $name, description: $description, prefix: $prefix, publisherId: $publisherId, publisher: $publisher, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -242,6 +251,7 @@ $Res call({ String id, String name, String description, String prefix, String publisherId, SnPublisher? publisher, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + $SnPublisherCopyWith<$Res>? get publisher; } @@ -284,6 +294,7 @@ $SnPublisherCopyWith<$Res>? get publisher { } } + /// @nodoc @JsonSerializable() @@ -326,6 +337,7 @@ String toString() { return 'SnStickerPack(id: $id, name: $name, description: $description, prefix: $prefix, publisherId: $publisherId, publisher: $publisher, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -336,6 +348,7 @@ $Res call({ String id, String name, String description, String prefix, String publisherId, SnPublisher? publisher, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + @override $SnPublisherCopyWith<$Res>? get publisher; } diff --git a/lib/models/user.freezed.dart b/lib/models/user.freezed.dart index 39b71eb..9696eb7 100644 --- a/lib/models/user.freezed.dart +++ b/lib/models/user.freezed.dart @@ -26,6 +26,7 @@ $SnAccountCopyWith get copyWith => _$SnAccountCopyWithImpl /// Serializes this SnAccount to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnAccount&&(identical(other.id, id) || other.id == id)&&(identical(other.name, name) || other.name == name)&&(identical(other.nick, nick) || other.nick == nick)&&(identical(other.language, language) || other.language == language)&&(identical(other.isSuperuser, isSuperuser) || other.isSuperuser == isSuperuser)&&(identical(other.profile, profile) || other.profile == profile)&&const DeepCollectionEquality().equals(other.badges, badges)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)); @@ -40,6 +41,7 @@ String toString() { return 'SnAccount(id: $id, name: $name, nick: $nick, language: $language, isSuperuser: $isSuperuser, profile: $profile, badges: $badges, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -50,6 +52,7 @@ $Res call({ String id, String name, String nick, String language, bool isSuperuser, SnAccountProfile profile, List badges, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + $SnAccountProfileCopyWith<$Res> get profile; } @@ -90,6 +93,7 @@ $SnAccountProfileCopyWith<$Res> get profile { } } + /// @nodoc @JsonSerializable() @@ -139,6 +143,7 @@ String toString() { return 'SnAccount(id: $id, name: $name, nick: $nick, language: $language, isSuperuser: $isSuperuser, profile: $profile, badges: $badges, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -149,6 +154,7 @@ $Res call({ String id, String name, String nick, String language, bool isSuperuser, SnAccountProfile profile, List badges, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + @override $SnAccountProfileCopyWith<$Res> get profile; } @@ -190,6 +196,7 @@ $SnAccountProfileCopyWith<$Res> get profile { } } + /// @nodoc mixin _$SnAccountProfile { @@ -203,6 +210,7 @@ $SnAccountProfileCopyWith get copyWith => _$SnAccountProfileCo /// Serializes this SnAccountProfile to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnAccountProfile&&(identical(other.id, id) || other.id == id)&&(identical(other.firstName, firstName) || other.firstName == firstName)&&(identical(other.middleName, middleName) || other.middleName == middleName)&&(identical(other.lastName, lastName) || other.lastName == lastName)&&(identical(other.bio, bio) || other.bio == bio)&&(identical(other.gender, gender) || other.gender == gender)&&(identical(other.pronouns, pronouns) || other.pronouns == pronouns)&&(identical(other.location, location) || other.location == location)&&(identical(other.timeZone, timeZone) || other.timeZone == timeZone)&&(identical(other.birthday, birthday) || other.birthday == birthday)&&(identical(other.lastSeenAt, lastSeenAt) || other.lastSeenAt == lastSeenAt)&&(identical(other.activeBadge, activeBadge) || other.activeBadge == activeBadge)&&(identical(other.experience, experience) || other.experience == experience)&&(identical(other.level, level) || other.level == level)&&(identical(other.levelingProgress, levelingProgress) || other.levelingProgress == levelingProgress)&&(identical(other.picture, picture) || other.picture == picture)&&(identical(other.background, background) || other.background == background)&&(identical(other.verification, verification) || other.verification == verification)&&(identical(other.stellarMembership, stellarMembership) || other.stellarMembership == stellarMembership)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)); @@ -217,6 +225,7 @@ String toString() { return 'SnAccountProfile(id: $id, firstName: $firstName, middleName: $middleName, lastName: $lastName, bio: $bio, gender: $gender, pronouns: $pronouns, location: $location, timeZone: $timeZone, birthday: $birthday, lastSeenAt: $lastSeenAt, activeBadge: $activeBadge, experience: $experience, level: $level, levelingProgress: $levelingProgress, picture: $picture, background: $background, verification: $verification, stellarMembership: $stellarMembership, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -227,6 +236,7 @@ $Res call({ String id, String firstName, String middleName, String lastName, String bio, String gender, String pronouns, String location, String timeZone, DateTime? birthday, DateTime? lastSeenAt, SnAccountBadge? activeBadge, int experience, int level, double levelingProgress, SnCloudFile? picture, SnCloudFile? background, SnVerificationMark? verification, SnWalletSubscriptionRef? stellarMembership, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + $SnAccountBadgeCopyWith<$Res>? get activeBadge;$SnCloudFileCopyWith<$Res>? get picture;$SnCloudFileCopyWith<$Res>? get background;$SnVerificationMarkCopyWith<$Res>? get verification;$SnWalletSubscriptionRefCopyWith<$Res>? get stellarMembership; } @@ -330,6 +340,7 @@ $SnWalletSubscriptionRefCopyWith<$Res>? get stellarMembership { } } + /// @nodoc @JsonSerializable() @@ -385,6 +396,7 @@ String toString() { return 'SnAccountProfile(id: $id, firstName: $firstName, middleName: $middleName, lastName: $lastName, bio: $bio, gender: $gender, pronouns: $pronouns, location: $location, timeZone: $timeZone, birthday: $birthday, lastSeenAt: $lastSeenAt, activeBadge: $activeBadge, experience: $experience, level: $level, levelingProgress: $levelingProgress, picture: $picture, background: $background, verification: $verification, stellarMembership: $stellarMembership, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -395,6 +407,7 @@ $Res call({ String id, String firstName, String middleName, String lastName, String bio, String gender, String pronouns, String location, String timeZone, DateTime? birthday, DateTime? lastSeenAt, SnAccountBadge? activeBadge, int experience, int level, double levelingProgress, SnCloudFile? picture, SnCloudFile? background, SnVerificationMark? verification, SnWalletSubscriptionRef? stellarMembership, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + @override $SnAccountBadgeCopyWith<$Res>? get activeBadge;@override $SnCloudFileCopyWith<$Res>? get picture;@override $SnCloudFileCopyWith<$Res>? get background;@override $SnVerificationMarkCopyWith<$Res>? get verification;@override $SnWalletSubscriptionRefCopyWith<$Res>? get stellarMembership; } @@ -499,6 +512,7 @@ $SnWalletSubscriptionRefCopyWith<$Res>? get stellarMembership { } } + /// @nodoc mixin _$SnAccountStatus { @@ -512,6 +526,7 @@ $SnAccountStatusCopyWith get copyWith => _$SnAccountStatusCopyW /// Serializes this SnAccountStatus to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnAccountStatus&&(identical(other.id, id) || other.id == id)&&(identical(other.attitude, attitude) || other.attitude == attitude)&&(identical(other.isOnline, isOnline) || other.isOnline == isOnline)&&(identical(other.isInvisible, isInvisible) || other.isInvisible == isInvisible)&&(identical(other.isNotDisturb, isNotDisturb) || other.isNotDisturb == isNotDisturb)&&(identical(other.isCustomized, isCustomized) || other.isCustomized == isCustomized)&&(identical(other.label, label) || other.label == label)&&(identical(other.clearedAt, clearedAt) || other.clearedAt == clearedAt)&&(identical(other.accountId, accountId) || other.accountId == accountId)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)); @@ -526,6 +541,7 @@ String toString() { return 'SnAccountStatus(id: $id, attitude: $attitude, isOnline: $isOnline, isInvisible: $isInvisible, isNotDisturb: $isNotDisturb, isCustomized: $isCustomized, label: $label, clearedAt: $clearedAt, accountId: $accountId, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -536,6 +552,9 @@ $Res call({ String id, int attitude, bool isOnline, bool isInvisible, bool isNotDisturb, bool isCustomized, String label, DateTime? clearedAt, String accountId, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + + + } /// @nodoc class _$SnAccountStatusCopyWithImpl<$Res> @@ -567,6 +586,7 @@ as DateTime?, } + /// @nodoc @JsonSerializable() @@ -612,6 +632,7 @@ String toString() { return 'SnAccountStatus(id: $id, attitude: $attitude, isOnline: $isOnline, isInvisible: $isInvisible, isNotDisturb: $isNotDisturb, isCustomized: $isCustomized, label: $label, clearedAt: $clearedAt, accountId: $accountId, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -622,6 +643,9 @@ $Res call({ String id, int attitude, bool isOnline, bool isInvisible, bool isNotDisturb, bool isCustomized, String label, DateTime? clearedAt, String accountId, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + + + } /// @nodoc class __$SnAccountStatusCopyWithImpl<$Res> @@ -651,8 +675,10 @@ as DateTime?, )); } + } + /// @nodoc mixin _$SnAccountBadge { @@ -666,6 +692,7 @@ $SnAccountBadgeCopyWith get copyWith => _$SnAccountBadgeCopyWith /// Serializes this SnAccountBadge to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnAccountBadge&&(identical(other.id, id) || other.id == id)&&(identical(other.type, type) || other.type == type)&&(identical(other.label, label) || other.label == label)&&(identical(other.caption, caption) || other.caption == caption)&&const DeepCollectionEquality().equals(other.meta, meta)&&(identical(other.expiredAt, expiredAt) || other.expiredAt == expiredAt)&&(identical(other.accountId, accountId) || other.accountId == accountId)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.activatedAt, activatedAt) || other.activatedAt == activatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)); @@ -680,6 +707,7 @@ String toString() { return 'SnAccountBadge(id: $id, type: $type, label: $label, caption: $caption, meta: $meta, expiredAt: $expiredAt, accountId: $accountId, createdAt: $createdAt, updatedAt: $updatedAt, activatedAt: $activatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -690,6 +718,9 @@ $Res call({ String id, String type, String? label, String? caption, Map meta, DateTime? expiredAt, String accountId, DateTime createdAt, DateTime updatedAt, DateTime? activatedAt, DateTime? deletedAt }); + + + } /// @nodoc class _$SnAccountBadgeCopyWithImpl<$Res> @@ -720,6 +751,7 @@ as DateTime?, } + /// @nodoc @JsonSerializable() @@ -770,6 +802,7 @@ String toString() { return 'SnAccountBadge(id: $id, type: $type, label: $label, caption: $caption, meta: $meta, expiredAt: $expiredAt, accountId: $accountId, createdAt: $createdAt, updatedAt: $updatedAt, activatedAt: $activatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -780,6 +813,9 @@ $Res call({ String id, String type, String? label, String? caption, Map meta, DateTime? expiredAt, String accountId, DateTime createdAt, DateTime updatedAt, DateTime? activatedAt, DateTime? deletedAt }); + + + } /// @nodoc class __$SnAccountBadgeCopyWithImpl<$Res> @@ -808,8 +844,10 @@ as DateTime?, )); } + } + /// @nodoc mixin _$SnContactMethod { @@ -823,6 +861,7 @@ $SnContactMethodCopyWith get copyWith => _$SnContactMethodCopyW /// Serializes this SnContactMethod to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnContactMethod&&(identical(other.id, id) || other.id == id)&&(identical(other.type, type) || other.type == type)&&(identical(other.verifiedAt, verifiedAt) || other.verifiedAt == verifiedAt)&&(identical(other.isPrimary, isPrimary) || other.isPrimary == isPrimary)&&(identical(other.content, content) || other.content == content)&&(identical(other.accountId, accountId) || other.accountId == accountId)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)); @@ -837,6 +876,7 @@ String toString() { return 'SnContactMethod(id: $id, type: $type, verifiedAt: $verifiedAt, isPrimary: $isPrimary, content: $content, accountId: $accountId, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -847,6 +887,9 @@ $Res call({ String id, int type, DateTime? verifiedAt, bool isPrimary, String content, String accountId, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + + + } /// @nodoc class _$SnContactMethodCopyWithImpl<$Res> @@ -875,6 +918,7 @@ as DateTime?, } + /// @nodoc @JsonSerializable() @@ -917,6 +961,7 @@ String toString() { return 'SnContactMethod(id: $id, type: $type, verifiedAt: $verifiedAt, isPrimary: $isPrimary, content: $content, accountId: $accountId, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -927,6 +972,9 @@ $Res call({ String id, int type, DateTime? verifiedAt, bool isPrimary, String content, String accountId, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + + + } /// @nodoc class __$SnContactMethodCopyWithImpl<$Res> @@ -953,8 +1001,10 @@ as DateTime?, )); } + } + /// @nodoc mixin _$SnNotification { @@ -968,6 +1018,7 @@ $SnNotificationCopyWith get copyWith => _$SnNotificationCopyWith /// Serializes this SnNotification to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnNotification&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)&&(identical(other.id, id) || other.id == id)&&(identical(other.topic, topic) || other.topic == topic)&&(identical(other.title, title) || other.title == title)&&(identical(other.subtitle, subtitle) || other.subtitle == subtitle)&&(identical(other.content, content) || other.content == content)&&const DeepCollectionEquality().equals(other.meta, meta)&&(identical(other.priority, priority) || other.priority == priority)&&(identical(other.viewedAt, viewedAt) || other.viewedAt == viewedAt)&&(identical(other.accountId, accountId) || other.accountId == accountId)); @@ -982,6 +1033,7 @@ String toString() { return 'SnNotification(createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt, id: $id, topic: $topic, title: $title, subtitle: $subtitle, content: $content, meta: $meta, priority: $priority, viewedAt: $viewedAt, accountId: $accountId)'; } + } /// @nodoc @@ -992,6 +1044,9 @@ $Res call({ DateTime createdAt, DateTime updatedAt, DateTime? deletedAt, String id, String topic, String title, String subtitle, String content, Map meta, int priority, DateTime? viewedAt, String accountId }); + + + } /// @nodoc class _$SnNotificationCopyWithImpl<$Res> @@ -1023,6 +1078,7 @@ as String, } + /// @nodoc @JsonSerializable() @@ -1074,6 +1130,7 @@ String toString() { return 'SnNotification(createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt, id: $id, topic: $topic, title: $title, subtitle: $subtitle, content: $content, meta: $meta, priority: $priority, viewedAt: $viewedAt, accountId: $accountId)'; } + } /// @nodoc @@ -1084,6 +1141,9 @@ $Res call({ DateTime createdAt, DateTime updatedAt, DateTime? deletedAt, String id, String topic, String title, String subtitle, String content, Map meta, int priority, DateTime? viewedAt, String accountId }); + + + } /// @nodoc class __$SnNotificationCopyWithImpl<$Res> @@ -1113,8 +1173,10 @@ as String, )); } + } + /// @nodoc mixin _$SnVerificationMark { @@ -1128,6 +1190,7 @@ $SnVerificationMarkCopyWith get copyWith => _$SnVerification /// Serializes this SnVerificationMark to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnVerificationMark&&(identical(other.type, type) || other.type == type)&&(identical(other.title, title) || other.title == title)&&(identical(other.description, description) || other.description == description)&&(identical(other.verifiedBy, verifiedBy) || other.verifiedBy == verifiedBy)); @@ -1142,6 +1205,7 @@ String toString() { return 'SnVerificationMark(type: $type, title: $title, description: $description, verifiedBy: $verifiedBy)'; } + } /// @nodoc @@ -1152,6 +1216,9 @@ $Res call({ int type, String? title, String? description, String? verifiedBy }); + + + } /// @nodoc class _$SnVerificationMarkCopyWithImpl<$Res> @@ -1175,6 +1242,7 @@ as String?, } + /// @nodoc @JsonSerializable() @@ -1212,6 +1280,7 @@ String toString() { return 'SnVerificationMark(type: $type, title: $title, description: $description, verifiedBy: $verifiedBy)'; } + } /// @nodoc @@ -1222,6 +1291,9 @@ $Res call({ int type, String? title, String? description, String? verifiedBy }); + + + } /// @nodoc class __$SnVerificationMarkCopyWithImpl<$Res> @@ -1243,6 +1315,7 @@ as String?, )); } + } // dart format on diff --git a/lib/models/wallet.freezed.dart b/lib/models/wallet.freezed.dart index 71592c2..470e5fb 100644 --- a/lib/models/wallet.freezed.dart +++ b/lib/models/wallet.freezed.dart @@ -26,6 +26,7 @@ $SnWalletCopyWith get copyWith => _$SnWalletCopyWithImpl(thi /// Serializes this SnWallet to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnWallet&&(identical(other.id, id) || other.id == id)&&const DeepCollectionEquality().equals(other.pockets, pockets)&&(identical(other.accountId, accountId) || other.accountId == accountId)&&(identical(other.account, account) || other.account == account)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)); @@ -40,6 +41,7 @@ String toString() { return 'SnWallet(id: $id, pockets: $pockets, accountId: $accountId, account: $account, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -50,6 +52,7 @@ $Res call({ String id, List pockets, String accountId, SnAccount? account, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + $SnAccountCopyWith<$Res>? get account; } @@ -90,6 +93,7 @@ $SnAccountCopyWith<$Res>? get account { } } + /// @nodoc @JsonSerializable() @@ -136,6 +140,7 @@ String toString() { return 'SnWallet(id: $id, pockets: $pockets, accountId: $accountId, account: $account, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -146,6 +151,7 @@ $Res call({ String id, List pockets, String accountId, SnAccount? account, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + @override $SnAccountCopyWith<$Res>? get account; } @@ -187,6 +193,7 @@ $SnAccountCopyWith<$Res>? get account { } } + /// @nodoc mixin _$SnWalletPocket { @@ -200,6 +207,7 @@ $SnWalletPocketCopyWith get copyWith => _$SnWalletPocketCopyWith /// Serializes this SnWalletPocket to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnWalletPocket&&(identical(other.id, id) || other.id == id)&&(identical(other.currency, currency) || other.currency == currency)&&(identical(other.amount, amount) || other.amount == amount)&&(identical(other.walletId, walletId) || other.walletId == walletId)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)); @@ -214,6 +222,7 @@ String toString() { return 'SnWalletPocket(id: $id, currency: $currency, amount: $amount, walletId: $walletId, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -224,6 +233,9 @@ $Res call({ String id, String currency, double amount, String walletId, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + + + } /// @nodoc class _$SnWalletPocketCopyWithImpl<$Res> @@ -250,6 +262,7 @@ as DateTime?, } + /// @nodoc @JsonSerializable() @@ -290,6 +303,7 @@ String toString() { return 'SnWalletPocket(id: $id, currency: $currency, amount: $amount, walletId: $walletId, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -300,6 +314,9 @@ $Res call({ String id, String currency, double amount, String walletId, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + + + } /// @nodoc class __$SnWalletPocketCopyWithImpl<$Res> @@ -324,8 +341,10 @@ as DateTime?, )); } + } + /// @nodoc mixin _$SnTransaction { @@ -339,6 +358,7 @@ $SnTransactionCopyWith get copyWith => _$SnTransactionCopyWithImp /// Serializes this SnTransaction to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnTransaction&&(identical(other.id, id) || other.id == id)&&(identical(other.currency, currency) || other.currency == currency)&&(identical(other.amount, amount) || other.amount == amount)&&(identical(other.remarks, remarks) || other.remarks == remarks)&&(identical(other.type, type) || other.type == type)&&(identical(other.payerWalletId, payerWalletId) || other.payerWalletId == payerWalletId)&&(identical(other.payerWallet, payerWallet) || other.payerWallet == payerWallet)&&(identical(other.payeeWalletId, payeeWalletId) || other.payeeWalletId == payeeWalletId)&&(identical(other.payeeWallet, payeeWallet) || other.payeeWallet == payeeWallet)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)); @@ -353,6 +373,7 @@ String toString() { return 'SnTransaction(id: $id, currency: $currency, amount: $amount, remarks: $remarks, type: $type, payerWalletId: $payerWalletId, payerWallet: $payerWallet, payeeWalletId: $payeeWalletId, payeeWallet: $payeeWallet, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -363,6 +384,7 @@ $Res call({ String id, String currency, double amount, String? remarks, int type, String? payerWalletId, SnWallet? payerWallet, String? payeeWalletId, SnWallet? payeeWallet, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + $SnWalletCopyWith<$Res>? get payerWallet;$SnWalletCopyWith<$Res>? get payeeWallet; } @@ -420,6 +442,7 @@ $SnWalletCopyWith<$Res>? get payeeWallet { } } + /// @nodoc @JsonSerializable() @@ -465,6 +488,7 @@ String toString() { return 'SnTransaction(id: $id, currency: $currency, amount: $amount, remarks: $remarks, type: $type, payerWalletId: $payerWalletId, payerWallet: $payerWallet, payeeWalletId: $payeeWalletId, payeeWallet: $payeeWallet, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -475,6 +499,7 @@ $Res call({ String id, String currency, double amount, String? remarks, int type, String? payerWalletId, SnWallet? payerWallet, String? payeeWalletId, SnWallet? payeeWallet, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + @override $SnWalletCopyWith<$Res>? get payerWallet;@override $SnWalletCopyWith<$Res>? get payeeWallet; } @@ -533,6 +558,7 @@ $SnWalletCopyWith<$Res>? get payeeWallet { } } + /// @nodoc mixin _$SnWalletSubscription { @@ -546,6 +572,7 @@ $SnWalletSubscriptionCopyWith get copyWith => _$SnWalletSu /// Serializes this SnWalletSubscription to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnWalletSubscription&&(identical(other.id, id) || other.id == id)&&(identical(other.begunAt, begunAt) || other.begunAt == begunAt)&&(identical(other.endedAt, endedAt) || other.endedAt == endedAt)&&(identical(other.identifier, identifier) || other.identifier == identifier)&&(identical(other.isActive, isActive) || other.isActive == isActive)&&(identical(other.isFreeTrial, isFreeTrial) || other.isFreeTrial == isFreeTrial)&&(identical(other.status, status) || other.status == status)&&(identical(other.paymentMethod, paymentMethod) || other.paymentMethod == paymentMethod)&&const DeepCollectionEquality().equals(other.paymentDetails, paymentDetails)&&(identical(other.basePrice, basePrice) || other.basePrice == basePrice)&&(identical(other.couponId, couponId) || other.couponId == couponId)&&const DeepCollectionEquality().equals(other.coupon, coupon)&&(identical(other.renewalAt, renewalAt) || other.renewalAt == renewalAt)&&(identical(other.accountId, accountId) || other.accountId == accountId)&&(identical(other.account, account) || other.account == account)&&(identical(other.isAvailable, isAvailable) || other.isAvailable == isAvailable)&&(identical(other.finalPrice, finalPrice) || other.finalPrice == finalPrice)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)); @@ -560,6 +587,7 @@ String toString() { return 'SnWalletSubscription(id: $id, begunAt: $begunAt, endedAt: $endedAt, identifier: $identifier, isActive: $isActive, isFreeTrial: $isFreeTrial, status: $status, paymentMethod: $paymentMethod, paymentDetails: $paymentDetails, basePrice: $basePrice, couponId: $couponId, coupon: $coupon, renewalAt: $renewalAt, accountId: $accountId, account: $account, isAvailable: $isAvailable, finalPrice: $finalPrice, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -570,6 +598,7 @@ $Res call({ String id, DateTime begunAt, DateTime? endedAt, String identifier, bool isActive, bool isFreeTrial, int status, String? paymentMethod, Map? paymentDetails, double? basePrice, String? couponId, dynamic coupon, DateTime? renewalAt, String accountId, SnAccount? account, bool isAvailable, double? finalPrice, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + $SnAccountCopyWith<$Res>? get account; } @@ -623,6 +652,7 @@ $SnAccountCopyWith<$Res>? get account { } } + /// @nodoc @JsonSerializable() @@ -684,6 +714,7 @@ String toString() { return 'SnWalletSubscription(id: $id, begunAt: $begunAt, endedAt: $endedAt, identifier: $identifier, isActive: $isActive, isFreeTrial: $isFreeTrial, status: $status, paymentMethod: $paymentMethod, paymentDetails: $paymentDetails, basePrice: $basePrice, couponId: $couponId, coupon: $coupon, renewalAt: $renewalAt, accountId: $accountId, account: $account, isAvailable: $isAvailable, finalPrice: $finalPrice, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -694,6 +725,7 @@ $Res call({ String id, DateTime begunAt, DateTime? endedAt, String identifier, bool isActive, bool isFreeTrial, int status, String? paymentMethod, Map? paymentDetails, double? basePrice, String? couponId, dynamic coupon, DateTime? renewalAt, String accountId, SnAccount? account, bool isAvailable, double? finalPrice, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + @override $SnAccountCopyWith<$Res>? get account; } @@ -748,6 +780,7 @@ $SnAccountCopyWith<$Res>? get account { } } + /// @nodoc mixin _$SnWalletSubscriptionRef { @@ -761,6 +794,7 @@ $SnWalletSubscriptionRefCopyWith get copyWith => _$SnWa /// Serializes this SnWalletSubscriptionRef to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnWalletSubscriptionRef&&(identical(other.id, id) || other.id == id)&&(identical(other.isActive, isActive) || other.isActive == isActive)&&(identical(other.accountId, accountId) || other.accountId == accountId)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.identifier, identifier) || other.identifier == identifier)); @@ -775,6 +809,7 @@ String toString() { return 'SnWalletSubscriptionRef(id: $id, isActive: $isActive, accountId: $accountId, createdAt: $createdAt, deletedAt: $deletedAt, updatedAt: $updatedAt, identifier: $identifier)'; } + } /// @nodoc @@ -785,6 +820,9 @@ $Res call({ String id, bool isActive, String accountId, DateTime createdAt, DateTime? deletedAt, DateTime updatedAt, String identifier }); + + + } /// @nodoc class _$SnWalletSubscriptionRefCopyWithImpl<$Res> @@ -811,6 +849,7 @@ as String, } + /// @nodoc @JsonSerializable() @@ -851,6 +890,7 @@ String toString() { return 'SnWalletSubscriptionRef(id: $id, isActive: $isActive, accountId: $accountId, createdAt: $createdAt, deletedAt: $deletedAt, updatedAt: $updatedAt, identifier: $identifier)'; } + } /// @nodoc @@ -861,6 +901,9 @@ $Res call({ String id, bool isActive, String accountId, DateTime createdAt, DateTime? deletedAt, DateTime updatedAt, String identifier }); + + + } /// @nodoc class __$SnWalletSubscriptionRefCopyWithImpl<$Res> @@ -885,8 +928,10 @@ as String, )); } + } + /// @nodoc mixin _$SnWalletOrder { @@ -900,6 +945,7 @@ $SnWalletOrderCopyWith get copyWith => _$SnWalletOrderCopyWithImp /// Serializes this SnWalletOrder to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is SnWalletOrder&&(identical(other.id, id) || other.id == id)&&(identical(other.status, status) || other.status == status)&&(identical(other.currency, currency) || other.currency == currency)&&const DeepCollectionEquality().equals(other.remarks, remarks)&&(identical(other.appIdentifier, appIdentifier) || other.appIdentifier == appIdentifier)&&const DeepCollectionEquality().equals(other.meta, meta)&&(identical(other.amount, amount) || other.amount == amount)&&(identical(other.expiredAt, expiredAt) || other.expiredAt == expiredAt)&&(identical(other.payeeWalletId, payeeWalletId) || other.payeeWalletId == payeeWalletId)&&(identical(other.payeeWallet, payeeWallet) || other.payeeWallet == payeeWallet)&&(identical(other.transactionId, transactionId) || other.transactionId == transactionId)&&(identical(other.transaction, transaction) || other.transaction == transaction)&&(identical(other.issuerAppId, issuerAppId) || other.issuerAppId == issuerAppId)&&const DeepCollectionEquality().equals(other.issuerApp, issuerApp)&&(identical(other.createdAt, createdAt) || other.createdAt == createdAt)&&(identical(other.updatedAt, updatedAt) || other.updatedAt == updatedAt)&&(identical(other.deletedAt, deletedAt) || other.deletedAt == deletedAt)); @@ -914,6 +960,7 @@ String toString() { return 'SnWalletOrder(id: $id, status: $status, currency: $currency, remarks: $remarks, appIdentifier: $appIdentifier, meta: $meta, amount: $amount, expiredAt: $expiredAt, payeeWalletId: $payeeWalletId, payeeWallet: $payeeWallet, transactionId: $transactionId, transaction: $transaction, issuerAppId: $issuerAppId, issuerApp: $issuerApp, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -924,6 +971,7 @@ $Res call({ String id, int status, String currency, dynamic remarks, String appIdentifier, Map meta, int amount, DateTime expiredAt, String? payeeWalletId, SnWallet? payeeWallet, String? transactionId, SnTransaction? transaction, String? issuerAppId, dynamic issuerApp, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + $SnWalletCopyWith<$Res>? get payeeWallet;$SnTransactionCopyWith<$Res>? get transaction; } @@ -986,6 +1034,7 @@ $SnTransactionCopyWith<$Res>? get transaction { } } + /// @nodoc @JsonSerializable() @@ -1042,6 +1091,7 @@ String toString() { return 'SnWalletOrder(id: $id, status: $status, currency: $currency, remarks: $remarks, appIdentifier: $appIdentifier, meta: $meta, amount: $amount, expiredAt: $expiredAt, payeeWalletId: $payeeWalletId, payeeWallet: $payeeWallet, transactionId: $transactionId, transaction: $transaction, issuerAppId: $issuerAppId, issuerApp: $issuerApp, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt)'; } + } /// @nodoc @@ -1052,6 +1102,7 @@ $Res call({ String id, int status, String currency, dynamic remarks, String appIdentifier, Map meta, int amount, DateTime expiredAt, String? payeeWalletId, SnWallet? payeeWallet, String? transactionId, SnTransaction? transaction, String? issuerAppId, dynamic issuerApp, DateTime createdAt, DateTime updatedAt, DateTime? deletedAt }); + @override $SnWalletCopyWith<$Res>? get payeeWallet;@override $SnTransactionCopyWith<$Res>? get transaction; } diff --git a/lib/pods/call.freezed.dart b/lib/pods/call.freezed.dart index 840c5c0..c6a98cc 100644 --- a/lib/pods/call.freezed.dart +++ b/lib/pods/call.freezed.dart @@ -22,11 +22,14 @@ mixin _$CallState { @pragma('vm:prefer-inline') $CallStateCopyWith get copyWith => _$CallStateCopyWithImpl(this as CallState, _$identity); + + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is CallState&&(identical(other.isConnected, isConnected) || other.isConnected == isConnected)&&(identical(other.isMicrophoneEnabled, isMicrophoneEnabled) || other.isMicrophoneEnabled == isMicrophoneEnabled)&&(identical(other.isCameraEnabled, isCameraEnabled) || other.isCameraEnabled == isCameraEnabled)&&(identical(other.isScreenSharing, isScreenSharing) || other.isScreenSharing == isScreenSharing)&&(identical(other.duration, duration) || other.duration == duration)&&(identical(other.error, error) || other.error == error)); } + @override int get hashCode => Object.hash(runtimeType,isConnected,isMicrophoneEnabled,isCameraEnabled,isScreenSharing,duration,error); @@ -35,6 +38,7 @@ String toString() { return 'CallState(isConnected: $isConnected, isMicrophoneEnabled: $isMicrophoneEnabled, isCameraEnabled: $isCameraEnabled, isScreenSharing: $isScreenSharing, duration: $duration, error: $error)'; } + } /// @nodoc @@ -45,6 +49,9 @@ $Res call({ bool isConnected, bool isMicrophoneEnabled, bool isCameraEnabled, bool isScreenSharing, Duration duration, String? error }); + + + } /// @nodoc class _$CallStateCopyWithImpl<$Res> @@ -70,8 +77,10 @@ as String?, } + /// @nodoc + class _CallState implements CallState { const _CallState({required this.isConnected, required this.isMicrophoneEnabled, required this.isCameraEnabled, required this.isScreenSharing, this.duration = const Duration(seconds: 0), this.error}); @@ -89,11 +98,14 @@ class _CallState implements CallState { @pragma('vm:prefer-inline') _$CallStateCopyWith<_CallState> get copyWith => __$CallStateCopyWithImpl<_CallState>(this, _$identity); + + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is _CallState&&(identical(other.isConnected, isConnected) || other.isConnected == isConnected)&&(identical(other.isMicrophoneEnabled, isMicrophoneEnabled) || other.isMicrophoneEnabled == isMicrophoneEnabled)&&(identical(other.isCameraEnabled, isCameraEnabled) || other.isCameraEnabled == isCameraEnabled)&&(identical(other.isScreenSharing, isScreenSharing) || other.isScreenSharing == isScreenSharing)&&(identical(other.duration, duration) || other.duration == duration)&&(identical(other.error, error) || other.error == error)); } + @override int get hashCode => Object.hash(runtimeType,isConnected,isMicrophoneEnabled,isCameraEnabled,isScreenSharing,duration,error); @@ -102,6 +114,7 @@ String toString() { return 'CallState(isConnected: $isConnected, isMicrophoneEnabled: $isMicrophoneEnabled, isCameraEnabled: $isCameraEnabled, isScreenSharing: $isScreenSharing, duration: $duration, error: $error)'; } + } /// @nodoc @@ -112,6 +125,9 @@ $Res call({ bool isConnected, bool isMicrophoneEnabled, bool isCameraEnabled, bool isScreenSharing, Duration duration, String? error }); + + + } /// @nodoc class __$CallStateCopyWithImpl<$Res> @@ -135,6 +151,7 @@ as String?, )); } + } /// @nodoc @@ -147,11 +164,14 @@ mixin _$CallParticipantLive { @pragma('vm:prefer-inline') $CallParticipantLiveCopyWith get copyWith => _$CallParticipantLiveCopyWithImpl(this as CallParticipantLive, _$identity); + + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is CallParticipantLive&&(identical(other.participant, participant) || other.participant == participant)&&(identical(other.remoteParticipant, remoteParticipant) || other.remoteParticipant == remoteParticipant)); } + @override int get hashCode => Object.hash(runtimeType,participant,remoteParticipant); @@ -160,6 +180,7 @@ String toString() { return 'CallParticipantLive(participant: $participant, remoteParticipant: $remoteParticipant)'; } + } /// @nodoc @@ -170,6 +191,7 @@ $Res call({ CallParticipant participant, Participant remoteParticipant }); + $CallParticipantCopyWith<$Res> get participant; } @@ -202,8 +224,10 @@ $CallParticipantCopyWith<$Res> get participant { } } + /// @nodoc + class _CallParticipantLive extends CallParticipantLive { const _CallParticipantLive({required this.participant, required this.remoteParticipant}): super._(); @@ -217,11 +241,14 @@ class _CallParticipantLive extends CallParticipantLive { @pragma('vm:prefer-inline') _$CallParticipantLiveCopyWith<_CallParticipantLive> get copyWith => __$CallParticipantLiveCopyWithImpl<_CallParticipantLive>(this, _$identity); + + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is _CallParticipantLive&&(identical(other.participant, participant) || other.participant == participant)&&(identical(other.remoteParticipant, remoteParticipant) || other.remoteParticipant == remoteParticipant)); } + @override int get hashCode => Object.hash(runtimeType,participant,remoteParticipant); @@ -230,6 +257,7 @@ String toString() { return 'CallParticipantLive(participant: $participant, remoteParticipant: $remoteParticipant)'; } + } /// @nodoc @@ -240,6 +268,7 @@ $Res call({ CallParticipant participant, Participant remoteParticipant }); + @override $CallParticipantCopyWith<$Res> get participant; } diff --git a/lib/pods/config.freezed.dart b/lib/pods/config.freezed.dart index caeb637..74568f0 100644 --- a/lib/pods/config.freezed.dart +++ b/lib/pods/config.freezed.dart @@ -23,11 +23,14 @@ mixin _$AppSettings { @pragma('vm:prefer-inline') $AppSettingsCopyWith get copyWith => _$AppSettingsCopyWithImpl(this as AppSettings, _$identity); + + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is AppSettings&&(identical(other.autoTranslate, autoTranslate) || other.autoTranslate == autoTranslate)&&(identical(other.soundEffects, soundEffects) || other.soundEffects == soundEffects)&&(identical(other.aprilFoolFeatures, aprilFoolFeatures) || other.aprilFoolFeatures == aprilFoolFeatures)&&(identical(other.enterToSend, enterToSend) || other.enterToSend == enterToSend)&&(identical(other.appBarTransparent, appBarTransparent) || other.appBarTransparent == appBarTransparent)&&(identical(other.customFonts, customFonts) || other.customFonts == customFonts)&&(identical(other.appColorScheme, appColorScheme) || other.appColorScheme == appColorScheme)&&(identical(other.windowSize, windowSize) || other.windowSize == windowSize)); } + @override int get hashCode => Object.hash(runtimeType,autoTranslate,soundEffects,aprilFoolFeatures,enterToSend,appBarTransparent,customFonts,appColorScheme,windowSize); @@ -36,6 +39,7 @@ String toString() { return 'AppSettings(autoTranslate: $autoTranslate, soundEffects: $soundEffects, aprilFoolFeatures: $aprilFoolFeatures, enterToSend: $enterToSend, appBarTransparent: $appBarTransparent, customFonts: $customFonts, appColorScheme: $appColorScheme, windowSize: $windowSize)'; } + } /// @nodoc @@ -46,6 +50,9 @@ $Res call({ bool autoTranslate, bool soundEffects, bool aprilFoolFeatures, bool enterToSend, bool appBarTransparent, String? customFonts, int? appColorScheme, Size? windowSize }); + + + } /// @nodoc class _$AppSettingsCopyWithImpl<$Res> @@ -73,8 +80,10 @@ as Size?, } + /// @nodoc + class _AppSettings implements AppSettings { const _AppSettings({required this.autoTranslate, required this.soundEffects, required this.aprilFoolFeatures, required this.enterToSend, required this.appBarTransparent, required this.customFonts, required this.appColorScheme, required this.windowSize}); @@ -95,11 +104,14 @@ class _AppSettings implements AppSettings { @pragma('vm:prefer-inline') _$AppSettingsCopyWith<_AppSettings> get copyWith => __$AppSettingsCopyWithImpl<_AppSettings>(this, _$identity); + + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is _AppSettings&&(identical(other.autoTranslate, autoTranslate) || other.autoTranslate == autoTranslate)&&(identical(other.soundEffects, soundEffects) || other.soundEffects == soundEffects)&&(identical(other.aprilFoolFeatures, aprilFoolFeatures) || other.aprilFoolFeatures == aprilFoolFeatures)&&(identical(other.enterToSend, enterToSend) || other.enterToSend == enterToSend)&&(identical(other.appBarTransparent, appBarTransparent) || other.appBarTransparent == appBarTransparent)&&(identical(other.customFonts, customFonts) || other.customFonts == customFonts)&&(identical(other.appColorScheme, appColorScheme) || other.appColorScheme == appColorScheme)&&(identical(other.windowSize, windowSize) || other.windowSize == windowSize)); } + @override int get hashCode => Object.hash(runtimeType,autoTranslate,soundEffects,aprilFoolFeatures,enterToSend,appBarTransparent,customFonts,appColorScheme,windowSize); @@ -108,6 +120,7 @@ String toString() { return 'AppSettings(autoTranslate: $autoTranslate, soundEffects: $soundEffects, aprilFoolFeatures: $aprilFoolFeatures, enterToSend: $enterToSend, appBarTransparent: $appBarTransparent, customFonts: $customFonts, appColorScheme: $appColorScheme, windowSize: $windowSize)'; } + } /// @nodoc @@ -118,6 +131,9 @@ $Res call({ bool autoTranslate, bool soundEffects, bool aprilFoolFeatures, bool enterToSend, bool appBarTransparent, String? customFonts, int? appColorScheme, Size? windowSize }); + + + } /// @nodoc class __$AppSettingsCopyWithImpl<$Res> @@ -143,6 +159,7 @@ as Size?, )); } + } // dart format on diff --git a/lib/pods/websocket.freezed.dart b/lib/pods/websocket.freezed.dart index f08dc03..2136507 100644 --- a/lib/pods/websocket.freezed.dart +++ b/lib/pods/websocket.freezed.dart @@ -15,6 +15,9 @@ T _$identity(T value) => value; /// @nodoc mixin _$WebSocketState implements DiagnosticableTreeMixin { + + + @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { properties @@ -27,6 +30,7 @@ bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is WebSocketState); } + @override int get hashCode => runtimeType.hashCode; @@ -35,6 +39,7 @@ String toString({ DiagnosticLevel minLevel = DiagnosticLevel.info }) { return 'WebSocketState()'; } + } /// @nodoc @@ -42,12 +47,18 @@ class $WebSocketStateCopyWith<$Res> { $WebSocketStateCopyWith(WebSocketState _, $Res Function(WebSocketState) __); } + /// @nodoc + class _Connected with DiagnosticableTreeMixin implements WebSocketState { const _Connected(); + + + + @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { properties @@ -60,6 +71,7 @@ bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is _Connected); } + @override int get hashCode => runtimeType.hashCode; @@ -68,14 +80,23 @@ String toString({ DiagnosticLevel minLevel = DiagnosticLevel.info }) { return 'WebSocketState.connected()'; } + } + + + /// @nodoc + class _Connecting with DiagnosticableTreeMixin implements WebSocketState { const _Connecting(); + + + + @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { properties @@ -88,6 +109,7 @@ bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is _Connecting); } + @override int get hashCode => runtimeType.hashCode; @@ -96,14 +118,23 @@ String toString({ DiagnosticLevel minLevel = DiagnosticLevel.info }) { return 'WebSocketState.connecting()'; } + } + + + /// @nodoc + class _Disconnected with DiagnosticableTreeMixin implements WebSocketState { const _Disconnected(); + + + + @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { properties @@ -116,6 +147,7 @@ bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is _Disconnected); } + @override int get hashCode => runtimeType.hashCode; @@ -124,10 +156,15 @@ String toString({ DiagnosticLevel minLevel = DiagnosticLevel.info }) { return 'WebSocketState.disconnected()'; } + } + + + /// @nodoc + class _Error with DiagnosticableTreeMixin implements WebSocketState { const _Error(this.message); @@ -140,6 +177,7 @@ class _Error with DiagnosticableTreeMixin implements WebSocketState { @pragma('vm:prefer-inline') _$ErrorCopyWith<_Error> get copyWith => __$ErrorCopyWithImpl<_Error>(this, _$identity); + @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { properties @@ -152,6 +190,7 @@ bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is _Error&&(identical(other.message, message) || other.message == message)); } + @override int get hashCode => Object.hash(runtimeType,message); @@ -160,6 +199,7 @@ String toString({ DiagnosticLevel minLevel = DiagnosticLevel.info }) { return 'WebSocketState.error(message: $message)'; } + } /// @nodoc @@ -170,6 +210,9 @@ $Res call({ String message }); + + + } /// @nodoc class __$ErrorCopyWithImpl<$Res> @@ -188,8 +231,10 @@ as String, )); } + } + /// @nodoc mixin _$WebSocketPacket implements DiagnosticableTreeMixin { @@ -224,6 +269,7 @@ String toString({ DiagnosticLevel minLevel = DiagnosticLevel.info }) { return 'WebSocketPacket(type: $type, data: $data, errorMessage: $errorMessage)'; } + } /// @nodoc @@ -234,6 +280,9 @@ $Res call({ String type, Map? data, String? errorMessage }); + + + } /// @nodoc class _$WebSocketPacketCopyWithImpl<$Res> @@ -256,6 +305,7 @@ as String?, } + /// @nodoc @JsonSerializable() @@ -306,6 +356,7 @@ String toString({ DiagnosticLevel minLevel = DiagnosticLevel.info }) { return 'WebSocketPacket(type: $type, data: $data, errorMessage: $errorMessage)'; } + } /// @nodoc @@ -316,6 +367,9 @@ $Res call({ String type, Map? data, String? errorMessage }); + + + } /// @nodoc class __$WebSocketPacketCopyWithImpl<$Res> @@ -336,6 +390,7 @@ as String?, )); } + } // dart format on diff --git a/lib/screens/chat/room_detail.freezed.dart b/lib/screens/chat/room_detail.freezed.dart index 0c0a9a7..9821362 100644 --- a/lib/screens/chat/room_detail.freezed.dart +++ b/lib/screens/chat/room_detail.freezed.dart @@ -22,11 +22,14 @@ mixin _$ChatRoomMemberState { @pragma('vm:prefer-inline') $ChatRoomMemberStateCopyWith get copyWith => _$ChatRoomMemberStateCopyWithImpl(this as ChatRoomMemberState, _$identity); + + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is ChatRoomMemberState&&const DeepCollectionEquality().equals(other.members, members)&&(identical(other.isLoading, isLoading) || other.isLoading == isLoading)&&(identical(other.total, total) || other.total == total)&&(identical(other.error, error) || other.error == error)); } + @override int get hashCode => Object.hash(runtimeType,const DeepCollectionEquality().hash(members),isLoading,total,error); @@ -35,6 +38,7 @@ String toString() { return 'ChatRoomMemberState(members: $members, isLoading: $isLoading, total: $total, error: $error)'; } + } /// @nodoc @@ -45,6 +49,9 @@ $Res call({ List members, bool isLoading, int total, String? error }); + + + } /// @nodoc class _$ChatRoomMemberStateCopyWithImpl<$Res> @@ -68,8 +75,10 @@ as String?, } + /// @nodoc + class _ChatRoomMemberState implements ChatRoomMemberState { const _ChatRoomMemberState({required final List members, required this.isLoading, required this.total, this.error}): _members = members; @@ -91,11 +100,14 @@ class _ChatRoomMemberState implements ChatRoomMemberState { @pragma('vm:prefer-inline') _$ChatRoomMemberStateCopyWith<_ChatRoomMemberState> get copyWith => __$ChatRoomMemberStateCopyWithImpl<_ChatRoomMemberState>(this, _$identity); + + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is _ChatRoomMemberState&&const DeepCollectionEquality().equals(other._members, _members)&&(identical(other.isLoading, isLoading) || other.isLoading == isLoading)&&(identical(other.total, total) || other.total == total)&&(identical(other.error, error) || other.error == error)); } + @override int get hashCode => Object.hash(runtimeType,const DeepCollectionEquality().hash(_members),isLoading,total,error); @@ -104,6 +116,7 @@ String toString() { return 'ChatRoomMemberState(members: $members, isLoading: $isLoading, total: $total, error: $error)'; } + } /// @nodoc @@ -114,6 +127,9 @@ $Res call({ List members, bool isLoading, int total, String? error }); + + + } /// @nodoc class __$ChatRoomMemberStateCopyWithImpl<$Res> @@ -135,6 +151,7 @@ as String?, )); } + } // dart format on diff --git a/lib/screens/creators/stickers/pack_detail.freezed.dart b/lib/screens/creators/stickers/pack_detail.freezed.dart index 0fab735..d59a860 100644 --- a/lib/screens/creators/stickers/pack_detail.freezed.dart +++ b/lib/screens/creators/stickers/pack_detail.freezed.dart @@ -22,11 +22,14 @@ mixin _$StickerWithPackQuery { @pragma('vm:prefer-inline') $StickerWithPackQueryCopyWith get copyWith => _$StickerWithPackQueryCopyWithImpl(this as StickerWithPackQuery, _$identity); + + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is StickerWithPackQuery&&(identical(other.packId, packId) || other.packId == packId)&&(identical(other.id, id) || other.id == id)); } + @override int get hashCode => Object.hash(runtimeType,packId,id); @@ -35,6 +38,7 @@ String toString() { return 'StickerWithPackQuery(packId: $packId, id: $id)'; } + } /// @nodoc @@ -45,6 +49,9 @@ $Res call({ String packId, String id }); + + + } /// @nodoc class _$StickerWithPackQueryCopyWithImpl<$Res> @@ -66,8 +73,10 @@ as String, } + /// @nodoc + class _StickerWithPackQuery implements StickerWithPackQuery { const _StickerWithPackQuery({required this.packId, required this.id}); @@ -81,11 +90,14 @@ class _StickerWithPackQuery implements StickerWithPackQuery { @pragma('vm:prefer-inline') _$StickerWithPackQueryCopyWith<_StickerWithPackQuery> get copyWith => __$StickerWithPackQueryCopyWithImpl<_StickerWithPackQuery>(this, _$identity); + + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is _StickerWithPackQuery&&(identical(other.packId, packId) || other.packId == packId)&&(identical(other.id, id) || other.id == id)); } + @override int get hashCode => Object.hash(runtimeType,packId,id); @@ -94,6 +106,7 @@ String toString() { return 'StickerWithPackQuery(packId: $packId, id: $id)'; } + } /// @nodoc @@ -104,6 +117,9 @@ $Res call({ String packId, String id }); + + + } /// @nodoc class __$StickerWithPackQueryCopyWithImpl<$Res> @@ -123,6 +139,7 @@ as String, )); } + } // dart format on diff --git a/lib/screens/posts/compose.dart b/lib/screens/posts/compose.dart index efb0676..a7b9612 100644 --- a/lib/screens/posts/compose.dart +++ b/lib/screens/posts/compose.dart @@ -107,6 +107,21 @@ class PostComposeScreen extends HookConsumerWidget { [originalPost, effectiveForwardedPost, effectiveRepliedPost], ); + // Add a listener to the entire state to trigger rebuilds + final stateNotifier = useMemoized( + () => Listenable.merge([ + state.titleController, + state.descriptionController, + state.contentController, + state.visibility, + state.attachments, + state.attachmentProgress, + state.currentPublisher, + state.submitting, + ]), + [state]); + useListenable(stateNotifier); + // Start auto-save when component mounts useEffect(() { if (originalPost == null) { @@ -184,6 +199,8 @@ class PostComposeScreen extends HookConsumerWidget { titleController: state.titleController, descriptionController: state.descriptionController, visibility: state.visibility, + tagsController: state.tagsController, + categoriesController: state.categoriesController, onVisibilityChanged: () { // Trigger rebuild if needed }, @@ -203,22 +220,18 @@ class PostComposeScreen extends HookConsumerWidget { ), itemCount: state.attachments.value.length, itemBuilder: (context, idx) { - return ValueListenableBuilder>( - valueListenable: state.attachmentProgress, - builder: (context, progressMap, _) { - return AttachmentPreview( - item: state.attachments.value[idx], - progress: progressMap[idx], - onRequestUpload: - () => ComposeLogic.uploadAttachment(ref, state, idx), - onDelete: () => ComposeLogic.deleteAttachment(ref, state, idx), - onMove: (delta) { - state.attachments.value = ComposeLogic.moveAttachment( - state.attachments.value, - idx, - delta, - ); - }, + final progressMap = state.attachmentProgress.value; + return AttachmentPreview( + item: state.attachments.value[idx], + progress: progressMap[idx], + onRequestUpload: + () => ComposeLogic.uploadAttachment(ref, state, idx), + onDelete: () => ComposeLogic.deleteAttachment(ref, state, idx), + onMove: (delta) { + state.attachments.value = ComposeLogic.moveAttachment( + state.attachments.value, + idx, + delta, ); }, ); @@ -232,26 +245,24 @@ class PostComposeScreen extends HookConsumerWidget { for (var idx = 0; idx < state.attachments.value.length; idx++) Container( margin: const EdgeInsets.only(bottom: 8), - child: ValueListenableBuilder>( - valueListenable: state.attachmentProgress, - builder: (context, progressMap, _) { - return AttachmentPreview( - item: state.attachments.value[idx], - progress: progressMap[idx], - onRequestUpload: - () => ComposeLogic.uploadAttachment(ref, state, idx), - onDelete: - () => ComposeLogic.deleteAttachment(ref, state, idx), - onMove: (delta) { - state.attachments.value = ComposeLogic.moveAttachment( - state.attachments.value, - idx, - delta, - ); - }, - ); - }, - ), + child: () { + final progressMap = state.attachmentProgress.value; + return AttachmentPreview( + item: state.attachments.value[idx], + progress: progressMap[idx], + onRequestUpload: + () => ComposeLogic.uploadAttachment(ref, state, idx), + onDelete: + () => ComposeLogic.deleteAttachment(ref, state, idx), + onMove: (delta) { + state.attachments.value = ComposeLogic.moveAttachment( + state.attachments.value, + idx, + delta, + ); + }, + ); + }(), ), ], ); @@ -306,14 +317,11 @@ class PostComposeScreen extends HookConsumerWidget { onPressed: showSettingsSheet, tooltip: 'postSettings'.tr(), ), - ValueListenableBuilder( - valueListenable: state.submitting, - builder: (context, submitting, _) { - return IconButton( - onPressed: - submitting - ? null - : () => ComposeLogic.performAction( + IconButton( + onPressed: + state.submitting.value + ? null + : () => ComposeLogic.performAction( ref, state, context, @@ -322,23 +330,21 @@ class PostComposeScreen extends HookConsumerWidget { forwardedPost: forwardedPost, postType: 0, // Regular post type ), - icon: - submitting - ? SizedBox( - width: 28, - height: 28, - child: const CircularProgressIndicator( - color: Colors.white, - strokeWidth: 2.5, - ), - ).center() - : Icon( - originalPost != null - ? Symbols.edit - : Symbols.upload, - ), - ); - }, + icon: + state.submitting.value + ? SizedBox( + width: 28, + height: 28, + child: const CircularProgressIndicator( + color: Colors.white, + strokeWidth: 2.5, + ), + ).center() + : Icon( + originalPost != null + ? Symbols.edit + : Symbols.upload, + ), ), const Gap(8), ], @@ -420,22 +426,17 @@ class PostComposeScreen extends HookConsumerWidget { const Gap(8), // Attachments preview - ValueListenableBuilder>( - valueListenable: state.attachments, - builder: (context, attachments, _) { - if (attachments.isEmpty) { - return const SizedBox.shrink(); - } - return LayoutBuilder( - builder: (context, constraints) { - final isWide = isWideScreen(context); - return isWide - ? buildWideAttachmentGrid() - : buildNarrowAttachmentList(); - }, - ); - }, - ), + if (state.attachments.value.isNotEmpty) + LayoutBuilder( + builder: (context, constraints) { + final isWide = isWideScreen(context); + return isWide + ? buildWideAttachmentGrid() + : buildNarrowAttachmentList(); + }, + ) + else + const SizedBox.shrink(), ], ), ), diff --git a/lib/screens/posts/compose.freezed.dart b/lib/screens/posts/compose.freezed.dart index 5cc3024..3987fb7 100644 --- a/lib/screens/posts/compose.freezed.dart +++ b/lib/screens/posts/compose.freezed.dart @@ -26,6 +26,7 @@ $PostComposeInitialStateCopyWith get copyWith => _$Post /// Serializes this PostComposeInitialState to a JSON map. Map toJson(); + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is PostComposeInitialState&&(identical(other.title, title) || other.title == title)&&(identical(other.description, description) || other.description == description)&&(identical(other.content, content) || other.content == content)&&const DeepCollectionEquality().equals(other.attachments, attachments)&&(identical(other.visibility, visibility) || other.visibility == visibility)); @@ -40,6 +41,7 @@ String toString() { return 'PostComposeInitialState(title: $title, description: $description, content: $content, attachments: $attachments, visibility: $visibility)'; } + } /// @nodoc @@ -50,6 +52,9 @@ $Res call({ String? title, String? description, String? content, List attachments, int? visibility }); + + + } /// @nodoc class _$PostComposeInitialStateCopyWithImpl<$Res> @@ -74,6 +79,7 @@ as int?, } + /// @nodoc @JsonSerializable() @@ -118,6 +124,7 @@ String toString() { return 'PostComposeInitialState(title: $title, description: $description, content: $content, attachments: $attachments, visibility: $visibility)'; } + } /// @nodoc @@ -128,6 +135,9 @@ $Res call({ String? title, String? description, String? content, List attachments, int? visibility }); + + + } /// @nodoc class __$PostComposeInitialStateCopyWithImpl<$Res> @@ -150,6 +160,7 @@ as int?, )); } + } // dart format on diff --git a/lib/screens/posts/compose_article.dart b/lib/screens/posts/compose_article.dart index 7a9a8b0..e8f18d3 100644 --- a/lib/screens/posts/compose_article.dart +++ b/lib/screens/posts/compose_article.dart @@ -140,6 +140,8 @@ class ArticleComposeScreen extends HookConsumerWidget { titleController: state.titleController, descriptionController: state.descriptionController, visibility: state.visibility, + tagsController: state.tagsController, + categoriesController: state.categoriesController, onVisibilityChanged: () { // Trigger rebuild if needed }, diff --git a/lib/services/file.dart b/lib/services/file.dart index 93be01c..aac70c8 100644 --- a/lib/services/file.dart +++ b/lib/services/file.dart @@ -185,7 +185,6 @@ Completer _processUpload( onProgress: (double progress, Duration estimate) { onProgress?.call(progress, estimate); }, - measureUploadSpeed: true, ) .catchError(completer.completeError); diff --git a/lib/services/tour.freezed.dart b/lib/services/tour.freezed.dart index 820babb..f689f63 100644 --- a/lib/services/tour.freezed.dart +++ b/lib/services/tour.freezed.dart @@ -22,11 +22,14 @@ mixin _$Tour { @pragma('vm:prefer-inline') $TourCopyWith get copyWith => _$TourCopyWithImpl(this as Tour, _$identity); + + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is Tour&&(identical(other.id, id) || other.id == id)&&(identical(other.isStartup, isStartup) || other.isStartup == isStartup)); } + @override int get hashCode => Object.hash(runtimeType,id,isStartup); @@ -35,6 +38,7 @@ String toString() { return 'Tour(id: $id, isStartup: $isStartup)'; } + } /// @nodoc @@ -45,6 +49,9 @@ $Res call({ String id, bool isStartup }); + + + } /// @nodoc class _$TourCopyWithImpl<$Res> @@ -66,8 +73,10 @@ as bool, } + /// @nodoc + class _Tour extends Tour { const _Tour({required this.id, required this.isStartup}): super._(); @@ -81,11 +90,14 @@ class _Tour extends Tour { @pragma('vm:prefer-inline') _$TourCopyWith<_Tour> get copyWith => __$TourCopyWithImpl<_Tour>(this, _$identity); + + @override bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType&&other is _Tour&&(identical(other.id, id) || other.id == id)&&(identical(other.isStartup, isStartup) || other.isStartup == isStartup)); } + @override int get hashCode => Object.hash(runtimeType,id,isStartup); @@ -94,6 +106,7 @@ String toString() { return 'Tour(id: $id, isStartup: $isStartup)'; } + } /// @nodoc @@ -104,6 +117,9 @@ $Res call({ String id, bool isStartup }); + + + } /// @nodoc class __$TourCopyWithImpl<$Res> @@ -123,6 +139,7 @@ as bool, )); } + } // dart format on diff --git a/lib/widgets/post/compose_settings_sheet.dart b/lib/widgets/post/compose_settings_sheet.dart index a467ccb..d3c3ed9 100644 --- a/lib/widgets/post/compose_settings_sheet.dart +++ b/lib/widgets/post/compose_settings_sheet.dart @@ -4,12 +4,111 @@ import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:gap/gap.dart'; import 'package:island/widgets/content/sheet.dart'; import 'package:material_symbols_icons/symbols.dart'; +import 'package:textfield_tags/textfield_tags.dart'; + +/// A reusable widget for tag input fields with chip display +class ChipTagInputField extends StatelessWidget { + final InputFieldValues inputFieldValues; + final String labelText; + final String hintText; + + const ChipTagInputField({ + super.key, + required this.inputFieldValues, + required this.labelText, + required this.hintText, + }); + + @override + Widget build(BuildContext context) { + return TextField( + controller: inputFieldValues.textEditingController, + focusNode: inputFieldValues.focusNode, + decoration: InputDecoration( + label: Text(labelText).tr(), + border: OutlineInputBorder(borderRadius: BorderRadius.circular(12)), + hintText: inputFieldValues.tags.isNotEmpty ? '' : hintText.tr(), + errorText: inputFieldValues.error, + prefixIconConstraints: BoxConstraints( + maxWidth: MediaQuery.of(context).size.width * 0.8, + ), + prefixIcon: + inputFieldValues.tags.isNotEmpty + ? SingleChildScrollView( + controller: inputFieldValues.tagScrollController, + scrollDirection: Axis.vertical, + child: Padding( + padding: const EdgeInsets.only(top: 8, bottom: 8, left: 8), + child: Wrap( + runSpacing: 4.0, + spacing: 4.0, + children: + inputFieldValues.tags.map((dynamic tag) { + return Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.all( + Radius.circular(20.0), + ), + color: Theme.of(context).colorScheme.primary, + ), + margin: const EdgeInsets.symmetric( + horizontal: 5.0, + ), + padding: const EdgeInsets.symmetric( + horizontal: 10.0, + vertical: 5.0, + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + InkWell( + child: Text( + '#$tag', + style: TextStyle( + color: + Theme.of( + context, + ).colorScheme.onPrimary, + ), + ), + onTap: () { + //print("$tag selected"); + }, + ), + const SizedBox(width: 4.0), + InkWell( + child: const Icon( + Icons.cancel, + size: 14.0, + color: Color.fromARGB(255, 233, 233, 233), + ), + onTap: () { + inputFieldValues.onTagRemoved(tag); + }, + ), + ], + ), + ); + }).toList(), + ), + ), + ) + : null, + ), + onChanged: inputFieldValues.onTagChanged, + onSubmitted: inputFieldValues.onTagSubmitted, + ); + } +} class ComposeSettingsSheet extends HookWidget { final TextEditingController titleController; final TextEditingController descriptionController; final ValueNotifier visibility; final VoidCallback? onVisibilityChanged; + final StringTagController tagsController; + final StringTagController categoriesController; const ComposeSettingsSheet({ super.key, @@ -17,6 +116,8 @@ class ComposeSettingsSheet extends HookWidget { required this.descriptionController, required this.visibility, this.onVisibilityChanged, + required this.tagsController, + required this.categoriesController, }); @override @@ -117,6 +218,7 @@ class ComposeSettingsSheet extends HookWidget { padding: const EdgeInsets.all(16), child: Column( crossAxisAlignment: CrossAxisAlignment.start, + spacing: 16, children: [ // Title field TextField( @@ -133,7 +235,6 @@ class ComposeSettingsSheet extends HookWidget { onTapOutside: (_) => FocusManager.instance.primaryFocus?.unfocus(), ), - const Gap(16), // Description field TextField( @@ -151,7 +252,45 @@ class ComposeSettingsSheet extends HookWidget { onTapOutside: (_) => FocusManager.instance.primaryFocus?.unfocus(), ), - const Gap(16), + + // Tags field + TextFieldTags( + textfieldTagsController: tagsController, + textSeparators: const [' ', ','], + letterCase: LetterCase.normal, + validator: (String tag) { + if (tag.isEmpty) { + return 'No, cannot be empty'; + } + return null; + }, + inputFieldBuilder: (context, inputFieldValues) { + return ChipTagInputField( + inputFieldValues: inputFieldValues, + labelText: 'tags', + hintText: 'tagsHint', + ); + }, + ), + + // Categories field + TextFieldTags( + textfieldTagsController: categoriesController, + textSeparators: const [' ', ','], + letterCase: LetterCase.small, + validator: (String tag) { + if (tag.isEmpty) return 'No, cannot be empty'; + if (tag.contains(' ')) return 'Tags should be URL-safe'; + return null; + }, + inputFieldBuilder: (context, inputFieldValues) { + return ChipTagInputField( + inputFieldValues: inputFieldValues, + labelText: 'categories', + hintText: 'categoriesHint', + ); + }, + ), // Visibility setting Container( diff --git a/lib/widgets/post/compose_shared.dart b/lib/widgets/post/compose_shared.dart index eb9bb09..5c142b6 100644 --- a/lib/widgets/post/compose_shared.dart +++ b/lib/widgets/post/compose_shared.dart @@ -16,27 +16,33 @@ import 'package:pasteboard/pasteboard.dart'; import 'dart:async'; import 'dart:developer'; +import 'package:textfield_tags/textfield_tags.dart'; + class ComposeState { - final ValueNotifier> attachments; final TextEditingController titleController; final TextEditingController descriptionController; final TextEditingController contentController; final ValueNotifier visibility; - final ValueNotifier submitting; + final ValueNotifier> attachments; final ValueNotifier> attachmentProgress; final ValueNotifier currentPublisher; + final ValueNotifier submitting; + final StringTagController tagsController; + final StringTagController categoriesController; final String draftId; Timer? _autoSaveTimer; ComposeState({ - required this.attachments, required this.titleController, required this.descriptionController, required this.contentController, required this.visibility, - required this.submitting, + required this.attachments, required this.attachmentProgress, required this.currentPublisher, + required this.submitting, + required this.tagsController, + required this.categoriesController, required this.draftId, }); @@ -61,7 +67,12 @@ class ComposeLogic { String? draftId, }) { final id = draftId ?? DateTime.now().millisecondsSinceEpoch.toString(); - + final tagsController = StringTagController(); + final categoriesController = StringTagController(); + originalPost?.tags.forEach((x) => tagsController.addTag(x.slug)); + originalPost?.categories.forEach( + (x) => categoriesController.addTag(x.slug), + ); return ComposeState( attachments: ValueNotifier>( originalPost?.attachments @@ -86,17 +97,31 @@ class ComposeLogic { contentController: TextEditingController( text: originalPost?.content ?? - (forwardedPost != null ? '> ${forwardedPost.content}\n\n' : null), + (forwardedPost != null + ? '''> ${forwardedPost.content} + +''' + : null), ), visibility: ValueNotifier(originalPost?.visibility ?? 0), submitting: ValueNotifier(false), attachmentProgress: ValueNotifier>({}), currentPublisher: ValueNotifier(null), + tagsController: tagsController, + categoriesController: categoriesController, draftId: id, ); } static ComposeState createStateFromDraft(SnPost draft) { + final tagsController = StringTagController(); + final categoriesController = StringTagController(); + for (var x in draft.tags) { + tagsController.addTag(x.slug); + } + for (var x in draft.categories) { + categoriesController.addTag(x.slug); + } return ComposeState( attachments: ValueNotifier>( draft.attachments.map((e) => UniversalFile.fromAttachment(e)).toList(), @@ -108,6 +133,8 @@ class ComposeLogic { submitting: ValueNotifier(false), attachmentProgress: ValueNotifier>({}), currentPublisher: ValueNotifier(null), + tagsController: tagsController, + categoriesController: categoriesController, draftId: draft.id, ); } @@ -557,6 +584,8 @@ class ComposeLogic { if (postType != null) 'type': postType, if (repliedPost != null) 'replied_post_id': repliedPost.id, if (forwardedPost != null) 'forwarded_post_id': forwardedPost.id, + 'tags': state.tagsController.getTags, + 'categories': state.categoriesController.getTags, }; // Send request @@ -649,5 +678,7 @@ class ComposeLogic { state.submitting.dispose(); state.attachmentProgress.dispose(); state.currentPublisher.dispose(); + state.tagsController.dispose(); + state.categoriesController.dispose(); } } diff --git a/lib/widgets/post/draft_manager.dart b/lib/widgets/post/draft_manager.dart index 0784d03..2a79a2a 100644 --- a/lib/widgets/post/draft_manager.dart +++ b/lib/widgets/post/draft_manager.dart @@ -4,6 +4,7 @@ import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:gap/gap.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:island/services/compose_storage_db.dart'; +import 'package:island/widgets/content/sheet.dart'; import 'package:material_symbols_icons/symbols.dart'; class DraftManagerSheet extends HookConsumerWidget { @@ -43,9 +44,9 @@ class DraftManagerSheet extends HookConsumerWidget { ], ); - return Scaffold( - appBar: AppBar(title: Text('drafts'.tr())), - body: + return SheetScaffold( + titleText: 'drafts'.tr(), + child: isLoading.value ? const Center(child: CircularProgressIndicator()) : Column( diff --git a/pubspec.lock b/pubspec.lock index 7d1709a..4c6ea5b 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1041,10 +1041,10 @@ packages: dependency: "direct main" description: name: go_router - sha256: f02fd7d2a4dc512fec615529824fdd217fecb3a3d3de68360293a551f21634b3 + sha256: ac294be30ba841830cfa146e5a3b22bb09f8dc5a0fdd9ca9332b04b0bde99ebf url: "https://pub.dev" source: hosted - version: "14.8.1" + version: "15.2.4" google_fonts: dependency: "direct main" description: @@ -2106,14 +2106,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.10.1" - speed_test_dart: - dependency: transitive - description: - name: speed_test_dart - sha256: "4131faa68d5c9259766626450a10e552bc11ff6e651bb6377cc56476443e1cfa" - url: "https://pub.dev" - source: hosted - version: "1.0.5+0" sprintf: dependency: transitive description: @@ -2258,14 +2250,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.4.1" - sync: - dependency: transitive - description: - name: sync - sha256: f2ebb89eac969abb02b498562a35c4da63d6843396c4fe81948cd06a76845fce - url: "https://pub.dev" - source: hosted - version: "0.3.0" synchronized: dependency: transitive description: @@ -2314,6 +2298,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.6.8" + textfield_tags: + dependency: "direct main" + description: + name: textfield_tags + sha256: d1f2204114157a1296bb97c20d7f8c8c7fd036212812afb2e19de7bb34acc55b + url: "https://pub.dev" + source: hosted + version: "3.0.1" timezone: dependency: "direct main" description: @@ -2351,7 +2343,7 @@ packages: description: path: "." ref: HEAD - resolved-ref: "55e0eecfb7a7af67be4a7b6e8e73d128d4460436" + resolved-ref: e33aa4f363104d083e681103b102037e212e32ab url: "https://github.com/LittleSheep2Code/tus_client.git" source: git version: "2.5.0" diff --git a/pubspec.yaml b/pubspec.yaml index 993dece..e4d80f0 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -37,7 +37,7 @@ dependencies: flutter_hooks: ^0.21.2 hooks_riverpod: ^2.6.1 bitsdojo_window: ^0.1.6 - go_router: ^14.6.2 + go_router: ^15.2.4 styled_widget: ^0.4.1 shared_preferences: ^2.5.3 flutter_riverpod: ^2.6.1 @@ -122,6 +122,7 @@ dependencies: share_plus: ^11.0.0 receive_sharing_intent: ^1.8.1 top_snackbar_flutter: ^3.3.0 + textfield_tags: ^3.0.1 dev_dependencies: flutter_test: