| | | 1 | | namespace Services.AccessControl; |
| | | 2 | | |
| | | 3 | | /// <summary> |
| | | 4 | | /// Результат вычисления RLS-ограничений для конкретного пользователя. |
| | | 5 | | /// IsUnrestricted = true означает, что нет ни одного ограничения — пользователь видит все данные. |
| | | 6 | | /// </summary> |
| | 11 | 7 | | public record UserDataScope( |
| | 8 | 8 | | IReadOnlySet<int> AppStatusIds, |
| | 11 | 9 | | IReadOnlySet<int> SupplierIds, |
| | 9 | 10 | | IReadOnlySet<int> OzonClientIds, |
| | 10 | 11 | | IReadOnlySet<int> WarehouseIds, |
| | 9 | 12 | | IReadOnlySet<int> DeliveryProviderIds, |
| | 15 | 13 | | bool IsUnrestricted |
| | 11 | 14 | | ) |
| | | 15 | | { |
| | 1 | 16 | | public static readonly UserDataScope Unrestricted = new( |
| | 1 | 17 | | AppStatusIds: new HashSet<int>(), |
| | 1 | 18 | | SupplierIds: new HashSet<int>(), |
| | 1 | 19 | | OzonClientIds: new HashSet<int>(), |
| | 1 | 20 | | WarehouseIds: new HashSet<int>(), |
| | 1 | 21 | | DeliveryProviderIds: new HashSet<int>(), |
| | 1 | 22 | | IsUnrestricted: true |
| | 1 | 23 | | ); |
| | | 24 | | } |