mmisp-lib 0.5.0__tar.gz → 0.6.0__tar.gz

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 (129) hide show
  1. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/PKG-INFO +1 -1
  2. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/pyproject.toml +1 -1
  3. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/galaxies.py +2 -73
  4. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/galaxy_clusters.py +25 -9
  5. mmisp_lib-0.6.0/src/mmisp/api_schemas/galaxy_common.py +15 -0
  6. mmisp_lib-0.6.0/src/mmisp/lib/galaxies.py +17 -0
  7. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp_lib.egg-info/PKG-INFO +1 -1
  8. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp_lib.egg-info/SOURCES.txt +2 -0
  9. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/LICENSE +0 -0
  10. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/README.md +0 -0
  11. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/setup.cfg +0 -0
  12. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/__init__.py +0 -0
  13. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/attributes.py +0 -0
  14. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/auth_keys.py +0 -0
  15. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/authentication.py +0 -0
  16. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/common.py +0 -0
  17. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/events.py +0 -0
  18. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/feeds.py +0 -0
  19. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/jobs.py +0 -0
  20. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/logs.py +0 -0
  21. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/noticelists.py +0 -0
  22. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/objects.py +0 -0
  23. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/organisations.py +0 -0
  24. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/py.typed +0 -0
  25. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/responses/__init__.py +0 -0
  26. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/responses/check_graph_response.py +0 -0
  27. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/responses/standard_status_response.py +0 -0
  28. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/roles.py +0 -0
  29. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/servers.py +0 -0
  30. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/sharing_groups.py +0 -0
  31. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/sightings.py +0 -0
  32. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/statistics.py +0 -0
  33. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/tags.py +0 -0
  34. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/taxonomies.py +0 -0
  35. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/user_settings.py +0 -0
  36. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/users.py +0 -0
  37. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/warninglists.py +0 -0
  38. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/api_schemas/workflows.py +0 -0
  39. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/commandline_tool/__init__.py +0 -0
  40. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/commandline_tool/main.py +0 -0
  41. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/commandline_tool/organisation.py +0 -0
  42. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/commandline_tool/py.typed +0 -0
  43. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/commandline_tool/setup.py +0 -0
  44. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/commandline_tool/user.py +0 -0
  45. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/__init__.py +0 -0
  46. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/additional_properties.py +0 -0
  47. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/all_models.py +0 -0
  48. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/config.py +0 -0
  49. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/database.py +0 -0
  50. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/mixins.py +0 -0
  51. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/models/__init__.py +0 -0
  52. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/models/admin_setting.py +0 -0
  53. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/models/attribute.py +0 -0
  54. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/models/auth_key.py +0 -0
  55. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/models/event.py +0 -0
  56. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/models/feed.py +0 -0
  57. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/models/galaxy.py +0 -0
  58. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/models/galaxy_cluster.py +0 -0
  59. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/models/identity_provider.py +0 -0
  60. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/models/log.py +0 -0
  61. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/models/noticelist.py +0 -0
  62. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/models/object.py +0 -0
  63. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/models/organisation.py +0 -0
  64. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/models/role.py +0 -0
  65. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/models/server.py +0 -0
  66. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/models/sharing_group.py +0 -0
  67. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/models/sighting.py +0 -0
  68. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/models/tag.py +0 -0
  69. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/models/taxonomy.py +0 -0
  70. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/models/user.py +0 -0
  71. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/models/user_setting.py +0 -0
  72. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/models/warninglist.py +0 -0
  73. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/models/workflow.py +0 -0
  74. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/models/workflow_blueprint.py +0 -0
  75. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/mypy.py +0 -0
  76. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/print_changes.py +0 -0
  77. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/db/py.typed +0 -0
  78. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/lib/__init__.py +0 -0
  79. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/lib/actions.py +0 -0
  80. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/lib/attribute_search_filter.py +0 -0
  81. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/lib/attributes.py +0 -0
  82. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/lib/logging.py +0 -0
  83. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/lib/permissions.py +0 -0
  84. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/lib/py.typed +0 -0
  85. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/lib/uuid.py +0 -0
  86. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/plugins/py.typed +0 -0
  87. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/tests/__init__.py +0 -0
  88. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/tests/compatibility_helpers.py +0 -0
  89. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/tests/fixtures.py +0 -0
  90. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/tests/generators/feed_generator.py +0 -0
  91. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/tests/generators/model_generators/attribute_generator.py +0 -0
  92. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/tests/generators/model_generators/auth_key_generator.py +0 -0
  93. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/tests/generators/model_generators/event_generator.py +0 -0
  94. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/tests/generators/model_generators/galaxy_generator.py +0 -0
  95. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/tests/generators/model_generators/identity_provider_generator.py +0 -0
  96. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/tests/generators/model_generators/noticelist_generator.py +0 -0
  97. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/tests/generators/model_generators/organisation_generator.py +0 -0
  98. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/tests/generators/model_generators/role_generator.py +0 -0
  99. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/tests/generators/model_generators/server_generator.py +0 -0
  100. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/tests/generators/model_generators/sharing_group_generator.py +0 -0
  101. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/tests/generators/model_generators/tag_generator.py +0 -0
  102. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/tests/generators/model_generators/taxonomy_generator.py +0 -0
  103. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/tests/generators/model_generators/user_generator.py +0 -0
  104. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/tests/generators/model_generators/user_setting_generator.py +0 -0
  105. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/tests/generators/model_generators/warninglist_generator.py +0 -0
  106. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/tests/generators/model_generators/workflow_generator.py +0 -0
  107. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/tests/generators/object_generator.py +0 -0
  108. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/tests/generators/sighting_generator.py +0 -0
  109. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/tests/generators/tag_generator.py +0 -0
  110. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/tests/generators/taxonomies_generator.py +0 -0
  111. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/util/__init__.py +0 -0
  112. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/util/crypto.py +0 -0
  113. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/util/models.py +0 -0
  114. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/util/partial.py +0 -0
  115. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/util/py.typed +0 -0
  116. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/util/uuid.py +0 -0
  117. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/workflows/__init__.py +0 -0
  118. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/workflows/execution.py +0 -0
  119. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/workflows/fastapi.py +0 -0
  120. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/workflows/graph.py +0 -0
  121. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/workflows/input.py +0 -0
  122. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/workflows/legacy.py +0 -0
  123. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/workflows/misp_core_format.py +0 -0
  124. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/workflows/modules.py +0 -0
  125. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp/workflows/py.typed +0 -0
  126. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp_lib.egg-info/dependency_links.txt +0 -0
  127. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp_lib.egg-info/requires.txt +0 -0
  128. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/src/mmisp_lib.egg-info/top_level.txt +0 -0
  129. {mmisp_lib-0.5.0 → mmisp_lib-0.6.0}/tests/test_commandline_tool.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mmisp-lib
