Null safety

This commit is contained in:
Hillel Coren 2023-09-26 12:45:41 +03:00
parent 7d28ff8d9f
commit d2bc6f27c2
6 changed files with 40 additions and 41 deletions

View File

@ -173,9 +173,9 @@ abstract class AppState implements Built<AppState, AppStateBuilder> {
DashboardUIState get dashboardUIState => uiState.dashboardUIState;
UserEntity? get user => userCompanyState.user;
UserEntity get user => userCompanyState.user;
UserCompanyEntity? get userCompany => userCompanyState.userCompany;
UserCompanyEntity get userCompany => userCompanyState.userCompany;
Credentials get credentials =>
Credentials(token: userCompanyState.token!.token, url: authState.url);

View File

@ -58,7 +58,6 @@ abstract class UserCompanyState
quoteState: QuoteState(),
// STARTER: constructor - do not remove comment
scheduleState: ScheduleState(),
transactionRuleState: TransactionRuleState(),
transactionState: TransactionState(),
bankAccountState: BankAccountState(),
@ -88,7 +87,7 @@ abstract class UserCompanyState
int get lastUpdated;
UserCompanyEntity? get userCompany;
UserCompanyEntity get userCompany;
DocumentState get documentState;
@ -149,11 +148,11 @@ abstract class UserCompanyState
GroupState get groupState;
CompanyEntity? get company => userCompany!.company;
CompanyEntity get company => userCompany.company;
UserEntity? get user => userCompany!.user;
UserEntity get user => userCompany.user;
TokenEntity? get token => userCompany!.token;
TokenEntity get token => userCompany.token;
bool get isStale {
if (!isLoaded) {

View File

@ -23,6 +23,9 @@ class _$UserCompanyStateSerializer
'lastUpdated',
serializers.serialize(object.lastUpdated,
specifiedType: const FullType(int)),
'userCompany',
serializers.serialize(object.userCompany,
specifiedType: const FullType(UserCompanyEntity)),
'documentState',
serializers.serialize(object.documentState,
specifiedType: const FullType(DocumentState)),
@ -111,14 +114,7 @@ class _$UserCompanyStateSerializer
serializers.serialize(object.groupState,
specifiedType: const FullType(GroupState)),
];
Object? value;
value = object.userCompany;
if (value != null) {
result
..add('userCompany')
..add(serializers.serialize(value,
specifiedType: const FullType(UserCompanyEntity)));
}
return result;
}
@ -281,7 +277,7 @@ class _$UserCompanyState extends UserCompanyState {
@override
final int lastUpdated;
@override
final UserCompanyEntity? userCompany;
final UserCompanyEntity userCompany;
@override
final DocumentState documentState;
@override
@ -347,7 +343,7 @@ class _$UserCompanyState extends UserCompanyState {
_$UserCompanyState._(
{required this.lastUpdated,
this.userCompany,
required this.userCompany,
required this.documentState,
required this.productState,
required this.clientState,
@ -380,6 +376,8 @@ class _$UserCompanyState extends UserCompanyState {
: super._() {
BuiltValueNullFieldError.checkNotNull(
lastUpdated, r'UserCompanyState', 'lastUpdated');
BuiltValueNullFieldError.checkNotNull(
userCompany, r'UserCompanyState', 'userCompany');
BuiltValueNullFieldError.checkNotNull(
documentState, r'UserCompanyState', 'documentState');
BuiltValueNullFieldError.checkNotNull(
@ -757,7 +755,7 @@ class UserCompanyStateBuilder
final $v = _$v;
if ($v != null) {
_lastUpdated = $v.lastUpdated;
_userCompany = $v.userCompany?.toBuilder();
_userCompany = $v.userCompany.toBuilder();
_documentState = $v.documentState.toBuilder();
_productState = $v.productState.toBuilder();
_clientState = $v.clientState.toBuilder();
@ -813,7 +811,7 @@ class UserCompanyStateBuilder
new _$UserCompanyState._(
lastUpdated: BuiltValueNullFieldError.checkNotNull(
lastUpdated, r'UserCompanyState', 'lastUpdated'),
userCompany: _userCompany?.build(),
userCompany: userCompany.build(),
documentState: documentState.build(),
productState: productState.build(),
clientState: clientState.build(),
@ -847,7 +845,7 @@ class UserCompanyStateBuilder
late String _$failedField;
try {
_$failedField = 'userCompany';
_userCompany?.build();
userCompany.build();
_$failedField = 'documentState';
documentState.build();
_$failedField = 'productState';

View File

@ -170,16 +170,18 @@ class _ClientPortalState extends State<ClientPortal>
final settings = widget.viewModel.settings;
_portalDomainController.text = company.portalDomain;
_subdomainController.text = company.subdomain;
_customMessageDashboard.text = settings.customMessageDashboard!;
_customMessagePaidInvoice.text = settings.customMessagePaidInvoice!;
_customMessageUnpaidInvoice.text = settings.customMessageUnpaidInvoice!;
_customMessageUnapprovedQuote.text = settings.customMessageUnapprovedQuote!;
_privacyController.text = settings.clientPortalPrivacy!;
_termsController.text = settings.clientPortalTerms!;
_customHeaderController.text = settings.clientPortalCustomHeader!;
_customFooterController.text = settings.clientPortalCustomFooter!;
_customCssController.text = settings.clientPortalCustomCss!;
_customJavaScriptController.text = settings.clientPortalCustomJs!;
_customMessageDashboard.text = settings.customMessageDashboard ?? '';
_customMessagePaidInvoice.text = settings.customMessagePaidInvoice ?? '';
_customMessageUnpaidInvoice.text =
settings.customMessageUnpaidInvoice ?? '';
_customMessageUnapprovedQuote.text =
settings.customMessageUnapprovedQuote ?? '';
_privacyController.text = settings.clientPortalPrivacy ?? '';
_termsController.text = settings.clientPortalTerms ?? '';
_customHeaderController.text = settings.clientPortalCustomHeader ?? '';
_customFooterController.text = settings.clientPortalCustomFooter ?? '';
_customCssController.text = settings.clientPortalCustomCss ?? '';
_customJavaScriptController.text = settings.clientPortalCustomJs ?? '';
_controllers
.forEach((dynamic controller) => controller.addListener(_onChanged));

View File

@ -96,16 +96,16 @@ class _EmailSettingsState extends State<EmailSettings> {
final company = viewModel.company;
final settings = viewModel.settings;
_fromNameController.text = settings.emailFromName!;
_replyToEmailController.text = settings.replyToEmail!;
_replyToNameController.text = settings.replyToName!;
_bccEmailController.text = settings.bccEmail!;
_emailStyleCustomController.text = settings.emailStyleCustom!;
_emailSignatureController.text = settings.emailSignature!;
_postmarkSecretController.text = settings.postmarkSecret!;
_customSendingEmailController.text = settings.customSendingEmail!;
_mailgunSecretController.text = settings.mailgunSecret!;
_mailgunDomainController.text = settings.mailgunDomain!;
_fromNameController.text = settings.emailFromName ?? '';
_replyToEmailController.text = settings.replyToEmail ?? '';
_replyToNameController.text = settings.replyToName ?? '';
_bccEmailController.text = settings.bccEmail ?? '';
_emailStyleCustomController.text = settings.emailStyleCustom ?? '';
_emailSignatureController.text = settings.emailSignature ?? '';
_postmarkSecretController.text = settings.postmarkSecret ?? '';
_customSendingEmailController.text = settings.customSendingEmail ?? '';
_mailgunSecretController.text = settings.mailgunSecret ?? '';
_mailgunDomainController.text = settings.mailgunDomain ?? '';
_eInvoiceCertificatePassphraseController.text =
company.eInvoiceCertificatePassphrase;

View File

@ -111,7 +111,7 @@ class _GeneratedNumbersState extends State<GeneratedNumbers>
.forEach((dynamic controller) => controller.removeListener(_onChanged));
final settings = widget.viewModel.settings;
_recurringPrefixController.text = settings.recurringNumberPrefix!;
_recurringPrefixController.text = settings.recurringNumberPrefix ?? '';
_controllers
.forEach((dynamic controller) => controller.addListener(_onChanged));