transcodely 0.2.0__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.
Files changed (86) hide show
  1. buf/__init__.py +0 -0
  2. buf/validate/__init__.py +0 -0
  3. buf/validate/validate_pb2.py +469 -0
  4. buf/validate/validate_pb2.pyi +651 -0
  5. transcodely/__init__.py +175 -0
  6. transcodely/_codec/__init__.py +0 -0
  7. transcodely/_codec/json_codec.py +193 -0
  8. transcodely/_transport/__init__.py +0 -0
  9. transcodely/_transport/error_mapping.py +102 -0
  10. transcodely/_transport/headers.py +31 -0
  11. transcodely/_transport/transport.py +312 -0
  12. transcodely/client.py +160 -0
  13. transcodely/errors.py +115 -0
  14. transcodely/pagination.py +53 -0
  15. transcodely/py.typed +0 -0
  16. transcodely/resources/__init__.py +0 -0
  17. transcodely/resources/_helpers.py +29 -0
  18. transcodely/resources/api_keys.py +48 -0
  19. transcodely/resources/apps.py +59 -0
  20. transcodely/resources/events.py +118 -0
  21. transcodely/resources/health.py +19 -0
  22. transcodely/resources/jobs.py +120 -0
  23. transcodely/resources/memberships.py +54 -0
  24. transcodely/resources/organizations.py +73 -0
  25. transcodely/resources/origins.py +55 -0
  26. transcodely/resources/presets.py +63 -0
  27. transcodely/resources/users.py +46 -0
  28. transcodely/resources/videos.py +114 -0
  29. transcodely/resources/webhook_endpoints.py +242 -0
  30. transcodely/streaming.py +47 -0
  31. transcodely/types.py +570 -0
  32. transcodely/v1/api_key_pb2.py +69 -0
  33. transcodely/v1/api_key_pb2.pyi +97 -0
  34. transcodely/v1/app_pb2.py +107 -0
  35. transcodely/v1/app_pb2.pyi +219 -0
  36. transcodely/v1/codec_av1_pb2.py +55 -0
  37. transcodely/v1/codec_av1_pb2.pyi +34 -0
  38. transcodely/v1/codec_h264_pb2.py +71 -0
  39. transcodely/v1/codec_h264_pb2.pyi +44 -0
  40. transcodely/v1/codec_h265_pb2.py +69 -0
  41. transcodely/v1/codec_h265_pb2.pyi +42 -0
  42. transcodely/v1/codec_vp9_pb2.py +57 -0
  43. transcodely/v1/codec_vp9_pb2.pyi +30 -0
  44. transcodely/v1/common_pb2.py +67 -0
  45. transcodely/v1/common_pb2.pyi +171 -0
  46. transcodely/v1/content_aware_pb2.py +56 -0
  47. transcodely/v1/content_aware_pb2.pyi +51 -0
  48. transcodely/v1/drm_pb2.py +65 -0
  49. transcodely/v1/drm_pb2.pyi +68 -0
  50. transcodely/v1/hdr_pb2.py +57 -0
  51. transcodely/v1/hdr_pb2.pyi +64 -0
  52. transcodely/v1/health_pb2.py +44 -0
  53. transcodely/v1/health_pb2.pyi +44 -0
  54. transcodely/v1/job_pb2.py +201 -0
  55. transcodely/v1/job_pb2.pyi +546 -0
  56. transcodely/v1/media_pb2.py +43 -0
  57. transcodely/v1/media_pb2.pyi +100 -0
  58. transcodely/v1/membership_pb2.py +71 -0
  59. transcodely/v1/membership_pb2.pyi +122 -0
  60. transcodely/v1/organization_pb2.py +81 -0
  61. transcodely/v1/organization_pb2.pyi +121 -0
  62. transcodely/v1/origin_pb2.py +157 -0
  63. transcodely/v1/origin_pb2.pyi +317 -0
  64. transcodely/v1/preset_pb2.py +192 -0
  65. transcodely/v1/preset_pb2.pyi +290 -0
  66. transcodely/v1/streaming_pb2.py +59 -0
  67. transcodely/v1/streaming_pb2.pyi +56 -0
  68. transcodely/v1/subtitles_pb2.py +69 -0
  69. transcodely/v1/subtitles_pb2.pyi +75 -0
  70. transcodely/v1/thumbnails_pb2.py +63 -0
  71. transcodely/v1/thumbnails_pb2.pyi +74 -0
  72. transcodely/v1/user_pb2.py +72 -0
  73. transcodely/v1/user_pb2.pyi +137 -0
  74. transcodely/v1/video_pb2.py +166 -0
  75. transcodely/v1/video_pb2.pyi +367 -0
  76. transcodely/v1/webhook_pb2.py +151 -0
  77. transcodely/v1/webhook_pb2.pyi +336 -0
  78. transcodely/version.py +11 -0
  79. transcodely/webhooks/__init__.py +44 -0
  80. transcodely/webhooks/construct_event.py +111 -0
  81. transcodely/webhooks/signature.py +110 -0
  82. transcodely/webhooks/types.py +115 -0
  83. transcodely-0.2.0.dist-info/METADATA +349 -0
  84. transcodely-0.2.0.dist-info/RECORD +86 -0
  85. transcodely-0.2.0.dist-info/WHEEL +4 -0
  86. transcodely-0.2.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,69 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: transcodely/v1/subtitles.proto
