ethyca-fides 2.57.1b0__py2.py3-none-any.whl → 2.57.1b2__py2.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.
- {ethyca_fides-2.57.1b0.dist-info → ethyca_fides-2.57.1b2.dist-info}/METADATA +1 -1
- {ethyca_fides-2.57.1b0.dist-info → ethyca_fides-2.57.1b2.dist-info}/RECORD +120 -119
- fides/_version.py +3 -3
- fides/api/alembic/migrations/versions/7c3fbee90c78_add_user_assigned_data_uses_and_system_.py +54 -0
- fides/api/api/v1/endpoints/generic_overrides.py +5 -0
- fides/api/models/detection_discovery.py +12 -0
- fides/api/models/location_regulation_selections.py +1 -0
- fides/api/models/sql_models.py +28 -5
- fides/api/schemas/saas/strategy_configuration.py +1 -0
- fides/api/service/pagination/pagination_strategy_cursor.py +15 -1
- fides/api/service/pagination/pagination_strategy_link.py +1 -1
- fides/data/language/languages.yml +2 -0
- fides/data/location/locations.yml +244 -1
- fides/ui-build/static/admin/404.html +1 -1
- fides/ui-build/static/admin/_next/static/{7v-H0NGW-LcEPEo86bsrZ → GEhqjcjbK3ZJvllGHPFpc}/_buildManifest.js +1 -1
- fides/ui-build/static/admin/_next/static/chunks/3215-c8c683b93919e0a5.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/4481-0500c40ed13000c0.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/5973-3226fe183b48668b.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/7044-dc0de38581720a6f.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{9767-4c591bd478c72650.js → 9767-9af77524ed1648c1.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{_app-c580f4c12ff5a438.js → _app-ef2643f4e3bede71.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{manual-d7f60624cbc12217.js → manual-05ab19822a7e9f80.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/{[systemId]-00526324583139ab.js → [systemId]-b9fe0f7ef05fd12c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-a8e08ecb0c6c3a7c.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/{[id]-c685d19a131d6960.js → [id]-bbe5854b7d19b7e9.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/{[id]-82d9af34546adaa2.js → [id]-ca753b60ca1745c5.js} +1 -1
- fides/ui-build/static/admin/_next/static/css/{b8dbda131f8d4c05.css → 957d0e4fea846ff0.css} +1 -1
- fides/ui-build/static/admin/add-systems/manual.html +1 -1
- fides/ui-build/static/admin/add-systems/multiple.html +1 -1
- fides/ui-build/static/admin/add-systems.html +1 -1
- fides/ui-build/static/admin/ant-poc.html +1 -1
- fides/ui-build/static/admin/consent/configure/add-vendors.html +1 -1
- fides/ui-build/static/admin/consent/configure.html +1 -1
- fides/ui-build/static/admin/consent/privacy-experience/[id].html +1 -1
- fides/ui-build/static/admin/consent/privacy-experience/new.html +1 -1
- fides/ui-build/static/admin/consent/privacy-experience.html +1 -1
- fides/ui-build/static/admin/consent/privacy-notices/[id].html +1 -1
- fides/ui-build/static/admin/consent/privacy-notices/new.html +1 -1
- fides/ui-build/static/admin/consent/privacy-notices.html +1 -1
- fides/ui-build/static/admin/consent/properties.html +1 -1
- fides/ui-build/static/admin/consent/reporting.html +1 -1
- fides/ui-build/static/admin/consent.html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/projects.html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/resources.html +1 -1
- fides/ui-build/static/admin/data-catalog.html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center/[monitorId].html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center.html +1 -1
- fides/ui-build/static/admin/data-discovery/activity.html +1 -1
- fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-discovery/detection.html +1 -1
- fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-discovery/discovery.html +1 -1
- fides/ui-build/static/admin/datamap.html +1 -1
- fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html +1 -1
- fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html +1 -1
- fides/ui-build/static/admin/dataset/[datasetId].html +1 -1
- fides/ui-build/static/admin/dataset/new.html +1 -1
- fides/ui-build/static/admin/dataset.html +1 -1
- fides/ui-build/static/admin/datastore-connection/[id].html +1 -1
- fides/ui-build/static/admin/datastore-connection/new.html +1 -1
- fides/ui-build/static/admin/datastore-connection.html +1 -1
- fides/ui-build/static/admin/index.html +1 -1
- fides/ui-build/static/admin/integrations/[id].html +1 -1
- fides/ui-build/static/admin/integrations.html +1 -1
- fides/ui-build/static/admin/lib/fides-ext-gpp.js +1 -1
- fides/ui-build/static/admin/lib/fides-tcf.js +3 -3
- fides/ui-build/static/admin/login/[provider].html +1 -1
- fides/ui-build/static/admin/login.html +1 -1
- fides/ui-build/static/admin/messaging/[id].html +1 -1
- fides/ui-build/static/admin/messaging/add-template.html +1 -1
- fides/ui-build/static/admin/messaging.html +1 -1
- fides/ui-build/static/admin/privacy-requests/[id].html +1 -1
- fides/ui-build/static/admin/privacy-requests/configure/messaging.html +1 -1
- fides/ui-build/static/admin/privacy-requests/configure/storage.html +1 -1
- fides/ui-build/static/admin/privacy-requests/configure.html +1 -1
- fides/ui-build/static/admin/privacy-requests.html +1 -1
- fides/ui-build/static/admin/properties/[id].html +1 -1
- fides/ui-build/static/admin/properties/add-property.html +1 -1
- fides/ui-build/static/admin/properties.html +1 -1
- fides/ui-build/static/admin/reporting/datamap.html +1 -1
- fides/ui-build/static/admin/settings/about.html +1 -1
- fides/ui-build/static/admin/settings/consent.html +1 -1
- fides/ui-build/static/admin/settings/custom-fields.html +1 -1
- fides/ui-build/static/admin/settings/domain-records.html +1 -1
- fides/ui-build/static/admin/settings/domains.html +1 -1
- fides/ui-build/static/admin/settings/email-templates.html +1 -1
- fides/ui-build/static/admin/settings/locations.html +1 -1
- fides/ui-build/static/admin/settings/organization.html +1 -1
- fides/ui-build/static/admin/settings/regulations.html +1 -1
- fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html +1 -1
- fides/ui-build/static/admin/systems/configure/[id].html +1 -1
- fides/ui-build/static/admin/systems.html +1 -1
- fides/ui-build/static/admin/taxonomy.html +1 -1
- fides/ui-build/static/admin/user-management/new.html +1 -1
- fides/ui-build/static/admin/user-management/profile/[id].html +1 -1
- fides/ui-build/static/admin/user-management.html +1 -1
- fides/ui-build/static/admin/_next/static/chunks/3627-fb83adac32c128e6.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/4481-ca8d2c75d634b6bc.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/5973-67c7562997f7d5cb.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/7044-9dc90893067f38ae.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-a6448ce6ba7f0cf5.js +0 -1
- {ethyca_fides-2.57.1b0.dist-info → ethyca_fides-2.57.1b2.dist-info}/LICENSE +0 -0
- {ethyca_fides-2.57.1b0.dist-info → ethyca_fides-2.57.1b2.dist-info}/WHEEL +0 -0
- {ethyca_fides-2.57.1b0.dist-info → ethyca_fides-2.57.1b2.dist-info}/entry_points.txt +0 -0
- {ethyca_fides-2.57.1b0.dist-info → ethyca_fides-2.57.1b2.dist-info}/top_level.txt +0 -0
- /fides/ui-build/static/admin/_next/static/{7v-H0NGW-LcEPEo86bsrZ → GEhqjcjbK3ZJvllGHPFpc}/_ssgManifest.js +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{2397-7177ecf4ebe68feb.js → 2397-d8161100e3634f2c.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{3855-5c7b11871f59e0e0.js → 3855-386aec4f0e0e89f1.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{3872-f3d5054bdc584eaa.js → 3872-0da2c6a790542bd6.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{6277-515c922445b8edc5.js → 6277-cad7c7c8cf48dbec.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{6853-cacea421af3bfc26.js → 6853-2777b5ab5717fada.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{9046-80f1ea44f89fe32c.js → 9046-b18572b89f0aaa92.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-experience-35e9df60b21e21a6.js → privacy-experience-8b9f75fc0f131240.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/consent/{reporting-97fea4ac45093cbd.js → reporting-81ca1ac6f52ec342.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/{projects-1f965b9c496071d1.js → projects-742849f39b646a2f.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/{[monitorId]-f0ab51d0d5f995de.js → [monitorId]-deec7b789ef30dc4.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{activity-1d7936f05d23097f.js → activity-0cfa8a9caf7c75c3.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/reporting/{datamap-a3fa3ad77730a03b.js → datamap-449ad3b08750bfc2.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{custom-fields-744e7bbc200557e7.js → custom-fields-ce9305fa04fecbb8.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{locations-45e33ba111f8f8b0.js → locations-f35bd2d0c10aa58c.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{regulations-94975aeab348528e.js → regulations-ba8c25b63bbf7dc2.js} +0 -0
fides/api/models/sql_models.py
CHANGED
@@ -295,15 +295,38 @@ class Dataset(Base, FidesBase):
|
|
295
295
|
collections = Column(JSON)
|
296
296
|
fides_meta = Column(JSON)
|
297
297
|
|
298
|
+
@classmethod
|
299
|
+
def create(
|
300
|
+
cls: Type["Dataset"],
|
301
|
+
db: Session,
|
302
|
+
*,
|
303
|
+
data: dict[str, Any],
|
304
|
+
check_name: bool = False,
|
305
|
+
) -> "Dataset":
|
306
|
+
"""
|
307
|
+
Override create to check for existing datasets with the same fides_key.
|
308
|
+
Duplicate names are allowed.
|
309
|
+
"""
|
310
|
+
# Check if dataset with same fides_key already exists
|
311
|
+
if "fides_key" in data:
|
312
|
+
existing_by_key = (
|
313
|
+
db.query(cls).filter(cls.fides_key == data["fides_key"]).first()
|
314
|
+
)
|
315
|
+
if existing_by_key:
|
316
|
+
raise KeyOrNameAlreadyExists(
|
317
|
+
f'Dataset with fides_key "{data["fides_key"]}" already exists.'
|
318
|
+
)
|
319
|
+
|
320
|
+
# Create the dataset using the parent class's method
|
321
|
+
db_obj = cls(**data)
|
322
|
+
return cls.persist_obj(db, db_obj)
|
323
|
+
|
298
324
|
@classmethod
|
299
325
|
def create_from_dataset_dict(cls, db: Session, dataset: dict) -> "Dataset":
|
300
326
|
"""Add a method to create directly using a synchronous session"""
|
301
327
|
validated_dataset: FideslangDataset = FideslangDataset(**dataset)
|
302
|
-
|
303
|
-
|
304
|
-
db.commit()
|
305
|
-
db.refresh(ctl_dataset)
|
306
|
-
return ctl_dataset
|
328
|
+
data_dict = validated_dataset.model_dump(mode="json")
|
329
|
+
return cls.create(db=db, data=data_dict)
|
307
330
|
|
308
331
|
@property
|
309
332
|
def field_data_categories(self) -> Set[str]:
|
@@ -1,6 +1,7 @@
|
|
1
1
|
from typing import Any, Dict, Optional
|
2
2
|
|
3
3
|
import pydash
|
4
|
+
from loguru import logger
|
4
5
|
from requests import Response
|
5
6
|
|
6
7
|
from fides.api.schemas.saas.shared_schemas import SaaSRequestParams
|
@@ -15,6 +16,7 @@ class CursorPaginationStrategy(PaginationStrategy):
|
|
15
16
|
def __init__(self, configuration: CursorPaginationConfiguration):
|
16
17
|
self.cursor_param = configuration.cursor_param
|
17
18
|
self.field = configuration.field
|
19
|
+
self.has_next = configuration.has_next
|
18
20
|
|
19
21
|
def get_next_request(
|
20
22
|
self,
|
@@ -27,11 +29,15 @@ class CursorPaginationStrategy(PaginationStrategy):
|
|
27
29
|
|
28
30
|
# get the last object in the array and read the cursor value
|
29
31
|
cursor = None
|
32
|
+
has_next = None
|
30
33
|
object_list = (
|
31
34
|
pydash.get(response.json(), data_path) if data_path else response.json()
|
32
35
|
)
|
33
36
|
if object_list and isinstance(object_list, list):
|
34
|
-
|
37
|
+
last_object = object_list.pop()
|
38
|
+
cursor = pydash.get(last_object, self.field)
|
39
|
+
if self.has_next:
|
40
|
+
has_next = pydash.get(last_object, self.has_next)
|
35
41
|
|
36
42
|
# If the cursor value isn't found, try to find the value in response.json() using the field value
|
37
43
|
if cursor is None:
|
@@ -41,6 +47,14 @@ class CursorPaginationStrategy(PaginationStrategy):
|
|
41
47
|
if cursor is None:
|
42
48
|
return None
|
43
49
|
|
50
|
+
if self.has_next and has_next is None:
|
51
|
+
has_next = pydash.get(response.json(), self.has_next)
|
52
|
+
|
53
|
+
if self.has_next:
|
54
|
+
logger.debug(f"The {self.has_next} field has a value of {has_next}")
|
55
|
+
if str(has_next).lower() != "true":
|
56
|
+
return None
|
57
|
+
|
44
58
|
# add or replace cursor_param with new cursor value
|
45
59
|
request_params.query_params[self.cursor_param] = cursor
|
46
60
|
|
@@ -43,7 +43,7 @@ class LinkPaginationStrategy(PaginationStrategy):
|
|
43
43
|
|
44
44
|
if self.has_next:
|
45
45
|
has_next = pydash.get(response.json(), self.has_next)
|
46
|
-
logger.
|
46
|
+
logger.debug(f"The {self.has_next} field has a value of {has_next}")
|
47
47
|
if str(has_next).lower() != "true":
|
48
48
|
return None
|
49
49
|
|