sift-stack-py 0.3.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- google/__init__.py +1 -0
- google/api/__init__.py +0 -0
- google/api/annotations_pb2.py +27 -0
- google/api/annotations_pb2.pyi +29 -0
- google/api/annotations_pb2_grpc.py +4 -0
- google/api/annotations_pb2_grpc.pyi +30 -0
- google/api/field_behavior_pb2.py +30 -0
- google/api/field_behavior_pb2.pyi +175 -0
- google/api/field_behavior_pb2_grpc.py +4 -0
- google/api/field_behavior_pb2_grpc.pyi +30 -0
- google/api/http_pb2.py +31 -0
- google/api/http_pb2.pyi +433 -0
- google/api/http_pb2_grpc.py +4 -0
- google/api/http_pb2_grpc.pyi +30 -0
- protoc_gen_openapiv2/__init__.py +0 -0
- protoc_gen_openapiv2/options/__init__.py +0 -0
- protoc_gen_openapiv2/options/annotations_pb2.py +27 -0
- protoc_gen_openapiv2/options/annotations_pb2.pyi +48 -0
- protoc_gen_openapiv2/options/annotations_pb2_grpc.py +4 -0
- protoc_gen_openapiv2/options/annotations_pb2_grpc.pyi +17 -0
- protoc_gen_openapiv2/options/openapiv2_pb2.py +132 -0
- protoc_gen_openapiv2/options/openapiv2_pb2.pyi +1533 -0
- protoc_gen_openapiv2/options/openapiv2_pb2_grpc.py +4 -0
- protoc_gen_openapiv2/options/openapiv2_pb2_grpc.pyi +17 -0
- sift/__init__.py +0 -0
- sift/annotation_logs/__init__.py +0 -0
- sift/annotation_logs/v1/__init__.py +0 -0
- sift/annotation_logs/v1/annotation_logs_pb2.py +115 -0
- sift/annotation_logs/v1/annotation_logs_pb2.pyi +370 -0
- sift/annotation_logs/v1/annotation_logs_pb2_grpc.py +135 -0
- sift/annotation_logs/v1/annotation_logs_pb2_grpc.pyi +84 -0
- sift/annotations/__init__.py +0 -0
- sift/annotations/v1/__init__.py +0 -0
- sift/annotations/v1/annotations_pb2.py +180 -0
- sift/annotations/v1/annotations_pb2.pyi +539 -0
- sift/annotations/v1/annotations_pb2_grpc.py +237 -0
- sift/annotations/v1/annotations_pb2_grpc.pyi +144 -0
- sift/assets/__init__.py +0 -0
- sift/assets/v1/__init__.py +0 -0
- sift/assets/v1/assets_pb2.py +90 -0
- sift/assets/v1/assets_pb2.pyi +235 -0
- sift/assets/v1/assets_pb2_grpc.py +168 -0
- sift/assets/v1/assets_pb2_grpc.pyi +101 -0
- sift/calculated_channels/__init__.py +0 -0
- sift/calculated_channels/v1/__init__.py +0 -0
- sift/calculated_channels/v1/calculated_channels_pb2.py +99 -0
- sift/calculated_channels/v1/calculated_channels_pb2.pyi +280 -0
- sift/calculated_channels/v1/calculated_channels_pb2_grpc.py +101 -0
- sift/calculated_channels/v1/calculated_channels_pb2_grpc.pyi +64 -0
- sift/campaigns/__init__.py +0 -0
- sift/campaigns/v1/__init__.py +0 -0
- sift/campaigns/v1/campaigns_pb2.py +144 -0
- sift/campaigns/v1/campaigns_pb2.pyi +383 -0
- sift/campaigns/v1/campaigns_pb2_grpc.py +169 -0
- sift/campaigns/v1/campaigns_pb2_grpc.pyi +104 -0
- sift/channel_schemas/__init__.py +0 -0
- sift/channel_schemas/v1/__init__.py +0 -0
- sift/channel_schemas/v1/channel_schemas_pb2.py +69 -0
- sift/channel_schemas/v1/channel_schemas_pb2.pyi +117 -0
- sift/channel_schemas/v1/channel_schemas_pb2_grpc.py +101 -0
- sift/channel_schemas/v1/channel_schemas_pb2_grpc.pyi +64 -0
- sift/channels/__init__.py +0 -0
- sift/channels/v2/__init__.py +0 -0
- sift/channels/v2/channels_pb2.py +88 -0
- sift/channels/v2/channels_pb2.pyi +183 -0
- sift/channels/v2/channels_pb2_grpc.py +101 -0
- sift/channels/v2/channels_pb2_grpc.pyi +64 -0
- sift/common/__init__.py +0 -0
- sift/common/type/__init__.py +0 -0
- sift/common/type/v1/__init__.py +0 -0
- sift/common/type/v1/channel_bit_field_element_pb2.py +34 -0
- sift/common/type/v1/channel_bit_field_element_pb2.pyi +33 -0
- sift/common/type/v1/channel_bit_field_element_pb2_grpc.py +4 -0
- sift/common/type/v1/channel_bit_field_element_pb2_grpc.pyi +17 -0
- sift/common/type/v1/channel_data_type_pb2.py +29 -0
- sift/common/type/v1/channel_data_type_pb2.pyi +50 -0
- sift/common/type/v1/channel_data_type_pb2_grpc.py +4 -0
- sift/common/type/v1/channel_data_type_pb2_grpc.pyi +17 -0
- sift/common/type/v1/channel_enum_type_pb2.py +32 -0
- sift/common/type/v1/channel_enum_type_pb2.pyi +29 -0
- sift/common/type/v1/channel_enum_type_pb2_grpc.py +4 -0
- sift/common/type/v1/channel_enum_type_pb2_grpc.pyi +17 -0
- sift/common/type/v1/organization_pb2.py +27 -0
- sift/common/type/v1/organization_pb2.pyi +29 -0
- sift/common/type/v1/organization_pb2_grpc.py +4 -0
- sift/common/type/v1/organization_pb2_grpc.pyi +17 -0
- sift/common/type/v1/resource_identifier_pb2.py +46 -0
- sift/common/type/v1/resource_identifier_pb2.pyi +145 -0
- sift/common/type/v1/resource_identifier_pb2_grpc.py +4 -0
- sift/common/type/v1/resource_identifier_pb2_grpc.pyi +17 -0
- sift/common/type/v1/user_pb2.py +33 -0
- sift/common/type/v1/user_pb2.pyi +36 -0
- sift/common/type/v1/user_pb2_grpc.py +4 -0
- sift/common/type/v1/user_pb2_grpc.pyi +17 -0
- sift/data/__init__.py +0 -0
- sift/data/v1/__init__.py +0 -0
- sift/data/v1/data_pb2.py +212 -0
- sift/data/v1/data_pb2.pyi +745 -0
- sift/data/v1/data_pb2_grpc.py +67 -0
- sift/data/v1/data_pb2_grpc.pyi +44 -0
- sift/ingest/__init__.py +0 -0
- sift/ingest/v1/__init__.py +0 -0
- sift/ingest/v1/ingest_pb2.py +35 -0
- sift/ingest/v1/ingest_pb2.pyi +118 -0
- sift/ingest/v1/ingest_pb2_grpc.py +66 -0
- sift/ingest/v1/ingest_pb2_grpc.pyi +41 -0
- sift/ingestion_configs/__init__.py +0 -0
- sift/ingestion_configs/v1/__init__.py +0 -0
- sift/ingestion_configs/v1/ingestion_configs_pb2.py +115 -0
- sift/ingestion_configs/v1/ingestion_configs_pb2.pyi +332 -0
- sift/ingestion_configs/v1/ingestion_configs_pb2_grpc.py +203 -0
- sift/ingestion_configs/v1/ingestion_configs_pb2_grpc.pyi +124 -0
- sift/notifications/__init__.py +0 -0
- sift/notifications/v1/__init__.py +0 -0
- sift/notifications/v1/notifications_pb2.py +64 -0
- sift/notifications/v1/notifications_pb2.pyi +225 -0
- sift/notifications/v1/notifications_pb2_grpc.py +101 -0
- sift/notifications/v1/notifications_pb2_grpc.pyi +64 -0
- sift/ping/__init__.py +0 -0
- sift/ping/v1/__init__.py +0 -0
- sift/ping/v1/ping_pb2.py +38 -0
- sift/ping/v1/ping_pb2.pyi +36 -0
- sift/ping/v1/ping_pb2_grpc.py +66 -0
- sift/ping/v1/ping_pb2_grpc.pyi +41 -0
- sift/remote_files/__init__.py +0 -0
- sift/remote_files/v1/__init__.py +0 -0
- sift/remote_files/v1/remote_files_pb2.py +174 -0
- sift/remote_files/v1/remote_files_pb2.pyi +472 -0
- sift/remote_files/v1/remote_files_pb2_grpc.py +271 -0
- sift/remote_files/v1/remote_files_pb2_grpc.pyi +164 -0
- sift/report_templates/__init__.py +0 -0
- sift/report_templates/v1/__init__.py +0 -0
- sift/report_templates/v1/report_templates_pb2.py +146 -0
- sift/report_templates/v1/report_templates_pb2.pyi +381 -0
- sift/report_templates/v1/report_templates_pb2_grpc.py +169 -0
- sift/report_templates/v1/report_templates_pb2_grpc.pyi +104 -0
- sift/reports/__init__.py +0 -0
- sift/reports/v1/__init__.py +0 -0
- sift/reports/v1/reports_pb2.py +193 -0
- sift/reports/v1/reports_pb2.pyi +562 -0
- sift/reports/v1/reports_pb2_grpc.py +205 -0
- sift/reports/v1/reports_pb2_grpc.pyi +136 -0
- sift/rule_evaluation/__init__.py +0 -0
- sift/rule_evaluation/v1/__init__.py +0 -0
- sift/rule_evaluation/v1/rule_evaluation_pb2.py +89 -0
- sift/rule_evaluation/v1/rule_evaluation_pb2.pyi +263 -0
- sift/rule_evaluation/v1/rule_evaluation_pb2_grpc.py +101 -0
- sift/rule_evaluation/v1/rule_evaluation_pb2_grpc.pyi +64 -0
- sift/rules/__init__.py +0 -0
- sift/rules/v1/__init__.py +0 -0
- sift/rules/v1/rules_pb2.py +420 -0
- sift/rules/v1/rules_pb2.pyi +1355 -0
- sift/rules/v1/rules_pb2_grpc.py +577 -0
- sift/rules/v1/rules_pb2_grpc.pyi +351 -0
- sift/runs/__init__.py +0 -0
- sift/runs/v2/__init__.py +0 -0
- sift/runs/v2/runs_pb2.py +150 -0
- sift/runs/v2/runs_pb2.pyi +413 -0
- sift/runs/v2/runs_pb2_grpc.py +271 -0
- sift/runs/v2/runs_pb2_grpc.pyi +164 -0
- sift/saved_searches/__init__.py +0 -0
- sift/saved_searches/v1/__init__.py +0 -0
- sift/saved_searches/v1/saved_searches_pb2.py +144 -0
- sift/saved_searches/v1/saved_searches_pb2.pyi +385 -0
- sift/saved_searches/v1/saved_searches_pb2_grpc.py +237 -0
- sift/saved_searches/v1/saved_searches_pb2_grpc.pyi +144 -0
- sift/tags/__init__.py +0 -0
- sift/tags/v1/__init__.py +0 -0
- sift/tags/v1/tags_pb2.py +49 -0
- sift/tags/v1/tags_pb2.pyi +71 -0
- sift/tags/v1/tags_pb2_grpc.py +4 -0
- sift/tags/v1/tags_pb2_grpc.pyi +17 -0
- sift/users/__init__.py +0 -0
- sift/users/v2/__init__.py +0 -0
- sift/users/v2/users_pb2.py +61 -0
- sift/users/v2/users_pb2.pyi +142 -0
- sift/users/v2/users_pb2_grpc.py +135 -0
- sift/users/v2/users_pb2_grpc.pyi +84 -0
- sift/views/__init__.py +0 -0
- sift/views/v1/__init__.py +0 -0
- sift/views/v1/views_pb2.py +130 -0
- sift/views/v1/views_pb2.pyi +466 -0
- sift/views/v1/views_pb2_grpc.py +305 -0
- sift/views/v1/views_pb2_grpc.pyi +184 -0
- sift_grafana/py.typed +0 -0
- sift_grafana/sift_query_model.py +64 -0
- sift_py/__init__.py +923 -0
- sift_py/_internal/__init__.py +5 -0
- sift_py/_internal/cel.py +18 -0
- sift_py/_internal/channel.py +42 -0
- sift_py/_internal/convert/__init__.py +3 -0
- sift_py/_internal/convert/json.py +24 -0
- sift_py/_internal/convert/protobuf.py +34 -0
- sift_py/_internal/convert/timestamp.py +9 -0
- sift_py/_internal/test_util/__init__.py +0 -0
- sift_py/_internal/test_util/channel.py +136 -0
- sift_py/_internal/test_util/fn.py +14 -0
- sift_py/_internal/test_util/server_interceptor.py +62 -0
- sift_py/_internal/time.py +48 -0
- sift_py/_internal/user.py +39 -0
- sift_py/data/__init__.py +171 -0
- sift_py/data/_channel.py +38 -0
- sift_py/data/_deserialize.py +208 -0
- sift_py/data/_deserialize_test.py +134 -0
- sift_py/data/_service_test.py +276 -0
- sift_py/data/_validate.py +10 -0
- sift_py/data/error.py +5 -0
- sift_py/data/query.py +299 -0
- sift_py/data/service.py +497 -0
- sift_py/data_import/__init__.py +130 -0
- sift_py/data_import/_config.py +167 -0
- sift_py/data_import/_config_test.py +166 -0
- sift_py/data_import/_csv_test.py +395 -0
- sift_py/data_import/_status_test.py +176 -0
- sift_py/data_import/_tdms_test.py +238 -0
- sift_py/data_import/ch10.py +157 -0
- sift_py/data_import/config.py +19 -0
- sift_py/data_import/csv.py +259 -0
- sift_py/data_import/status.py +113 -0
- sift_py/data_import/tdms.py +206 -0
- sift_py/data_import/tempfile.py +30 -0
- sift_py/data_import/time_format.py +39 -0
- sift_py/error.py +11 -0
- sift_py/file_attachment/__init__.py +88 -0
- sift_py/file_attachment/_internal/__init__.py +0 -0
- sift_py/file_attachment/_internal/download.py +13 -0
- sift_py/file_attachment/_internal/upload.py +100 -0
- sift_py/file_attachment/_service_test.py +161 -0
- sift_py/file_attachment/entity.py +30 -0
- sift_py/file_attachment/metadata.py +107 -0
- sift_py/file_attachment/service.py +142 -0
- sift_py/grpc/__init__.py +15 -0
- sift_py/grpc/_async_interceptors/__init__.py +0 -0
- sift_py/grpc/_async_interceptors/base.py +72 -0
- sift_py/grpc/_async_interceptors/metadata.py +36 -0
- sift_py/grpc/_interceptors/__init__.py +0 -0
- sift_py/grpc/_interceptors/base.py +61 -0
- sift_py/grpc/_interceptors/context.py +25 -0
- sift_py/grpc/_interceptors/metadata.py +33 -0
- sift_py/grpc/_retry.py +70 -0
- sift_py/grpc/keepalive.py +34 -0
- sift_py/grpc/transport.py +250 -0
- sift_py/grpc/transport_test.py +170 -0
- sift_py/ingestion/__init__.py +6 -0
- sift_py/ingestion/_internal/__init__.py +6 -0
- sift_py/ingestion/_internal/channel.py +12 -0
- sift_py/ingestion/_internal/error.py +10 -0
- sift_py/ingestion/_internal/ingest.py +350 -0
- sift_py/ingestion/_internal/ingest_test.py +357 -0
- sift_py/ingestion/_internal/ingestion_config.py +130 -0
- sift_py/ingestion/_internal/run.py +46 -0
- sift_py/ingestion/_service_test.py +478 -0
- sift_py/ingestion/buffer.py +189 -0
- sift_py/ingestion/channel.py +422 -0
- sift_py/ingestion/config/__init__.py +3 -0
- sift_py/ingestion/config/telemetry.py +281 -0
- sift_py/ingestion/config/telemetry_test.py +405 -0
- sift_py/ingestion/config/yaml/__init__.py +0 -0
- sift_py/ingestion/config/yaml/error.py +44 -0
- sift_py/ingestion/config/yaml/load.py +126 -0
- sift_py/ingestion/config/yaml/spec.py +58 -0
- sift_py/ingestion/config/yaml/test_load.py +25 -0
- sift_py/ingestion/flow.py +73 -0
- sift_py/ingestion/manager.py +99 -0
- sift_py/ingestion/rule/__init__.py +4 -0
- sift_py/ingestion/rule/config.py +11 -0
- sift_py/ingestion/service.py +237 -0
- sift_py/py.typed +0 -0
- sift_py/report_templates/__init__.py +0 -0
- sift_py/report_templates/_config_test.py +34 -0
- sift_py/report_templates/_service_test.py +94 -0
- sift_py/report_templates/config.py +36 -0
- sift_py/report_templates/service.py +171 -0
- sift_py/rest.py +29 -0
- sift_py/rule/__init__.py +0 -0
- sift_py/rule/_config_test.py +109 -0
- sift_py/rule/_service_test.py +168 -0
- sift_py/rule/config.py +229 -0
- sift_py/rule/service.py +484 -0
- sift_py/yaml/__init__.py +0 -0
- sift_py/yaml/_channel_test.py +169 -0
- sift_py/yaml/_rule_test.py +207 -0
- sift_py/yaml/channel.py +224 -0
- sift_py/yaml/report_templates.py +73 -0
- sift_py/yaml/rule.py +321 -0
- sift_py/yaml/utils.py +15 -0
- sift_stack_py-0.3.2.dist-info/LICENSE +7 -0
- sift_stack_py-0.3.2.dist-info/METADATA +109 -0
- sift_stack_py-0.3.2.dist-info/RECORD +291 -0
- sift_stack_py-0.3.2.dist-info/WHEEL +5 -0
- sift_stack_py-0.3.2.dist-info/top_level.txt +5 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"""
|
|
2
|
+
@generated by mypy-protobuf. Do not edit manually!
|
|
3
|
+
isort:skip_file
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import abc
|
|
7
|
+
import collections.abc
|
|
8
|
+
import grpc
|
|
9
|
+
import grpc.aio
|
|
10
|
+
import sift.saved_searches.v1.saved_searches_pb2
|
|
11
|
+
import typing
|
|
12
|
+
|
|
13
|
+
_T = typing.TypeVar("_T")
|
|
14
|
+
|
|
15
|
+
class _MaybeAsyncIterator(collections.abc.AsyncIterator[_T], collections.abc.Iterator[_T], metaclass=abc.ABCMeta): ...
|
|
16
|
+
|
|
17
|
+
class _ServicerContext(grpc.ServicerContext, grpc.aio.ServicerContext): # type: ignore[misc, type-arg]
|
|
18
|
+
...
|
|
19
|
+
|
|
20
|
+
class SavedSearchServiceStub:
|
|
21
|
+
def __init__(self, channel: typing.Union[grpc.Channel, grpc.aio.Channel]) -> None: ...
|
|
22
|
+
GetSavedSearch: grpc.UnaryUnaryMultiCallable[
|
|
23
|
+
sift.saved_searches.v1.saved_searches_pb2.GetSavedSearchRequest,
|
|
24
|
+
sift.saved_searches.v1.saved_searches_pb2.GetSavedSearchResponse,
|
|
25
|
+
]
|
|
26
|
+
"""Retrieve a saved search."""
|
|
27
|
+
|
|
28
|
+
CreateSavedSearch: grpc.UnaryUnaryMultiCallable[
|
|
29
|
+
sift.saved_searches.v1.saved_searches_pb2.CreateSavedSearchRequest,
|
|
30
|
+
sift.saved_searches.v1.saved_searches_pb2.CreateSavedSearchResponse,
|
|
31
|
+
]
|
|
32
|
+
"""Create a saved search."""
|
|
33
|
+
|
|
34
|
+
ListSavedSearches: grpc.UnaryUnaryMultiCallable[
|
|
35
|
+
sift.saved_searches.v1.saved_searches_pb2.ListSavedSearchesRequest,
|
|
36
|
+
sift.saved_searches.v1.saved_searches_pb2.ListSavedSearchesResponse,
|
|
37
|
+
]
|
|
38
|
+
"""List saved searches."""
|
|
39
|
+
|
|
40
|
+
UpdateSavedSearch: grpc.UnaryUnaryMultiCallable[
|
|
41
|
+
sift.saved_searches.v1.saved_searches_pb2.UpdateSavedSearchRequest,
|
|
42
|
+
sift.saved_searches.v1.saved_searches_pb2.UpdateSavedSearchResponse,
|
|
43
|
+
]
|
|
44
|
+
"""Updates an existing saved search using using the list of fields specified in `update_mask`."""
|
|
45
|
+
|
|
46
|
+
DeleteSavedSearch: grpc.UnaryUnaryMultiCallable[
|
|
47
|
+
sift.saved_searches.v1.saved_searches_pb2.DeleteSavedSearchRequest,
|
|
48
|
+
sift.saved_searches.v1.saved_searches_pb2.DeleteSavedSearchResponse,
|
|
49
|
+
]
|
|
50
|
+
"""Delete a saved search."""
|
|
51
|
+
|
|
52
|
+
BatchDeleteSavedSearches: grpc.UnaryUnaryMultiCallable[
|
|
53
|
+
sift.saved_searches.v1.saved_searches_pb2.BatchDeleteSavedSearchesRequest,
|
|
54
|
+
sift.saved_searches.v1.saved_searches_pb2.BatchDeleteSavedSearchesResponse,
|
|
55
|
+
]
|
|
56
|
+
"""Batch deletes saved searches."""
|
|
57
|
+
|
|
58
|
+
class SavedSearchServiceAsyncStub:
|
|
59
|
+
GetSavedSearch: grpc.aio.UnaryUnaryMultiCallable[
|
|
60
|
+
sift.saved_searches.v1.saved_searches_pb2.GetSavedSearchRequest,
|
|
61
|
+
sift.saved_searches.v1.saved_searches_pb2.GetSavedSearchResponse,
|
|
62
|
+
]
|
|
63
|
+
"""Retrieve a saved search."""
|
|
64
|
+
|
|
65
|
+
CreateSavedSearch: grpc.aio.UnaryUnaryMultiCallable[
|
|
66
|
+
sift.saved_searches.v1.saved_searches_pb2.CreateSavedSearchRequest,
|
|
67
|
+
sift.saved_searches.v1.saved_searches_pb2.CreateSavedSearchResponse,
|
|
68
|
+
]
|
|
69
|
+
"""Create a saved search."""
|
|
70
|
+
|
|
71
|
+
ListSavedSearches: grpc.aio.UnaryUnaryMultiCallable[
|
|
72
|
+
sift.saved_searches.v1.saved_searches_pb2.ListSavedSearchesRequest,
|
|
73
|
+
sift.saved_searches.v1.saved_searches_pb2.ListSavedSearchesResponse,
|
|
74
|
+
]
|
|
75
|
+
"""List saved searches."""
|
|
76
|
+
|
|
77
|
+
UpdateSavedSearch: grpc.aio.UnaryUnaryMultiCallable[
|
|
78
|
+
sift.saved_searches.v1.saved_searches_pb2.UpdateSavedSearchRequest,
|
|
79
|
+
sift.saved_searches.v1.saved_searches_pb2.UpdateSavedSearchResponse,
|
|
80
|
+
]
|
|
81
|
+
"""Updates an existing saved search using using the list of fields specified in `update_mask`."""
|
|
82
|
+
|
|
83
|
+
DeleteSavedSearch: grpc.aio.UnaryUnaryMultiCallable[
|
|
84
|
+
sift.saved_searches.v1.saved_searches_pb2.DeleteSavedSearchRequest,
|
|
85
|
+
sift.saved_searches.v1.saved_searches_pb2.DeleteSavedSearchResponse,
|
|
86
|
+
]
|
|
87
|
+
"""Delete a saved search."""
|
|
88
|
+
|
|
89
|
+
BatchDeleteSavedSearches: grpc.aio.UnaryUnaryMultiCallable[
|
|
90
|
+
sift.saved_searches.v1.saved_searches_pb2.BatchDeleteSavedSearchesRequest,
|
|
91
|
+
sift.saved_searches.v1.saved_searches_pb2.BatchDeleteSavedSearchesResponse,
|
|
92
|
+
]
|
|
93
|
+
"""Batch deletes saved searches."""
|
|
94
|
+
|
|
95
|
+
class SavedSearchServiceServicer(metaclass=abc.ABCMeta):
|
|
96
|
+
@abc.abstractmethod
|
|
97
|
+
def GetSavedSearch(
|
|
98
|
+
self,
|
|
99
|
+
request: sift.saved_searches.v1.saved_searches_pb2.GetSavedSearchRequest,
|
|
100
|
+
context: _ServicerContext,
|
|
101
|
+
) -> typing.Union[sift.saved_searches.v1.saved_searches_pb2.GetSavedSearchResponse, collections.abc.Awaitable[sift.saved_searches.v1.saved_searches_pb2.GetSavedSearchResponse]]:
|
|
102
|
+
"""Retrieve a saved search."""
|
|
103
|
+
|
|
104
|
+
@abc.abstractmethod
|
|
105
|
+
def CreateSavedSearch(
|
|
106
|
+
self,
|
|
107
|
+
request: sift.saved_searches.v1.saved_searches_pb2.CreateSavedSearchRequest,
|
|
108
|
+
context: _ServicerContext,
|
|
109
|
+
) -> typing.Union[sift.saved_searches.v1.saved_searches_pb2.CreateSavedSearchResponse, collections.abc.Awaitable[sift.saved_searches.v1.saved_searches_pb2.CreateSavedSearchResponse]]:
|
|
110
|
+
"""Create a saved search."""
|
|
111
|
+
|
|
112
|
+
@abc.abstractmethod
|
|
113
|
+
def ListSavedSearches(
|
|
114
|
+
self,
|
|
115
|
+
request: sift.saved_searches.v1.saved_searches_pb2.ListSavedSearchesRequest,
|
|
116
|
+
context: _ServicerContext,
|
|
117
|
+
) -> typing.Union[sift.saved_searches.v1.saved_searches_pb2.ListSavedSearchesResponse, collections.abc.Awaitable[sift.saved_searches.v1.saved_searches_pb2.ListSavedSearchesResponse]]:
|
|
118
|
+
"""List saved searches."""
|
|
119
|
+
|
|
120
|
+
@abc.abstractmethod
|
|
121
|
+
def UpdateSavedSearch(
|
|
122
|
+
self,
|
|
123
|
+
request: sift.saved_searches.v1.saved_searches_pb2.UpdateSavedSearchRequest,
|
|
124
|
+
context: _ServicerContext,
|
|
125
|
+
) -> typing.Union[sift.saved_searches.v1.saved_searches_pb2.UpdateSavedSearchResponse, collections.abc.Awaitable[sift.saved_searches.v1.saved_searches_pb2.UpdateSavedSearchResponse]]:
|
|
126
|
+
"""Updates an existing saved search using using the list of fields specified in `update_mask`."""
|
|
127
|
+
|
|
128
|
+
@abc.abstractmethod
|
|
129
|
+
def DeleteSavedSearch(
|
|
130
|
+
self,
|
|
131
|
+
request: sift.saved_searches.v1.saved_searches_pb2.DeleteSavedSearchRequest,
|
|
132
|
+
context: _ServicerContext,
|
|
133
|
+
) -> typing.Union[sift.saved_searches.v1.saved_searches_pb2.DeleteSavedSearchResponse, collections.abc.Awaitable[sift.saved_searches.v1.saved_searches_pb2.DeleteSavedSearchResponse]]:
|
|
134
|
+
"""Delete a saved search."""
|
|
135
|
+
|
|
136
|
+
@abc.abstractmethod
|
|
137
|
+
def BatchDeleteSavedSearches(
|
|
138
|
+
self,
|
|
139
|
+
request: sift.saved_searches.v1.saved_searches_pb2.BatchDeleteSavedSearchesRequest,
|
|
140
|
+
context: _ServicerContext,
|
|
141
|
+
) -> typing.Union[sift.saved_searches.v1.saved_searches_pb2.BatchDeleteSavedSearchesResponse, collections.abc.Awaitable[sift.saved_searches.v1.saved_searches_pb2.BatchDeleteSavedSearchesResponse]]:
|
|
142
|
+
"""Batch deletes saved searches."""
|
|
143
|
+
|
|
144
|
+
def add_SavedSearchServiceServicer_to_server(servicer: SavedSearchServiceServicer, server: typing.Union[grpc.Server, grpc.aio.Server]) -> None: ...
|
sift/tags/__init__.py
ADDED
|
File without changes
|
sift/tags/v1/__init__.py
ADDED
|
File without changes
|
sift/tags/v1/tags_pb2.py
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: sift/tags/v1/tags.proto
|
|
4
|
+
# Protobuf Python Version: 5.26.1
|
|
5
|
+
"""Generated protocol buffer code."""
|
|
6
|
+
from google.protobuf import descriptor as _descriptor
|
|
7
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
8
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
9
|
+
from google.protobuf.internal import builder as _builder
|
|
10
|
+
# @@protoc_insertion_point(imports)
|
|
11
|
+
|
|
12
|
+
_sym_db = _symbol_database.Default()
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2
|
|
16
|
+
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17sift/tags/v1/tags.proto\x12\x0csift.tags.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xd8\x02\n\x03Tag\x12\x1a\n\x06tag_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x05tagId\x12\x17\n\x04name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x04name\x12,\n\x0forganization_id\x18\x03 \x01(\tB\x03\xe0\x41\x02R\x0eorganizationId\x12\x30\n\x12\x63reated_by_user_id\x18\x04 \x01(\tB\x03\xe0\x41\x02R\x0f\x63reatedByUserId\x12\x32\n\x13modified_by_user_id\x18\x05 \x01(\tB\x03\xe0\x41\x02R\x10modifiedByUserId\x12\x42\n\x0c\x63reated_date\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x44\n\rmodified_date\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0cmodifiedDate\"=\n\x06TagRef\x12\x1a\n\x06tag_id\x18\x01 \x01(\tB\x03\xe0\x41\x01R\x05tagId\x12\x17\n\x04name\x18\x02 \x01(\tB\x03\xe0\x41\x01R\x04nameBo\n\x10\x63om.sift.tags.v1B\tTagsProtoP\x01\xa2\x02\x03STX\xaa\x02\x0cSift.Tags.V1\xca\x02\x0cSift\\Tags\\V1\xe2\x02\x18Sift\\Tags\\V1\\GPBMetadata\xea\x02\x0eSift::Tags::V1b\x06proto3')
|
|
20
|
+
|
|
21
|
+
_globals = globals()
|
|
22
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
23
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sift.tags.v1.tags_pb2', _globals)
|
|
24
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
25
|
+
_globals['DESCRIPTOR']._loaded_options = None
|
|
26
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n\020com.sift.tags.v1B\tTagsProtoP\001\242\002\003STX\252\002\014Sift.Tags.V1\312\002\014Sift\\Tags\\V1\342\002\030Sift\\Tags\\V1\\GPBMetadata\352\002\016Sift::Tags::V1'
|
|
27
|
+
_globals['_TAG'].fields_by_name['tag_id']._loaded_options = None
|
|
28
|
+
_globals['_TAG'].fields_by_name['tag_id']._serialized_options = b'\340A\002'
|
|
29
|
+
_globals['_TAG'].fields_by_name['name']._loaded_options = None
|
|
30
|
+
_globals['_TAG'].fields_by_name['name']._serialized_options = b'\340A\002'
|
|
31
|
+
_globals['_TAG'].fields_by_name['organization_id']._loaded_options = None
|
|
32
|
+
_globals['_TAG'].fields_by_name['organization_id']._serialized_options = b'\340A\002'
|
|
33
|
+
_globals['_TAG'].fields_by_name['created_by_user_id']._loaded_options = None
|
|
34
|
+
_globals['_TAG'].fields_by_name['created_by_user_id']._serialized_options = b'\340A\002'
|
|
35
|
+
_globals['_TAG'].fields_by_name['modified_by_user_id']._loaded_options = None
|
|
36
|
+
_globals['_TAG'].fields_by_name['modified_by_user_id']._serialized_options = b'\340A\002'
|
|
37
|
+
_globals['_TAG'].fields_by_name['created_date']._loaded_options = None
|
|
38
|
+
_globals['_TAG'].fields_by_name['created_date']._serialized_options = b'\340A\002'
|
|
39
|
+
_globals['_TAG'].fields_by_name['modified_date']._loaded_options = None
|
|
40
|
+
_globals['_TAG'].fields_by_name['modified_date']._serialized_options = b'\340A\002'
|
|
41
|
+
_globals['_TAGREF'].fields_by_name['tag_id']._loaded_options = None
|
|
42
|
+
_globals['_TAGREF'].fields_by_name['tag_id']._serialized_options = b'\340A\001'
|
|
43
|
+
_globals['_TAGREF'].fields_by_name['name']._loaded_options = None
|
|
44
|
+
_globals['_TAGREF'].fields_by_name['name']._serialized_options = b'\340A\001'
|
|
45
|
+
_globals['_TAG']._serialized_start=108
|
|
46
|
+
_globals['_TAG']._serialized_end=452
|
|
47
|
+
_globals['_TAGREF']._serialized_start=454
|
|
48
|
+
_globals['_TAGREF']._serialized_end=515
|
|
49
|
+
# @@protoc_insertion_point(module_scope)
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"""
|
|
2
|
+
@generated by mypy-protobuf. Do not edit manually!
|
|
3
|
+
isort:skip_file
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import builtins
|
|
7
|
+
import google.protobuf.descriptor
|
|
8
|
+
import google.protobuf.message
|
|
9
|
+
import google.protobuf.timestamp_pb2
|
|
10
|
+
import typing
|
|
11
|
+
|
|
12
|
+
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
|
|
13
|
+
|
|
14
|
+
@typing.final
|
|
15
|
+
class Tag(google.protobuf.message.Message):
|
|
16
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
17
|
+
|
|
18
|
+
TAG_ID_FIELD_NUMBER: builtins.int
|
|
19
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
20
|
+
ORGANIZATION_ID_FIELD_NUMBER: builtins.int
|
|
21
|
+
CREATED_BY_USER_ID_FIELD_NUMBER: builtins.int
|
|
22
|
+
MODIFIED_BY_USER_ID_FIELD_NUMBER: builtins.int
|
|
23
|
+
CREATED_DATE_FIELD_NUMBER: builtins.int
|
|
24
|
+
MODIFIED_DATE_FIELD_NUMBER: builtins.int
|
|
25
|
+
tag_id: builtins.str
|
|
26
|
+
name: builtins.str
|
|
27
|
+
organization_id: builtins.str
|
|
28
|
+
created_by_user_id: builtins.str
|
|
29
|
+
modified_by_user_id: builtins.str
|
|
30
|
+
@property
|
|
31
|
+
def created_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
|
|
32
|
+
@property
|
|
33
|
+
def modified_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
|
|
34
|
+
def __init__(
|
|
35
|
+
self,
|
|
36
|
+
*,
|
|
37
|
+
tag_id: builtins.str = ...,
|
|
38
|
+
name: builtins.str = ...,
|
|
39
|
+
organization_id: builtins.str = ...,
|
|
40
|
+
created_by_user_id: builtins.str = ...,
|
|
41
|
+
modified_by_user_id: builtins.str = ...,
|
|
42
|
+
created_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
|
|
43
|
+
modified_date: google.protobuf.timestamp_pb2.Timestamp | None = ...,
|
|
44
|
+
) -> None: ...
|
|
45
|
+
def HasField(self, field_name: typing.Literal["created_date", b"created_date", "modified_date", b"modified_date"]) -> builtins.bool: ...
|
|
46
|
+
def ClearField(self, field_name: typing.Literal["created_by_user_id", b"created_by_user_id", "created_date", b"created_date", "modified_by_user_id", b"modified_by_user_id", "modified_date", b"modified_date", "name", b"name", "organization_id", b"organization_id", "tag_id", b"tag_id"]) -> None: ...
|
|
47
|
+
|
|
48
|
+
global___Tag = Tag
|
|
49
|
+
|
|
50
|
+
@typing.final
|
|
51
|
+
class TagRef(google.protobuf.message.Message):
|
|
52
|
+
"""Points to a tag by name or tag_id.
|
|
53
|
+
When this message is used for a request, you can use either name or tag_id to refer to a tag.
|
|
54
|
+
When this message is returned in a response, both of the fields will be populated and valid.
|
|
55
|
+
"""
|
|
56
|
+
|
|
57
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
58
|
+
|
|
59
|
+
TAG_ID_FIELD_NUMBER: builtins.int
|
|
60
|
+
NAME_FIELD_NUMBER: builtins.int
|
|
61
|
+
tag_id: builtins.str
|
|
62
|
+
name: builtins.str
|
|
63
|
+
def __init__(
|
|
64
|
+
self,
|
|
65
|
+
*,
|
|
66
|
+
tag_id: builtins.str = ...,
|
|
67
|
+
name: builtins.str = ...,
|
|
68
|
+
) -> None: ...
|
|
69
|
+
def ClearField(self, field_name: typing.Literal["name", b"name", "tag_id", b"tag_id"]) -> None: ...
|
|
70
|
+
|
|
71
|
+
global___TagRef = TagRef
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"""
|
|
2
|
+
@generated by mypy-protobuf. Do not edit manually!
|
|
3
|
+
isort:skip_file
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import abc
|
|
7
|
+
import collections.abc
|
|
8
|
+
import grpc
|
|
9
|
+
import grpc.aio
|
|
10
|
+
import typing
|
|
11
|
+
|
|
12
|
+
_T = typing.TypeVar("_T")
|
|
13
|
+
|
|
14
|
+
class _MaybeAsyncIterator(collections.abc.AsyncIterator[_T], collections.abc.Iterator[_T], metaclass=abc.ABCMeta): ...
|
|
15
|
+
|
|
16
|
+
class _ServicerContext(grpc.ServicerContext, grpc.aio.ServicerContext): # type: ignore[misc, type-arg]
|
|
17
|
+
...
|
sift/users/__init__.py
ADDED
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# source: sift/users/v2/users.proto
|
|
4
|
+
# Protobuf Python Version: 5.26.1
|
|
5
|
+
"""Generated protocol buffer code."""
|
|
6
|
+
from google.protobuf import descriptor as _descriptor
|
|
7
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
8
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
9
|
+
from google.protobuf.internal import builder as _builder
|
|
10
|
+
# @@protoc_insertion_point(imports)
|
|
11
|
+
|
|
12
|
+
_sym_db = _symbol_database.Default()
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
|
|
16
|
+
from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2
|
|
17
|
+
from protoc_gen_openapiv2.options import annotations_pb2 as protoc__gen__openapiv2_dot_options_dot_annotations__pb2
|
|
18
|
+
from sift.common.type.v1 import user_pb2 as sift_dot_common_dot_type_dot_v1_dot_user__pb2
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19sift/users/v2/users.proto\x12\rsift.users.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a\x1esift/common/type/v1/user.proto\"\x7f\n#UpdateUserOrganizationActiveRequest\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId\x12\x16\n\x06\x61\x63tive\x18\x03 \x01(\x08R\x06\x61\x63tive\"&\n$UpdateUserOrganizationActiveResponse\".\n\x0eGetUserRequest\x12\x1c\n\x07user_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x06userId\"@\n\x0fGetUserResponse\x12-\n\x04user\x18\x01 \x01(\x0b\x32\x19.sift.common.type.v1.UserR\x04user\"\xa9\x01\n\x16ListActiveUsersRequest\x12 \n\tpage_size\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12,\n\x0forganization_id\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\"r\n\x17ListActiveUsersResponse\x12/\n\x05users\x18\x01 \x03(\x0b\x32\x19.sift.common.type.v1.UserR\x05users\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken2\x98\x05\n\x0bUserService\x12\x96\x02\n\x1cUpdateUserOrganizationActive\x12\x32.sift.users.v2.UpdateUserOrganizationActiveRequest\x1a\x33.sift.users.v2.UpdateUserOrganizationActiveResponse\"\x8c\x01\x92\x41`\x12\x1cUpdateUserOrganizationActive\x1a@Used to toggle a user\'s active status within their organization.\x82\xd3\xe4\x93\x02#\"\x1e/api/v2/users/{user_id}/active:\x01*\x12\x8f\x01\n\x07GetUser\x12\x1d.sift.users.v2.GetUserRequest\x1a\x1e.sift.users.v2.GetUserResponse\"E\x92\x41#\x12\x07GetUser\x1a\x18Retrieves a user object.\x82\xd3\xe4\x93\x02\x19\x12\x17/api/v2/users/{user_id}\x12\x9f\x01\n\x0fListActiveUsers\x12%.sift.users.v2.ListActiveUsersRequest\x1a&.sift.users.v2.ListActiveUsersResponse\"=\x92\x41%\x12\x0fListActiveUsers\x1a\x12List active users.\x82\xd3\xe4\x93\x02\x0f\x12\r/api/v2/users\x1a<\x92\x41\x39\x12\x37Service to programmatically interact with user objects.B\x88\x01\n\x11\x63om.sift.users.v2B\nUsersProtoP\x01\xa2\x02\x03SUX\xaa\x02\rSift.Users.V2\xca\x02\rSift\\Users\\V2\xe2\x02\x19Sift\\Users\\V2\\GPBMetadata\xea\x02\x0fSift::Users::V2\x92\x41\x10\x12\x0e\n\x0cUser Serviceb\x06proto3')
|
|
22
|
+
|
|
23
|
+
_globals = globals()
|
|
24
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
25
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sift.users.v2.users_pb2', _globals)
|
|
26
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
27
|
+
_globals['DESCRIPTOR']._loaded_options = None
|
|
28
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n\021com.sift.users.v2B\nUsersProtoP\001\242\002\003SUX\252\002\rSift.Users.V2\312\002\rSift\\Users\\V2\342\002\031Sift\\Users\\V2\\GPBMetadata\352\002\017Sift::Users::V2\222A\020\022\016\n\014User Service'
|
|
29
|
+
_globals['_GETUSERREQUEST'].fields_by_name['user_id']._loaded_options = None
|
|
30
|
+
_globals['_GETUSERREQUEST'].fields_by_name['user_id']._serialized_options = b'\340A\002'
|
|
31
|
+
_globals['_LISTACTIVEUSERSREQUEST'].fields_by_name['page_size']._loaded_options = None
|
|
32
|
+
_globals['_LISTACTIVEUSERSREQUEST'].fields_by_name['page_size']._serialized_options = b'\340A\001'
|
|
33
|
+
_globals['_LISTACTIVEUSERSREQUEST'].fields_by_name['page_token']._loaded_options = None
|
|
34
|
+
_globals['_LISTACTIVEUSERSREQUEST'].fields_by_name['page_token']._serialized_options = b'\340A\001'
|
|
35
|
+
_globals['_LISTACTIVEUSERSREQUEST'].fields_by_name['filter']._loaded_options = None
|
|
36
|
+
_globals['_LISTACTIVEUSERSREQUEST'].fields_by_name['filter']._serialized_options = b'\340A\001'
|
|
37
|
+
_globals['_LISTACTIVEUSERSREQUEST'].fields_by_name['organization_id']._loaded_options = None
|
|
38
|
+
_globals['_LISTACTIVEUSERSREQUEST'].fields_by_name['organization_id']._serialized_options = b'\340A\001'
|
|
39
|
+
_globals['_USERSERVICE']._loaded_options = None
|
|
40
|
+
_globals['_USERSERVICE']._serialized_options = b'\222A9\0227Service to programmatically interact with user objects.'
|
|
41
|
+
_globals['_USERSERVICE'].methods_by_name['UpdateUserOrganizationActive']._loaded_options = None
|
|
42
|
+
_globals['_USERSERVICE'].methods_by_name['UpdateUserOrganizationActive']._serialized_options = b'\222A`\022\034UpdateUserOrganizationActive\032@Used to toggle a user\'s active status within their organization.\202\323\344\223\002#\"\036/api/v2/users/{user_id}/active:\001*'
|
|
43
|
+
_globals['_USERSERVICE'].methods_by_name['GetUser']._loaded_options = None
|
|
44
|
+
_globals['_USERSERVICE'].methods_by_name['GetUser']._serialized_options = b'\222A#\022\007GetUser\032\030Retrieves a user object.\202\323\344\223\002\031\022\027/api/v2/users/{user_id}'
|
|
45
|
+
_globals['_USERSERVICE'].methods_by_name['ListActiveUsers']._loaded_options = None
|
|
46
|
+
_globals['_USERSERVICE'].methods_by_name['ListActiveUsers']._serialized_options = b'\222A%\022\017ListActiveUsers\032\022List active users.\202\323\344\223\002\017\022\r/api/v2/users'
|
|
47
|
+
_globals['_UPDATEUSERORGANIZATIONACTIVEREQUEST']._serialized_start=187
|
|
48
|
+
_globals['_UPDATEUSERORGANIZATIONACTIVEREQUEST']._serialized_end=314
|
|
49
|
+
_globals['_UPDATEUSERORGANIZATIONACTIVERESPONSE']._serialized_start=316
|
|
50
|
+
_globals['_UPDATEUSERORGANIZATIONACTIVERESPONSE']._serialized_end=354
|
|
51
|
+
_globals['_GETUSERREQUEST']._serialized_start=356
|
|
52
|
+
_globals['_GETUSERREQUEST']._serialized_end=402
|
|
53
|
+
_globals['_GETUSERRESPONSE']._serialized_start=404
|
|
54
|
+
_globals['_GETUSERRESPONSE']._serialized_end=468
|
|
55
|
+
_globals['_LISTACTIVEUSERSREQUEST']._serialized_start=471
|
|
56
|
+
_globals['_LISTACTIVEUSERSREQUEST']._serialized_end=640
|
|
57
|
+
_globals['_LISTACTIVEUSERSRESPONSE']._serialized_start=642
|
|
58
|
+
_globals['_LISTACTIVEUSERSRESPONSE']._serialized_end=756
|
|
59
|
+
_globals['_USERSERVICE']._serialized_start=759
|
|
60
|
+
_globals['_USERSERVICE']._serialized_end=1423
|
|
61
|
+
# @@protoc_insertion_point(module_scope)
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"""
|
|
2
|
+
@generated by mypy-protobuf. Do not edit manually!
|
|
3
|
+
isort:skip_file
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import builtins
|
|
7
|
+
import collections.abc
|
|
8
|
+
import google.protobuf.descriptor
|
|
9
|
+
import google.protobuf.internal.containers
|
|
10
|
+
import google.protobuf.message
|
|
11
|
+
import sift.common.type.v1.user_pb2
|
|
12
|
+
import typing
|
|
13
|
+
|
|
14
|
+
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
|
|
15
|
+
|
|
16
|
+
@typing.final
|
|
17
|
+
class UpdateUserOrganizationActiveRequest(google.protobuf.message.Message):
|
|
18
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
19
|
+
|
|
20
|
+
USER_ID_FIELD_NUMBER: builtins.int
|
|
21
|
+
ORGANIZATION_ID_FIELD_NUMBER: builtins.int
|
|
22
|
+
ACTIVE_FIELD_NUMBER: builtins.int
|
|
23
|
+
user_id: builtins.str
|
|
24
|
+
organization_id: builtins.str
|
|
25
|
+
active: builtins.bool
|
|
26
|
+
def __init__(
|
|
27
|
+
self,
|
|
28
|
+
*,
|
|
29
|
+
user_id: builtins.str = ...,
|
|
30
|
+
organization_id: builtins.str = ...,
|
|
31
|
+
active: builtins.bool = ...,
|
|
32
|
+
) -> None: ...
|
|
33
|
+
def ClearField(self, field_name: typing.Literal["active", b"active", "organization_id", b"organization_id", "user_id", b"user_id"]) -> None: ...
|
|
34
|
+
|
|
35
|
+
global___UpdateUserOrganizationActiveRequest = UpdateUserOrganizationActiveRequest
|
|
36
|
+
|
|
37
|
+
@typing.final
|
|
38
|
+
class UpdateUserOrganizationActiveResponse(google.protobuf.message.Message):
|
|
39
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
40
|
+
|
|
41
|
+
def __init__(
|
|
42
|
+
self,
|
|
43
|
+
) -> None: ...
|
|
44
|
+
|
|
45
|
+
global___UpdateUserOrganizationActiveResponse = UpdateUserOrganizationActiveResponse
|
|
46
|
+
|
|
47
|
+
@typing.final
|
|
48
|
+
class GetUserRequest(google.protobuf.message.Message):
|
|
49
|
+
"""The request for a call to retrieve a single existing user by its user_id."""
|
|
50
|
+
|
|
51
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
52
|
+
|
|
53
|
+
USER_ID_FIELD_NUMBER: builtins.int
|
|
54
|
+
user_id: builtins.str
|
|
55
|
+
"""The id of the asset to be retrieved. Required."""
|
|
56
|
+
def __init__(
|
|
57
|
+
self,
|
|
58
|
+
*,
|
|
59
|
+
user_id: builtins.str = ...,
|
|
60
|
+
) -> None: ...
|
|
61
|
+
def ClearField(self, field_name: typing.Literal["user_id", b"user_id"]) -> None: ...
|
|
62
|
+
|
|
63
|
+
global___GetUserRequest = GetUserRequest
|
|
64
|
+
|
|
65
|
+
@typing.final
|
|
66
|
+
class GetUserResponse(google.protobuf.message.Message):
|
|
67
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
68
|
+
|
|
69
|
+
USER_FIELD_NUMBER: builtins.int
|
|
70
|
+
@property
|
|
71
|
+
def user(self) -> sift.common.type.v1.user_pb2.User: ...
|
|
72
|
+
def __init__(
|
|
73
|
+
self,
|
|
74
|
+
*,
|
|
75
|
+
user: sift.common.type.v1.user_pb2.User | None = ...,
|
|
76
|
+
) -> None: ...
|
|
77
|
+
def HasField(self, field_name: typing.Literal["user", b"user"]) -> builtins.bool: ...
|
|
78
|
+
def ClearField(self, field_name: typing.Literal["user", b"user"]) -> None: ...
|
|
79
|
+
|
|
80
|
+
global___GetUserResponse = GetUserResponse
|
|
81
|
+
|
|
82
|
+
@typing.final
|
|
83
|
+
class ListActiveUsersRequest(google.protobuf.message.Message):
|
|
84
|
+
"""The request for a call to `UserService_ListActiveUsers` to retrieve users."""
|
|
85
|
+
|
|
86
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
87
|
+
|
|
88
|
+
PAGE_SIZE_FIELD_NUMBER: builtins.int
|
|
89
|
+
PAGE_TOKEN_FIELD_NUMBER: builtins.int
|
|
90
|
+
FILTER_FIELD_NUMBER: builtins.int
|
|
91
|
+
ORGANIZATION_ID_FIELD_NUMBER: builtins.int
|
|
92
|
+
page_size: builtins.int
|
|
93
|
+
"""The maximum number of users to return. The service may return fewer than this value.
|
|
94
|
+
If unspecified, at most 50 users will be returned. The maximum value is 1000; values above
|
|
95
|
+
1000 will be coerced to 1000. Optional.
|
|
96
|
+
"""
|
|
97
|
+
page_token: builtins.str
|
|
98
|
+
"""A page token, received from a previous `ListActiveUsers` call.
|
|
99
|
+
Provide this to retrieve the subsequent page.
|
|
100
|
+
When paginating, all other parameters provided to `ListActiveUsers` must match
|
|
101
|
+
the call that provided the page token. Optional.
|
|
102
|
+
"""
|
|
103
|
+
filter: builtins.str
|
|
104
|
+
"""A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string.
|
|
105
|
+
Available fields to filter by are `user_id` and `name`.
|
|
106
|
+
For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions).
|
|
107
|
+
For more information about the fields used for filtering, please refer to [this definition](/api/grpc/protocol_buffers/users#user). Optional.
|
|
108
|
+
"""
|
|
109
|
+
organization_id: builtins.str
|
|
110
|
+
"""Optional. If provided, this will scope down the user search to just those in the organization ID provided."""
|
|
111
|
+
def __init__(
|
|
112
|
+
self,
|
|
113
|
+
*,
|
|
114
|
+
page_size: builtins.int = ...,
|
|
115
|
+
page_token: builtins.str = ...,
|
|
116
|
+
filter: builtins.str = ...,
|
|
117
|
+
organization_id: builtins.str = ...,
|
|
118
|
+
) -> None: ...
|
|
119
|
+
def ClearField(self, field_name: typing.Literal["filter", b"filter", "organization_id", b"organization_id", "page_size", b"page_size", "page_token", b"page_token"]) -> None: ...
|
|
120
|
+
|
|
121
|
+
global___ListActiveUsersRequest = ListActiveUsersRequest
|
|
122
|
+
|
|
123
|
+
@typing.final
|
|
124
|
+
class ListActiveUsersResponse(google.protobuf.message.Message):
|
|
125
|
+
"""The response of a call to `UserService_ListActiveUsersResponse`."""
|
|
126
|
+
|
|
127
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
128
|
+
|
|
129
|
+
USERS_FIELD_NUMBER: builtins.int
|
|
130
|
+
NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
|
|
131
|
+
next_page_token: builtins.str
|
|
132
|
+
@property
|
|
133
|
+
def users(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[sift.common.type.v1.user_pb2.User]: ...
|
|
134
|
+
def __init__(
|
|
135
|
+
self,
|
|
136
|
+
*,
|
|
137
|
+
users: collections.abc.Iterable[sift.common.type.v1.user_pb2.User] | None = ...,
|
|
138
|
+
next_page_token: builtins.str = ...,
|
|
139
|
+
) -> None: ...
|
|
140
|
+
def ClearField(self, field_name: typing.Literal["next_page_token", b"next_page_token", "users", b"users"]) -> None: ...
|
|
141
|
+
|
|
142
|
+
global___ListActiveUsersResponse = ListActiveUsersResponse
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
|
|
2
|
+
"""Client and server classes corresponding to protobuf-defined services."""
|
|
3
|
+
import grpc
|
|
4
|
+
|
|
5
|
+
from sift.users.v2 import users_pb2 as sift_dot_users_dot_v2_dot_users__pb2
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class UserServiceStub(object):
|
|
9
|
+
"""Missing associated documentation comment in .proto file."""
|
|
10
|
+
|
|
11
|
+
def __init__(self, channel):
|
|
12
|
+
"""Constructor.
|
|
13
|
+
|
|
14
|
+
Args:
|
|
15
|
+
channel: A grpc.Channel.
|
|
16
|
+
"""
|
|
17
|
+
self.UpdateUserOrganizationActive = channel.unary_unary(
|
|
18
|
+
'/sift.users.v2.UserService/UpdateUserOrganizationActive',
|
|
19
|
+
request_serializer=sift_dot_users_dot_v2_dot_users__pb2.UpdateUserOrganizationActiveRequest.SerializeToString,
|
|
20
|
+
response_deserializer=sift_dot_users_dot_v2_dot_users__pb2.UpdateUserOrganizationActiveResponse.FromString,
|
|
21
|
+
)
|
|
22
|
+
self.GetUser = channel.unary_unary(
|
|
23
|
+
'/sift.users.v2.UserService/GetUser',
|
|
24
|
+
request_serializer=sift_dot_users_dot_v2_dot_users__pb2.GetUserRequest.SerializeToString,
|
|
25
|
+
response_deserializer=sift_dot_users_dot_v2_dot_users__pb2.GetUserResponse.FromString,
|
|
26
|
+
)
|
|
27
|
+
self.ListActiveUsers = channel.unary_unary(
|
|
28
|
+
'/sift.users.v2.UserService/ListActiveUsers',
|
|
29
|
+
request_serializer=sift_dot_users_dot_v2_dot_users__pb2.ListActiveUsersRequest.SerializeToString,
|
|
30
|
+
response_deserializer=sift_dot_users_dot_v2_dot_users__pb2.ListActiveUsersResponse.FromString,
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class UserServiceServicer(object):
|
|
35
|
+
"""Missing associated documentation comment in .proto file."""
|
|
36
|
+
|
|
37
|
+
def UpdateUserOrganizationActive(self, request, context):
|
|
38
|
+
"""Used to toggle a user's active status within their organization.
|
|
39
|
+
"""
|
|
40
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
41
|
+
context.set_details('Method not implemented!')
|
|
42
|
+
raise NotImplementedError('Method not implemented!')
|
|
43
|
+
|
|
44
|
+
def GetUser(self, request, context):
|
|
45
|
+
"""Retrieves a user object.
|
|
46
|
+
"""
|
|
47
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
48
|
+
context.set_details('Method not implemented!')
|
|
49
|
+
raise NotImplementedError('Method not implemented!')
|
|
50
|
+
|
|
51
|
+
def ListActiveUsers(self, request, context):
|
|
52
|
+
"""List active users.
|
|
53
|
+
"""
|
|
54
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
55
|
+
context.set_details('Method not implemented!')
|
|
56
|
+
raise NotImplementedError('Method not implemented!')
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
def add_UserServiceServicer_to_server(servicer, server):
|
|
60
|
+
rpc_method_handlers = {
|
|
61
|
+
'UpdateUserOrganizationActive': grpc.unary_unary_rpc_method_handler(
|
|
62
|
+
servicer.UpdateUserOrganizationActive,
|
|
63
|
+
request_deserializer=sift_dot_users_dot_v2_dot_users__pb2.UpdateUserOrganizationActiveRequest.FromString,
|
|
64
|
+
response_serializer=sift_dot_users_dot_v2_dot_users__pb2.UpdateUserOrganizationActiveResponse.SerializeToString,
|
|
65
|
+
),
|
|
66
|
+
'GetUser': grpc.unary_unary_rpc_method_handler(
|
|
67
|
+
servicer.GetUser,
|
|
68
|
+
request_deserializer=sift_dot_users_dot_v2_dot_users__pb2.GetUserRequest.FromString,
|
|
69
|
+
response_serializer=sift_dot_users_dot_v2_dot_users__pb2.GetUserResponse.SerializeToString,
|
|
70
|
+
),
|
|
71
|
+
'ListActiveUsers': grpc.unary_unary_rpc_method_handler(
|
|
72
|
+
servicer.ListActiveUsers,
|
|
73
|
+
request_deserializer=sift_dot_users_dot_v2_dot_users__pb2.ListActiveUsersRequest.FromString,
|
|
74
|
+
response_serializer=sift_dot_users_dot_v2_dot_users__pb2.ListActiveUsersResponse.SerializeToString,
|
|
75
|
+
),
|
|
76
|
+
}
|
|
77
|
+
generic_handler = grpc.method_handlers_generic_handler(
|
|
78
|
+
'sift.users.v2.UserService', rpc_method_handlers)
|
|
79
|
+
server.add_generic_rpc_handlers((generic_handler,))
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
# This class is part of an EXPERIMENTAL API.
|
|
83
|
+
class UserService(object):
|
|
84
|
+
"""Missing associated documentation comment in .proto file."""
|
|
85
|
+
|
|
86
|
+
@staticmethod
|
|
87
|
+
def UpdateUserOrganizationActive(request,
|
|
88
|
+
target,
|
|
89
|
+
options=(),
|
|
90
|
+
channel_credentials=None,
|
|
91
|
+
call_credentials=None,
|
|
92
|
+
insecure=False,
|
|
93
|
+
compression=None,
|
|
94
|
+
wait_for_ready=None,
|
|
95
|
+
timeout=None,
|
|
96
|
+
metadata=None):
|
|
97
|
+
return grpc.experimental.unary_unary(request, target, '/sift.users.v2.UserService/UpdateUserOrganizationActive',
|
|
98
|
+
sift_dot_users_dot_v2_dot_users__pb2.UpdateUserOrganizationActiveRequest.SerializeToString,
|
|
99
|
+
sift_dot_users_dot_v2_dot_users__pb2.UpdateUserOrganizationActiveResponse.FromString,
|
|
100
|
+
options, channel_credentials,
|
|
101
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
102
|
+
|
|
103
|
+
@staticmethod
|
|
104
|
+
def GetUser(request,
|
|
105
|
+
target,
|
|
106
|
+
options=(),
|
|
107
|
+
channel_credentials=None,
|
|
108
|
+
call_credentials=None,
|
|
109
|
+
insecure=False,
|
|
110
|
+
compression=None,
|
|
111
|
+
wait_for_ready=None,
|
|
112
|
+
timeout=None,
|
|
113
|
+
metadata=None):
|
|
114
|
+
return grpc.experimental.unary_unary(request, target, '/sift.users.v2.UserService/GetUser',
|
|
115
|
+
sift_dot_users_dot_v2_dot_users__pb2.GetUserRequest.SerializeToString,
|
|
116
|
+
sift_dot_users_dot_v2_dot_users__pb2.GetUserResponse.FromString,
|
|
117
|
+
options, channel_credentials,
|
|
118
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
119
|
+
|
|
120
|
+
@staticmethod
|
|
121
|
+
def ListActiveUsers(request,
|
|
122
|
+
target,
|
|
123
|
+
options=(),
|
|
124
|
+
channel_credentials=None,
|
|
125
|
+
call_credentials=None,
|
|
126
|
+
insecure=False,
|
|
127
|
+
compression=None,
|
|
128
|
+
wait_for_ready=None,
|
|
129
|
+
timeout=None,
|
|
130
|
+
metadata=None):
|
|
131
|
+
return grpc.experimental.unary_unary(request, target, '/sift.users.v2.UserService/ListActiveUsers',
|
|
132
|
+
sift_dot_users_dot_v2_dot_users__pb2.ListActiveUsersRequest.SerializeToString,
|
|
133
|
+
sift_dot_users_dot_v2_dot_users__pb2.ListActiveUsersResponse.FromString,
|
|
134
|
+
options, channel_credentials,
|
|
135
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|