2
2
from masonite .views import View
3
3
from masonite .controllers import Controller
4
4
5
- from src .masonite_permission .models .permission import Permission
6
5
from src .masonite_permission .models .role import Role
7
6
from tests .integrations .app .models .User import User
8
- from masoniteorm .expressions import JoinClause
9
- from masoniteorm .query import QueryBuilder
10
7
11
8
12
9
class WelcomeController (Controller ):
@@ -21,61 +18,5 @@ def show(self, view: View):
21
18
22
19
def test (self ):
23
20
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"])
28
21
29
22
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