Fixes asn not being assigned

This commit is contained in:
Anton Stubenbord
2022-10-30 15:06:47 +01:00
parent c4ca344780
commit f522991059
12 changed files with 66 additions and 61 deletions

View File

@@ -2,24 +2,30 @@ import 'package:equatable/equatable.dart';
import 'package:flutter/widgets.dart';
abstract class IdQueryParameter extends Equatable {
final bool _onlyNotAssigned;
final int? _assignmentStatus;
final int? _id;
const IdQueryParameter.notAssigned()
: _onlyNotAssigned = true,
: _assignmentStatus = 1,
_id = null;
const IdQueryParameter.anyAssigned()
: _assignmentStatus = 0,
_id = null;
const IdQueryParameter.fromId(int? id)
: _onlyNotAssigned = false,
: _assignmentStatus = null,
_id = id;
const IdQueryParameter.unset() : this.fromId(null);
bool get isUnset => _id == null && _onlyNotAssigned == false;
bool get isUnset => _id == null && _assignmentStatus == null;
bool get isSet => _id != null && _onlyNotAssigned == false;
bool get isSet => _id != null && _assignmentStatus == null;
bool get onlyNotAssigned => _onlyNotAssigned;
bool get onlyNotAssigned => _assignmentStatus == 1;
bool get onlyAssigned => _assignmentStatus == 0;
int? get id => _id;
@@ -27,13 +33,15 @@ abstract class IdQueryParameter extends Equatable {
String get queryParameterKey;
String toQueryParameter() {
if (onlyNotAssigned) {
return "&${queryParameterKey}__isnull=1";
if (onlyNotAssigned || onlyAssigned) {
return "&${queryParameterKey}__isnull=$_assignmentStatus";
}
return isUnset ? "" : "&${queryParameterKey}__id=$id";
if (isSet) {
return "${queryParameterKey}__id=$id";
}
return "";
}
@override
List<Object?> get props => [_onlyNotAssigned, _id];
List<Object?> get props => [_assignmentStatus, _id];
}