3
- Version: 0.5.0
3
+ Version: 0.6.0
4
4
  Requires-Python: >=3.11.0
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mmisp-lib"
3
- version = "0.5.0"
3
+ version = "0.6.0"
4
4
  description = ""
5
5
  authors = []
6
6
  readme = "README.md"
@@ -2,8 +2,8 @@ from typing import List
2
2
 
3
3
  from pydantic import BaseModel
4
4
 
5
- import mmisp.api_schemas.organisations
6
- from mmisp.api_schemas.events import AddEditGetEventGalaxyClusterRelation, GetAllEventsGalaxyClusterGalaxy
5
+ from mmisp.api_schemas.galaxy_clusters import GetGalaxyClusterResponse
6
+ from mmisp.api_schemas.galaxy_common import GetAllSearchGalaxiesAttributes
7
7
 
8
8
 
9
9
  class SearchGalaxiesBody(BaseModel):
@@ -38,31 +38,6 @@ class ExportGalaxyGalaxyElement(BaseModel):
38
38
  value: str
39
39
 
40
40
 
41
- class GetGalaxyClusterResponse(BaseModel):
42
- id: str | None = None
43
- uuid: str | None = None
44
- collection_uuid: str
45
- type: str
46
- value: str
47
- tag_name: str
48
- description: str
49
- galaxy_id: str
50
- source: str
51
- authors: list[str]
52
- version: str
53
- distribution: str
54
- sharing_group_id: str
55
- org_id: str
56
- orgc_id: str
57
- default: bool
58
- locked: bool
59
- extends_uuid: str
60
- extends_version: str
61
- published: bool
62
- deleted: bool
63
- GalaxyElement: list[ExportGalaxyGalaxyElement]
64
-
65
-
66
41
  class ImportGalaxyBody(BaseModel):
