legit-api-client 1.1.4398__py3-none-any.whl → 1.1.4516__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.

Potentially problematic release.


This version of legit-api-client might be problematic. Click here for more details.

@@ -14,7 +14,7 @@
14
14
  """ # noqa: E501
15
15
 
16
16
 
17
- __version__ = "1.1.4398"
17
+ __version__ = "1.1.4516"
18
18
 
19
19
  # Define package exports
20
20
  __all__ = [
@@ -152,6 +152,7 @@ __all__ = [
152
152
  "IssueOpeningReasonDto",
153
153
  "IssueOriginDto",
154
154
  "IssueOriginParams",
155
+ "IssueReachability",
155
156
  "IssueSortingColumn",
156
157
  "IssueStatus",
157
158
  "IssueTagDto",
@@ -190,6 +191,7 @@ __all__ = [
190
191
  "ProductUnitDto",
191
192
  "ProductUnitDtoCustomFieldsValue",
192
193
  "ProductUnitEnvironment",
194
+ "ProductUnitIssueDto",
193
195
  "ProductUnitNameDto",
194
196
  "ProductUnitType",
195
197
  "ProgrammingLanguage",
@@ -212,6 +214,7 @@ __all__ = [
212
214
  "SecretsDataDto",
213
215
  "Severity",
214
216
  "SnoozedType",
217
+ "SourceDto",
215
218
  "StringCustomerFacingCursorPagedDto",
216
219
  "TagDto",
217
220
  "TagSource",
@@ -367,6 +370,7 @@ from legit_api_client.models.issue_ignoring_reason_dto import IssueIgnoringReaso
367
370
  from legit_api_client.models.issue_opening_reason_dto import IssueOpeningReasonDto as IssueOpeningReasonDto
368
371
  from legit_api_client.models.issue_origin_dto import IssueOriginDto as IssueOriginDto
369
372
  from legit_api_client.models.issue_origin_params import IssueOriginParams as IssueOriginParams
373
+ from legit_api_client.models.issue_reachability import IssueReachability as IssueReachability
370
374
  from legit_api_client.models.issue_sorting_column import IssueSortingColumn as IssueSortingColumn
371
375
  from legit_api_client.models.issue_status import IssueStatus as IssueStatus
372
376
  from legit_api_client.models.issue_tag_dto import IssueTagDto as IssueTagDto
@@ -405,6 +409,7 @@ from legit_api_client.models.product_unit_asset_dto import ProductUnitAssetDto a
405
409
  from legit_api_client.models.product_unit_dto import ProductUnitDto as ProductUnitDto
406
410
  from legit_api_client.models.product_unit_dto_custom_fields_value import ProductUnitDtoCustomFieldsValue as ProductUnitDtoCustomFieldsValue
407
411
  from legit_api_client.models.product_unit_environment import ProductUnitEnvironment as ProductUnitEnvironment
412
+ from legit_api_client.models.product_unit_issue_dto import ProductUnitIssueDto as ProductUnitIssueDto
408
413
  from legit_api_client.models.product_unit_name_dto import ProductUnitNameDto as ProductUnitNameDto
409
414
  from legit_api_client.models.product_unit_type import ProductUnitType as ProductUnitType
410
415
  from legit_api_client.models.programming_language import ProgrammingLanguage as ProgrammingLanguage
@@ -427,6 +432,7 @@ from legit_api_client.models.secret_issue_validity_status import SecretIssueVali
427
432
  from legit_api_client.models.secrets_data_dto import SecretsDataDto as SecretsDataDto
428
433
  from legit_api_client.models.severity import Severity as Severity
429
434
  from legit_api_client.models.snoozed_type import SnoozedType as SnoozedType
435
+ from legit_api_client.models.source_dto import SourceDto as SourceDto
430
436
  from legit_api_client.models.string_customer_facing_cursor_paged_dto import StringCustomerFacingCursorPagedDto as StringCustomerFacingCursorPagedDto
431
437
  from legit_api_client.models.tag_dto import TagDto as TagDto
432
438
  from legit_api_client.models.tag_source import TagSource as TagSource
@@ -17,7 +17,7 @@ from typing import Any, Dict, List, Optional, Tuple, Union
17
17
  from typing_extensions import Annotated
18
18
 
19
19
  from pydantic import StrictInt, StrictStr
20
- from typing import Optional
20
+ from typing import List, Optional
21
21
 
22
22
  from legit_api_client.api_client import ApiClient, RequestSerialized
23
23
  from legit_api_client.api_response import ApiResponse
@@ -43,6 +43,7 @@ class SavedQueriesApi:
43
43
  saved_query_id: StrictStr,
44
44
  take: Optional[StrictInt] = None,
45
45
  skip: Optional[StrictInt] = None,
46
+ product_ids: Optional[List[StrictStr]] = None,
46
47
  _request_timeout: Union[
47
48
  None,
48
49
  Annotated[StrictFloat, Field(gt=0)],
@@ -65,6 +66,8 @@ class SavedQueriesApi:
65
66
  :type take: int
66
67
  :param skip:
67
68
  :type skip: int
69
+ :param product_ids:
70
+ :type product_ids: List[str]
68
71
  :param _request_timeout: timeout setting for this request. If one
69
72
  number provided, it will be total request
70
73
  timeout. It can also be a pair (tuple) of
@@ -91,6 +94,7 @@ class SavedQueriesApi:
91
94
  saved_query_id=saved_query_id,
92
95
  take=take,
93
96
  skip=skip,
97
+ product_ids=product_ids,
94
98
  _request_auth=_request_auth,
95
99
  _content_type=_content_type,
96
100
  _headers=_headers,
@@ -117,6 +121,7 @@ class SavedQueriesApi:
117
121
  saved_query_id: StrictStr,
118
122
  take: Optional[StrictInt] = None,
119
123
  skip: Optional[StrictInt] = None,
124
+ product_ids: Optional[List[StrictStr]] = None,
120
125
  _request_timeout: Union[
121
126
  None,
122
127
  Annotated[StrictFloat, Field(gt=0)],
@@ -139,6 +144,8 @@ class SavedQueriesApi:
139
144
  :type take: int
140
145
  :param skip:
141
146
  :type skip: int
147
+ :param product_ids:
148
+ :type product_ids: List[str]
142
149
  :param _request_timeout: timeout setting for this request. If one
143
150
  number provided, it will be total request
144
151
  timeout. It can also be a pair (tuple) of
@@ -165,6 +172,7 @@ class SavedQueriesApi:
165
172
  saved_query_id=saved_query_id,
166
173
  take=take,
167
174
  skip=skip,
175
+ product_ids=product_ids,
168
176
  _request_auth=_request_auth,
169
177
  _content_type=_content_type,
170
178
  _headers=_headers,
@@ -191,6 +199,7 @@ class SavedQueriesApi:
191
199
  saved_query_id: StrictStr,
192
200
  take: Optional[StrictInt] = None,
193
201
  skip: Optional[StrictInt] = None,
202
+ product_ids: Optional[List[StrictStr]] = None,
194
203
  _request_timeout: Union[
195
204
  None,
196
205
  Annotated[StrictFloat, Field(gt=0)],
@@ -213,6 +222,8 @@ class SavedQueriesApi:
213
222
  :type take: int
214
223
  :param skip:
215
224
  :type skip: int
225
+ :param product_ids:
226
+ :type product_ids: List[str]
216
227
  :param _request_timeout: timeout setting for this request. If one
217
228
  number provided, it will be total request
218
229
  timeout. It can also be a pair (tuple) of
@@ -239,6 +250,7 @@ class SavedQueriesApi:
239
250
  saved_query_id=saved_query_id,
240
251
  take=take,
241
252
  skip=skip,
253
+ product_ids=product_ids,
242
254
  _request_auth=_request_auth,
243
255
  _content_type=_content_type,
244
256
  _headers=_headers,
@@ -260,6 +272,7 @@ class SavedQueriesApi:
260
272
  saved_query_id,
261
273
  take,
262
274
  skip,
275
+ product_ids,
263
276
  _request_auth,
264
277
  _content_type,
265
278
  _headers,
@@ -269,6 +282,7 @@ class SavedQueriesApi:
269
282
  _host = None
270
283
 
271
284
  _collection_formats: Dict[str, str] = {
285
+ 'productIds': 'multi',
272
286
  }
273
287
 
274
288
  _path_params: Dict[str, str] = {}
@@ -292,6 +306,10 @@ class SavedQueriesApi:
292
306
 
293
307
  _query_params.append(('skip', skip))
294
308
 
309
+ if product_ids is not None:
310
+
311
+ _query_params.append(('productIds', product_ids))
312
+
295
313
  # process the header parameters
296
314
  # process the form parameters
297
315
  # process the body parameter
@@ -91,7 +91,7 @@ class ApiClient:
91
91
  self.default_headers[header_name] = header_value
92
92
  self.cookie = cookie
93
93
  # Set default User-Agent.
94
- self.user_agent = 'OpenAPI-Generator/1.1.4398/python'
94
+ self.user_agent = 'OpenAPI-Generator/1.1.4516/python'
95
95
  self.client_side_validation = configuration.client_side_validation
96
96
 
97
97
  def __enter__(self):
@@ -163,6 +163,8 @@ class Configuration:
163
163
  :param retries: Number of retries for API requests.
164
164
  :param ca_cert_data: verify the peer using concatenated CA certificate data
165
165
  in PEM (str) or DER (bytes) format.
166
+ :param cert_file: the path to a client certificate file, for mTLS.
167
+ :param key_file: the path to a client key file, for mTLS.
166
168
 
167
169
  :Example:
168
170
  """
