22from masonite .views import View
33from masonite .controllers import Controller
44
5- from src .masonite_permission .models .permission import Permission
65from src .masonite_permission .models .role import Role
76from tests .integrations .app .models .User import User
8- from masoniteorm .expressions import JoinClause
9- from masoniteorm .query import QueryBuilder
107
118
129class WelcomeController (Controller ):
@@ -21,61 +18,5 @@ def show(self, view: View):
2118
2219 def test (self ):
2320 user = User .first ()
24- role = Role .first ()
25-
26- # user.sync_permissions(["create-post", "edit-user"])
27- # role.sync_permissions(["create-user", "edit-user", "delete-user"])
2821
2922 return user .permissions ()
30-
31- # user_two = User.create(
32- # {
33- # "name": "John",
34- # "email": "john@example.com",
35- # "password": "OK",
36- # "phone": "+123456789",
37- # }
38- # )
39-
40- # user_two.sync_permissions("delete-user")
41-
42- return (
43- QueryBuilder ().table ("permissions" ).select_raw ("permissions.id, permissions.name" ).where_in ("id" , lambda q : (
44- q .table ("model_has_permissions" )
45- .select ("model_has_permissions.permission_id" )
46- .where_raw (f"""
47- (model_has_permissions.permissionable_type = 'users' and model_has_permissions.permissionable_id = { user .id } )
48- or
49- (model_has_permissions.permissionable_type = 'roles' and model_has_permissions.permissionable_id in (
50- select role_user.role_id from role_user where role_user.user_id = { user .id }
51- ))
52- """ )
53- )).get ()
54- )
55-
56- return (
57- QueryBuilder ().table ("permissions" )
58- .select_raw ("permissions.id, permissions.name, permissions.slug, users.id" )
59- .join (pivot_query )
60- .join (role_permission_query )
61- .join (user_permission_query )
62- .group_by ("permissions.id, users.id" )
63- .where ("users.id" , 1 )
64- .get ()
65- )
66-
67- user = User .first ()
68- admin = Role .where ("slug" , "admin" ).first ()
69-
70-
71- user .attach_permission ("edit-user" )
72-
73- admin .sync_permissions (["create-post" , "edit-post" , "delete-post" ])
74-
75- user .sync_roles (['admin' , 'editor' ])
76-
77- return user .permissions ()
78-
79- return {
80- "roles" : permission .roles ().serialize (),
81- }
0 commit comments