bharat_erp/lib/shared/models/role_model.dart
SurendarSuri30 8f852ac4f6 Initial commit: Bharat ERP Flutter application.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-19 15:04:06 +05:30

37 lines
913 B
Dart

import 'package:freezed_annotation/freezed_annotation.dart';
part 'role_model.freezed.dart';
part 'role_model.g.dart';
@freezed
class RoleModel with _$RoleModel {
const factory RoleModel({
required String id,
required String name,
required String slug,
String? description,
@Default([]) List<String> permissions,
DateTime? createdAt,
DateTime? updatedAt,
}) = _RoleModel;
factory RoleModel.fromJson(Map<String, dynamic> json) => _$RoleModelFromJson(json);
}
@freezed
class PermissionModel with _$PermissionModel {
const factory PermissionModel({
required String id,
required String module,
required String action,
String? description,
}) = _PermissionModel;
factory PermissionModel.fromJson(Map<String, dynamic> json) =>
_$PermissionModelFromJson(json);
}
extension PermissionModelX on PermissionModel {
String get key => '$module.$action';
}