67
42
  GalaxyCluster: GetGalaxyClusterResponse
68
43
  Galaxy: ImportGalaxyGalaxy
@@ -71,20 +46,6 @@ class ImportGalaxyBody(BaseModel):
71
46
  orm_mode = True
72
47
 
73
48
 
74
- class GetAllSearchGalaxiesAttributes(BaseModel):
75
- id: str
76
- uuid: str
77
- name: str
78
- type: str
79
- description: str
80
- version: str
81
- icon: str
82
- namespace: str
83
- kill_chain_order: str | None = None
84
- enabled: bool
85
- local_only: bool
86
-
87
-
88
49
  class GetAllSearchGalaxiesResponse(BaseModel):
89
50
  Galaxy: GetAllSearchGalaxiesAttributes
90
51
 
@@ -115,38 +76,6 @@ class GalaxySchema(BaseModel):
115
76
  orm_mode = True
116
77
 
117
78
 
118
- class ExportGalaxyClusterResponse(BaseModel):
119
- id: str
120
- uuid: str
121
- collection_uuid: str
122
- type: str
123
- value: str
124
- tag_name: str
125
- description: str
126
- galaxy_id: str
127
- source: str
128
- authors: list[str]
129
- version: str
130
- distribution: str
131
- sharing_group_id: str
132
- org_id: str
133
- orgc_id: str
134
- default: bool
135
- locked: bool
136
- extends_uuid: str
137
- extends_version: str
138
- published: bool
139
- deleted: bool
140
- GalaxyElement: list[ExportGalaxyGalaxyElement]
141
- Galaxy: GetAllEventsGalaxyClusterGalaxy
142
- GalaxyClusterRelation: list[AddEditGetEventGalaxyClusterRelation] = []
143
- Org: mmisp.api_schemas.organisations.Organisation
144
- Orgc: mmisp.api_schemas.organisations.Organisation
145
-
146
- class Config:
147
- orm_mode = True
148
-
149
-
150
79
  class ExportGalaxyAttributes(BaseModel):
151
80
  default: bool
152
81
  custom: bool | None = None
@@ -1,10 +1,17 @@
1
+ from datetime import datetime
2
+
1
3
  from pydantic import BaseModel
2
4
 
3
- from mmisp.api_schemas.events.add_edit_get_event_response import AddEditGetEventGalaxyClusterRelation
4
- from mmisp.api_schemas.events.get_all_events_response import GetAllEventsGalaxyClusterGalaxy
5
- from mmisp.api_schemas.galaxies import ExportGalaxyGalaxyElement, GetAllSearchGalaxiesAttributes
6
- from mmisp.api_schemas.organisations import GetOrganisationResponse
7
- from mmisp.api_schemas.organisations.organisation import Organisation
5
+ from mmisp.api_schemas.events import AddEditGetEventGalaxyClusterRelation, GetAllEventsGalaxyClusterGalaxy
6
+ from mmisp.api_schemas.galaxy_common import GetAllSearchGalaxiesAttributes
7
+ from mmisp.api_schemas.organisations import GetOrganisationResponse, Organisation
8
+
9
+
10
+ class ExportGalaxyGalaxyElement(BaseModel):
11
+ id: str | None = None
12
+ galaxy_cluster_id: str | None = None
13
+ key: str
14
+ value: str
8
15
 