@@ -185,6 +187,8 @@ class Configuration:
185
187
  ssl_ca_cert: Optional[str]=None,
186
188
  retries: Optional[int] = None,
187
189
  ca_cert_data: Optional[Union[str, bytes]] = None,
190
+ cert_file: Optional[str]=None,
191
+ key_file: Optional[str]=None,
188
192
  *,
189
193
  debug: Optional[bool] = None,
190
194
  ) -> None:
@@ -266,10 +270,10 @@ class Configuration:
266
270
  """Set this to verify the peer using PEM (str) or DER (bytes)
267
271
  certificate data.
268
272
  """
269
- self.cert_file = None
273
+ self.cert_file = cert_file
270
274
  """client certificate file
271
275
  """
272
- self.key_file = None
276
+ self.key_file = key_file
273
277
  """client key file
274
278
  """
275
279
  self.assert_hostname = None
@@ -511,7 +515,7 @@ class Configuration:
511
515
  "OS: {env}\n"\
512
516
  "Python Version: {pyversion}\n"\
513
517
  "Version of the API: 1.0\n"\
514
- "SDK Package Version: 1.1.4398".\
518
+ "SDK Package Version: 1.1.4516".\
515
519
  format(env=sys.platform, pyversion=sys.version)
516
520
 
517
521
  def get_host_settings(self) -> List[HostSetting]:
@@ -118,6 +118,7 @@ from legit_api_client.models.issue_ignoring_reason_dto import IssueIgnoringReaso
118
118
  from legit_api_client.models.issue_opening_reason_dto import IssueOpeningReasonDto
119
119
  from legit_api_client.models.issue_origin_dto import IssueOriginDto
120
120
  from legit_api_client.models.issue_origin_params import IssueOriginParams
121
+ from legit_api_client.models.issue_reachability import IssueReachability
121
122
  from legit_api_client.models.issue_sorting_column import IssueSortingColumn
122
123
  from legit_api_client.models.issue_status import IssueStatus
123
124
  from legit_api_client.models.issue_tag_dto import IssueTagDto
@@ -156,6 +157,7 @@ from legit_api_client.models.product_unit_asset_dto import ProductUnitAssetDto
156
157
  from legit_api_client.models.product_unit_dto import ProductUnitDto
157
158
  from legit_api_client.models.product_unit_dto_custom_fields_value import ProductUnitDtoCustomFieldsValue
158
159
  from legit_api_client.models.product_unit_environment import ProductUnitEnvironment
160
+ from legit_api_client.models.product_unit_issue_dto import ProductUnitIssueDto
159
161
  from legit_api_client.models.product_unit_name_dto import ProductUnitNameDto
160
162
  from legit_api_client.models.product_unit_type import ProductUnitType
161
163
  from legit_api_client.models.programming_language import ProgrammingLanguage
@@ -178,6 +180,7 @@ from legit_api_client.models.secret_issue_validity_status import SecretIssueVali
178
180
  from legit_api_client.models.secrets_data_dto import SecretsDataDto
179
181
  from legit_api_client.models.severity import Severity
180
182
  from legit_api_client.models.snoozed_type import SnoozedType
183
+ from legit_api_client.models.source_dto import SourceDto
181
184
  from legit_api_client.models.string_customer_facing_cursor_paged_dto import StringCustomerFacingCursorPagedDto
182
185
  from legit_api_client.models.tag_dto import TagDto
183
186
  from legit_api_client.models.tag_source import TagSource
@@ -17,9 +17,13 @@ import pprint
17
17
  import re # noqa: F401
18
18
  import json
19
19
 
20
+ from datetime import datetime
20
21
  from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
21
22
  from typing import Any, ClassVar, Dict, List, Optional, Union
23
+ from legit_api_client.models.closing_reason import ClosingReason
24
+ from legit_api_client.models.issue_status import IssueStatus
22
25
  from legit_api_client.models.issue_type import IssueType
26
+ from legit_api_client.models.origin_type import OriginType
23
27
  from legit_api_client.models.severity import Severity
24
28
  from typing import Optional, Set
25
29
  from typing_extensions import Self
@@ -32,7 +36,14 @@ class BasicIssue(BaseModel):
32
36
  severity: Optional[Severity] = Field(default=None, description="Severity level of the issue")
33
37
  id: Optional[StrictStr] = Field(default=None, description="Unique identifier for the issue")
34
38
  score: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Risk score of the issue (0-100)")
35
- __properties: ClassVar[List[str]] = ["issueType", "severity", "id", "score"]
39
+ status: Optional[IssueStatus] = Field(default=None, description="Current status of the issue")
40
+ detected_at: Optional[datetime] = Field(default=None, description="Timestamp when the issue was first detected by legit, in ISO 8601 format", alias="detectedAt")
41
+ last_closed_at: Optional[datetime] = Field(default=None, description="Timestamp when the issue was last closed (if applicable), in ISO 8601 format", alias="lastClosedAt")
42
+ closing_reason: Optional[ClosingReason] = Field(default=None, description="Reason why the issue was closed (if applicable)", alias="closingReason")
43
+ origin_type: Optional[OriginType] = Field(default=None, description="Type of asset where the issue was found", alias="originType")
44
+ origin_id: Optional[StrictStr] = Field(default=None, description="Identifier of the asset where the issue was found", alias="originId")
45
+ policy_name: Optional[StrictStr] = Field(default=None, description="Name of the policy that detected this issue", alias="policyName")
46
+ __properties: ClassVar[List[str]] = ["issueType", "severity", "id", "score", "status", "detectedAt", "lastClosedAt", "closingReason", "originType", "originId", "policyName"]
36
47
 
37
48
  model_config = ConfigDict(
38
49
  populate_by_name=True,
@@ -83,6 +94,31 @@ class BasicIssue(BaseModel):
83
94
  if self.score is None and "score" in self.model_fields_set:
84
95
  _dict['score'] = None
85
96
 
97
+ # set to None if detected_at (nullable) is None
98
+ # and model_fields_set contains the field
99
+ if self.detected_at is None and "detected_at" in self.model_fields_set:
100
+ _dict['detectedAt'] = None
101
+
102
+ # set to None if last_closed_at (nullable) is None
103
+ # and model_fields_set contains the field
104
+ if self.last_closed_at is None and "last_closed_at" in self.model_fields_set:
105
+ _dict['lastClosedAt'] = None
106
+
107
+ # set to None if closing_reason (nullable) is None
108
+ # and model_fields_set contains the field
109
+ if self.closing_reason is None and "closing_reason" in self.model_fields_set:
110
+ _dict['closingReason'] = None
111
+
112
+ # set to None if origin_id (nullable) is None
113
+ # and model_fields_set contains the field
114
+ if self.origin_id is None and "origin_id" in self.model_fields_set:
115
+ _dict['originId'] = None
116
+
117
+ # set to None if policy_name (nullable) is None
118
+ # and model_fields_set contains the field
119
+ if self.policy_name is None and "policy_name" in self.model_fields_set:
120
+ _dict['policyName'] = None
121
+
86
122
  return _dict
87
123
 
88
124
  @classmethod
@@ -98,7 +134,14 @@ class BasicIssue(BaseModel):
98
134
  "issueType": obj.get("issueType"),
99
135
  "severity": obj.get("severity"),
100
136
  "id": obj.get("id"),
101
- "score": obj.get("score")
137
+ "score": obj.get("score"),
138
+ "status": obj.get("status"),
139
+ "detectedAt": obj.get("detectedAt"),
140
+ "lastClosedAt": obj.get("lastClosedAt"),
141
+ "closingReason": obj.get("closingReason"),
142
+ "originType": obj.get("originType"),
143
+ "originId": obj.get("originId"),
144
+ "policyName": obj.get("policyName")
102
145
  })
