Frontend first draft
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
import 'package:pshared/data/dto/permissions/action_effect.dart';
|
||||
|
||||
part 'permission.g.dart';
|
||||
|
||||
|
||||
@JsonSerializable()
|
||||
class PermissionDTO {
|
||||
final String roleDescriptionRef;
|
||||
final String organizationRef;
|
||||
final String descriptionRef;
|
||||
final String? objectRef;
|
||||
final ActionEffectDTO effect;
|
||||
final String accountRef;
|
||||
|
||||
const PermissionDTO({
|
||||
required this.roleDescriptionRef,
|
||||
required this.organizationRef,
|
||||
required this.descriptionRef,
|
||||
required this.objectRef,
|
||||
required this.effect,
|
||||
required this.accountRef,
|
||||
});
|
||||
|
||||
factory PermissionDTO.fromJson(Map<String, dynamic> json) => _$PermissionDTOFromJson(json);
|
||||
Map<String, dynamic> toJson() => _$PermissionDTOToJson(this);
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
import 'package:pshared/data/dto/permissions/data/permission.dart';
|
||||
import 'package:pshared/data/dto/permissions/data/policy.dart';
|
||||
import 'package:pshared/data/dto/permissions/data/role.dart';
|
||||
|
||||
part 'permissions.g.dart';
|
||||
|
||||
|
||||
@JsonSerializable()
|
||||
class PermissionsDataDTO {
|
||||
final List<RoleDTO> roles;
|
||||
final List<PolicyDTO> policies;
|
||||
final List<PermissionDTO> permissions;
|
||||
|
||||
const PermissionsDataDTO({
|
||||
required this.roles,
|
||||
required this.policies,
|
||||
required this.permissions,
|
||||
});
|
||||
|
||||
factory PermissionsDataDTO.fromJson(Map<String, dynamic> json) => _$PermissionsDataDTOFromJson(json);
|
||||
Map<String, dynamic> toJson() => _$PermissionsDataDTOToJson(this);
|
||||
}
|
||||
26
frontend/pshared/lib/data/dto/permissions/data/policy.dart
Normal file
26
frontend/pshared/lib/data/dto/permissions/data/policy.dart
Normal file
@@ -0,0 +1,26 @@
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
import 'package:pshared/data/dto/permissions/action_effect.dart';
|
||||
|
||||
part 'policy.g.dart';
|
||||
|
||||
|
||||
@JsonSerializable()
|
||||
class PolicyDTO {
|
||||
final String roleDescriptionRef;
|
||||
final String organizationRef;
|
||||
final String descriptionRef;
|
||||
final String? objectRef;
|
||||
final ActionEffectDTO effect;
|
||||
|
||||
const PolicyDTO({
|
||||
required this.roleDescriptionRef,
|
||||
required this.organizationRef,
|
||||
required this.descriptionRef,
|
||||
required this.objectRef,
|
||||
required this.effect,
|
||||
});
|
||||
|
||||
factory PolicyDTO.fromJson(Map<String, dynamic> json) => _$PolicyDTOFromJson(json);
|
||||
Map<String, dynamic> toJson() => _$PolicyDTOToJson(this);
|
||||
}
|
||||
20
frontend/pshared/lib/data/dto/permissions/data/role.dart
Normal file
20
frontend/pshared/lib/data/dto/permissions/data/role.dart
Normal file
@@ -0,0 +1,20 @@
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
|
||||
part 'role.g.dart';
|
||||
|
||||
|
||||
@JsonSerializable()
|
||||
class RoleDTO {
|
||||
final String accountRef;
|
||||
final String organizationRef;
|
||||
final String descriptionRef;
|
||||
|
||||
const RoleDTO({
|
||||
required this.accountRef,
|
||||
required this.descriptionRef,
|
||||
required this.organizationRef,
|
||||
});
|
||||
|
||||
factory RoleDTO.fromJson(Map<String, dynamic> json) => _$RoleDTOFromJson(json);
|
||||
Map<String, dynamic> toJson() => _$RoleDTOToJson(this);
|
||||
}
|
||||
Reference in New Issue
Block a user