5
+ # Protobuf Python Version: 5.28.3
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 5,
15
+ 28,
16
+ 3,
17
+ '',
18
+ 'transcodely/v1/subtitles.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
26
+
27
+
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1etranscodely/v1/subtitles.proto\x12\x0etranscodely.v1\x1a\x1b\x62uf/validate/validate.proto\"\xb9\x03\n\x0b\x42urnInStyle\x12-\n\x0b\x66ont_family\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x18@H\x00R\nfontFamily\x88\x01\x01\x12+\n\tfont_size\x18\x02 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x18x(\x08H\x01R\x08\x66ontSize\x88\x01\x01\x12<\n\nfont_color\x18\x03 \x01(\tB\x18\xbaH\x15r\x13\x32\x11^#[0-9A-Fa-f]{6}$H\x02R\tfontColor\x88\x01\x01\x12\x42\n\routline_color\x18\x04 \x01(\tB\x18\xbaH\x15r\x13\x32\x11^#[0-9A-Fa-f]{6}$H\x03R\x0coutlineColor\x88\x01\x01\x12\x33\n\routline_width\x18\x05 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x18\n(\x00H\x04R\x0coutlineWidth\x88\x01\x01\x12\x34\n\rmargin_bottom\x18\x06 \x01(\x05\x42\n\xbaH\x07\x1a\x05\x18\xc8\x01(\x00H\x05R\x0cmarginBottom\x88\x01\x01\x42\x0e\n\x0c_font_familyB\x0c\n\n_font_sizeB\r\n\x0b_font_colorB\x10\n\x0e_outline_colorB\x10\n\x0e_outline_widthB\x10\n\x0e_margin_bottom\"\xf5\x05\n\rSubtitleTrack\x12L\n\toperation\x18\x01 \x01(\x0e\x32!.transcodely.v1.SubtitleOperationB\x0b\xbaH\x08\x82\x01\x02\x10\x01\xc8\x01\x01R\toperation\x12>\n\x13source_stream_index\x18\x02 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x18\x1f(\x00H\x00R\x11sourceStreamIndex\x88\x01\x01\x12,\n\nsource_url\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\x80\x10H\x01R\tsourceUrl\x88\x01\x01\x12K\n\x0cinput_format\x18\x04 \x01(\x0e\x32\x1e.transcodely.v1.SubtitleFormatB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0binputFormat\x12M\n\routput_format\x18\x05 \x01(\x0e\x32\x1e.transcodely.v1.SubtitleFormatB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x0coutputFormat\x12\x32\n\x08language\x18\x06 \x01(\tB\x11\xbaH\x0er\x0c\x32\n^[a-z]{3}$H\x02R\x08language\x88\x01\x01\x12\"\n\x05label\x18\x07 \x01(\tB\x07\xbaH\x04r\x02\x18@H\x03R\x05label\x88\x01\x01\x12\"\n\nis_default\x18\x08 \x01(\x08H\x04R\tisDefault\x88\x01\x01\x12.\n\x10hearing_impaired\x18\t \x01(\x08H\x05R\x0fhearingImpaired\x88\x01\x01\x12\x1b\n\x06\x66orced\x18\n \x01(\x08H\x06R\x06\x66orced\x88\x01\x01\x12\x44\n\rburn_in_style\x18\x0b \x01(\x0b\x32\x1b.transcodely.v1.BurnInStyleH\x07R\x0b\x62urnInStyle\x88\x01\x01\x42\x16\n\x14_source_stream_indexB\r\n\x0b_source_urlB\x0b\n\t_languageB\x08\n\x06_labelB\r\n\x0b_is_defaultB\x13\n\x11_hearing_impairedB\t\n\x07_forcedB\x10\n\x0e_burn_in_style*\xbb\x01\n\x11SubtitleOperation\x12\"\n\x1eSUBTITLE_OPERATION_UNSPECIFIED\x10\x00\x12\"\n\x1eSUBTITLE_OPERATION_PASSTHROUGH\x10\x01\x12\x1e\n\x1aSUBTITLE_OPERATION_CONVERT\x10\x02\x12\x1e\n\x1aSUBTITLE_OPERATION_BURN_IN\x10\x03\x12\x1e\n\x1aSUBTITLE_OPERATION_EXTRACT\x10\x04*\x99\x01\n\x0eSubtitleFormat\x12\x1f\n\x1bSUBTITLE_FORMAT_UNSPECIFIED\x10\x00\x12\x17\n\x13SUBTITLE_FORMAT_SRT\x10\x01\x12\x1a\n\x16SUBTITLE_FORMAT_WEBVTT\x10\x02\x12\x18\n\x14SUBTITLE_FORMAT_TTML\x10\x03\x12\x17\n\x13SUBTITLE_FORMAT_ASS\x10\x04\x62\x06proto3')
29
+
30
+ _globals = globals()
31
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
32
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'transcodely.v1.subtitles_pb2', _globals)
33
+ if not _descriptor._USE_C_DESCRIPTORS:
34
+ DESCRIPTOR._loaded_options = None
35
+ _globals['_BURNINSTYLE'].fields_by_name['font_family']._loaded_options = None
36
+ _globals['_BURNINSTYLE'].fields_by_name['font_family']._serialized_options = b'\272H\004r\002\030@'
37
+ _globals['_BURNINSTYLE'].fields_by_name['font_size']._loaded_options = None
38
+ _globals['_BURNINSTYLE'].fields_by_name['font_size']._serialized_options = b'\272H\006\032\004\030x(\010'
39
+ _globals['_BURNINSTYLE'].fields_by_name['font_color']._loaded_options = None
40
+ _globals['_BURNINSTYLE'].fields_by_name['font_color']._serialized_options = b'\272H\025r\0232\021^#[0-9A-Fa-f]{6}$'
41
+ _globals['_BURNINSTYLE'].fields_by_name['outline_color']._loaded_options = None
42
+ _globals['_BURNINSTYLE'].fields_by_name['outline_color']._serialized_options = b'\272H\025r\0232\021^#[0-9A-Fa-f]{6}$'
43
+ _globals['_BURNINSTYLE'].fields_by_name['outline_width']._loaded_options = None
44
+ _globals['_BURNINSTYLE'].fields_by_name['outline_width']._serialized_options = b'\272H\006\032\004\030\n(\000'
45
+ _globals['_BURNINSTYLE'].fields_by_name['margin_bottom']._loaded_options = None
46
+ _globals['_BURNINSTYLE'].fields_by_name['margin_bottom']._serialized_options = b'\272H\007\032\005\030\310\001(\000'
47
+ _globals['_SUBTITLETRACK'].fields_by_name['operation']._loaded_options = None
48
+ _globals['_SUBTITLETRACK'].fields_by_name['operation']._serialized_options = b'\272H\010\202\001\002\020\001\310\001\001'
49
+ _globals['_SUBTITLETRACK'].fields_by_name['source_stream_index']._loaded_options = None
50
+ _globals['_SUBTITLETRACK'].fields_by_name['source_stream_index']._serialized_options = b'\272H\006\032\004\030\037(\000'
51
+ _globals['_SUBTITLETRACK'].fields_by_name['source_url']._loaded_options = None
52
+ _globals['_SUBTITLETRACK'].fields_by_name['source_url']._serialized_options = b'\272H\005r\003\030\200\020'
53
+ _globals['_SUBTITLETRACK'].fields_by_name['input_format']._loaded_options = None
54
+ _globals['_SUBTITLETRACK'].fields_by_name['input_format']._serialized_options = b'\272H\005\202\001\002\020\001'
55
+ _globals['_SUBTITLETRACK'].fields_by_name['output_format']._loaded_options = None
56
+ _globals['_SUBTITLETRACK'].fields_by_name['output_format']._serialized_options = b'\272H\005\202\001\002\020\001'
57
+ _globals['_SUBTITLETRACK'].fields_by_name['language']._loaded_options = None
58
+ _globals['_SUBTITLETRACK'].fields_by_name['language']._serialized_options = b'\272H\016r\0142\n^[a-z]{3}$'
59
+ _globals['_SUBTITLETRACK'].fields_by_name['label']._loaded_options = None
60
+ _globals['_SUBTITLETRACK'].fields_by_name['label']._serialized_options = b'\272H\004r\002\030@'
61
+ _globals['_SUBTITLEOPERATION']._serialized_start=1284
62
+ _globals['_SUBTITLEOPERATION']._serialized_end=1471
63
+ _globals['_SUBTITLEFORMAT']._serialized_start=1474
64
+ _globals['_SUBTITLEFORMAT']._serialized_end=1627
65
+ _globals['_BURNINSTYLE']._serialized_start=80
66
+ _globals['_BURNINSTYLE']._serialized_end=521
67
+ _globals['_SUBTITLETRACK']._serialized_start=524
68
+ _globals['_SUBTITLETRACK']._serialized_end=1281
69
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,75 @@
1
+ from buf.validate import validate_pb2 as _validate_pb2
2
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
3
+ from google.protobuf import descriptor as _descriptor
4
+ from google.protobuf import message as _message
5
+ from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Optional, Union as _Union
6
+
7
+ DESCRIPTOR: _descriptor.FileDescriptor
8
+
9
+ class SubtitleOperation(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
10
+ __slots__ = ()
11
+ SUBTITLE_OPERATION_UNSPECIFIED: _ClassVar[SubtitleOperation]
12
+ SUBTITLE_OPERATION_PASSTHROUGH: _ClassVar[SubtitleOperation]
13
+ SUBTITLE_OPERATION_CONVERT: _ClassVar[SubtitleOperation]
14
+ SUBTITLE_OPERATION_BURN_IN: _ClassVar[SubtitleOperation]
15
+ SUBTITLE_OPERATION_EXTRACT: _ClassVar[SubtitleOperation]
16
+
17
+ class SubtitleFormat(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
18
+ __slots__ = ()
19
+ SUBTITLE_FORMAT_UNSPECIFIED: _ClassVar[SubtitleFormat]
20
+ SUBTITLE_FORMAT_SRT: _ClassVar[SubtitleFormat]
21
+ SUBTITLE_FORMAT_WEBVTT: _ClassVar[SubtitleFormat]
22
+ SUBTITLE_FORMAT_TTML: _ClassVar[SubtitleFormat]
23
+ SUBTITLE_FORMAT_ASS: _ClassVar[SubtitleFormat]
24
+ SUBTITLE_OPERATION_UNSPECIFIED: SubtitleOperation
25
+ SUBTITLE_OPERATION_PASSTHROUGH: SubtitleOperation
26
+ SUBTITLE_OPERATION_CONVERT: SubtitleOperation
27
+ SUBTITLE_OPERATION_BURN_IN: SubtitleOperation
28
+ SUBTITLE_OPERATION_EXTRACT: SubtitleOperation
29
+ SUBTITLE_FORMAT_UNSPECIFIED: SubtitleFormat
30
+ SUBTITLE_FORMAT_SRT: SubtitleFormat
31
+ SUBTITLE_FORMAT_WEBVTT: SubtitleFormat
32
+ SUBTITLE_FORMAT_TTML: SubtitleFormat
33
+ SUBTITLE_FORMAT_ASS: SubtitleFormat
34
+
35
+ class BurnInStyle(_message.Message):
36
+ __slots__ = ("font_family", "font_size", "font_color", "outline_color", "outline_width", "margin_bottom")
37
+ FONT_FAMILY_FIELD_NUMBER: _ClassVar[int]
38
+ FONT_SIZE_FIELD_NUMBER: _ClassVar[int]
39
+ FONT_COLOR_FIELD_NUMBER: _ClassVar[int]
40
+ OUTLINE_COLOR_FIELD_NUMBER: _ClassVar[int]
41
+ OUTLINE_WIDTH_FIELD_NUMBER: _ClassVar[int]
42
+ MARGIN_BOTTOM_FIELD_NUMBER: _ClassVar[int]
43
+ font_family: str
44
+ font_size: int
45
+ font_color: str
46
+ outline_color: str
47
+ outline_width: int
48
+ margin_bottom: int
49
+ def __init__(self, font_family: _Optional[str] = ..., font_size: _Optional[int] = ..., font_color: _Optional[str] = ..., outline_color: _Optional[str] = ..., outline_width: _Optional[int] = ..., margin_bottom: _Optional[int] = ...) -> None: ...
50
+
51
+ class SubtitleTrack(_message.Message):
52
+ __slots__ = ("operation", "source_stream_index", "source_url", "input_format", "output_format", "language", "label", "is_default", "hearing_impaired", "forced", "burn_in_style")
53
+ OPERATION_FIELD_NUMBER: _ClassVar[int]
54
+ SOURCE_STREAM_INDEX_FIELD_NUMBER: _ClassVar[int]
55
+ SOURCE_URL_FIELD_NUMBER: _ClassVar[int]
56
+ INPUT_FORMAT_FIELD_NUMBER: _ClassVar[int]
57
+ OUTPUT_FORMAT_FIELD_NUMBER: _ClassVar[int]
58
+ LANGUAGE_FIELD_NUMBER: _ClassVar[int]
59
+ LABEL_FIELD_NUMBER: _ClassVar[int]
60
+ IS_DEFAULT_FIELD_NUMBER: _ClassVar[int]
61
+ HEARING_IMPAIRED_FIELD_NUMBER: _ClassVar[int]
62
+ FORCED_FIELD_NUMBER: _ClassVar[int]
63
+ BURN_IN_STYLE_FIELD_NUMBER: _ClassVar[int]
64
+ operation: SubtitleOperation
65
+ source_stream_index: int
66
+ source_url: str
67
+ input_format: SubtitleFormat
68
+ output_format: SubtitleFormat
69
+ language: str
70
+ label: str
71
+ is_default: bool
72
+ hearing_impaired: bool
73
+ forced: bool
74
+ burn_in_style: BurnInStyle
75
+ def __init__(self, operation: _Optional[_Union[SubtitleOperation, str]] = ..., source_stream_index: _Optional[int] = ..., source_url: _Optional[str] = ..., input_format: _Optional[_Union[SubtitleFormat, str]] = ..., output_format: _Optional[_Union[SubtitleFormat, str]] = ..., language: _Optional[str] = ..., label: _Optional[str] = ..., is_default: bool = ..., hearing_impaired: bool = ..., forced: bool = ..., burn_in_style: _Optional[_Union[BurnInStyle, _Mapping]] = ...) -> None: ...
@@ -0,0 +1,63 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: transcodely/v1/thumbnails.proto
5
+ # Protobuf Python Version: 5.28.3
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 5,
15
+ 28,
16
+ 3,
17
+ '',
18
+ 'transcodely/v1/thumbnails.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
26
+
27
+
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ftranscodely/v1/thumbnails.proto\x12\x0etranscodely.v1\x1a\x1b\x62uf/validate/validate.proto\"\x9c\x06\n\rThumbnailSpec\x12>\n\x04mode\x18\x01 \x01(\x0e\x32\x1d.transcodely.v1.ThumbnailModeB\x0b\xbaH\x08\x82\x01\x02\x10\x01\xc8\x01\x01R\x04mode\x12\x41\n\x06\x66ormat\x18\x02 \x01(\x0e\x32\x1f.transcodely.v1.ThumbnailFormatB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x06\x66ormat\x12%\n\x05width\x18\x03 \x01(\x05\x42\n\xbaH\x07\x1a\x05\x18\x80\x1e(\x10H\x00R\x05width\x88\x01\x01\x12\'\n\x06height\x18\x04 \x01(\x05\x42\n\xbaH\x07\x1a\x05\x18\xf0\x10(\x10H\x01R\x06height\x88\x01\x01\x12(\n\x07quality\x18\x05 \x01(\x05\x42\t\xbaH\x06\x1a\x04\x18\x64(\x01H\x02R\x07quality\x88\x01\x01\x12\x31\n\ttimestamp\x18\x06 \x01(\x01\x42\x0e\xbaH\x0b\x12\t)\x00\x00\x00\x00\x00\x00\x00\x00H\x03R\ttimestamp\x88\x01\x01\x12G\n\x10interval_seconds\x18\x07 \x01(\x01\x42\x17\xbaH\x14\x12\x12\x19\x00\x00\x00\x00\x00\xc0r@)\x00\x00\x00\x00\x00\x00\xe0?H\x04R\x0fintervalSeconds\x88\x01\x01\x12\x1e\n\ntimestamps\x18\x08 \x03(\x01R\ntimestamps\x12\x35\n\x0esprite_columns\x18\t \x01(\x05\x42\t\xbaH\x06\x1a\x04\x18\x14(\x01H\x05R\rspriteColumns\x88\x01\x01\x12\xd1\x01\n\rpath_template\x18\n \x01(\tB\xa6\x01\xbaH\xa2\x01r\x03\x18\x80\x04\xba\x01\x99\x01\n!thumbnail_spec.path_template_safe\x12\x35path_template must not start with `/` or contain `..`\x1a=this == \'\' || (!this.startsWith(\'/\') && !this.contains(\'..\'))H\x06R\x0cpathTemplate\x88\x01\x01\x42\x08\n\x06_widthB\t\n\x07_heightB\n\n\x08_qualityB\x0c\n\n_timestampB\x13\n\x11_interval_secondsB\x11\n\x0f_sprite_columnsB\x10\n\x0e_path_template\"\xbc\x01\n\x0fThumbnailResult\x12\'\n\x0bstorage_key\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\nstorageKey\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url\x12\x12\n\x04mode\x18\x03 \x01(\tR\x04mode\x12\x16\n\x06\x66ormat\x18\x04 \x01(\tR\x06\x66ormat\x12\x14\n\x05width\x18\x05 \x01(\x05R\x05width\x12\x16\n\x06height\x18\x06 \x01(\x05R\x06height\x12\x14\n\x05index\x18\x07 \x01(\x05R\x05index*\xa1\x01\n\rThumbnailMode\x12\x1e\n\x1aTHUMBNAIL_MODE_UNSPECIFIED\x10\x00\x12\x19\n\x15THUMBNAIL_MODE_SINGLE\x10\x01\x12\x1b\n\x17THUMBNAIL_MODE_INTERVAL\x10\x02\x12\x19\n\x15THUMBNAIL_MODE_SPRITE\x10\x03\x12\x1d\n\x19THUMBNAIL_MODE_TIMESTAMPS\x10\x04*\x83\x01\n\x0fThumbnailFormat\x12 \n\x1cTHUMBNAIL_FORMAT_UNSPECIFIED\x10\x00\x12\x19\n\x15THUMBNAIL_FORMAT_JPEG\x10\x01\x12\x18\n\x14THUMBNAIL_FORMAT_PNG\x10\x02\x12\x19\n\x15THUMBNAIL_FORMAT_WEBP\x10\x03\x62\x06proto3')
29
+
30
+ _globals = globals()
31
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
32
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'transcodely.v1.thumbnails_pb2', _globals)
33
+ if not _descriptor._USE_C_DESCRIPTORS:
34
+ DESCRIPTOR._loaded_options = None
35
+ _globals['_THUMBNAILSPEC'].fields_by_name['mode']._loaded_options = None
36
+ _globals['_THUMBNAILSPEC'].fields_by_name['mode']._serialized_options = b'\272H\010\202\001\002\020\001\310\001\001'
37
+ _globals['_THUMBNAILSPEC'].fields_by_name['format']._loaded_options = None
38
+ _globals['_THUMBNAILSPEC'].fields_by_name['format']._serialized_options = b'\272H\005\202\001\002\020\001'
39
+ _globals['_THUMBNAILSPEC'].fields_by_name['width']._loaded_options = None
40
+ _globals['_THUMBNAILSPEC'].fields_by_name['width']._serialized_options = b'\272H\007\032\005\030\200\036(\020'
41
+ _globals['_THUMBNAILSPEC'].fields_by_name['height']._loaded_options = None
42
+ _globals['_THUMBNAILSPEC'].fields_by_name['height']._serialized_options = b'\272H\007\032\005\030\360\020(\020'
43
+ _globals['_THUMBNAILSPEC'].fields_by_name['quality']._loaded_options = None
44
+ _globals['_THUMBNAILSPEC'].fields_by_name['quality']._serialized_options = b'\272H\006\032\004\030d(\001'
45
+ _globals['_THUMBNAILSPEC'].fields_by_name['timestamp']._loaded_options = None
46
+ _globals['_THUMBNAILSPEC'].fields_by_name['timestamp']._serialized_options = b'\272H\013\022\t)\000\000\000\000\000\000\000\000'
47
+ _globals['_THUMBNAILSPEC'].fields_by_name['interval_seconds']._loaded_options = None
48
+ _globals['_THUMBNAILSPEC'].fields_by_name['interval_seconds']._serialized_options = b'\272H\024\022\022\031\000\000\000\000\000\300r@)\000\000\000\000\000\000\340?'
49
+ _globals['_THUMBNAILSPEC'].fields_by_name['sprite_columns']._loaded_options = None
50
+ _globals['_THUMBNAILSPEC'].fields_by_name['sprite_columns']._serialized_options = b'\272H\006\032\004\030\024(\001'
51
+ _globals['_THUMBNAILSPEC'].fields_by_name['path_template']._loaded_options = None
52
+ _globals['_THUMBNAILSPEC'].fields_by_name['path_template']._serialized_options = b'\272H\242\001r\003\030\200\004\272\001\231\001\n!thumbnail_spec.path_template_safe\0225path_template must not start with `/` or contain `..`\032=this == \'\' || (!this.startsWith(\'/\') && !this.contains(\'..\'))'
53
+ _globals['_THUMBNAILRESULT'].fields_by_name['storage_key']._loaded_options = None
54
+ _globals['_THUMBNAILRESULT'].fields_by_name['storage_key']._serialized_options = b'\272H\003\310\001\001'
55
+ _globals['_THUMBNAILMODE']._serialized_start=1071
56
+ _globals['_THUMBNAILMODE']._serialized_end=1232
57
+ _globals['_THUMBNAILFORMAT']._serialized_start=1235
58
+ _globals['_THUMBNAILFORMAT']._serialized_end=1366
59
+ _globals['_THUMBNAILSPEC']._serialized_start=81
60
+ _globals['_THUMBNAILSPEC']._serialized_end=877
61
+ _globals['_THUMBNAILRESULT']._serialized_start=880
62
+ _globals['_THUMBNAILRESULT']._serialized_end=1068
63
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,74 @@
1
+ from buf.validate import validate_pb2 as _validate_pb2
2
+ from google.protobuf.internal import containers as _containers
3
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
4
+ from google.protobuf import descriptor as _descriptor
5
+ from google.protobuf import message as _message
6
+ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Optional as _Optional, Union as _Union
7
+
8
+ DESCRIPTOR: _descriptor.FileDescriptor
9
+
10
+ class ThumbnailMode(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
11
+ __slots__ = ()
12
+ THUMBNAIL_MODE_UNSPECIFIED: _ClassVar[ThumbnailMode]
13
+ THUMBNAIL_MODE_SINGLE: _ClassVar[ThumbnailMode]
14
+ THUMBNAIL_MODE_INTERVAL: _ClassVar[ThumbnailMode]
15
+ THUMBNAIL_MODE_SPRITE: _ClassVar[ThumbnailMode]
16
+ THUMBNAIL_MODE_TIMESTAMPS: _ClassVar[ThumbnailMode]
17
+
18
+ class ThumbnailFormat(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
19
+ __slots__ = ()
20
+ THUMBNAIL_FORMAT_UNSPECIFIED: _ClassVar[ThumbnailFormat]
21
+ THUMBNAIL_FORMAT_JPEG: _ClassVar[ThumbnailFormat]
22
+ THUMBNAIL_FORMAT_PNG: _ClassVar[ThumbnailFormat]
23
+ THUMBNAIL_FORMAT_WEBP: _ClassVar[ThumbnailFormat]
24
+ THUMBNAIL_MODE_UNSPECIFIED: ThumbnailMode
25
+ THUMBNAIL_MODE_SINGLE: ThumbnailMode
26
+ THUMBNAIL_MODE_INTERVAL: ThumbnailMode
27
+ THUMBNAIL_MODE_SPRITE: ThumbnailMode
28
+ THUMBNAIL_MODE_TIMESTAMPS: ThumbnailMode
29
+ THUMBNAIL_FORMAT_UNSPECIFIED: ThumbnailFormat
30
+ THUMBNAIL_FORMAT_JPEG: ThumbnailFormat
31
+ THUMBNAIL_FORMAT_PNG: ThumbnailFormat
32
+ THUMBNAIL_FORMAT_WEBP: ThumbnailFormat
33
+
34
+ class ThumbnailSpec(_message.Message):
35
+ __slots__ = ("mode", "format", "width", "height", "quality", "timestamp", "interval_seconds", "timestamps", "sprite_columns", "path_template")
36
+ MODE_FIELD_NUMBER: _ClassVar[int]
37
+ FORMAT_FIELD_NUMBER: _ClassVar[int]
38
+ WIDTH_FIELD_NUMBER: _ClassVar[int]
39
+ HEIGHT_FIELD_NUMBER: _ClassVar[int]
40
+ QUALITY_FIELD_NUMBER: _ClassVar[int]
41
+ TIMESTAMP_FIELD_NUMBER: _ClassVar[int]
42
+ INTERVAL_SECONDS_FIELD_NUMBER: _ClassVar[int]
43
+ TIMESTAMPS_FIELD_NUMBER: _ClassVar[int]
44
+ SPRITE_COLUMNS_FIELD_NUMBER: _ClassVar[int]
45
+ PATH_TEMPLATE_FIELD_NUMBER: _ClassVar[int]
46
+ mode: ThumbnailMode
47
+ format: ThumbnailFormat
48
+ width: int
49
+ height: int
50
+ quality: int
51
+ timestamp: float
52
+ interval_seconds: float
53
+ timestamps: _containers.RepeatedScalarFieldContainer[float]
54
+ sprite_columns: int
55
+ path_template: str
56
+ def __init__(self, mode: _Optional[_Union[ThumbnailMode, str]] = ..., format: _Optional[_Union[ThumbnailFormat, str]] = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., quality: _Optional[int] = ..., timestamp: _Optional[float] = ..., interval_seconds: _Optional[float] = ..., timestamps: _Optional[_Iterable[float]] = ..., sprite_columns: _Optional[int] = ..., path_template: _Optional[str] = ...) -> None: ...
57
+
58
+ class ThumbnailResult(_message.Message):
59
+ __slots__ = ("storage_key", "url", "mode", "format", "width", "height", "index")
60
+ STORAGE_KEY_FIELD_NUMBER: _ClassVar[int]
61
+ URL_FIELD_NUMBER: _ClassVar[int]
62
+ MODE_FIELD_NUMBER: _ClassVar[int]
63
+ FORMAT_FIELD_NUMBER: _ClassVar[int]
64
+ WIDTH_FIELD_NUMBER: _ClassVar[int]
65
+ HEIGHT_FIELD_NUMBER: _ClassVar[int]
66
+ INDEX_FIELD_NUMBER: _ClassVar[int]
67
+ storage_key: str
68
+ url: str
69
+ mode: str
70
+ format: str
71
+ width: int
72
+ height: int
73
+ index: int
74
+ def __init__(self, storage_key: _Optional[str] = ..., url: _Optional[str] = ..., mode: _Optional[str] = ..., format: _Optional[str] = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., index: _Optional[int] = ...) -> None: ...
@@ -0,0 +1,72 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: transcodely/v1/user.proto
5
+ # Protobuf Python Version: 5.28.3
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 5,
15
+ 28,
16
+ 3,
17
+ '',
18
+ 'transcodely/v1/user.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
26
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
27
+ from transcodely.v1 import common_pb2 as transcodely_dot_v1_dot_common__pb2
28
+ from transcodely.v1 import membership_pb2 as transcodely_dot_v1_dot_membership__pb2
29
+
30
+
31
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19transcodely/v1/user.proto\x12\x0etranscodely.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1btranscodely/v1/common.proto\x1a\x1ftranscodely/v1/membership.proto\"\xf6\x05\n\x04User\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n\x05\x65mail\x18\x02 \x01(\tR\x05\x65mail\x12%\n\x0e\x65mail_verified\x18\x03 \x01(\x08R\remailVerified\x12\x1d\n\nfirst_name\x18\x04 \x01(\tR\tfirstName\x12\x1b\n\tlast_name\x18\x05 \x01(\tR\x08lastName\x12\x33\n\x13profile_picture_url\x18\x06 \x01(\tH\x00R\x11profilePictureUrl\x88\x01\x01\x12\x32\n\x06status\x18\x07 \x01(\x0e\x32\x1a.transcodely.v1.UserStatusR\x06status\x12\x43\n\rlast_login_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01R\x0blastLoginAt\x88\x01\x01\x12\x39\n\ncreated_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12K\n\x0f\x61pproval_status\x18\x0b \x01(\x0e\x32\".transcodely.v1.UserApprovalStatusR\x0e\x61pprovalStatus\x12O\n\x13\x61pproval_decided_at\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02R\x11\x61pprovalDecidedAt\x88\x01\x01\x12\x41\n\x1b\x61pproval_decided_by_user_id\x18\r \x01(\tH\x03R\x17\x61pprovalDecidedByUserId\x88\x01\x01\x42\x16\n\x14_profile_picture_urlB\x10\n\x0e_last_login_atB\x16\n\x14_approval_decided_atB\x1e\n\x1c_approval_decided_by_user_id\"\x89\x01\n\x15UserWithOrganizations\x12(\n\x04user\x18\x01 \x01(\x0b\x32\x14.transcodely.v1.UserR\x04user\x12\x46\n\rorganizations\x18\x02 \x03(\x0b\x32 .transcodely.v1.UserOrganizationR\rorganizations\"\xb0\x01\n\x10UserOrganization\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x19\n\x08org_slug\x18\x02 \x01(\tR\x07orgSlug\x12\x19\n\x08org_name\x18\x03 \x01(\tR\x07orgName\x12\x32\n\x04role\x18\x04 \x01(\x0e\x32\x1e.transcodely.v1.MembershipRoleR\x04role\x12\x1b\n\tis_active\x18\x05 \x01(\x08R\x08isActive\"\x0e\n\x0cGetMeRequest\"J\n\rGetMeResponse\x12\x39\n\x04user\x18\x01 \x01(\x0b\x32%.transcodely.v1.UserWithOrganizationsR\x04user\"@\n\x0eGetUserRequest\x12.\n\x02id\x18\x01 \x01(\tB\x1e\xbaH\x1br\x16\x32\x14^usr_[a-zA-Z0-9_-]+$\xc8\x01\x01R\x02id\";\n\x0fGetUserResponse\x12(\n\x04user\x18\x01 \x01(\x0b\x32\x14.transcodely.v1.UserR\x04user\"\x86\x01\n\x0fUpdateMeRequest\x12+\n\nfirst_name\x18\x01 \x01(\tB\x07\xbaH\x04r\x02\x18\x64H\x00R\tfirstName\x88\x01\x01\x12)\n\tlast_name\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x18\x64H\x01R\x08lastName\x88\x01\x01\x42\r\n\x0b_first_nameB\x0c\n\n_last_name\"<\n\x10UpdateMeResponse\x12(\n\x04user\x18\x01 \x01(\x0b\x32\x14.transcodely.v1.UserR\x04user\"\x99\x01\n\x10ListUsersRequest\x12\x37\n\x06status\x18\x01 \x01(\x0e\x32\x1a.transcodely.v1.UserStatusH\x00R\x06status\x88\x01\x01\x12\x41\n\npagination\x18\x02 \x01(\x0b\x32!.transcodely.v1.PaginationRequestR\npaginationB\t\n\x07_status\"\x83\x01\n\x11ListUsersResponse\x12*\n\x05users\x18\x01 \x03(\x0b\x32\x14.transcodely.v1.UserR\x05users\x12\x42\n\npagination\x18\x02 \x01(\x0b\x32\".transcodely.v1.PaginationResponseR\npagination*u\n\nUserStatus\x12\x1b\n\x17USER_STATUS_UNSPECIFIED\x10\x00\x12\x16\n\x12USER_STATUS_ACTIVE\x10\x01\x12\x19\n\x15USER_STATUS_SUSPENDED\x10\x02\x12\x17\n\x13USER_STATUS_DELETED\x10\x03*\xa2\x01\n\x12UserApprovalStatus\x12$\n USER_APPROVAL_STATUS_UNSPECIFIED\x10\x00\x12 \n\x1cUSER_APPROVAL_STATUS_PENDING\x10\x01\x12!\n\x1dUSER_APPROVAL_STATUS_APPROVED\x10\x02\x12!\n\x1dUSER_APPROVAL_STATUS_REJECTED\x10\x03\x32\xb7\x02\n\x0bUserService\x12\x44\n\x05GetMe\x12\x1c.transcodely.v1.GetMeRequest\x1a\x1d.transcodely.v1.GetMeResponse\x12\x46\n\x03Get\x12\x1e.transcodely.v1.GetUserRequest\x1a\x1f.transcodely.v1.GetUserResponse\x12M\n\x08UpdateMe\x12\x1f.transcodely.v1.UpdateMeRequest\x1a .transcodely.v1.UpdateMeResponse\x12K\n\x04List\x12 .transcodely.v1.ListUsersRequest\x1a!.transcodely.v1.ListUsersResponseb\x06proto3')
32
+
33
+ _globals = globals()
34
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
35
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'transcodely.v1.user_pb2', _globals)
36
+ if not _descriptor._USE_C_DESCRIPTORS:
37
+ DESCRIPTOR._loaded_options = None
38
+ _globals['_GETUSERREQUEST'].fields_by_name['id']._loaded_options = None
39
+ _globals['_GETUSERREQUEST'].fields_by_name['id']._serialized_options = b'\272H\033r\0262\024^usr_[a-zA-Z0-9_-]+$\310\001\001'
40
+ _globals['_UPDATEMEREQUEST'].fields_by_name['first_name']._loaded_options = None
41
+ _globals['_UPDATEMEREQUEST'].fields_by_name['first_name']._serialized_options = b'\272H\004r\002\030d'
42
+ _globals['_UPDATEMEREQUEST'].fields_by_name['last_name']._loaded_options = None
43
+ _globals['_UPDATEMEREQUEST'].fields_by_name['last_name']._serialized_options = b'\272H\004r\002\030d'
44
+ _globals['_USERSTATUS']._serialized_start=1957
45
+ _globals['_USERSTATUS']._serialized_end=2074
46
+ _globals['_USERAPPROVALSTATUS']._serialized_start=2077
47
+ _globals['_USERAPPROVALSTATUS']._serialized_end=2239
48
+ _globals['_USER']._serialized_start=170
49
+ _globals['_USER']._serialized_end=928
50
+ _globals['_USERWITHORGANIZATIONS']._serialized_start=931
51
+ _globals['_USERWITHORGANIZATIONS']._serialized_end=1068
52
+ _globals['_USERORGANIZATION']._serialized_start=1071
53
+ _globals['_USERORGANIZATION']._serialized_end=1247
54
+ _globals['_GETMEREQUEST']._serialized_start=1249
55
+ _globals['_GETMEREQUEST']._serialized_end=1263
56
+ _globals['_GETMERESPONSE']._serialized_start=1265
57
+ _globals['_GETMERESPONSE']._serialized_end=1339
58
+ _globals['_GETUSERREQUEST']._serialized_start=1341
59
+ _globals['_GETUSERREQUEST']._serialized_end=1405
60
+ _globals['_GETUSERRESPONSE']._serialized_start=1407
61
+ _globals['_GETUSERRESPONSE']._serialized_end=1466
62
+ _globals['_UPDATEMEREQUEST']._serialized_start=1469
63
+ _globals['_UPDATEMEREQUEST']._serialized_end=1603
64
+ _globals['_UPDATEMERESPONSE']._serialized_start=1605
65
+ _globals['_UPDATEMERESPONSE']._serialized_end=1665
66
+ _globals['_LISTUSERSREQUEST']._serialized_start=1668
67
+ _globals['_LISTUSERSREQUEST']._serialized_end=1821
68
+ _globals['_LISTUSERSRESPONSE']._serialized_start=1824
69
+ _globals['_LISTUSERSRESPONSE']._serialized_end=1955
70
+ _globals['_USERSERVICE']._serialized_start=2242
71
+ _globals['_USERSERVICE']._serialized_end=2553
72
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,137 @@
1
+ from buf.validate import validate_pb2 as _validate_pb2
2
+ from google.protobuf import timestamp_pb2 as _timestamp_pb2
3
+ from transcodely.v1 import common_pb2 as _common_pb2
4
+ from transcodely.v1 import membership_pb2 as _membership_pb2
5
+ from google.protobuf.internal import containers as _containers
6
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import message as _message
9
+ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union
10
+
11
+ DESCRIPTOR: _descriptor.FileDescriptor
12
+
13
+ class UserStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
14
+ __slots__ = ()
15
+ USER_STATUS_UNSPECIFIED: _ClassVar[UserStatus]
16
+ USER_STATUS_ACTIVE: _ClassVar[UserStatus]
17
+ USER_STATUS_SUSPENDED: _ClassVar[UserStatus]
18
+ USER_STATUS_DELETED: _ClassVar[UserStatus]
19
+
20
+ class UserApprovalStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
21
+ __slots__ = ()
22
+ USER_APPROVAL_STATUS_UNSPECIFIED: _ClassVar[UserApprovalStatus]
23
+ USER_APPROVAL_STATUS_PENDING: _ClassVar[UserApprovalStatus]
24
+ USER_APPROVAL_STATUS_APPROVED: _ClassVar[UserApprovalStatus]
25
+ USER_APPROVAL_STATUS_REJECTED: _ClassVar[UserApprovalStatus]
26
+ USER_STATUS_UNSPECIFIED: UserStatus
27
+ USER_STATUS_ACTIVE: UserStatus
28
+ USER_STATUS_SUSPENDED: UserStatus
29
+ USER_STATUS_DELETED: UserStatus
30
+ USER_APPROVAL_STATUS_UNSPECIFIED: UserApprovalStatus
31
+ USER_APPROVAL_STATUS_PENDING: UserApprovalStatus
32
+ USER_APPROVAL_STATUS_APPROVED: UserApprovalStatus
33
+ USER_APPROVAL_STATUS_REJECTED: UserApprovalStatus
34
+
35
+ class User(_message.Message):
36
+ __slots__ = ("id", "email", "email_verified", "first_name", "last_name", "profile_picture_url", "status", "last_login_at", "created_at", "updated_at", "approval_status", "approval_decided_at", "approval_decided_by_user_id")
37
+ ID_FIELD_NUMBER: _ClassVar[int]
38
+ EMAIL_FIELD_NUMBER: _ClassVar[int]
39
+ EMAIL_VERIFIED_FIELD_NUMBER: _ClassVar[int]
40
+ FIRST_NAME_FIELD_NUMBER: _ClassVar[int]
41
+ LAST_NAME_FIELD_NUMBER: _ClassVar[int]
42
+ PROFILE_PICTURE_URL_FIELD_NUMBER: _ClassVar[int]
43
+ STATUS_FIELD_NUMBER: _ClassVar[int]
44
+ LAST_LOGIN_AT_FIELD_NUMBER: _ClassVar[int]
45
+ CREATED_AT_FIELD_NUMBER: _ClassVar[int]
46
+ UPDATED_AT_FIELD_NUMBER: _ClassVar[int]
47
+ APPROVAL_STATUS_FIELD_NUMBER: _ClassVar[int]
48
+ APPROVAL_DECIDED_AT_FIELD_NUMBER: _ClassVar[int]
49
+ APPROVAL_DECIDED_BY_USER_ID_FIELD_NUMBER: _ClassVar[int]
50
+ id: str
51
+ email: str
52
+ email_verified: bool
53
+ first_name: str
54
+ last_name: str
55
+ profile_picture_url: str
56
+ status: UserStatus
57
+ last_login_at: _timestamp_pb2.Timestamp
58
+ created_at: _timestamp_pb2.Timestamp
59
+ updated_at: _timestamp_pb2.Timestamp
60
+ approval_status: UserApprovalStatus
61
+ approval_decided_at: _timestamp_pb2.Timestamp
62
+ approval_decided_by_user_id: str
63
+ def __init__(self, id: _Optional[str] = ..., email: _Optional[str] = ..., email_verified: bool = ..., first_name: _Optional[str] = ..., last_name: _Optional[str] = ..., profile_picture_url: _Optional[str] = ..., status: _Optional[_Union[UserStatus, str]] = ..., last_login_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., created_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., approval_status: _Optional[_Union[UserApprovalStatus, str]] = ..., approval_decided_at: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., approval_decided_by_user_id: _Optional[str] = ...) -> None: ...
64
+
65
+ class UserWithOrganizations(_message.Message):
66
+ __slots__ = ("user", "organizations")
67
+ USER_FIELD_NUMBER: _ClassVar[int]
68
+ ORGANIZATIONS_FIELD_NUMBER: _ClassVar[int]
69
+ user: User
70
+ organizations: _containers.RepeatedCompositeFieldContainer[UserOrganization]
71
+ def __init__(self, user: _Optional[_Union[User, _Mapping]] = ..., organizations: _Optional[_Iterable[_Union[UserOrganization, _Mapping]]] = ...) -> None: ...
72
+
73
+ class UserOrganization(_message.Message):
74
+ __slots__ = ("org_id", "org_slug", "org_name", "role", "is_active")
75
+ ORG_ID_FIELD_NUMBER: _ClassVar[int]
76
+ ORG_SLUG_FIELD_NUMBER: _ClassVar[int]
77
+ ORG_NAME_FIELD_NUMBER: _ClassVar[int]
78
+ ROLE_FIELD_NUMBER: _ClassVar[int]
79
+ IS_ACTIVE_FIELD_NUMBER: _ClassVar[int]
80
+ org_id: str
81
+ org_slug: str
82
+ org_name: str
83
+ role: _membership_pb2.MembershipRole
84
+ is_active: bool
85
+ def __init__(self, org_id: _Optional[str] = ..., org_slug: _Optional[str] = ..., org_name: _Optional[str] = ..., role: _Optional[_Union[_membership_pb2.MembershipRole, str]] = ..., is_active: bool = ...) -> None: ...
86
+
87
+ class GetMeRequest(_message.Message):
88
+ __slots__ = ()
89
+ def __init__(self) -> None: ...
90
+
91
+ class GetMeResponse(_message.Message):
92
+ __slots__ = ("user",)
93
+ USER_FIELD_NUMBER: _ClassVar[int]
94
+ user: UserWithOrganizations
95
+ def __init__(self, user: _Optional[_Union[UserWithOrganizations, _Mapping]] = ...) -> None: ...
96
+
97
+ class GetUserRequest(_message.Message):
98
+ __slots__ = ("id",)
99
+ ID_FIELD_NUMBER: _ClassVar[int]
100
+ id: str
101
+ def __init__(self, id: _Optional[str] = ...) -> None: ...
102
+
103
+ class GetUserResponse(_message.Message):
104
+ __slots__ = ("user",)
105
+ USER_FIELD_NUMBER: _ClassVar[int]
106
+ user: User
107
+ def __init__(self, user: _Optional[_Union[User, _Mapping]] = ...) -> None: ...
108
+
109
+ class UpdateMeRequest(_message.Message):
110
+ __slots__ = ("first_name", "last_name")
111
+ FIRST_NAME_FIELD_NUMBER: _ClassVar[int]
112
+ LAST_NAME_FIELD_NUMBER: _ClassVar[int]
113
+ first_name: str
114
+ last_name: str
115
+ def __init__(self, first_name: _Optional[str] = ..., last_name: _Optional[str] = ...) -> None: ...
116
+
117
+ class UpdateMeResponse(_message.Message):
118
+ __slots__ = ("user",)
119
+ USER_FIELD_NUMBER: _ClassVar[int]
120
+ user: User
121
+ def __init__(self, user: _Optional[_Union[User, _Mapping]] = ...) -> None: ...
122
+
123
+ class ListUsersRequest(_message.Message):
124
+ __slots__ = ("status", "pagination")
125
+ STATUS_FIELD_NUMBER: _ClassVar[int]
126
+ PAGINATION_FIELD_NUMBER: _ClassVar[int]
127
+ status: UserStatus
128
+ pagination: _common_pb2.PaginationRequest
129
+ def __init__(self, status: _Optional[_Union[UserStatus, str]] = ..., pagination: _Optional[_Union[_common_pb2.PaginationRequest, _Mapping]] = ...) -> None: ...
130
+
131
+ class ListUsersResponse(_message.Message):
132
+ __slots__ = ("users", "pagination")
133
+ USERS_FIELD_NUMBER: _ClassVar[int]
134
+ PAGINATION_FIELD_NUMBER: _ClassVar[int]
135
+ users: _containers.RepeatedCompositeFieldContainer[User]
136
+ pagination: _common_pb2.PaginationResponse
137
+ def __init__(self, users: _Optional[_Iterable[_Union[User, _Mapping]]] = ..., pagination: _Optional[_Union[_common_pb2.PaginationResponse, _Mapping]] = ...) -> None: ...