Frontend first draft
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
import 'package:pshared/data/dto/permissions/action_effect.dart';
|
||||
import 'package:pshared/models/permissions/action_effect.dart';
|
||||
import 'package:pshared/models/permissions/action.dart';
|
||||
import 'package:pshared/models/permissions/effect.dart';
|
||||
|
||||
|
||||
extension ActionEffectMapper on ActionEffect {
|
||||
ActionEffectDTO toDTO() {
|
||||
return ActionEffectDTO(
|
||||
action: action.toShortString(),
|
||||
effect: effect.toShortString(),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
extension ActionEffectDTOMapper on ActionEffectDTO {
|
||||
ActionEffect toDomain() {
|
||||
return ActionEffect(
|
||||
action: ActionExtension.fromString(action),
|
||||
effect: EffectExtension.fromString(effect),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
import 'package:pshared/data/dto/permissions/data/permission.dart';
|
||||
import 'package:pshared/data/mapper/permissions/action_effect.dart';
|
||||
import 'package:pshared/models/permissions/data/permission.dart';
|
||||
import 'package:pshared/models/permissions/data/policy.dart';
|
||||
|
||||
|
||||
extension PermissionMapper on Permission {
|
||||
PermissionDTO toDTO() {
|
||||
return PermissionDTO(
|
||||
roleDescriptionRef: policy.roleDescriptionRef,
|
||||
organizationRef: policy.organizationRef,
|
||||
descriptionRef: policy.descriptionRef,
|
||||
objectRef: policy.objectRef,
|
||||
effect: policy.effect.toDTO(),
|
||||
accountRef: accountRef,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
extension PermissionDTOMapper on PermissionDTO {
|
||||
Permission toDomain() {
|
||||
return Permission(
|
||||
policy: Policy(
|
||||
roleDescriptionRef: roleDescriptionRef,
|
||||
organizationRef: organizationRef,
|
||||
descriptionRef: descriptionRef,
|
||||
objectRef: objectRef,
|
||||
effect: effect.toDomain(),
|
||||
),
|
||||
accountRef: accountRef,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
import 'package:pshared/data/dto/permissions/data/permissions.dart';
|
||||
import 'package:pshared/data/mapper/permissions/data/permission.dart';
|
||||
import 'package:pshared/data/mapper/permissions/data/policy.dart';
|
||||
import 'package:pshared/data/mapper/permissions/data/role.dart';
|
||||
import 'package:pshared/models/permissions/data/permissions.dart';
|
||||
|
||||
|
||||
extension PermissionsDataMapper on PermissionsData {
|
||||
PermissionsDataDTO toDTO() {
|
||||
return PermissionsDataDTO(
|
||||
roles: roles.map((role) => role.toDTO()).toList(),
|
||||
policies: policies.map((policy) => policy.toDTO()).toList(),
|
||||
permissions: permissions.map((permission) => permission.toDTO()).toList(),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
extension PermissionsDataDTOMapper on PermissionsDataDTO {
|
||||
PermissionsData toDomain() {
|
||||
return PermissionsData(
|
||||
roles: roles.map((role) => role.toDomain()).toList(),
|
||||
policies: policies.map((policy) => policy.toDomain()).toList(),
|
||||
permissions: permissions.map((permission) => permission.toDomain()).toList(),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
import 'package:pshared/data/dto/permissions/data/policy.dart';
|
||||
import 'package:pshared/data/mapper/permissions/action_effect.dart';
|
||||
import 'package:pshared/models/permissions/data/policy.dart';
|
||||
|
||||
|
||||
extension PolicyMapper on Policy {
|
||||
PolicyDTO toDTO() {
|
||||
return PolicyDTO(
|
||||
roleDescriptionRef: roleDescriptionRef,
|
||||
organizationRef: organizationRef,
|
||||
descriptionRef: descriptionRef,
|
||||
objectRef: objectRef,
|
||||
effect: effect.toDTO(),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
extension PolicyDTOMapper on PolicyDTO {
|
||||
Policy toDomain() {
|
||||
return Policy(
|
||||
roleDescriptionRef: roleDescriptionRef,
|
||||
organizationRef: organizationRef,
|
||||
descriptionRef: descriptionRef,
|
||||
objectRef: objectRef,
|
||||
effect: effect.toDomain(),
|
||||
);
|
||||
}
|
||||
}
|
||||
25
frontend/pshared/lib/data/mapper/permissions/data/role.dart
Normal file
25
frontend/pshared/lib/data/mapper/permissions/data/role.dart
Normal file
@@ -0,0 +1,25 @@
|
||||
import 'package:pshared/data/dto/permissions/data/role.dart';
|
||||
import 'package:pshared/models/permissions/data/role.dart';
|
||||
|
||||
|
||||
extension RoleMapper on Role {
|
||||
/// Converts a `Role` domain model to a `RoleDTO`.
|
||||
RoleDTO toDTO() {
|
||||
return RoleDTO(
|
||||
accountRef: accountRef,
|
||||
descriptionRef: descriptionRef,
|
||||
organizationRef: organizationRef,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
extension RoleDTOMapper on RoleDTO {
|
||||
/// Converts a `RoleDTO` to a `Role` domain model.
|
||||
Role toDomain() {
|
||||
return Role(
|
||||
accountRef: accountRef,
|
||||
descriptionRef: descriptionRef,
|
||||
organizationRef: organizationRef,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
import 'package:pshared/data/dto/permissions/description/description.dart';
|
||||
import 'package:pshared/data/mapper/permissions/descriptions/policy.dart';
|
||||
import 'package:pshared/data/mapper/permissions/descriptions/role.dart';
|
||||
import 'package:pshared/models/permissions/descriptions/permissions.dart';
|
||||
|
||||
|
||||
extension PermissionsDescriptionMapper on PermissionsDescription {
|
||||
PermissionsDescriptionDTO toDTO() {
|
||||
return PermissionsDescriptionDTO(
|
||||
roles: roles.map((role) => role.toDTO()).toList(),
|
||||
policies: policies.map((policy) => policy.toDTO()).toList(),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
extension PermissionsDescriptionDTOMapper on PermissionsDescriptionDTO {
|
||||
PermissionsDescription toDomain() {
|
||||
return PermissionsDescription(
|
||||
roles: roles.map((role) => role.toDomain()).toList(),
|
||||
policies: policies.map((policy) => policy.toDomain()).toList(),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
import 'package:pshared/data/dto/permissions/description/policy.dart';
|
||||
import 'package:pshared/models/permissions/descriptions/policy.dart';
|
||||
import 'package:pshared/models/storable.dart';
|
||||
|
||||
|
||||
extension PolicyDescriptionMapper on PolicyDescription {
|
||||
PolicyDescriptionDTO toDTO() => PolicyDescriptionDTO(
|
||||
id: storable.id,
|
||||
createdAt: storable.createdAt,
|
||||
updatedAt: storable.updatedAt,
|
||||
resourceTypes: resourceTypes,
|
||||
organizationRef: organizationRef,
|
||||
);
|
||||
}
|
||||
|
||||
extension PolicyDescriptionDTOMapper on PolicyDescriptionDTO {
|
||||
PolicyDescription toDomain() => PolicyDescription(
|
||||
storable: newStorable(id: id, createdAt: createdAt, updatedAt: createdAt),
|
||||
resourceTypes: resourceTypes,
|
||||
organizationRef: organizationRef,
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
import 'package:pshared/data/dto/permissions/description/role.dart';
|
||||
import 'package:pshared/models/permissions/descriptions/role.dart';
|
||||
import 'package:pshared/models/storable.dart';
|
||||
|
||||
|
||||
extension RoleDescriptionMapper on RoleDescription {
|
||||
RoleDescriptionDTO toDTO() => RoleDescriptionDTO(
|
||||
id: storable.id,
|
||||
createdAt: storable.createdAt,
|
||||
updatedAt: storable.updatedAt,
|
||||
organizationRef: organizationRef,
|
||||
);
|
||||
}
|
||||
|
||||
extension RoleDescriptionDTOMapper on RoleDescriptionDTO {
|
||||
RoleDescription toDomain() => RoleDescription(
|
||||
storable: newStorable(id: id, createdAt: createdAt, updatedAt: updatedAt),
|
||||
organizationRef: organizationRef,
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user