103
146
  return _obj
104
147
 
@@ -30,7 +30,7 @@ class CustomFieldBoolTypeDto(CustomFieldDtoType):
30
30
  """ # noqa: E501
31
31
  bool_value: Optional[StrictBool] = Field(default=None, alias="boolValue")
32
32
  field_type: Optional[CustomFieldType] = Field(default=None, alias="fieldType")
33
- __properties: ClassVar[List[str]] = ["FieldType", "fieldType"]
33
+ __properties: ClassVar[List[str]] = ["FieldType", "fieldType", "boolValue"]
34
34
 
35
35
  model_config = ConfigDict(
36
36
  populate_by_name=True,
@@ -86,7 +86,8 @@ class CustomFieldBoolTypeDto(CustomFieldDtoType):
86
86
 
87
87
  _obj = cls.model_validate({
88
88
  "FieldType": obj.get("FieldType"),
89
- "fieldType": obj.get("fieldType")
89
+ "fieldType": obj.get("fieldType"),
90
+ "boolValue": obj.get("boolValue")
90
91
  })
91
92
  return _obj
92
93
 
@@ -31,7 +31,7 @@ class CustomFieldDateTypeDto(CustomFieldDtoType):
31
31
  """ # noqa: E501
32
32
  date_value: Optional[datetime] = Field(default=None, alias="dateValue")
33
33
  field_type: Optional[CustomFieldType] = Field(default=None, alias="fieldType")
34
- __properties: ClassVar[List[str]] = ["FieldType", "fieldType"]
34
+ __properties: ClassVar[List[str]] = ["FieldType", "fieldType", "dateValue"]
35
35
 
36
36
  model_config = ConfigDict(
37
37
  populate_by_name=True,
@@ -87,7 +87,8 @@ class CustomFieldDateTypeDto(CustomFieldDtoType):
87
87
 
88
88
  _obj = cls.model_validate({
89
89
  "FieldType": obj.get("FieldType"),
90
- "fieldType": obj.get("fieldType")
90
+ "fieldType": obj.get("fieldType"),
91
+ "dateValue": obj.get("dateValue")
91
92
  })
92
93
  return _obj
93
94
 
@@ -33,7 +33,7 @@ class CustomFieldFileTypeDto(CustomFieldDtoType):
33
33
  file_size_in_bytes: Optional[StrictInt] = Field(default=None, alias="fileSizeInBytes")
34
34
  uploaded_at: Optional[datetime] = Field(default=None, alias="uploadedAt")
35
35
  field_type: Optional[CustomFieldType] = Field(default=None, alias="fieldType")
36
- __properties: ClassVar[List[str]] = ["FieldType", "fieldType"]
36
+ __properties: ClassVar[List[str]] = ["FieldType", "fieldType", "fileName", "fileSizeInBytes", "uploadedAt"]
37
37
 
38
38
  model_config = ConfigDict(
39
39
  populate_by_name=True,
@@ -76,6 +76,11 @@ class CustomFieldFileTypeDto(CustomFieldDtoType):
76
76
  exclude=excluded_fields,
77
77
  exclude_none=True,
78
78
  )
79
+ # set to None if file_name (nullable) is None
80
+ # and model_fields_set contains the field
81
+ if self.file_name is None and "file_name" in self.model_fields_set:
82
+ _dict['fileName'] = None
83
+
79
84
  return _dict
80
85
 
81
86
  @classmethod
@@ -89,7 +94,10 @@ class CustomFieldFileTypeDto(CustomFieldDtoType):
89
94
 
90
95
  _obj = cls.model_validate({
91
96
  "FieldType": obj.get("FieldType"),
92
- "fieldType": obj.get("fieldType")
97
+ "fieldType": obj.get("fieldType"),
98
+ "fileName": obj.get("fileName"),
99
+ "fileSizeInBytes": obj.get("fileSizeInBytes"),
100
+ "uploadedAt": obj.get("uploadedAt")
93
101
  })
94
102
  return _obj
95
103
 
@@ -31,7 +31,7 @@ class CustomFieldIdentityTypeDto(CustomFieldDtoType):
31
31
  username: Optional[StrictStr] = None
32
32
  email: Optional[StrictStr] = None
33
33
  field_type: Optional[CustomFieldType] = Field(default=None, alias="fieldType")
34
- __properties: ClassVar[List[str]] = ["FieldType", "fieldType"]
34
+ __properties: ClassVar[List[str]] = ["FieldType", "fieldType", "username", "email"]
35
35
 
36
36
  model_config = ConfigDict(
37
37
  populate_by_name=True,
@@ -74,6 +74,16 @@ class CustomFieldIdentityTypeDto(CustomFieldDtoType):
74
74
  exclude=excluded_fields,
75
75
  exclude_none=True,
76
76
  )
77
+ # set to None if username (nullable) is None
78
+ # and model_fields_set contains the field
79
+ if self.username is None and "username" in self.model_fields_set:
80
+ _dict['username'] = None
81
+
82
+ # set to None if email (nullable) is None
83
+ # and model_fields_set contains the field
84
+ if self.email is None and "email" in self.model_fields_set:
85
+ _dict['email'] = None
86
+
77
87
  return _dict
78
88
 
79
89
  @classmethod
@@ -87,7 +97,9 @@ class CustomFieldIdentityTypeDto(CustomFieldDtoType):
87
97
 
88
98
  _obj = cls.model_validate({
89
99
  "FieldType": obj.get("FieldType"),
90
- "fieldType": obj.get("fieldType")
100
+ "fieldType": obj.get("fieldType"),
101
+ "username": obj.get("username"),
102
+ "email": obj.get("email")
91
103
  })
92
104
  return _obj
93
105
 
@@ -30,7 +30,7 @@ class CustomFieldNumberTypeDto(CustomFieldDtoType):
30
30
  """ # noqa: E501
31
31
  number_value: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="numberValue")
32
32
  field_type: Optional[CustomFieldType] = Field(default=None, alias="fieldType")
33
- __properties: ClassVar[List[str]] = ["FieldType", "fieldType"]
33
+ __properties: ClassVar[List[str]] = ["FieldType", "fieldType", "numberValue"]
34
34
 
35
35
  model_config = ConfigDict(
36
36
  populate_by_name=True,
@@ -86,7 +86,8 @@ class CustomFieldNumberTypeDto(CustomFieldDtoType):
86
86
 
87
87
  _obj = cls.model_validate({
88
88
  "FieldType": obj.get("FieldType"),
89
- "fieldType": obj.get("fieldType")
89
+ "fieldType": obj.get("fieldType"),
90
+ "numberValue": obj.get("numberValue")
90
91
  })
91
92
  return _obj
92
93
 
@@ -30,7 +30,7 @@ class CustomFieldTextTypeDto(CustomFieldDtoType):
30
30
  """ # noqa: E501
31
31
  text_value: Optional[StrictStr] = Field(default=None, alias="textValue")
32
32
  field_type: Optional[CustomFieldType] = Field(default=None, alias="fieldType")
33
- __properties: ClassVar[List[str]] = ["FieldType", "fieldType"]
33
+ __properties: ClassVar[List[str]] = ["FieldType", "fieldType", "textValue"]
34
34
 
35
35
  model_config = ConfigDict(
36
36
  populate_by_name=True,
@@ -73,6 +73,11 @@ class CustomFieldTextTypeDto(CustomFieldDtoType):
73
73
  exclude=excluded_fields,
74
74
  exclude_none=True,
75
75
  )
76
+ # set to None if text_value (nullable) is None
77
+ # and model_fields_set contains the field
78
+ if self.text_value is None and "text_value" in self.model_fields_set:
79
+ _dict['textValue'] = None
80
+
76
81
  return _dict
77
82
 
78
83
  @classmethod
@@ -86,7 +91,8 @@ class CustomFieldTextTypeDto(CustomFieldDtoType):
86
91
 
87
92
  _obj = cls.model_validate({
88
93
  "FieldType": obj.get("FieldType"),
89
- "fieldType": obj.get("fieldType")
94
+ "fieldType": obj.get("fieldType"),
95
+ "textValue": obj.get("textValue")
90
96
  })
91
97
  return _obj
92
98
 
@@ -27,9 +27,11 @@ from legit_api_client.models.issue_closing_location_dto import IssueClosingLocat
27
27
  from legit_api_client.models.issue_status import IssueStatus
28
28
  from legit_api_client.models.issue_type import IssueType
29
29
  from legit_api_client.models.origin_type import OriginType
30
+ from legit_api_client.models.product_unit_issue_dto import ProductUnitIssueDto
30
31
  from legit_api_client.models.secrets_data_dto import SecretsDataDto
31
32
  from legit_api_client.models.severity import Severity
32
33
  from legit_api_client.models.snoozed_type import SnoozedType
34
+ from legit_api_client.models.source_dto import SourceDto
33
35
  from typing import Optional, Set
34
36
  from typing_extensions import Self
35
37
 
@@ -61,7 +63,9 @@ class CustomerFacingIssueDto(BaseModel):
61
63
  action_id: Optional[StrictStr] = Field(default=None, description="Unique identifier for the action the issue belongs to", alias="actionId")
62
64
  policy_name: Optional[StrictStr] = Field(default=None, description="Name of the policy that detected this issue", alias="policyName")
63
65
  assigned_user_id: Optional[StrictStr] = Field(default=None, description="ID of the user assigned to handle this issue (if applicable)", alias="assignedUserId")
64
- __properties: ClassVar[List[str]] = ["id", "title", "detectedAt", "lastClosedAt", "lastActionTime", "status", "issueType", "severity", "policySeverity", "closingReason", "closingLocation", "statusChangedNote", "snoozedType", "snoozedUntil", "score", "secretsDataDto", "dependencyVulnerabilityDataDto", "dastDataDto", "originId", "originType", "originLink", "actionId", "policyName", "assignedUserId"]
66
+ sources: Optional[List[SourceDto]] = Field(default=None, description="The sources the issue originated from")
67
+ product_units: Optional[List[ProductUnitIssueDto]] = Field(default=None, alias="productUnits")
68
+ __properties: ClassVar[List[str]] = ["id", "title", "detectedAt", "lastClosedAt", "lastActionTime", "status", "issueType", "severity", "policySeverity", "closingReason", "closingLocation", "statusChangedNote", "snoozedType", "snoozedUntil", "score", "secretsDataDto", "dependencyVulnerabilityDataDto", "dastDataDto", "originId", "originType", "originLink", "actionId", "policyName", "assignedUserId", "sources", "productUnits"]
65
69
 
66
70
  model_config = ConfigDict(
67
71
  populate_by_name=True,
@@ -111,6 +115,20 @@ class CustomerFacingIssueDto(BaseModel):
111
115
  # override the default output from pydantic by calling `to_dict()` of dast_data_dto
112
116
  if self.dast_data_dto:
113
117
  _dict['dastDataDto'] = self.dast_data_dto.to_dict()
118
+ # override the default output from pydantic by calling `to_dict()` of each item in sources (list)
119
+ _items = []
120
+ if self.sources:
121
+ for _item_sources in self.sources:
122
+ if _item_sources:
123
+ _items.append(_item_sources.to_dict())
124
+ _dict['sources'] = _items
125
+ # override the default output from pydantic by calling `to_dict()` of each item in product_units (list)
126
+ _items = []
127
+ if self.product_units:
128
+ for _item_product_units in self.product_units:
129
+ if _item_product_units:
130
+ _items.append(_item_product_units.to_dict())
131
+ _dict['productUnits'] = _items
114
132
  # set to None if id (nullable) is None
115
133
  # and model_fields_set contains the field
116
134
  if self.id is None and "id" in self.model_fields_set:
@@ -201,6 +219,16 @@ class CustomerFacingIssueDto(BaseModel):
201
219
  if self.assigned_user_id is None and "assigned_user_id" in self.model_fields_set:
202
220
  _dict['assignedUserId'] = None
203
221
 
222
+ # set to None if sources (nullable) is None
223
+ # and model_fields_set contains the field
224
+ if self.sources is None and "sources" in self.model_fields_set:
225
+ _dict['sources'] = None
226
+
227
+ # set to None if product_units (nullable) is None
228
+ # and model_fields_set contains the field
229
+ if self.product_units is None and "product_units" in self.model_fields_set:
230
+ _dict['productUnits'] = None
231
+
204
232
  return _dict
205
233
 
206
234
  @classmethod
@@ -236,7 +264,9 @@ class CustomerFacingIssueDto(BaseModel):
236
264
  "originLink": obj.get("originLink"),
237
265
  "actionId": obj.get("actionId"),
238
266
  "policyName": obj.get("policyName"),
239
- "assignedUserId": obj.get("assignedUserId")
267
+ "assignedUserId": obj.get("assignedUserId"),
268
+ "sources": [SourceDto.from_dict(_item) for _item in obj["sources"]] if obj.get("sources") is not None else None,
269
+ "productUnits": [ProductUnitIssueDto.from_dict(_item) for _item in obj["productUnits"]] if obj.get("productUnits") is not None else None
240
270
  })
