+signup +login
Some checks failed
ci/woodpecker/push/bff Pipeline was successful
ci/woodpecker/push/db Pipeline was successful
ci/woodpecker/push/billing_fees Pipeline was successful
ci/woodpecker/push/chain_gateway Pipeline was successful
ci/woodpecker/push/fx_ingestor Pipeline was successful
ci/woodpecker/push/frontend Pipeline was successful
ci/woodpecker/push/fx_oracle Pipeline was successful
ci/woodpecker/push/nats Pipeline was successful
ci/woodpecker/push/ledger Pipeline was successful
ci/woodpecker/push/notification Pipeline was successful
ci/woodpecker/push/payments_orchestrator Pipeline was successful
ci/woodpecker/push/bump_version Pipeline failed

This commit is contained in:
Stephan D
2025-11-17 20:16:45 +01:00
parent 1ab7f2e7d3
commit c6a56071b5
89 changed files with 1308 additions and 3497 deletions

View File

@@ -1,5 +1,6 @@
import 'package:pshared/data/dto/account/account.dart';
import 'package:pshared/models/account/account.dart';
import 'package:pshared/models/describable.dart';
import 'package:pshared/models/storable.dart';
@@ -9,6 +10,8 @@ extension AccountMapper on Account {
createdAt: createdAt,
updatedAt: updatedAt,
name: name,
lastName: lastName,
description: description,
avatarUrl: avatarUrl,
locale: locale,
login: login,
@@ -19,8 +22,9 @@ extension AccountDTOMapper on AccountDTO {
Account toDomain() => Account(
storable: newStorable(id: id, createdAt: createdAt, updatedAt: updatedAt),
avatarUrl: avatarUrl,
describable: newDescribable(name: name, description: description),
lastName: lastName,
locale: locale,
login: login,
name: name,
);
}

View File

@@ -1,5 +1,6 @@
import 'package:pshared/data/dto/account/base.dart';
import 'package:pshared/models/account/base.dart';
import 'package:pshared/models/describable.dart';
import 'package:pshared/models/storable.dart';
@@ -8,17 +9,18 @@ extension AccountBaseMapper on AccountBase {
id: storable.id,
createdAt: storable.createdAt,
updatedAt: storable.updatedAt,
name: describable.name,
description: describable.description,
lastName: lastName,
avatarUrl: avatarUrl,
name: name,
locale: locale,
);
}
extension AccountDTOMapper on AccountBaseDTO {
AccountBase toDomain() => AccountBase(
storable: newStorable(id: id, createdAt: createdAt, updatedAt: updatedAt),
describable: newDescribable(name: name, description: description),
lastName: lastName,
avatarUrl: avatarUrl,
name: name,
locale: locale,
);
}

View File

@@ -0,0 +1,17 @@
import 'package:pshared/data/dto/describable.dart';
import 'package:pshared/models/describable.dart';
extension DescribableMapper on Describable {
DescribableDTO toDTO() => DescribableDTO(
name: name,
description: description,
);
}
extension DescribableDTOMapper on DescribableDTO {
Describable toDomain() => newDescribable(
name: name,
description: description,
);
}

View File

@@ -1,5 +1,8 @@
import 'package:pshared/data/dto/organization.dart';
import 'package:pshared/models/describable.dart';
import 'package:pshared/models/organization/bound.dart';
import 'package:pshared/models/organization/organization.dart';
import 'package:pshared/models/permissions/bound.dart';
import 'package:pshared/models/storable.dart';
@@ -8,15 +11,26 @@ extension OrganizationMapper on Organization {
id: storable.id,
createdAt: storable.createdAt,
updatedAt: storable.updatedAt,
name: describable.name,
description: describable.description,
timeZone: timeZone,
logoUrl: logoUrl,
organizationRef: permissionBound.organizationRef,
permissionRef: permissionBound.permissionRef,
tenantRef: tenantRef,
);
}
extension OrganizationDTOMapper on OrganizationDTO {
Organization toDomain() => Organization(
storable: newStorable(id: id, createdAt: createdAt, updatedAt: updatedAt),
describable: newDescribable(name: name, description: description),
timeZone: timeZone,
logoUrl: logoUrl,
permissionBound: newPermissionBound(
organizationBound: newOrganizationBound(organizationRef: organizationRef),
permissionRef: permissionRef,
),
tenantRef: tenantRef,
);
}

