-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRole.py
More file actions
77 lines (62 loc) · 2.57 KB
/
Copy pathRole.py
File metadata and controls
77 lines (62 loc) · 2.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
from pymongo import MongoClient
from Connection import Connection
cluster = MongoClient(
"mongodb+srv://Logan:lolo123@cluster0.igyjs.mongodb.net/ecole?retryWrites=true&w=majority")
db = cluster.testdb
collection = db.testcollection
roles = db.roles
class ManageRole(Connection):
def __init__(self, username, password=''):
Connection.__init__(self, username, password)
def determine_role_user(self, commande):
self.commande = commande
self.role_user = self.get_user_data_from_db["role"]
if roles.find({'Role': self.role_user}):
for i in roles.find({'Role': self.role_user}, {"Role": 0, "Permissions": 1}):
tab_permissions.append(i)
print(tab_permissions)
# if i == self.commande:
# print("l'utilisateur peut exécuter cette commande !")
# return True
# print("l'utilisateur NE peut PAS exécuter cette commande !")
# return False
return "Le role n'existe pas"
# print(tab_permissions)
# for i in tab_permissions:
# if i == self.commande:
# print("l'utilisateur peut exécuter cette commande !")
# return True
# else:
# print("l'utilisateur NE peut PAS exécuter cette commande !")
# return False
@property
def verify_permission(self, commande):
self.role_admin = ['ADMIN', 'METEO', 'DJ', 'BAN_USER', 'BAN']
self.role_modo = ['METEO', 'DJ', 'BAN_USER']
user = Connection.get_user_data_from_db
roles = user.find({"role": self.role})
return roles
def remove_role(self, role):
self.role = role
roles.delete_one({"Role": self.role})
delete_from_all_user = collection.find({})
for user in delete_from_all_user:
for key, values in user.items():
if key == "role":
self.dic_user = user
self.role_of_the_user = values
if role in self.role_of_the_user:
self.role_of_the_user.remove(role)
self.dic_user["role"] = self.role_of_the_user
print(type(self.role_of_the_user), self.dic_user)
collection.replace_one({"username": self.dic_user["username"]}, self.dic_user)
return True
else:
return False
def add_role(self, role):
self.role = role
roles.insert_one({"Role": self.role})
def add_role_to_user(self):
pass
a = ManageRole("Zink")
print(a.determine_role_user("METEO"))