* lint(persistence): Apply team linter Signed-off-by: Sahil Kumar <[email protected]> * style: flutter format Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): Add tests for channel dao Signed-off-by: Sahil Kumar <[email protected]> * refactor(persistence): remove dummy comments Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): Add test for channel query dao Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add tests for connection event dao Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add test for member dao Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add tests for message dao Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add test for pinned message dao Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add test for reaction dao Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add test for read dao Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): minor improvement in update function tests Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add tests for user dao Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add test for list converter Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add test for map converter Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add tests for message sending status converter Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add tests for channel mapper Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add test for event mapper Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add tests for member mapper Signed-off-by: Sahil Kumar <[email protected]> * remove useless dependencies * test(persistence): add tests for message mapper Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add tests for pinned message mapper Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add tests for reaction mapper Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add tests for read mapper Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add tests for user mapper Signed-off-by: Sahil Kumar <[email protected]> * refactor(persistence): remove redundant UsersTable getter from ConnectionEventDao Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add tests for stream chat persistence client Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add tests moor chat database Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add moor schemas for future migration tests Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add clear queryCache test in channel query dao Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add getThreadMessagesByParentId along with pagination test in message, pinned message dao. Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add getMessagesByCid along with pagination test in message, pinned message dao. Signed-off-by: Sahil Kumar <[email protected]> * update ci * apply locale to jiffy * fix test * test(persistence): add getMessagesByCid along with quotedMessage test in message, pinned message dao. Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add extra checks in getMessagesByCid along with pagination test in message, pinned message dao. Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add return channel with pagination applies test in channel query dao Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): improve message mapper, pinned message mapper test Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add client constructor test in stream chat persistence client Signed-off-by: Sahil Kumar <[email protected]> * test(persistence): add coverage:ignore-file for entities and db/shared directory Signed-off-by: Sahil Kumar <[email protected]> * skip pub publish --dry-run for develop branch Signed-off-by: Sahil Kumar <[email protected]> * add remove from coverage script Signed-off-by: Sahil Kumar <[email protected]> * fix Signed-off-by: Sahil Kumar <[email protected]> * fix Signed-off-by: Sahil Kumar <[email protected]> * fix Signed-off-by: Sahil Kumar <[email protected]> * fix Signed-off-by: Sahil Kumar <[email protected]> * fix locale * fix message input _parseExistingMessage * fix(UI-Kit): Show selected attachment file as file in message input widget Signed-off-by: Sahil Kumar <[email protected]> * fix: ws disconnection (#345) * update ws removing custom implementation; fixed disconnection while connecting * add test * feat: Apply team lints to core package (#334) * Add analyzer file to core package * Apply team lint rules to core package * clean up analyzer warnings in stream chat flutter * remove unused line * add ignore * sync analysis options * [Core -> MessageWidget] Fix variable dynamic types Signed-off-by: Sahil Kumar <[email protected]> Co-authored-by: Salvatore Giordano <[email protected]> Co-authored-by: Sahil Kumar <[email protected]> * test: add tests for stream chat flutter core (#354) * test(core): add tests for channels bloc Signed-off-by: Sahil Kumar <[email protected]> * test(core): refactor some tests due to changes in channels bloc Signed-off-by: Sahil Kumar <[email protected]> * test(core): add tests for channel list core Signed-off-by: Sahil Kumar <[email protected]> * test(core): add tests for users bloc, minor improvements Signed-off-by: Sahil Kumar <[email protected]> * test(core): add tests for user list core, minor improvements Signed-off-by: Sahil Kumar <[email protected]> * test(core): add tests for message search bloc, refactor Signed-off-by: Sahil Kumar <[email protected]> * test(core): add tests for message search list core, refactor Signed-off-by: Sahil Kumar <[email protected]> * test(core): add tests for lazy load scroll view Signed-off-by: Sahil Kumar <[email protected]> * test(core): add tests for stream chat core Signed-off-by: Sahil Kumar <[email protected]> * test(core): add tests for message list core Signed-off-by: Sahil Kumar <[email protected]> * test(core): add tests for stream channel Signed-off-by: Sahil Kumar <[email protected]> * Fix merge conflicts Signed-off-by: Sahil Kumar <[email protected]> * flutter format Signed-off-by: Sahil Kumar <[email protected]> * fixes Signed-off-by: Sahil Kumar <[email protected]> * update workflow Signed-off-by: Sahil Kumar <[email protected]> * chore(core): fix analyzer issues Signed-off-by: Sahil Kumar <[email protected]> * chore(ui-kit): fix analyzer issues Signed-off-by: Sahil Kumar <[email protected]> * refactor(ui-kit): update giphy interaction (#361) * refactor(ui-kit): update giphy interaction Signed-off-by: Sahil Kumar <[email protected]> * fix overflow Co-authored-by: Salvatore Giordano <[email protected]> * fix: Fixed sendingbutton.outside case (#355) * fix: Fixed sendingbutton.outside case * fix: Fixed all actionbutton cases * fix review Co-authored-by: Salvatore Giordano <[email protected]> * fix(ui-kit): fix accessibility text size scaling in message widget Signed-off-by: Sahil Kumar <[email protected]> * fix(ui-kit): fix message widget long username overflow Signed-off-by: Sahil Kumar <[email protected]> * fix(ui-kit): fix message input dm checkbox accessibility scaling issue Signed-off-by: Sahil Kumar <[email protected]> * feat: exposed textbuilder callback (#367) * exposed textbuilder callback * exposed textbuilder callback * fixes Signed-off-by: Sahil Kumar <[email protected]> * check if user.mutes is null * check if user.mutes is null * fixes #370: remove all controls on full screen media if message is of type ephemeral (#373) * fix: fix channel list pagination spinner (#375) Signed-off-by: Sahil Kumar <[email protected]> * fix: attachments upload when size exceeds (#377) * fix: Fixed file upload error * fix: Fixed file upload error * fix coverage script Signed-off-by: Sahil Kumar <[email protected]> * fix: message input (#382) * feat: Added mentions suffix builder * feat: Added builders for mentions and theme element for message input expanded button * refactor: refactored PR to suit other style * fix: fixes trailing commas and changes names * doc: added documentation to new elements * doc: added documentation to new elements * bump version * add meta dep to core * sort deps Co-authored-by: Sahil Kumar <[email protected]> Co-authored-by: Neevash Ramdial (Nash) <[email protected]> Co-authored-by: Deven Joshi <[email protected]>
129 lines
3.4 KiB
Dart
129 lines
3.4 KiB
Dart
import 'package:json_annotation/json_annotation.dart';
|
|
|
|
part 'requests.g.dart';
|
|
|
|
/// Sorting options
|
|
@JsonSerializable(createFactory: false)
|
|
class SortOption<T> {
|
|
/// Creates a new SortOption instance
|
|
///
|
|
/// For example:
|
|
/// ```dart
|
|
/// // Sort channels by the last message date:
|
|
/// final sorting = SortOption("last_message_at")
|
|
/// ```
|
|
const SortOption(
|
|
this.field, {
|
|
this.direction = DESC,
|
|
this.comparator,
|
|
});
|
|
|
|
/// Ascending order
|
|
// ignore: constant_identifier_names
|
|
static const ASC = 1;
|
|
|
|
/// Descending order
|
|
// ignore: constant_identifier_names
|
|
static const DESC = -1;
|
|
|
|
/// A sorting field name
|
|
final String field;
|
|
|
|
/// A sorting direction
|
|
final int direction;
|
|
|
|
/// Sorting field Comparator required for offline sorting
|
|
@JsonKey(ignore: true)
|
|
final Comparator<T> comparator;
|
|
|
|
/// Serialize model to json
|
|
Map<String, dynamic> toJson() => _$SortOptionToJson(this);
|
|
}
|
|
|
|
/// Pagination options.
|
|
@JsonSerializable(createFactory: false, includeIfNull: false)
|
|
class PaginationParams {
|
|
/// Creates a new PaginationParams instance
|
|
///
|
|
/// For example:
|
|
/// ```dart
|
|
/// // limit to 50
|
|
/// final paginationParams = PaginationParams(limit: 50);
|
|
///
|
|
/// // limit to 50 with offset
|
|
/// final paginationParams = PaginationParams(limit: 50, offset: 50);
|
|
/// ```
|
|
const PaginationParams({
|
|
this.limit = 10,
|
|
this.offset = 0,
|
|
this.greaterThan,
|
|
this.greaterThanOrEqual,
|
|
this.lessThan,
|
|
this.lessThanOrEqual,
|
|
});
|
|
|
|
/// The amount of items requested from the APIs.
|
|
final int limit;
|
|
|
|
/// The offset of requesting items.
|
|
final int offset;
|
|
|
|
/// Filter on ids greater than the given value.
|
|
@JsonKey(name: 'id_gt')
|
|
final String greaterThan;
|
|
|
|
/// Filter on ids greater than or equal to the given value.
|
|
@JsonKey(name: 'id_gte')
|
|
final String greaterThanOrEqual;
|
|
|
|
/// Filter on ids smaller than the given value.
|
|
@JsonKey(name: 'id_lt')
|
|
final String lessThan;
|
|
|
|
/// Filter on ids smaller than or equal to the given value.
|
|
@JsonKey(name: 'id_lte')
|
|
final String lessThanOrEqual;
|
|
|
|
/// Serialize model to json
|
|
Map<String, dynamic> toJson() => _$PaginationParamsToJson(this);
|
|
|
|
/// Creates a copy of [PaginationParams] with specified attributes overridden.
|
|
PaginationParams copyWith({
|
|
int limit,
|
|
int offset,
|
|
String greaterThan,
|
|
String greaterThanOrEqual,
|
|
String lessThan,
|
|
String lessThanOrEqual,
|
|
}) =>
|
|
PaginationParams(
|
|
limit: limit ?? this.limit,
|
|
offset: offset ?? this.offset,
|
|
greaterThan: greaterThan ?? this.greaterThan,
|
|
greaterThanOrEqual: greaterThanOrEqual ?? this.greaterThanOrEqual,
|
|
lessThan: lessThan ?? this.lessThan,
|
|
lessThanOrEqual: lessThanOrEqual ?? this.lessThanOrEqual,
|
|
);
|
|
|
|
@override
|
|
int get hashCode =>
|
|
runtimeType.hashCode ^
|
|
limit.hashCode ^
|
|
offset.hashCode ^
|
|
greaterThan.hashCode ^
|
|
greaterThanOrEqual.hashCode ^
|
|
lessThan.hashCode ^
|
|
lessThanOrEqual.hashCode;
|
|
|
|
@override
|
|
bool operator ==(covariant PaginationParams other) =>
|
|
identical(this, other) ||
|
|
runtimeType == other.runtimeType &&
|
|
limit == other.limit &&
|
|
offset == other.offset &&
|
|
greaterThan == other.greaterThan &&
|
|
greaterThanOrEqual == other.greaterThanOrEqual &&
|
|
lessThan == other.lessThan &&
|
|
lessThanOrEqual == other.lessThanOrEqual;
|
|
}
|