View File

@@ -0,0 +1,18 @@
import 'package:pshared/data/dto/organization/bound.dart';
import 'package:pshared/models/organization/bound.dart';
extension OrganizationBoundMapper on OrganizationBound {
OrganizationBoundDTO toDTO() => OrganizationBoundDTO(
id: '', // OrganizationBound doesn't have storable fields, so we need to provide defaults
createdAt: DateTime.now(),
updatedAt: DateTime.now(),
organizationRef: organizationRef,
);
}
extension OrganizationBoundDTOMapper on OrganizationBoundDTO {
OrganizationBound toDomain() => newOrganizationBound(
organizationRef: organizationRef,
);
}

View File

@@ -1,9 +1,11 @@
import 'package:pshared/data/dto/organization/description.dart';
import 'package:pshared/data/mapper/describable.dart';
import 'package:pshared/models/organization/description.dart';
extension OrganizationDescriptionMapper on OrganizationDescription {
OrganizationDescriptionDTO toDTO() => OrganizationDescriptionDTO(
description: description.toDTO(),
logoUrl: logoUrl,
);
}
@@ -11,5 +13,6 @@ extension OrganizationDescriptionMapper on OrganizationDescription {
extension AccountDescriptionDTOMapper on OrganizationDescriptionDTO {
OrganizationDescription toDomain() => OrganizationDescription(
logoUrl: logoUrl,
description: description.toDomain(),
);
}

View File

@@ -1,4 +1,5 @@
import 'package:pshared/data/dto/permissions/description/policy.dart';
import 'package:pshared/models/describable.dart';
import 'package:pshared/models/permissions/descriptions/policy.dart';
import 'package:pshared/models/storable.dart';
@@ -8,6 +9,8 @@ extension PolicyDescriptionMapper on PolicyDescription {
id: storable.id,
createdAt: storable.createdAt,
updatedAt: storable.updatedAt,
name: describable.name,
description: describable.description,
resourceTypes: resourceTypes,
organizationRef: organizationRef,
);
@@ -16,6 +19,7 @@ extension PolicyDescriptionMapper on PolicyDescription {
extension PolicyDescriptionDTOMapper on PolicyDescriptionDTO {
PolicyDescription toDomain() => PolicyDescription(
storable: newStorable(id: id, createdAt: createdAt, updatedAt: createdAt),
describable: newDescribable(name: name, description: description),
resourceTypes: resourceTypes,
organizationRef: organizationRef,
);

View File

@@ -1,4 +1,5 @@
import 'package:pshared/data/dto/permissions/description/role.dart';
import 'package:pshared/models/describable.dart';
import 'package:pshared/models/permissions/descriptions/role.dart';
import 'package:pshared/models/storable.dart';
@@ -8,6 +9,8 @@ extension RoleDescriptionMapper on RoleDescription {
id: storable.id,
createdAt: storable.createdAt,
updatedAt: storable.updatedAt,
name: describable.name,
description: describable.description,
organizationRef: organizationRef,
);
}
@@ -15,6 +18,7 @@ extension RoleDescriptionMapper on RoleDescription {
extension RoleDescriptionDTOMapper on RoleDescriptionDTO {
RoleDescription toDomain() => RoleDescription(
storable: newStorable(id: id, createdAt: createdAt, updatedAt: updatedAt),
describable: newDescribable(name: name, description: description),
organizationRef: organizationRef,
);
}

View File

@@ -0,0 +1,11 @@
import 'package:pshared/data/dto/reference.dart';
import 'package:pshared/models/reference.dart';
extension ReferenceMapper on Reference {
ReferenceDTO toDTO() => ReferenceDTO(ref: ref);
}
extension ReferenceDTOMapper on ReferenceDTO {
Reference toDomain() => newReference(ref: ref);
}

View File

@@ -3,7 +3,7 @@ import 'package:pshared/models/storable.dart';
extension StorableMapper on Storable {
StorableDTO toDTO() => StorableDTO(id: id, createdAt: createdAt, updatedAt: updatedAt);
StorableDTO toDTO() => StorableDTO(id: id, createdAt: createdAt.toUtc(), updatedAt: updatedAt.toUtc());
}
extension StorableDTOMapper on StorableDTO {