NicePermission.parse constructor

NicePermission.parse(
  1. String permission
)

Parse from string format "resource.action" (e.g., "products.read").

Implementation

factory NicePermission.parse(String permission) {
  final parts = permission.split('.');
  if (parts.length < 2) {
    return NicePermission(
        resource: permission, action: NiceRbacAction.read);
  }
  return NicePermission(
    resource: parts[0],
    action: NiceRbacAction.values.firstWhere(
      (a) => a.name == parts[1],
      orElse: () => NiceRbacAction.read,
    ),
  );
}