-
-
Notifications
You must be signed in to change notification settings - Fork 318
/
store_proxy.py
89 lines (81 loc) · 2.93 KB
/
store_proxy.py
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
78
79
80
81
82
83
84
85
86
87
88
89
from typing import TYPE_CHECKING, Optional
from office365.runtime.client_result import ClientResult
from office365.runtime.client_value_collection import ClientValueCollection
from office365.runtime.queries.service_operation import ServiceOperationQuery
from office365.runtime.types.collections import StringCollection
from office365.sharepoint.compliance.tag import ComplianceTag
from office365.sharepoint.entity import Entity
if TYPE_CHECKING:
from office365.sharepoint.client_context import ClientContext
class SPPolicyStoreProxy(Entity):
@staticmethod
def check_site_is_deletable_by_id(context, site_id, return_type=None):
# type: (ClientContext, str, Optional[ClientResult[bool]]) -> ClientResult[bool]
""" """
if return_type is None:
return_type = ClientResult(context, bool())
payload = {"siteId": site_id}
qry = ServiceOperationQuery(
SPPolicyStoreProxy(context),
"CheckSiteIsDeletableById",
None,
payload,
None,
return_type,
True,
)
context.add_query(qry)
return return_type
@staticmethod
def is_site_deletable(context, site_url, return_type=None):
# type: (ClientContext, str, Optional[ClientResult[bool]]) -> ClientResult[bool]
""" """
if return_type is None:
return_type = ClientResult(context, bool())
payload = {"siteUrl": site_url}
qry = ServiceOperationQuery(
SPPolicyStoreProxy(context),
"IsSiteDeletable",
None,
payload,
None,
return_type,
True,
)
context.add_query(qry)
return return_type
@staticmethod
def get_available_tags_for_site(context, site_url, return_type=None):
"""
:param office365.sharepoint.client_context.ClientContext context: SharePoint client context
:param str site_url:
:param ClientResult return_type:
"""
if return_type is None:
return_type = ClientResult(context, ClientValueCollection(ComplianceTag))
payload = {"siteUrl": site_url}
qry = ServiceOperationQuery(
SPPolicyStoreProxy(context),
"GetAvailableTagsForSite",
None,
payload,
None,
return_type,
True,
)
context.add_query(qry)
return return_type
def get_dynamic_scope_binding_by_site_id(self, site_id):
"""
:param str site_id:
"""
return_type = ClientResult(self.context, StringCollection())
payload = {"siteId": site_id}
qry = ServiceOperationQuery(
self, "GetDynamicScopeBindingBySiteId", None, payload, None, return_type
)
self.context.add_query(qry)
return return_type
@property
def entity_type_name(self):
return "SP.CompliancePolicy.SPPolicyStoreProxy"