-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackages.py
More file actions
47 lines (43 loc) · 1.31 KB
/
packages.py
File metadata and controls
47 lines (43 loc) · 1.31 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
from utils import convert_to_binsid
from dbo import execute_query, execute_remove
def get_packages(usersid = None):
flt = "" if usersid is None else f"WHERE u.UserSid = X'{convert_to_binsid(usersid)}'"
return execute_query(f"""
SELECT
pu._PackageUserID,
p.PackageFullName,
pu.User,
hex(u.UserSid) as sid,
CASE
WHEN pu.DeploymentState = 2 THEN 'Installed'
WHEN pu.DeploymentState = 1 THEN 'Staged'
ELSE pu.DeploymentState
END AS State
FROM Package p
JOIN PackageUser pu ON pu.Package = p._PackageID
JOIN User u ON u._UserID = pu.User
{flt}
""")
def remove_package(packagefullname):
return execute_remove(
"""
DELETE
FROM PackageUser pu
JOIN Package p ON p._PackageID = pu.Package
WHERE p.PackageFullName = ?
""",
(packagefullname,),
'PackageUser',
'Package'
)
# def remove_user_packages(usersid):
# return execute_remove(
# f"""
# DELETE
# FROM PackageUser pu
# JOIN User u ON u._UserID = pu.User
# WHERE u.UserSid = {convert_to_binsid(usersid)}
# """,
# None,
# 'PackageUser'
# )