admin/sql/seed_warehouse_module_permissions.sql

46 lines
1.7 KiB
SQL

-- ???? + ????/?? RBAC ??????
-- RBAC ?????????????????????
SET @ADMIN_USER_ID = (
SELECT `Id` FROM `user`
WHERE `Account` = 'admin' AND (`IsDeleted` = 0 OR `IsDeleted` IS NULL)
LIMIT 1
);
SET @ADMIN_USER_ID = IFNULL(
@ADMIN_USER_ID,
'08de4226-3fd4-4a5c-83e5-70e164b15f2f'
);
INSERT INTO `role_permission` (`Id`, `RoleId`, `PermissionCode`, `CreateUserId`, `CreateTime`)
SELECT UUID(), r.`Id`, p.`Code`, @ADMIN_USER_ID, NOW()
FROM `role` r
CROSS JOIN (
SELECT 'Warehouse.Sku.Query' AS `Code` UNION ALL
SELECT 'Warehouse.Sku.Save' UNION ALL
SELECT 'Warehouse.Sku.Delete' UNION ALL
SELECT 'Warehouse.Inventory.Query' UNION ALL
SELECT 'Warehouse.Inventory.Relocate' UNION ALL
SELECT 'Warehouse.BinLocation.Query' UNION ALL
SELECT 'Warehouse.BinLocation.Save' UNION ALL
SELECT 'Warehouse.Parcel.Query' UNION ALL
SELECT 'Warehouse.Parcel.Save' UNION ALL
SELECT 'Warehouse.Parcel.Delete' UNION ALL
SELECT 'Warehouse.InboundNotice.Query' UNION ALL
SELECT 'Warehouse.InboundNotice.Save' UNION ALL
SELECT 'Warehouse.InboundNotice.ConfirmReceive' UNION ALL
SELECT 'Warehouse.InboundNotice.Delete' UNION ALL
SELECT 'Order.PlatformStore.Query' UNION ALL
SELECT 'Order.PlatformStore.Save' UNION ALL
SELECT 'Order.PlatformStore.Delete' UNION ALL
SELECT 'Order.PlatformStore.Auth' UNION ALL
SELECT 'Order.PlatformStoreOrder.Query' UNION ALL
SELECT 'Order.PlatformStoreOrder.MatchInventory' UNION ALL
SELECT 'Order.PlatformStoreOrder.ToggleSuspend' UNION ALL
SELECT 'Order.PlatformStoreOrder.Delete'
) p
WHERE r.`Code` IN ('Admin', 'Customer')
AND NOT EXISTS (
SELECT 1 FROM `role_permission` rp
WHERE rp.`RoleId` = r.`Id` AND rp.`PermissionCode` = p.`Code`
);