nexo-schemas 0.0.16__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 (69) hide show
  1. nexo/schemas/__init__.py +0 -0
  2. nexo/schemas/application.py +292 -0
  3. nexo/schemas/connection.py +134 -0
  4. nexo/schemas/data.py +27 -0
  5. nexo/schemas/document.py +237 -0
  6. nexo/schemas/error/__init__.py +476 -0
  7. nexo/schemas/error/constants.py +50 -0
  8. nexo/schemas/error/descriptor.py +354 -0
  9. nexo/schemas/error/enums.py +40 -0
  10. nexo/schemas/error/metadata.py +15 -0
  11. nexo/schemas/error/spec.py +312 -0
  12. nexo/schemas/exception/__init__.py +0 -0
  13. nexo/schemas/exception/exc.py +911 -0
  14. nexo/schemas/exception/factory.py +1928 -0
  15. nexo/schemas/exception/handlers.py +110 -0
  16. nexo/schemas/google.py +14 -0
  17. nexo/schemas/key/__init__.py +0 -0
  18. nexo/schemas/key/rsa.py +131 -0
  19. nexo/schemas/metadata.py +21 -0
  20. nexo/schemas/mixins/__init__.py +0 -0
  21. nexo/schemas/mixins/filter.py +140 -0
  22. nexo/schemas/mixins/general.py +65 -0
  23. nexo/schemas/mixins/hierarchy.py +19 -0
  24. nexo/schemas/mixins/identity.py +387 -0
  25. nexo/schemas/mixins/parameter.py +50 -0
  26. nexo/schemas/mixins/service.py +40 -0
  27. nexo/schemas/mixins/sort.py +111 -0
  28. nexo/schemas/mixins/timestamp.py +192 -0
  29. nexo/schemas/model.py +240 -0
  30. nexo/schemas/operation/__init__.py +0 -0
  31. nexo/schemas/operation/action/__init__.py +9 -0
  32. nexo/schemas/operation/action/base.py +14 -0
  33. nexo/schemas/operation/action/resource.py +371 -0
  34. nexo/schemas/operation/action/status.py +8 -0
  35. nexo/schemas/operation/action/system.py +6 -0
  36. nexo/schemas/operation/action/websocket.py +6 -0
  37. nexo/schemas/operation/base.py +289 -0
  38. nexo/schemas/operation/constants.py +18 -0
  39. nexo/schemas/operation/context.py +68 -0
  40. nexo/schemas/operation/dependency.py +26 -0
  41. nexo/schemas/operation/enums.py +168 -0
  42. nexo/schemas/operation/extractor.py +36 -0
  43. nexo/schemas/operation/mixins.py +53 -0
  44. nexo/schemas/operation/request.py +1066 -0
  45. nexo/schemas/operation/resource.py +839 -0
  46. nexo/schemas/operation/system.py +55 -0
  47. nexo/schemas/operation/websocket.py +55 -0
  48. nexo/schemas/pagination.py +67 -0
  49. nexo/schemas/parameter.py +60 -0
  50. nexo/schemas/payload.py +116 -0
  51. nexo/schemas/resource.py +64 -0
  52. nexo/schemas/response.py +1041 -0
  53. nexo/schemas/security/__init__.py +0 -0
  54. nexo/schemas/security/api_key.py +63 -0
  55. nexo/schemas/security/authentication.py +848 -0
  56. nexo/schemas/security/authorization.py +922 -0
  57. nexo/schemas/security/enums.py +32 -0
  58. nexo/schemas/security/impersonation.py +179 -0
  59. nexo/schemas/security/token.py +402 -0
  60. nexo/schemas/security/types.py +17 -0
  61. nexo/schemas/success/__init__.py +0 -0
  62. nexo/schemas/success/descriptor.py +100 -0
  63. nexo/schemas/success/enums.py +23 -0
  64. nexo/schemas/user_agent.py +46 -0
  65. nexo_schemas-0.0.16.dist-info/METADATA +87 -0
  66. nexo_schemas-0.0.16.dist-info/RECORD +69 -0
  67. nexo_schemas-0.0.16.dist-info/WHEEL +5 -0
  68. nexo_schemas-0.0.16.dist-info/licenses/LICENSE +21 -0
  69. nexo_schemas-0.0.16.dist-info/top_level.txt +1 -0