9
16
 
10
17
  class GetGalaxyClusterResponse(BaseModel):
@@ -25,14 +32,23 @@ class GetGalaxyClusterResponse(BaseModel):
25
32
  orgc_id: str
26
33
  default: bool
27
34
  locked: bool
28
- extends_uuid: str
35
+ extends_uuid: str | None = None
29
36
  extends_version: str
30
37
  published: bool
31
38
  deleted: bool
32
- Galaxy: GetAllSearchGalaxiesAttributes
39
+ Galaxy: GetAllSearchGalaxiesAttributes | None = None
33
40
  GalaxyElement: list[ExportGalaxyGalaxyElement]
34
- Org: GetOrganisationResponse
35
- Orgc: GetOrganisationResponse
41
+ GalaxyClusterRelation: list = []
42
+ RelationshipInbound: list = []
43
+ Org: GetOrganisationResponse | None = None
44
+ Orgc: GetOrganisationResponse | None = None
45
+
46
+
47
+ class GalaxyClusterResponse(BaseModel):
48
+ GalaxyCluster: GetGalaxyClusterResponse
49
+
50
+ class Config:
51
+ json_encoders = {datetime: lambda v: v.strftime("%Y-%m-%d %H:%M:%S")}
36
52
 
37
53
 
38
54
  class ExportGalaxyClusterResponse(BaseModel):
@@ -0,0 +1,15 @@
1
+ from pydantic import BaseModel
2
+
3
+
4
+ class GetAllSearchGalaxiesAttributes(BaseModel):
5
+ id: str
6
+ uuid: str
7
+ name: str
8
+ type: str
9
+ description: str
10
+ version: str
11
+ icon: str
12
+ namespace: str
13
+ kill_chain_order: str | None = None
14
+ enabled: bool
15
+ local_only: bool
@@ -0,0 +1,17 @@
1
+ import json
2
+
3
+
4
+ def json_or_original_string(s: str) -> str | dict | list:
5
+ try:
6
+ return json.loads(s)
7
+ except json.decoder.JSONDecodeError:
8
+ return s
9
+
10
+
11
+ def parse_galaxy_authors(str_authors: str) -> list[str]:
12
+ parsed_author = json_or_original_string(str_authors)
13
+ if isinstance(parsed_author, str):
14
+ parsed_author = [parsed_author] # force to be a list
15
+ assert isinstance(parsed_author, list)
16
+
17
+ return parsed_author
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mmisp-lib
3
- Version: 0.5.0
3
+ Version: 0.6.0
4
4
  Requires-Python: >=3.11.0
5
5
  Description-Content-Type: text/markdown
6
6
  License-File: LICENSE
@@ -10,6 +10,7 @@ src/mmisp/api_schemas/events.py
10
10
  src/mmisp/api_schemas/feeds.py
11
11
  src/mmisp/api_schemas/galaxies.py
12
12
  src/mmisp/api_schemas/galaxy_clusters.py
13
+ src/mmisp/api_schemas/galaxy_common.py
13
14
  src/mmisp/api_schemas/jobs.py
14
15
  src/mmisp/api_schemas/logs.py
15
16
  src/mmisp/api_schemas/noticelists.py
@@ -73,6 +74,7 @@ src/mmisp/lib/__init__.py
73
74
  src/mmisp/lib/actions.py
74
75
  src/mmisp/lib/attribute_search_filter.py
75
76
  src/mmisp/lib/attributes.py
77
+ src/mmisp/lib/galaxies.py
76
78
  src/mmisp/lib/logging.py
77
79
  src/mmisp/lib/permissions.py
78
80
  src/mmisp/lib/py.typed
File without changes
File without changes
File without changes