241
271
  return _obj
242
272
 
@@ -17,9 +17,10 @@ import pprint
17
17
  import re # noqa: F401
18
18
  import json
19
19
 
20
- from pydantic import BaseModel, ConfigDict, Field
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
21
  from typing import Any, ClassVar, Dict, List, Optional
22
22
  from legit_api_client.models.dependency_fix_type import DependencyFixType
23
+ from legit_api_client.models.issue_reachability import IssueReachability
23
24
  from typing import Optional, Set
24
25
  from typing_extensions import Self
25
26
 
@@ -28,7 +29,9 @@ class DependencyVulnerabilityDataDto(BaseModel):
28
29
  DependencyVulnerabilityDataDto
29
30
  """ # noqa: E501
30
31
  minimal_dependency_fix_type: Optional[DependencyFixType] = Field(default=None, description="The minimum fix type required to resolve the vulnerability", alias="minimalDependencyFixType")
31
- __properties: ClassVar[List[str]] = ["minimalDependencyFixType"]
32
+ vulnerability_id: Optional[StrictStr] = Field(default=None, description="The vulnerability id (for CVE's its the CVE-id)", alias="vulnerabilityId")
33
+ reachability: Optional[IssueReachability] = Field(default=None, description="Reachability status of the vulnerable dependency")
34
+ __properties: ClassVar[List[str]] = ["minimalDependencyFixType", "vulnerabilityId", "reachability"]
32
35
 
33
36
  model_config = ConfigDict(
34
37
  populate_by_name=True,
@@ -69,6 +72,11 @@ class DependencyVulnerabilityDataDto(BaseModel):
69
72
  exclude=excluded_fields,
70
73
  exclude_none=True,
71
74
  )
75
+ # set to None if vulnerability_id (nullable) is None
76
+ # and model_fields_set contains the field
77
+ if self.vulnerability_id is None and "vulnerability_id" in self.model_fields_set:
78
+ _dict['vulnerabilityId'] = None
79
+
72
80
  return _dict
73
81
 
74
82
  @classmethod
@@ -81,7 +89,9 @@ class DependencyVulnerabilityDataDto(BaseModel):
81
89
  return cls.model_validate(obj)
82
90
 
83
91
  _obj = cls.model_validate({
84
- "minimalDependencyFixType": obj.get("minimalDependencyFixType")
92
+ "minimalDependencyFixType": obj.get("minimalDependencyFixType"),
93
+ "vulnerabilityId": obj.get("vulnerabilityId"),
94
+ "reachability": obj.get("reachability")
85
95
  })
86
96
  return _obj
87
97
 
@@ -102,6 +102,8 @@ class IssueActionType(str, Enum):
102
102
  USERSNOOZEDISSUEUNTILFIXAVAILABLE = 'UserSnoozedIssueUntilFixAvailable'
103
103
  ISSUECREATEDFROMMANUALUPLOAD = 'IssueCreatedFromManualUpload'
104
104
  PULLREQUESTOPENED = 'PullRequestOpened'
105
+ TAGADDEDTOISSUEBYAUTOMATIONRULE = 'TagAddedToIssueByAutomationRule'
106
+ ISSUECOMMENTEDBYAUTOMATIONRULE = 'IssueCommentedByAutomationRule'
105
107
 
106
108
  @classmethod
107
109
  def from_json(cls, json_str: str) -> Self:
@@ -0,0 +1,39 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Inventory
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: 1.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import json
17
+ from enum import Enum
18
+ from typing_extensions import Self
19
+
20
+
21
+ class IssueReachability(str, Enum):
22
+ """
23
+ IssueReachability
24
+ """
25
+
26
+ """
27
+ allowed enum values
28
+ """
29
+ UNKNOWN = 'Unknown'
30
+ REACHABLE = 'Reachable'
31
+ UNREACHABLE = 'Unreachable'
32
+ POTENTIALLYREACHABLE = 'PotentiallyReachable'
33
+
34
+ @classmethod
35
+ def from_json(cls, json_str: str) -> Self:
36
+ """Create an instance of IssueReachability from a JSON string"""
37
+ return cls(json.loads(json_str))
38
+
39
+
@@ -45,6 +45,7 @@ class OriginType(str, Enum):
45
45
  CLOUDRESOURCE = 'CloudResource'
46
46
  UNKNOWN = 'Unknown'
47
47
  MESSAGINGAPPCHANNEL = 'MessagingAppChannel'
48
+ PACKAGEVERSION = 'PackageVersion'
48
49
 
49
50
  @classmethod
50
51
  def from_json(cls, json_str: str) -> Self:
@@ -0,0 +1,99 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Inventory
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: 1.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class ProductUnitIssueDto(BaseModel):
26
+ """
27
+ ProductUnitIssueDto
28
+ """ # noqa: E501
29
+ product_unit_id: Optional[StrictStr] = Field(default=None, description="The product unit the issues belong to", alias="productUnitId")
30
+ product_unit_name: Optional[StrictStr] = Field(default=None, description="The name of the product unit the issues belong to", alias="productUnitName")
31
+ __properties: ClassVar[List[str]] = ["productUnitId", "productUnitName"]
32
+
33
+ model_config = ConfigDict(
34
+ populate_by_name=True,
35
+ validate_assignment=True,
36
+ protected_namespaces=(),
37
+ )
38
+
39
+
40
+ def to_str(self) -> str:
41
+ """Returns the string representation of the model using alias"""
42
+ return pprint.pformat(self.model_dump(by_alias=True))
43
+
44
+ def to_json(self) -> str:
45
+ """Returns the JSON representation of the model using alias"""
46
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
47
+ return json.dumps(self.to_dict())
48
+
49
+ @classmethod
50
+ def from_json(cls, json_str: str) -> Optional[Self]:
51
+ """Create an instance of ProductUnitIssueDto from a JSON string"""
52
+ return cls.from_dict(json.loads(json_str))
53
+
54
+ def to_dict(self) -> Dict[str, Any]:
55
+ """Return the dictionary representation of the model using alias.
56
+
57
+ This has the following differences from calling pydantic's
58
+ `self.model_dump(by_alias=True)`:
59
+
60
+ * `None` is only added to the output dict for nullable fields that
61
+ were set at model initialization. Other fields with value `None`
62
+ are ignored.
63
+ """
64
+ excluded_fields: Set[str] = set([
65
+ ])
66
+
67
+ _dict = self.model_dump(
68
+ by_alias=True,
69
+ exclude=excluded_fields,
70
+ exclude_none=True,
71
+ )
72
+ # set to None if product_unit_id (nullable) is None
73
+ # and model_fields_set contains the field
74
+ if self.product_unit_id is None and "product_unit_id" in self.model_fields_set:
75
+ _dict['productUnitId'] = None
76
+
77
+ # set to None if product_unit_name (nullable) is None
78
+ # and model_fields_set contains the field
79
+ if self.product_unit_name is None and "product_unit_name" in self.model_fields_set:
80
+ _dict['productUnitName'] = None
81
+
82
+ return _dict
83
+
84
+ @classmethod
85
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
86
+ """Create an instance of ProductUnitIssueDto from a dict"""
87
+ if obj is None:
88
+ return None
89
+
90
+ if not isinstance(obj, dict):
91
+ return cls.model_validate(obj)
92
+
93
+ _obj = cls.model_validate({
94
+ "productUnitId": obj.get("productUnitId"),
95
+ "productUnitName": obj.get("productUnitName")
96
+ })
97
+ return _obj
98
+
99
+
@@ -132,6 +132,7 @@ class ScmType(str, Enum):
132
132
  FORTIFYSSC = 'FortifySsc'
133
133
  PRISMACLOUDSECURITY = 'PrismaCloudSecurity'
134
134
  GOOGLEARTIFACTREGISTRY = 'GoogleArtifactRegistry'
135
+ ASANA = 'Asana'
135
136
 
136
137
  @classmethod
137
138
  def from_json(cls, json_str: str) -> Self:
@@ -83,6 +83,7 @@ class SdlcAssetType(str, Enum):
83
83
  CHECKMARXSAST = 'CheckmarxSast'
84
84
  CHECKMARXSCA = 'CheckmarxSca'
85
85
  SERVICENOW = 'ServiceNow'
86
+ ASANA = 'Asana'
86
87
  BURPSUITE = 'Burpsuite'
87
88
  JIRASECRETSCANNING = 'JiraSecretScanning'
88
89
  COVERITY = 'Coverity'
@@ -0,0 +1,99 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Inventory
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: 1.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+ class SourceDto(BaseModel):
26
+ """
27
+ SourceDto
28
+ """ # noqa: E501
29
+ integration_id: Optional[StrictStr] = Field(default=None, description="Unique identifier for the integration that the issue originated from", alias="integrationId")
30
+ source_name: Optional[StrictStr] = Field(default=None, description="The name of the tool that the issue originated from", alias="sourceName")
31
+ __properties: ClassVar[List[str]] = ["integrationId", "sourceName"]
32
+
33
+ model_config = ConfigDict(
34
+ populate_by_name=True,
35
+ validate_assignment=True,
36
+ protected_namespaces=(),
37
+ )
38
+
39
+
40
+ def to_str(self) -> str:
41
+ """Returns the string representation of the model using alias"""
42
+ return pprint.pformat(self.model_dump(by_alias=True))
43
+
44
+ def to_json(self) -> str:
45
+ """Returns the JSON representation of the model using alias"""
46
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
47
+ return json.dumps(self.to_dict())
48
+
49
+ @classmethod
50
+ def from_json(cls, json_str: str) -> Optional[Self]:
51
+ """Create an instance of SourceDto from a JSON string"""
52
+ return cls.from_dict(json.loads(json_str))
53
+
54
+ def to_dict(self) -> Dict[str, Any]:
55
+ """Return the dictionary representation of the model using alias.
56
+
57
+ This has the following differences from calling pydantic's
58
+ `self.model_dump(by_alias=True)`:
59
+
60
+ * `None` is only added to the output dict for nullable fields that
61
+ were set at model initialization. Other fields with value `None`
62
+ are ignored.
63
+ """
64
+ excluded_fields: Set[str] = set([
65
+ ])
66
+
67
+ _dict = self.model_dump(
68
+ by_alias=True,
69
+ exclude=excluded_fields,
70
+ exclude_none=True,
71
+ )
72
+ # set to None if integration_id (nullable) is None
73
+ # and model_fields_set contains the field
74
+ if self.integration_id is None and "integration_id" in self.model_fields_set:
75
+ _dict['integrationId'] = None
76
+
77
+ # set to None if source_name (nullable) is None
78
+ # and model_fields_set contains the field
79
+ if self.source_name is None and "source_name" in self.model_fields_set:
80
+ _dict['sourceName'] = None
81
+
82
+ return _dict
83
+
84
+ @classmethod
85
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
86
+ """Create an instance of SourceDto from a dict"""
87
+ if obj is None:
88
+ return None
89
+
90
+ if not isinstance(obj, dict):
91
+ return cls.model_validate(obj)
92
+
93
+ _obj = cls.model_validate({
94
+ "integrationId": obj.get("integrationId"),
95
+ "sourceName": obj.get("sourceName")
96
+ })
97
+ return _obj
98
+
99
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: legit_api_client
3
- Version: 1.1.4398
3
+ Version: 1.1.4516
4
4
  Summary: Inventory
5
5
  Home-page:
6
6
  Author: OpenAPI Generator community
@@ -22,8 +22,8 @@ No description provided (generated by Openapi Generator https://github.com/opena
22
22
  This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
23
23
 
24
24
  - API version: 1.0
25
- - Package version: 1.1.4398
26
- - Generator version: 7.16.0
25
+ - Package version: 1.1.4516
26
+ - Generator version: 7.17.0
27
27
  - Build package: org.openapitools.codegen.languages.PythonClientCodegen
28
28
 
29
29
  ## Requirements.
@@ -322,6 +322,7 @@ Class | Method | HTTP request | Description
322
322
  - [IssueOpeningReasonDto](docs/IssueOpeningReasonDto.md)
323
323
  - [IssueOriginDto](docs/IssueOriginDto.md)
324
324
  - [IssueOriginParams](docs/IssueOriginParams.md)
325
+ - [IssueReachability](docs/IssueReachability.md)
325
326
  - [IssueSortingColumn](docs/IssueSortingColumn.md)
326
327
  - [IssueStatus](docs/IssueStatus.md)
327
328
  - [IssueTagDto](docs/IssueTagDto.md)
@@ -360,6 +361,7 @@ Class | Method | HTTP request | Description
360
361
  - [ProductUnitDto](docs/ProductUnitDto.md)
361
362
  - [ProductUnitDtoCustomFieldsValue](docs/ProductUnitDtoCustomFieldsValue.md)
362
363
  - [ProductUnitEnvironment](docs/ProductUnitEnvironment.md)
364
+ - [ProductUnitIssueDto](docs/ProductUnitIssueDto.md)
363
365
  - [ProductUnitNameDto](docs/ProductUnitNameDto.md)
364
366
  - [ProductUnitType](docs/ProductUnitType.md)
365
367
  - [ProgrammingLanguage](docs/ProgrammingLanguage.md)
@@ -382,6 +384,7 @@ Class | Method | HTTP request | Description
382
384
  - [SecretsDataDto](docs/SecretsDataDto.md)
383
385
  - [Severity](docs/Severity.md)
384
386
  - [SnoozedType](docs/SnoozedType.md)
387
+ - [SourceDto](docs/SourceDto.md)
385
388
  - [StringCustomerFacingCursorPagedDto](docs/StringCustomerFacingCursorPagedDto.md)
386
389
  - [TagDto](docs/TagDto.md)
387
390
  - [TagSource](docs/TagSource.md)
@@ -1,7 +1,7 @@
1
- legit_api_client/__init__.py,sha256=zW2sJ-nfHDb0108ljNdz2m7NNXRQJWBldpYAftU8Kmc,28383
2
- legit_api_client/api_client.py,sha256=jR2yzEokQhjYO5pCIF4mJD7EQnS-odCAnxr_TdMMKO4,27805
1
+ legit_api_client/__init__.py,sha256=c9GsbcikQgtWbT1aLAFVSedBV856H8h3gB3uWIEMQXQ,28718
2
+ legit_api_client/api_client.py,sha256=NRm6kBfoL1L0ojTeH4dnnlNCZUgWzb00Xhl9zExXdEc,27805
3
3
  legit_api_client/api_response.py,sha256=eMxw1mpmJcoGZ3gs9z6jM4oYoZ10Gjk333s9sKxGv7s,652
4
- legit_api_client/configuration.py,sha256=foFzy6OylPdVAGA__DV0UJX1o5OY-gHgnqnXaE1VXlk,18267
4
+ legit_api_client/configuration.py,sha256=cqVThDHukx3tZKRQzO8hjmNR48fp62JGVOKyxqUlHt0,18487
5
5
  legit_api_client/exceptions.py,sha256=ZxE8OUrStEfTktxeRN53ssT8GDIHHW3DyK0blVuIrkE,6471
6
6
  legit_api_client/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  legit_api_client/rest.py,sha256=6msKxIt5Oczs_qT7cXDA8B7yiawgOz7DUSQUh64E6q0,9470
@@ -22,11 +22,11 @@ legit_api_client/api/policies_api.py,sha256=2oJ4T8IUpKD8YXxiPg1FqIaJ699nBc9Xvqav
22
22
  legit_api_client/api/product_units_api.py,sha256=FYY4ZS_SysiJ_fHqoPNQV9OEyKjcoWeMHcQ2SiwDbFE,106296
23
23
  legit_api_client/api/repositories_api.py,sha256=txLundrKkEVhb54o3E6LfGJswZXHquMHHd6kPMViqB4,109468
24
24
  legit_api_client/api/repository_groups_api.py,sha256=3rb8CALc8uHTsC9umG--kC2UazGNMADmFBQ4MAuqA9o,23725
25
- legit_api_client/api/saved_queries_api.py,sha256=7cPQhuoBnb1yl_sMY76-UnpY_1TR6GBiwWFDC8yZDCM,12061
25
+ legit_api_client/api/saved_queries_api.py,sha256=fSrPQjxbno6q8nDInlugohVoBE9BedRGTa3DwjZXXCQ,12718
26
26
  legit_api_client/api/sdlc_assets_api.py,sha256=AkWc7Vr3HhLiEw21SYnIEoBWpUiBaQYM6snqshNoUhE,39773
27
27
  legit_api_client/api/tags_api.py,sha256=Rs5-RyIDxQKrDgAFl-RazKhbgbv_q0Q-3wBYeXhSUjE,32570
28
28
  legit_api_client/api/workspaces_api.py,sha256=Eb_BTJkE-zt5fnGEY6wnHH6OHp_nboh9TEsOGyxI-eg,85370
29
- legit_api_client/models/__init__.py,sha256=pwa_33vcF9jnN87Y8I8DCyjmL3FKkJxt_TvNa3ttiGc,15388
29
+ legit_api_client/models/__init__.py,sha256=YBhoSB6BTmX-R7nHI5TaPgJznmq5YwBFlU6En9uBYR8,15597
30
30
  legit_api_client/models/add_issue_comment_dto.py,sha256=yXcBOfZzi0UcojpCcFqpO_umOpZZp53qCX3GY4x2DaQ,2575
31
31
  legit_api_client/models/ai_secret_validation_result.py,sha256=Qniyaz_12c-6iexAtQFVaHfJ_MFCImjckv4e_xxFToc,877
32
32
  legit_api_client/models/amazon_ecr_key_integration_create_dto.py,sha256=Inj8_WcHKM26G26o730PYiuPsD2wMP0RLOnjnf-Pw2E,4616
@@ -40,7 +40,7 @@ legit_api_client/models/automatic_check_dto.py,sha256=4yywratPbVvfh1yZy5Es1-q1g2
40
40
  legit_api_client/models/aws_region.py,sha256=j6CwnlX6HjD7kDRUJS6iX39jFxGqyndvbCgnuN4G2YU,1478
41
41
  legit_api_client/models/azure_container_registry_integration_create_dto.py,sha256=Hx1x0HAHKrlOr-nK52fbAW8I1eOJqarFFGBHl_Vwp9k,5553
42
42
  legit_api_client/models/azure_container_registry_integration_edit_dto.py,sha256=UInTWJBLbieR8cfgz8JXxU0O3X-LE7nLdf2P_qGie7E,5545
43
- legit_api_client/models/basic_issue.py,sha256=pzPdGkLKdWx5v8TS9EA8oACUoKkCsQ32Iv8I7MSYKQ8,3577
43
+ legit_api_client/models/basic_issue.py,sha256=eYDBeykf3vYiUMVlkyuHPoijxvOfF90Q4bWcpHKqfm4,6380
44
44
  legit_api_client/models/broker_connection_status.py,sha256=rJiX_8P9AkETriqh0XbR8quD_mQKbsGkhQmpTFiHl6Q,821
45
45
  legit_api_client/models/broker_dto.py,sha256=UCtLGh9XCwHTbEs2v9NWpUCOu0T2C_m1196gkpYdIN4,4324
46
46
  legit_api_client/models/broker_status.py,sha256=Gw6BzvIlHs4Wv2lxt7I3ikgKrfQSx3EeE5QinUItEfc,791
@@ -76,21 +76,21 @@ legit_api_client/models/create_product_unit_dto.py,sha256=RAkt_AB8eaXQ0b0a6EeV3g
76
76
  legit_api_client/models/create_tag_dto.py,sha256=a0yhZ3BrB0Lzbz3-Y31utACjBJfquRiTSUeM-I07i1Q,2884
77
77
  legit_api_client/models/create_workspace_dto.py,sha256=LC2eGOrjoZ5klhpmJLONgMBb6-eaOeHQSh2F1bipU3o,4086
78
78
  legit_api_client/models/create_workspace_group_dto.py,sha256=v8qjpVpnGmRjG8FCTj9G54GYPReTFlFqw3m5RF1IAqY,4323
79
- legit_api_client/models/custom_field_bool_type_dto.py,sha256=J3FcYHegNck8xMM0N1iT4OcoWDqvssp2FCQ8Mqp3zZ4,2959
80
- legit_api_client/models/custom_field_date_type_dto.py,sha256=WjUzEPeUR07bYE_qnS7L9Rhc2zqPUNMaqPMz9ja0Ptg,2975
79
+ legit_api_client/models/custom_field_bool_type_dto.py,sha256=65tHejnbxQt4mymHAyhnp93pi9JWD6uZtzPjuPW_A_0,3019
80
+ legit_api_client/models/custom_field_date_type_dto.py,sha256=x_zPjAYx1dc4BHS2LLniKNiqO3CZFz_op2INH9QiinQ,3035
81
81
  legit_api_client/models/custom_field_dto.py,sha256=8BMM4VZhgBFgBU-Ylc1manKzzg0Pj-TW7L7xJkMtT24,3311
82
82
  legit_api_client/models/custom_field_dto_type.py,sha256=xIYkBLlJeXNcRSWTq_JLUbhxPb78tqyc-nabeSof7W4,5926
83
83
  legit_api_client/models/custom_field_entity.py,sha256=mhdW92A5l_pAyj--s-HR0KCaxCb2xeVpLqdjStJpomc,806
84
- legit_api_client/models/custom_field_file_type_dto.py,sha256=Ge_WYIwPVg2H75d2KDJwlIYZMP_zGmMKghLD2GqOjXI,3165
85
- legit_api_client/models/custom_field_identity_type_dto.py,sha256=8kgMtEGS3TW1kreNI58YYMPYUWoaWs7i26t_7j72MMA,2975
86
- legit_api_client/models/custom_field_number_type_dto.py,sha256=7dKEczM1-PvdEmVAdffomXE-GTDr-sq8NNdnWJEMZkE,3009
87
- legit_api_client/models/custom_field_text_type_dto.py,sha256=GjdCvtLUoqOQqCvZ5fFTxTN6TJwHqwdFIR9392_qi_k,2957
84
+ legit_api_client/models/custom_field_file_type_dto.py,sha256=NaphLnT9fZxwr0uRIDvXZdOJM6y9zq5Wznn9NzJ_JEg,3581
85
+ legit_api_client/models/custom_field_identity_type_dto.py,sha256=bis1mZU_WwH_W_KJsnMjRv_RvFdYWkSMAH_MKAlJ2mc,3498
86
+ legit_api_client/models/custom_field_number_type_dto.py,sha256=2JDWRRFriwbktNJHgHBrzMja8aatsDlzGlWAF57XiP4,3075
87
+ legit_api_client/models/custom_field_text_type_dto.py,sha256=l9odvqYJDwoovv56E5-Jwzx4SCj1tFHZEBkTIKCrL1k,3239
88
88
  legit_api_client/models/custom_field_type.py,sha256=hbcaeGb4dt_c5cO1ECeo2PpC98sgQ8dYdE_WYGLbT04,960
89
89
  legit_api_client/models/customer_facing_dependency_dto.py,sha256=01o67I5vIc3NysTZTsJci1yZrkxXukRFGoZddi0IELg,5136
90
90
  legit_api_client/models/customer_facing_dependency_dto_customer_facing_cursor_paged_dto.py,sha256=QpQdpwYbyecJ6Asm1ucgXkZ1D73KpsmUuE4lBZeW7RU,3931
91
91
  legit_api_client/models/customer_facing_dependency_license.py,sha256=YSCTQja0U4xcEFUzSMgyftyjN8ptUmyqXdYxVVHaY18,2925
92
92
  legit_api_client/models/customer_facing_issue_action_dto.py,sha256=OOxwHnVPcNVts8PN09__rvGOBAg4PrTJsr0Iv88iQ9o,3528
93
- legit_api_client/models/customer_facing_issue_dto.py,sha256=xNdCOLwEMtxGUUuRfQIXYgux0IJIA9N4zB-DjLqvKko,13473
93
+ legit_api_client/models/customer_facing_issue_dto.py,sha256=KJHaz8QGgKNFynTM3AMPuBf-uVCnc8chFusC4H8vomg,15268
94
94
  legit_api_client/models/customer_facing_issue_to_action_history_dto.py,sha256=D2iXGCUNSIix_Xgd_Ij7D7d9K_1cwyVYMMtP22cYqQ0,3888
95
95
  legit_api_client/models/customer_facing_issue_to_additional_data_dto.py,sha256=KkVdverEeT1mY6Heb3tqSAJq8bI0bXCUVtaRd34Bw-8,3517
96
96
  legit_api_client/models/customer_facing_issue_to_comments_dto.py,sha256=DzB6uoOz-UJtGW6s2Wv-daSxw0i0xTo-oZ38zbkMaE4,3790
@@ -106,7 +106,7 @@ legit_api_client/models/dast_data_dto.py,sha256=5-KaTVW66D7FoPVf5BAXxurBbIj0Aocm
106
106
  legit_api_client/models/dependency_category.py,sha256=afz1E1psRPdfMgJgx2UX0LJdlkr9q6eKyskg5SimeZw,861
107
107
  legit_api_client/models/dependency_declaration.py,sha256=YltbxWVTqNztVxcYhQejLJJP79Me_nfYYBTLbEbf46g,856
108
108
  legit_api_client/models/dependency_fix_type.py,sha256=ze02O_uFlqC4qxk-Mj1JIv6BlZjP_xk4D2RsZ-Z_0OY,916
109
- legit_api_client/models/dependency_vulnerability_data_dto.py,sha256=pcR07xuBkPI0O4_nQOklEwrRnT_RSu6ay_bkmSDOJts,2847
109
+ legit_api_client/models/dependency_vulnerability_data_dto.py,sha256=bW-ySlCy7pZAuW9VjFBnmQOHqPy4ONgWPj4W_ahhDSg,3608
110
110
  legit_api_client/models/detailed_sdlc_asset_information_dto.py,sha256=Vj-YH0LRkNkY4oH2jyZDb4hs1Z5U5-Orut1v8Tsg_Eg,5020
111
111
  legit_api_client/models/discovered_sdlc_asset_dto.py,sha256=U0ikxqTqnnQF9bUHI5C8Mmz5PYznCbDqLMrZIqjNfhQ,3993
112
112
  legit_api_client/models/discovery_connection_evidence_type.py,sha256=sdziV4T4NZsvsI6Swd1AuYgBGkGd2cSjNGvb3Uuzjy0,1162
@@ -122,7 +122,7 @@ legit_api_client/models/integration_failing_reason.py,sha256=YxHWNb7z-orCpn6oeYe
122
122
  legit_api_client/models/integration_management_dto.py,sha256=YXwWxRmVEGwN-q1mQz1romha5qwW4ZEunYlei6iVyBQ,7150
123
123
  legit_api_client/models/integration_status.py,sha256=o4-vVppNyc_uBS6zlP1naQTccpk6EX7Ug2MF278EikQ,832
124
124
  legit_api_client/models/integration_type.py,sha256=IzPg9R287l8-0kJukduplEVoNov1iz5t3orx13JNhBg,942
125
- legit_api_client/models/issue_action_type.py,sha256=mnqdE33pNJ__Ij7gceqz8ObBsyLRc47Clqm_Riip1fA,5086
125
+ legit_api_client/models/issue_action_type.py,sha256=mRoK9C6jXiLTBxajALUIHwbUvl2PsSzTnzw0XSWNKuk,5228
126
126
  legit_api_client/models/issue_assignment.py,sha256=-b6CRAvet15pPV8GK_fpsFL6o6cddjz0RPy6jysnPyg,810
127
127
  legit_api_client/models/issue_closing_location_dto.py,sha256=ZIZHKYnk86e8TfiRIMo7cTPXUBHZA0UK9dR3yTrNNDQ,806
128
128
  legit_api_client/models/issue_comment_dto.py,sha256=Fo-HqIR6J9l5VIqwSR8ojhERTfco2KOM0tLwefr4tfs,3839
@@ -132,6 +132,7 @@ legit_api_client/models/issue_ignoring_reason_dto.py,sha256=s0C6zGy6uU-f8fUMeO0V
132
132
  legit_api_client/models/issue_opening_reason_dto.py,sha256=f2RThQQ4bToKe7mMBSMvsnlnomFSItu8wvnB7_tn4UU,1056
133
133
  legit_api_client/models/issue_origin_dto.py,sha256=Y4Uxu4jK35wG5Pn1clBk-KRLHC7Vva5t6YdknUNOr6s,3494
134
134
  legit_api_client/models/issue_origin_params.py,sha256=9ItvBqOMLMbLwmQ-ARXxQr2Klp3VcW6A0cuqLrTQrSU,3000
135
+ legit_api_client/models/issue_reachability.py,sha256=Ba7rvqBR6dp4HKHvFy7nJiAQLEtB1wfOMGaZzkwEYis,854
135
136
  legit_api_client/models/issue_sorting_column.py,sha256=NCLk_XV2m9W7EAUp8auhz6sY65bZis1TKzKewO9Fp34,795
136
137
  legit_api_client/models/issue_status.py,sha256=bJxMIKsY8End9jasIeFtlFc7phQD4vucrLgj_4Angu0,812
137
138
  legit_api_client/models/issue_tag_dto.py,sha256=Ttt1DvIqGSV86bsozcT68GJ7b_4rYmYiw96k8mD82kE,3242
@@ -148,7 +149,7 @@ legit_api_client/models/legit_score_requirement_group_type.py,sha256=Lny3a8XYF27
148
149
  legit_api_client/models/legit_score_requirement_type.py,sha256=waaqlFv6-7DCLJ4R7-W18M2lM_qp5vyBG3nISty6HSg,2384
149
150
  legit_api_client/models/list_sort_direction.py,sha256=36agl-rizKtrDMjHf47wzSMiyVeVsWHyjwhpKR90280,778
150
151
  legit_api_client/models/manual_check_dto.py,sha256=5zsSJ2lPOAYIcnLvHJPV4HtcQKI-sRC1j0vdLvN4CyM,2963
151
- legit_api_client/models/origin_type.py,sha256=pSznucx6Zcve-_JIbLn44dR-B7FTHmT9ESEjE6IlFEA,1333
152
+ legit_api_client/models/origin_type.py,sha256=LliudkvdHkuJyUwg4qpeDCkrM-QwfahL0ekAc6cF1PE,1371
152
153
  legit_api_client/models/package_source.py,sha256=IOhl-jV3PgQXrDv2vMDcjutyjEVJMVi7CTyZ9G7n3_w,758
153
154
  legit_api_client/models/package_type.py,sha256=9fg2RmWbgWhLCvforzmnU2e-9G7BOLpn6kJxh-Oddl0,1170
154
155
  legit_api_client/models/patch_legit_issue_assignee_dto.py,sha256=YG4EX0HBgcHkefSep_yl3t8EstWvWwXlmxxJJ3L1A84,2663
@@ -170,6 +171,7 @@ legit_api_client/models/product_unit_asset_dto.py,sha256=n7yjcpUwH7fG-0dHA6hfpeH
170
171
  legit_api_client/models/product_unit_dto.py,sha256=8iIN_f9LcF69L7Ohc7UPO-qRZ-fdng2Fun96obqRBmY,9445
171
172
  legit_api_client/models/product_unit_dto_custom_fields_value.py,sha256=7MKAs92N6tnbHZPTImI5ocCAp8wUUZS0f9l55-EKwGo,9616
172
173
  legit_api_client/models/product_unit_environment.py,sha256=-2xDgDlbWP7bNM7WTruHalsy7R9R4uFzmeEgXsR8DPs,821
174
+ legit_api_client/models/product_unit_issue_dto.py,sha256=n-XK0pumAvUERRXJV0_xoLc3grD5VZXz1gyl66YKbDk,3378
173
175
  legit_api_client/models/product_unit_name_dto.py,sha256=VjVxN-BlyG_ki-PB05sz7q9MZLdHtj6Ma_a7epRTscs,2979
174
176
  legit_api_client/models/product_unit_type.py,sha256=pypSeYTKM9TkuFmkLm-aHCaKTDWH5WZ26JnKdSVvKQk,914
175
177
  legit_api_client/models/programming_language.py,sha256=DM_lfSwVgsCEOly6yn3wcE7ETPJ4h-JZkBQQS32Tch0,1350
@@ -179,7 +181,7 @@ legit_api_client/models/repository_directory.py,sha256=NF2zHDfvf8MeH0PCjMsLMiUm3
179
181
  legit_api_client/models/repository_dto.py,sha256=Wdjt0WUerFf7p_XnyBPqiVnJ7U8KGdz5zZ7IF8hvddk,8367
180
182
  legit_api_client/models/repository_group_dto.py,sha256=XIe4BIAYHWyrKyM1bJ7ghQHkAHSLthc1YYydchfRKl8,3381
181
183
  legit_api_client/models/repository_visibility.py,sha256=2xUvIxsmwWKee8OINo5PNYAZif_i43Yu3SWBXdCq2qg,801
182
- legit_api_client/models/scm_type.py,sha256=-cVclYcVN_k79BnEx2Ezcc9B6YrD1_vUjsj9CmK88Ic,4198
184
+ legit_api_client/models/scm_type.py,sha256=Cco6cVPupME47BIS-mLa39Y52MEVqfwckwrCy0q9zSg,4218
183
185
  legit_api_client/models/sdlc_asset_dto.py,sha256=uNbgb783VmQrMkotIYI8JtUKMeoZtyfyDsrqk0KinIU,5377
184
186
  legit_api_client/models/sdlc_asset_graph_asset_dto.py,sha256=ufGlqWG69_QGicpWGIeVIWDyWm7JPBJOvp-QhrTQs58,4221
185
187
  legit_api_client/models/sdlc_asset_graph_dto.py,sha256=eURM_sRA3TDZjVd6Vp_UjHumtgwVAOQ4kxkMfVAG4KI,4034
@@ -187,11 +189,12 @@ legit_api_client/models/sdlc_asset_graph_evidence_dto.py,sha256=1Hr4eW-Ho3oFQnlO
187
189
  legit_api_client/models/sdlc_asset_graph_link_dto.py,sha256=rmFoLCNsfhPF2JDhVRrogBGHA_wpuDzDhYcNDGf226E,4229
188
190
  legit_api_client/models/sdlc_asset_graph_link_dto_evidences.py,sha256=v9VbaZaqCC4ybrVrU96uR7DKvby2k65blR8EeboWwoM,4292
189
191
  legit_api_client/models/sdlc_asset_meta_type.py,sha256=bpFEpe-3XJD_l0Q-QDbzRpP35uW1qshycaywMbrPCqw,1200
190
- legit_api_client/models/sdlc_asset_type.py,sha256=ttTIN6mqFF1ZK3OnUT3xOpN8qo6fwYyveRcu2Lzj7f8,4610
192
+ legit_api_client/models/sdlc_asset_type.py,sha256=fKyd0yu4CCqO9l1WWxa8wpmTImCXXZpNVfqjHDt1mOE,4630
191
193
  legit_api_client/models/secret_issue_validity_status.py,sha256=bQep4aVRfc-nqrYunzUkCSTFnL_vjojvt8dKV7tQYmo,1008
192
194
  legit_api_client/models/secrets_data_dto.py,sha256=29IdvW2UFcFgNjuxyniVtzqpUKzmPo1IwOZjYvebEhs,4393
193
195
  legit_api_client/models/severity.py,sha256=9EWzcMpoR05-DNp19iEfCxFxHJJqlYjRksVzzzoq47g,775
194
196
  legit_api_client/models/snoozed_type.py,sha256=CkGMSlP_bGbMiqhO9ir5mqwBr1ziZVVOknr8NCkwKCc,778
197
+ legit_api_client/models/source_dto.py,sha256=l3Hb17WQlEbD2kP--Oj9Q8I71d39Qni3Yx0G1iFsRns,3318
195
198
  legit_api_client/models/string_customer_facing_cursor_paged_dto.py,sha256=nlGAvneeSG_whjexuC38HNgI2kcVZDyFIQDG_pj7iMk,3321
196
199
  legit_api_client/models/tag_dto.py,sha256=kO8NnKidM70CYpXo-RfXfB897_M-zQy1asYGF_7nYgk,3228
197
200
  legit_api_client/models/tag_source.py,sha256=F0dCMjnGf6L5hjA3eDrh205HAnekN1MDmRaHMna7dF0,892
@@ -206,7 +209,7 @@ legit_api_client/models/workspace_group_tree_node_dto.py,sha256=zV5vmSc0bjqkH7hS
206
209
  legit_api_client/models/workspace_hierarchy_dto.py,sha256=qU9eTOHNh3d-XeOM6CbrkTLEwSX0cdjJkbVb03GHS_Y,4522
207
210
  legit_api_client/models/workspace_tree_node_dto.py,sha256=TlM1PPVbuGDQKlgl3Ht_EEj8lJLMqTdVE3_k8QFJldE,3527
208
211
  legit_api_client/models/workspace_type.py,sha256=d-Dy1JkWLAZgZgTHMTaF01QT2Cv1Eexg6HqcKqPEOjs,756
209
- legit_api_client-1.1.4398.dist-info/METADATA,sha256=Yvh0lb9XAzK1eihKHdheJw8TAWp3BrGcMtLC_kjYG2s,32670
210
- legit_api_client-1.1.4398.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
211
- legit_api_client-1.1.4398.dist-info/top_level.txt,sha256=3k94tIhdKXTBXkGPCBDQSOnARVo5IwVYlyIfQ18xaDM,17
212
- legit_api_client-1.1.4398.dist-info/RECORD,,
212
+ legit_api_client-1.1.4516.dist-info/METADATA,sha256=qiHVpLBSDS6MA0o9jcC6NnvQfC7JJY_g4F_QsurKgq0,32808
213
+ legit_api_client-1.1.4516.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
214
+ legit_api_client-1.1.4516.dist-info/top_level.txt,sha256=3k94tIhdKXTBXkGPCBDQSOnARVo5IwVYlyIfQ18xaDM,17
215
+ legit_api_client-1.1.4516.dist-info/RECORD,,