@@ -0,0 +1,100 @@
1
+ from pydantic import Field
2
+ from typing import Annotated
3
+ from ..mixins.general import Descriptor
4
+ from .enums import SuccessCode
5
+
6
+
7
+ class SuccessDescriptor(Descriptor[SuccessCode]):
8
+ code: Annotated[
9
+ SuccessCode, Field(SuccessCode.ANY_DATA, description="Success's code")
10
+ ] = SuccessCode.ANY_DATA
11
+ message: Annotated[
12
+ str, Field("Any data response", description="Success's message")
13
+ ] = "Any data response"
14
+ description: Annotated[
15
+ str, Field("Response with Any Data", description="Success's description")
16
+ ] = "Response with Any Data"
17
+
18
+
19
+ class AnyDataSuccessDescriptor(SuccessDescriptor):
20
+ code: SuccessCode = SuccessCode.ANY_DATA
21
+ message: str = "Any data response"
22
+ description: str = "Response with Any Data"
23
+
24
+
25
+ class NoDataSuccessDescriptor(SuccessDescriptor):
26
+ code: SuccessCode = SuccessCode.NO_DATA
27
+ message: str = "No data response"
28
+ description: str = "Response with No Data"
29
+
30
+
31
+ class SingleDataSuccessDescriptor(SuccessDescriptor):
32
+ code: SuccessCode = SuccessCode.SINGLE_DATA
33
+ message: str = "Single data response"
34
+ description: str = "Response with Single Data"
35
+
36
+
37
+ class CreateSingleDataSuccessDescriptor(SuccessDescriptor):
38
+ code: SuccessCode = SuccessCode.CREATE_SINGLE_DATA
39
+ message: str = "Create single data response"
40
+ description: str = "Create response with Single Data"
41
+
42
+
43
+ class UpdateSingleDataSuccessDescriptor(SuccessDescriptor):
44
+ code: SuccessCode = SuccessCode.UPDATE_SINGLE_DATA
45
+ message: str = "Update single data response"
46
+ description: str = "Update response with Single Data"
47
+
48
+
49
+ class OptSingleDataSuccessDescriptor(SuccessDescriptor):
50
+ code: SuccessCode = SuccessCode.OPTIONAL_SINGLE_DATA
51
+ message: str = "Optional single data response"
52
+ description: str = "Response with Optional Single Data"
53
+
54
+
55
+ class ReadSingleDataSuccessDescriptor(SuccessDescriptor):
56
+ code: SuccessCode = SuccessCode.READ_SINGLE_DATA
57
+ message: str = "Read single data response"
58
+ description: str = "Read response with Single Data"
59
+
60
+
61
+ class DeleteSingleDataSuccessDescriptor(SuccessDescriptor):
62
+ code: SuccessCode = SuccessCode.DELETE_SINGLE_DATA
63
+ message: str = "Delete single data response"
64
+ description: str = "Delete response with Single Data"
65
+
66
+
67
+ class MultipleDataSuccessDescriptor(SuccessDescriptor):
68
+ code: SuccessCode = SuccessCode.MULTIPLE_DATA
69
+ message: str = "Multiple data response"
70
+ description: str = "Response with Multiple Data"
71
+
72
+
73
+ class CreateMultipleDataSuccessDescriptor(SuccessDescriptor):
74
+ code: SuccessCode = SuccessCode.CREATE_MULTIPLE_DATA
75
+ message: str = "Create multiple data response"
76
+ description: str = "Create response with Multiple Data"
77
+
78
+
79
+ class UpdateMultipleDataSuccessDescriptor(SuccessDescriptor):
80
+ code: SuccessCode = SuccessCode.UPDATE_MULTIPLE_DATA
81
+ message: str = "Update multiple data response"
82
+ description: str = "Update response with Multiple Data"
83
+
84
+
85
+ class OptMultipleDataSuccessDescriptor(SuccessDescriptor):
86
+ code: SuccessCode = SuccessCode.OPTIONAL_MULTIPLE_DATA
87
+ message: str = "Optional multiple data response"
88
+ description: str = "Response with Optional Multiple Data"
89
+
90
+
91
+ class ReadMultipleDataSuccessDescriptor(SuccessDescriptor):
92
+ code: SuccessCode = SuccessCode.READ_MULTIPLE_DATA
93
+ message: str = "Read multiple data response"
94
+ description: str = "Read response with Multiple Data"
95
+
96
+
97
+ class DeleteMultipleDataSuccessDescriptor(SuccessDescriptor):
98
+ code: SuccessCode = SuccessCode.DELETE_MULTIPLE_DATA
99
+ message: str = "Delete multiple data response"
100
+ description: str = "Delete response with Multiple Data"
@@ -0,0 +1,23 @@
1
+ from enum import StrEnum
2
+ from nexo.types.string import ListOfStrs
3
+
4
+
5
+ class SuccessCode(StrEnum):
6
+ ANY_DATA = "MAL-SCS-ADT-001"
7
+ NO_DATA = "MAL-SCS-NDT-001"
8
+ SINGLE_DATA = "MAL-SCS-SGD-001"
9
+ CREATE_SINGLE_DATA = "MAL-SCS-SGD-002"
10
+ READ_SINGLE_DATA = "MAL-SCS-SGD-003"
11
+ UPDATE_SINGLE_DATA = "MAL-SCS-SGD-004"
12
+ DELETE_SINGLE_DATA = "MAL-SCS-SGD-005"
13
+ OPTIONAL_SINGLE_DATA = "MAL-SCS-OSD-001"
14
+ MULTIPLE_DATA = "MAL-SCS-MTD-001"
15
+ CREATE_MULTIPLE_DATA = "MAL-SCS-MTD-002"
16
+ READ_MULTIPLE_DATA = "MAL-SCS-MTD-003"
17
+ UPDATE_MULTIPLE_DATA = "MAL-SCS-MTD-004"
18
+ DELETE_MULTIPLE_DATA = "MAL-SCS-MTD-005"
19
+ OPTIONAL_MULTIPLE_DATA = "MAL-SCS-OMD-001"
20
+
21
+ @classmethod
22
+ def choices(cls) -> ListOfStrs:
23
+ return [e.value for e in cls]
@@ -0,0 +1,46 @@
1
+ from pydantic import BaseModel, Field
2
+ from typing import Annotated, Tuple
3
+ from user_agents.parsers import parse
4
+ from nexo.types.string import OptStr
5
+
6
+
7
+ class Browser(BaseModel):
8
+ family: Annotated[str, Field(..., description="Browser's family")]
9
+ version: Annotated[Tuple[int, ...], Field(..., description="Browser's version")]
10
+ version_string: Annotated[str, Field(..., description="Browser's version string")]
11
+
12
+
13
+ class OperatingSystem(BaseModel):
14
+ family: Annotated[str, Field(..., description="OS's family")]
15
+ version: Annotated[Tuple[int, ...], Field(..., description="OS's version")]
16
+ version_string: Annotated[str, Field(..., description="OS's version string")]
17
+
18
+
19
+ class Device(BaseModel):
20
+ family: Annotated[str, Field(..., description="Device's family")]
21
+ brand: Annotated[OptStr, Field(None, description="Device's brand")]
22
+ model: Annotated[OptStr, Field(None, description="Device's model")]
23
+
24
+
25
+ class UserAgent(BaseModel):
26
+ ua_string: Annotated[str, Field(..., description="Raw User-Agent header")]
27
+ browser: Annotated[Browser, Field(..., description="Browser User-Agent")]
28
+ os: Annotated[OperatingSystem, Field(..., description="OS User-Agent")]
29
+ device: Annotated[Device, Field(..., description="Platform User-Agent")]
30
+
31
+ is_mobile: Annotated[bool, Field(..., description="Whether is mobile")]
32
+ is_tablet: Annotated[bool, Field(..., description="Whether is tablet")]
33
+ is_pc: Annotated[bool, Field(..., description="Whether is PC")]
34
+ is_bot: Annotated[bool, Field(..., description="Whether is bot")]
35
+ is_touch_capable: Annotated[
36
+ bool, Field(..., description="Whether is touch capable")
37
+ ]
38
+ is_email_client: Annotated[bool, Field(..., description="Whether is email client")]
39
+
40
+ @classmethod
41
+ def from_string(cls, user_agent_string: str) -> "UserAgent":
42
+ parsed_user_agent = parse(user_agent_string)
43
+ return cls.model_validate(parsed_user_agent, from_attributes=True)
44
+
45
+
46
+ OptUserAgent = UserAgent | None
@@ -0,0 +1,87 @@
1
+ Metadata-Version: 2.4
2
+ Name: nexo-schemas
3
+ Version: 0.0.16
4
+ Summary: Schemas package for Nexo
5
+ Author-email: Agra Bima Yuda <hub.agrayuda@gmail.com>
6
+ License: Proprietary
7
+ Requires-Python: >=3.12
8
+ Description-Content-Type: text/markdown
9
+ License-File: LICENSE
10
+ Requires-Dist: annotated-types>=0.7.0
11
+ Requires-Dist: anyio>=4.10.0
12
+ Requires-Dist: bcrypt>=4.3.0
13
+ Requires-Dist: black>=25.1.0
14
+ Requires-Dist: cachetools>=5.5.2
15
+ Requires-Dist: certifi>=2025.8.3
16
+ Requires-Dist: cffi>=2.0.0
17
+ Requires-Dist: cfgv>=3.4.0
18
+ Requires-Dist: charset-normalizer>=3.4.3
19
+ Requires-Dist: click>=8.3.0
20
+ Requires-Dist: colorama>=0.4.6
21
+ Requires-Dist: cryptography>=46.0.1
22
+ Requires-Dist: distlib>=0.4.0
23
+ Requires-Dist: fastapi>=0.116.2
24
+ Requires-Dist: filelock>=3.19.1
25
+ Requires-Dist: google-api-core>=2.25.1
26
+ Requires-Dist: google-auth>=2.40.3
27
+ Requires-Dist: google-cloud-appengine-logging>=1.6.2
28
+ Requires-Dist: google-cloud-audit-log>=0.3.2
29
+ Requires-Dist: google-cloud-core>=2.4.3
30
+ Requires-Dist: google-cloud-logging>=3.12.1
31
+ Requires-Dist: google-cloud-pubsub>=2.31.1
32
+ Requires-Dist: googleapis-common-protos>=1.70.0
33
+ Requires-Dist: greenlet>=3.2.4
34
+ Requires-Dist: grpc-google-iam-v1>=0.14.2
35
+ Requires-Dist: grpcio>=1.75.0
36
+ Requires-Dist: grpcio-status>=1.75.0
37
+ Requires-Dist: h11>=0.16.0
38
+ Requires-Dist: httpcore>=1.0.9
39
+ Requires-Dist: httpx>=0.28.1
40
+ Requires-Dist: identify>=2.6.14
41
+ Requires-Dist: idna>=3.10
42
+ Requires-Dist: importlib_metadata>=8.7.0
43
+ Requires-Dist: iniconfig>=2.1.0
44
+ Requires-Dist: mypy_extensions>=1.1.0
45
+ Requires-Dist: nexo-crypto>=0.0.5
46
+ Requires-Dist: nexo-enums>=0.0.5
47
+ Requires-Dist: nexo-logging>=0.0.5
48
+ Requires-Dist: nexo-types>=0.0.5
49
+ Requires-Dist: nexo-utils>=0.0.5
50
+ Requires-Dist: nodeenv>=1.9.1
51
+ Requires-Dist: opentelemetry-api>=1.37.0
52
+ Requires-Dist: opentelemetry-sdk>=1.37.0
53
+ Requires-Dist: opentelemetry-semantic-conventions>=0.58b0
54
+ Requires-Dist: packaging>=25.0
55
+ Requires-Dist: pathspec>=0.12.1
56
+ Requires-Dist: platformdirs>=4.4.0
57
+ Requires-Dist: pluggy>=1.6.0
58
+ Requires-Dist: pre_commit>=4.3.0
59
+ Requires-Dist: proto-plus>=1.26.1
60
+ Requires-Dist: protobuf>=6.32.1
61
+ Requires-Dist: pyasn1>=0.6.1
62
+ Requires-Dist: pyasn1_modules>=0.4.2
63
+ Requires-Dist: pycparser>=2.23
64
+ Requires-Dist: pycryptodome>=3.23.0
65
+ Requires-Dist: pydantic>=2.12.2
66
+ Requires-Dist: pydantic-settings>=2.10.1
67
+ Requires-Dist: pydantic_core>=2.41.4
68
+ Requires-Dist: Pygments>=2.19.2
69
+ Requires-Dist: PyJWT>=2.10.1
70
+ Requires-Dist: pytest>=8.4.2
71
+ Requires-Dist: python-dotenv>=1.1.1
72
+ Requires-Dist: pytokens>=0.1.10
73
+ Requires-Dist: PyYAML>=6.0.2
74
+ Requires-Dist: requests>=2.32.5
75
+ Requires-Dist: rsa>=4.9.1
76
+ Requires-Dist: sniffio>=1.3.1
77
+ Requires-Dist: SQLAlchemy>=2.0.44
78
+ Requires-Dist: starlette>=0.48.0
79
+ Requires-Dist: typing-inspection>=0.4.2
80
+ Requires-Dist: typing_extensions>=4.15.0
81
+ Requires-Dist: ua-parser>=1.0.1
82
+ Requires-Dist: ua-parser-builtins>=0.18.0.post1
83
+ Requires-Dist: urllib3>=2.5.0
84
+ Requires-Dist: user-agents>=2.2.0
85
+ Requires-Dist: virtualenv>=20.34.0
86
+ Requires-Dist: zipp>=3.23.0
87
+ Dynamic: license-file
@@ -0,0 +1,69 @@
1
+ nexo/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ nexo/schemas/application.py,sha256=z5MWtSIgGbGKRUaieTKimWNo2E8jd6kQ113qILTSmVI,10432
3
+ nexo/schemas/connection.py,sha256=7L-ZBMgNNBgsGKbA1pl8kVUPQJDmVyXyEFRIigONgSE,4913
4
+ nexo/schemas/data.py,sha256=-1VZAUDqcKltmrRgSj_SBnz3bAgXQT_T9JQeYEHoTyc,649
5
+ nexo/schemas/document.py,sha256=UqSM7G4tZwrCRvpbt2HbjlNJJSumGIZmuc-Ge91WqYo,8156
6
+ nexo/schemas/google.py,sha256=Dn6o8mjxVqE_zMJFQH45spgiiuog0d9fDaJOnYZ4VuQ,496
7
+ nexo/schemas/metadata.py,sha256=5TmLI7hxZOeBoZ4qO9HFkbd0EcgIVdD1MiqCiT7qCcs,622
8
+ nexo/schemas/model.py,sha256=9_4EzSUXP17vrBPFtzLXYPCxuSZaXubotqCXebQ5oYY,5808
9
+ nexo/schemas/pagination.py,sha256=W_6a8KlyRV8iqNFc95aEZDYjlEqyQ-fxIBTwZHJpV_k,1807
10
+ nexo/schemas/parameter.py,sha256=30Bd9oQGlKD3EXoeCbB6YpI2ZuIhkrdFvZknQMBGZrE,1166
11
+ nexo/schemas/payload.py,sha256=r04o32T9Y2V4hUJ2e32dxtRE-YM_CD-UgO0YZnTJlfo,2750
12
+ nexo/schemas/resource.py,sha256=CZPi4gU3Cu20ymA9iwo2nAlZRWP4sagTXPy_3T3q-h0,2047
13
+ nexo/schemas/response.py,sha256=oJ6sDZoAI97CpkYJKpfMLz8u-iXZkn4UxLUuFHOrXIk,30068
14
+ nexo/schemas/user_agent.py,sha256=UZ9VJr3xRLgt3OJcrvm3AFDqaJ3N8dNap3B5mXQQ-aQ,1993
15
+ nexo/schemas/error/__init__.py,sha256=ri8ouB7i-Syniyl-sGUSmtqIURDMU4-K3Oen36wNhEY,14822
16
+ nexo/schemas/error/constants.py,sha256=-v1hQLmnpHOxan0Ry33p3FQGYzPt0XfbEyIQDSQ09k8,1501
17
+ nexo/schemas/error/descriptor.py,sha256=DP4KW8E74e8wD38XV40KT9riR_dmDC1j0pMgeI8CDpA,11410
18
+ nexo/schemas/error/enums.py,sha256=ie6RbfijG2Db3_lO3CLrtBCjj9yhckYbyjKQ69FWnU0,1368
19
+ nexo/schemas/error/metadata.py,sha256=54bjs5SthsvGt7w1Tl2OKbPsVPgDzdChAw_XMJzIad4,501
20
+ nexo/schemas/error/spec.py,sha256=sr6K3IsB8kXkAtp4xr4yXUB4JjyK3v_4TKgemECiMbM,8747
21
+ nexo/schemas/exception/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
+ nexo/schemas/exception/exc.py,sha256=WUQWRQBA1SfifmZThpzoAk9wlb0wg1zftLnIGJxCZfc,29914
23
+ nexo/schemas/exception/factory.py,sha256=IQeF8WR9V3rCCx988H07uoQmTjd3b4SJJPWikYndqqk,73642
24
+ nexo/schemas/exception/handlers.py,sha256=b0Ba_gpAGv7Gru8buV9bJF7gIbtyhQhP_2V37qrN2dA,3481
25
+ nexo/schemas/key/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
+ nexo/schemas/key/rsa.py,sha256=Pl93QfK4q1OFu9YrPYrs5zYEQYZlwYb8-s4OxlE7Vb4,4055
27
+ nexo/schemas/mixins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
+ nexo/schemas/mixins/filter.py,sha256=ESGAm5rcn1HpGvCHUGyMuSwD0C0tvIsC049k4f27DI4,4750
29
+ nexo/schemas/mixins/general.py,sha256=-0FJ0_9Onl-_Dg8_IRlK_FqiGh7CBTdnbrhjHTTereg,1713
30
+ nexo/schemas/mixins/hierarchy.py,sha256=UpVbidcLoxJtWYwXlobaEFXUXyUtvpCz5AEcU-Z5ySs,562
31
+ nexo/schemas/mixins/identity.py,sha256=E3xA4l-A6oGE5hKCPxOMMElJ2RP7_YFEQFK83AZM7rI,11141
32
+ nexo/schemas/mixins/parameter.py,sha256=oldTfPSESFzg8iAkHQMOFSelqEYTDavVSnyevvi_7OI,1560
33
+ nexo/schemas/mixins/service.py,sha256=GJ4jH7CojXhmNAcWrSBodukBP1kripyABskVlf0ZG6k,1387
34
+ nexo/schemas/mixins/sort.py,sha256=H7Uqr8srXu1hJgXb-Jw7YXArKAfn3CDzthejdfz6vuQ,3197
35
+ nexo/schemas/mixins/timestamp.py,sha256=K9NIR3G8Sxxm35zpplHLGLWbbED0t3FDXQinrPoQueE,5561
36
+ nexo/schemas/operation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
+ nexo/schemas/operation/base.py,sha256=iI4fnoUSsmNiEZDLaD88-aerPgyAUPf13csnuxL7zbI,9579
38
+ nexo/schemas/operation/constants.py,sha256=fTOALluMQ7c3bw90tdwbxda4bl3csGflw7DjQz4HWn8,887
39
+ nexo/schemas/operation/context.py,sha256=2K4U9qzjDp9RdqWP4dQnzASh6Z-Go33IbwpieE0ihDA,1703
40
+ nexo/schemas/operation/dependency.py,sha256=pK1NlzbZKzgnAtV_pndcfavCOeiDSRlL2Xf6z0zmT-I,796
41
+ nexo/schemas/operation/enums.py,sha256=Nvk_6B8VUTFQwE8kDEtnAwcA8Y8UFtunGr9gJ-4qNgA,3674
42
+ nexo/schemas/operation/extractor.py,sha256=Yhwu7Iic5Y724Z_Vm3SIEtbrlwgWsqGMkHAVtshvZlA,1163
43
+ nexo/schemas/operation/mixins.py,sha256=hSMF2A2qTpoz0aoKKipgAO-gHRzUQLM579oVO-l9sgQ,1574
44
+ nexo/schemas/operation/request.py,sha256=e4D-Wbt-L0BIfTxF0s0MRvdZJ3zmEdJRTWdvUJvdsGM,33947
45
+ nexo/schemas/operation/resource.py,sha256=ZXdp2f7qbzBd4Zap0RIyMxqfAWH5XQpETL3Q3ZjRU3g,24164
46
+ nexo/schemas/operation/system.py,sha256=tIy82EfwJdSC3kqjg3ANeSsC743y16QjsL_iAgDmvBU,1179
47
+ nexo/schemas/operation/websocket.py,sha256=GBlLm_ZvUTV1HtCOa5LCEvk6xY7mPXzzZj7MCfCxGTs,1206
48
+ nexo/schemas/operation/action/__init__.py,sha256=Drjzq-s7R9c7l1XwzoT4sldHzX0yBgvaxWDZ4G6Vh1o,248
49
+ nexo/schemas/operation/action/base.py,sha256=iYvqR2cZRMaGp_3CKM90oc9IDopUjvG1akOXZsaUVq0,476
50
+ nexo/schemas/operation/action/resource.py,sha256=DeoTjtpJ_ZE-GXDv4N7r079IUcwo2HH9OdNufXsq6gg,12423
51
+ nexo/schemas/operation/action/status.py,sha256=q82jeUMirEjpvSnUEbE8VqGED_5Bb4p9RNnxWrb4oqs,200
52
+ nexo/schemas/operation/action/system.py,sha256=VKiU8PMH9uq-st_R6hEaP3CLI0UhI51O9Qd0TZQjOgQ,164
53
+ nexo/schemas/operation/action/websocket.py,sha256=-rdDwgZ3yeRnSLtKqBVf4x5mSxMlohRCTBV7fdWD9PQ,173
54
+ nexo/schemas/security/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
+ nexo/schemas/security/api_key.py,sha256=bRupahjhi0Z2CnsG_QBUw8KSICx5n6BNIfZ3Kihvc_8,2140
56
+ nexo/schemas/security/authentication.py,sha256=aHVTh0A2JiQHoSRHzJCb-lC_HIRzJZ2Hu2nwmZ5BOOI,27632
57
+ nexo/schemas/security/authorization.py,sha256=L--T-bBy-edtLDeNn_IiLJuXcgbojyqCTd41GrrnX5o,28358
58
+ nexo/schemas/security/enums.py,sha256=nx_Iv5e4IQ8g9ptS6qWkzJRrUArPTTr7NbCrzqeSv34,724
59
+ nexo/schemas/security/impersonation.py,sha256=iRyTUpHdWX9NC2KoSfzvTqFD13YgTC2aAel2P4-kspE,5541
60
+ nexo/schemas/security/token.py,sha256=DtC0Vz8oc19ZIDFMfPfOn01vPRzkVzcbeLjin15Sug0,12856
61
+ nexo/schemas/security/types.py,sha256=HliNIJ8db1MhFKAFVABusyU-dZlcvKUiSml0PmGEAGg,718
62
+ nexo/schemas/success/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
+ nexo/schemas/success/descriptor.py,sha256=dVjyVo5Rqplekfnmkaflv7etw58QbXqYoL3Y1zzNjhc,3614
64
+ nexo/schemas/success/enums.py,sha256=qan2YNt94lty4wlOFpAzBISwy9wv-2Xi9FiU1si0P9o,767
65
+ nexo_schemas-0.0.16.dist-info/licenses/LICENSE,sha256=WpASbhmHx-QKO2CnLBdmsjxQ8KZnFxAa71Z2C8P1Kk4,1068
66
+ nexo_schemas-0.0.16.dist-info/METADATA,sha256=W156eu_cUMmOafaA8I6vaTlUSEe5Zrm1LxD8enQYJUQ,2929
67
+ nexo_schemas-0.0.16.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
68
+ nexo_schemas-0.0.16.dist-info/top_level.txt,sha256=p2jUqI-0rOTJ4WEfCC3VBlttohm_Rd2TRRmiS-t7UC8,5
69
+ nexo_schemas-0.0.16.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.9.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 hubagrayuda
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1 @@
1
+ nexo