Skip to content

Commit

Permalink
populate permissions
Browse files Browse the repository at this point in the history
  • Loading branch information
bahram1249 committed Aug 4, 2024
1 parent 9cccf55 commit 85f96d8
Showing 1 changed file with 133 additions and 0 deletions.
133 changes: 133 additions & 0 deletions apps/main/src/sql/core-v1.sql
Original file line number Diff line number Diff line change
Expand Up @@ -15821,6 +15821,139 @@ END

GO

-- ecommerce/admin/headerNotifications
IF NOT EXISTS ((SELECT 1 FROM Migrations WHERE version = 'CORE-Permissions-Data-v67'
))
AND EXISTS (
SELECT 1 FROM Settings WHERE 1=1
AND ([key] = 'SITE_NAME' AND [value] IN ('ecommerce'))
)
BEGIN

DECLARE @roleId int = (SELECT TOP 1 id FROM Roles WHERE static_id = 1)
DECLARE @userId bigint = (SELECT TOP 1 id FROM Users WHERE static_id = 1)

DECLARE @GroupTemp TABLE (
gorupId int
);

DECLARE @groupId int = null;

DECLARE @entityName nvarchar(256) = N'HeaderNotification'
DECLARE @groupName nvarchar(256) = N'ecommerce.admin.headernotifications'
DECLARE @findParentMenu bit = 1;
DECLARE @parentMenuName nvarchar(256) = N'مدیریت'
DECLARE @menuName nvarchar(256) = N'اطلاع رسانی بالای سایت'
DECLARE @menuUrl nvarchar(512) = N'/admin/ecommerce/headerNotifications'

DECLARE @permissionSymbolShowMenu nvarchar(512) = @groupName + '.showmenu';
DECLARE @permissionSymbolGetAll nvarchar(512) = @groupName + '.getall';
DECLARE @permissionSymbolUpdate nvarchar(512) = @groupName + '.update';





-- permission groups
INSERT INTO PermissionGroups(permissionGroupName, [visibility], createdAt, updatedAt)
OUTPUT inserted.id INTO @GroupTemp(gorupId)
SELECT @groupName, 1, GETDATE(), GETDATE();

SELECT @groupId = gorupId FROM @GroupTemp


-- permissions


DECLARE @PermissionTemp TABLE (
permissionId int
);

INSERT INTO Permissions(permissionName ,permissionSymbol,permissionGroupId, createdAt, updatedAt)
OUTPUT inserted.id INTO @PermissionTemp(permissionId)
SELECT 'GETALL_' + @entityName, @permissionSymbolGetAll, @groupId, GETDATE(), GETDATE()


INSERT INTO Permissions(permissionName ,permissionSymbol,permissionGroupId, createdAt, updatedAt)
OUTPUT inserted.id INTO @PermissionTemp(permissionId)
SELECT 'UPDATE_' + @entityName, @permissionSymbolUpdate, @groupId, GETDATE(), GETDATE()


-- CRUD THIS Enity FOR super-admin
INSERT INTO RolePermissions(roleId, permissionId, createdAt, updatedAt)
SELECT @roleId, permissionId, GETDATE(), GETDATE()
FROM @PermissionTemp

DELETE FROM @PermissionTemp

INSERT INTO Permissions(permissionName ,permissionSymbol, permissionGroupId,createdAt, updatedAt)
OUTPUT inserted.id INTO @PermissionTemp(permissionId)
SELECT 'SHOWMENU_' + @entityName, @permissionSymbolShowMenu, @groupId,GETDATE(), GETDATE()

INSERT INTO RolePermissions(roleId, permissionId, createdAt, updatedAt)
SELECT @roleId, permissionId, GETDATE(), GETDATE()
FROM @PermissionTemp

DECLARE @permissionId int = null
SELECT @permissionId = permissionId FROM @PermissionTemp




DECLARE @parentMenuId int = null



IF @findParentMenu = 0
BEGIN
-- INSERT ParentMenu
DECLARE @ParentMenuTemp TABLE (
menuId int
);

INSERT INTO Menus(title, url, className, visibility, createdAt, updatedAt)
OUTPUT inserted.id INTO @ParentMenuTemp(menuId)
SELECT @parentMenuName, null, null, null, GETDATE(), GETDATE()

SELECT @parentMenuId = menuId FROM @ParentMenuTemp

END
ELSE
BEGIN
SELECT @parentMenuId = id
FROM Menus
WHERE title = @parentMenuName
END

IF @parentMenuId IS NOT NULL
AND NOT EXISTS (SELECT 1 FROM PermissionMenus WHERE permissionId = @permissionId AND menuId = @parentMenuId)
BEGIN
INSERT INTO PermissionMenus(permissionId, menuId, createdAt, updatedAt)
SELECT @permissionId, @parentMenuId, getdate(), getdate()

END

DECLARE @MenuTemp TABLE (
menuId int
);
DECLARE @menuId int = null

INSERT INTO Menus(title, url, parentMenuId, className, visibility, createdAt, updatedAt)
OUTPUT inserted.id INTO @MenuTemp(menuId)
SELECT @menuName, @menuUrl, @parentMenuId,null, null, GETDATE(), GETDATE()

SELECT @menuId = menuId FROM @MenuTemp

INSERT INTO PermissionMenus(permissionId, menuId, createdAt, updatedAt)
SELECT @permissionId, @menuId, getdate(), getdate()

INSERT INTO Migrations(version, createdAt, updatedAt)
SELECT 'CORE-Permissions-Data-v67', GETDATE(), GETDATE()
END

GO



-- period types
IF NOT EXISTS (SELECT 1 FROM Migrations WHERE version = 'PCMPeriodTypes-Data-v1'
Expand Down

0 comments on commit 85f96d8

Please sign in to comment.