Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Custom label for user defined taxonomy fields #1027

Merged
merged 22 commits into from
Aug 31, 2022

Conversation

allisonking
Copy link
Contributor

@allisonking allisonking commented Aug 30, 2022

Closes #856

Code Changes

  • Adds a renderTag prop to AccordionTree to optionally render tags next to nodes
  • Adds a CustomTag component
  • Cypress test

Steps to Confirm

  • Open up /taxonomy, add a custom field, and make sure your label shows up!

Pre-Merge Checklist

  • All CI Pipelines Succeeded
  • Documentation Updated:
    • documentation complete, or draft/outline provided (tag docs-team to complete/review on this branch)
    • documentation issue created (tag docs-team to complete issue separately)
  • Issue Requirements are Met
  • Relevant Follow-Up Issues Created
  • Update CHANGELOG.md

Description Of Changes

image

@allisonking allisonking marked this pull request as ready for review August 30, 2022 16:55
@allisonking allisonking requested review from a team, ssangervasi and LKCSmith August 30, 2022 16:55
Copy link
Contributor

@LKCSmith LKCSmith left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

@allisonking allisonking merged commit 343f045 into main Aug 31, 2022
@allisonking allisonking deleted the aking-856-taxonomy-custom-label branch August 31, 2022 17:57
ThomasLaPiana added a commit that referenced this pull request Sep 2, 2022
* Bump next-auth from 4.9.0 to 4.10.3 in /clients/ops/privacy-center (#1014)

Bumps [next-auth](https://github.com/nextauthjs/next-auth) from 4.9.0 to 4.10.3.
- [Release notes](https://github.com/nextauthjs/next-auth/releases)
- [Changelog](https://github.com/nextauthjs/next-auth/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextauthjs/next-auth/compare/[email protected]@v4.10.3)

---
updated-dependencies:
- dependency-name: next-auth
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sean Preston <[email protected]>

* Bump fideslib (#1092)

* Bump fideslib to fix docs auth issue

* Update CHANGELOG

Co-authored-by: Paul Sanders <[email protected]>

* 983 Adds infra for email config and dispatch (#1059)

* Email config mvp crud / db layer

* adds name to email config model

* remove unintended changes

* gets POC working

* removes org name config var, updates crud endpoints to better handle supporting only 1 config, formatting

* updates postman collection, adds to changelog, bumps downrev on migration

* sort

* formatting

* use correct response model

* Delete base.py

* update migration annotation

* Create a Saas Connector from a Template [#814] (#1076)

* Starting point for SaaS connector templates

* Fix imports from restructuring.

* Get happy path working for instantiate connector from template endpoint.

* Remove updating connector instances for now - out of scope.

* Test nonexistent templates, secrets validation, instance key / fides key already exists.

* Create DatasetConfigs and ConnectionConfigs instead of create_or_update in the template endpoint.  Don't save ConnectionConfig until secrets are validated.

* Add the other saas connectors to the registry and update their configs and datasets with instance_fides_key.

- Fix datadog yaml so it can be included in the saas connector registry. There was an error in how the saas config was formatted.

* Update the fides_keys in the existing saas configs and dataset yamls to have brackets around the "instance_fides_key" to indicate these will be replaced.

Update the fides_key definition to allow "<instance_fides_key>" with brackets specifically to pass validation.

* Fix a side effect on a separate endpoint that returns the types of secrets that should be supplied for a given connector.  Use the saas config type instead of the fides key for the model title. Add test verifying that fides key /instance key validation works as expected.

* - Update CHANGELOG
- Add new endpoint to postman collection
- Add drafts doc.
- Update old response body in docs for connection types.

* Replace the <instance_fides_key> with a properly formatted fides_key in the saas fixtures.

* If DatasetConfig creation fails, delete the recently created ConnectionConfig.

* Address some of the saas integration tests where I've changed the fides_key.

* Fix typos.

* Fix typo.

* Fix unrelated bug where hubspot dataset has new datacategories with user-* data categories after the fideslang update, so they would show up if the user picked a "user" data category.

* Respond to CR.

Co-authored-by: Dawn Pattison <[email protected]>

* Update the "instantiate_connection_from_template" to return a portion of both the connection config and the dataset. (#1105)

* Adds `AuditLog` and `ExecutionLog`s to `seed_test_data` command (#1097)

* Reduce Idle Connections from Health Checks [#1102] (#1107)

* Don't create a new engine as part of running the health checks and share a single engine across the application, including for the health checks.  Currently we're using the default pool_size and max_overflow.

* Update changelog.

* Fix that health checks are still supposed to run, even if the database is disabled.

* Need to yield instead -  'generator' object has no attribute 'query'

* Escape redis user and password (#1104)

* Escape redis user and password

* Update CHANGELOG

Co-authored-by: Paul Sanders <[email protected]>

* pass in analytics id env to worker (#1113)

* pass in analytics id env to worker

* changelog

* Adds tests for email endpoints and dispatch service (#1112)

* Endpoint to Verify User Identity [#1062] (#1111)

* Add an endpoint to verify a user's identity before queuing the privacy request provided it doesn't need separate manual approval by a system admin.

- Add a new PrivacyRequest.identity_verified_at timestamp
- Add a new PrivacyRequestStatus - "identity_unverified".
- Add methods to cache the verification code in Redis for comparison with a default ttl of 10 minutes

* - Fix linting/copy-paste errors.
- Update changelog.
- Add endpoint to postman

* Add new keys to response bodies.

* Instead of using a new VerificationCode schema, use the SubjectIdentityVerificationBodyParams that already exists.

* Revert "Instead of using a new VerificationCode schema, use the SubjectIdentityVerificationBodyParams that already exists."

This reverts commit 40fcf6d119135d08a6d3ecfc40c5d73846bf2205.

* Bump hashicorp/vault-action from 2.4.1 to 2.4.2 (#1119)

Bumps [hashicorp/vault-action](https://github.com/hashicorp/vault-action) from 2.4.1 to 2.4.2.
- [Release notes](https://github.com/hashicorp/vault-action/releases)
- [Changelog](https://github.com/hashicorp/vault-action/blob/main/CHANGELOG.md)
- [Commits](hashicorp/vault-action@v2.4.1...v2.4.2)

---
updated-dependencies:
- dependency-name: hashicorp/vault-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump fastapi[all] from 0.79.0 to 0.79.1 (#1120)

Bumps [fastapi[all]](https://github.com/tiangolo/fastapi) from 0.79.0 to 0.79.1.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](fastapi/fastapi@0.79.0...0.79.1)

---
updated-dependencies:
- dependency-name: fastapi[all]
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump types-urllib3 from 1.26.22 to 1.26.23 (#1117)

Bumps [types-urllib3](https://github.com/python/typeshed) from 1.26.22 to 1.26.23.
- [Release notes](https://github.com/python/typeshed/releases)
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: types-urllib3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump nox from 2022.1.7 to 2022.8.7 (#1118)

Bumps [nox](https://github.com/wntrblm/nox) from 2022.1.7 to 2022.8.7.
- [Release notes](https://github.com/wntrblm/nox/releases)
- [Changelog](https://github.com/wntrblm/nox/blob/main/CHANGELOG.md)
- [Commits](wntrblm/nox@2022.1.7...2022.8.7)

---
updated-dependencies:
- dependency-name: nox
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump faker from 14.0.0 to 14.1.0 (#1122)

Bumps [faker](https://github.com/joke2k/faker) from 14.0.0 to 14.1.0.
- [Release notes](https://github.com/joke2k/faker/releases)
- [Changelog](https://github.com/joke2k/faker/blob/master/CHANGELOG.md)
- [Commits](joke2k/faker@v14.0.0...v14.1.0)

---
updated-dependencies:
- dependency-name: faker
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump sqlalchemy-redshift from 0.8.10 to 0.8.11 (#1121)

Bumps [sqlalchemy-redshift](https://github.com/sqlalchemy-redshift/sqlalchemy-redshift) from 0.8.10 to 0.8.11.
- [Release notes](https://github.com/sqlalchemy-redshift/sqlalchemy-redshift/releases)
- [Changelog](https://github.com/sqlalchemy-redshift/sqlalchemy-redshift/blob/main/CHANGES.rst)
- [Commits](sqlalchemy-redshift/sqlalchemy-redshift@0.8.10...0.8.11)

---
updated-dependencies:
- dependency-name: sqlalchemy-redshift
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* POC for dynamic routing (#1033)

* Add initial POC for dynamic routing

* fix a couple lints

* Fix mypy lint

* making pylint happy

* Remove log

* Fix another pylint issue

* Add docstring

* Update index if check

* Handle nested nextjs routes

* Update changelog

* Add Sass connector configuration (#1099)

* Sass Connecter feature development

761 - Add a Connection - SaaS connector's configuration parameters
984 - Saas Connector configuration - left navigation to toggle between connection params and dataset config
985 - SaaS Connector Configuration - Testing a Connection

* Skipping unit test temporarily

* Update flags.json file

By default, turning off the createNewConnection flag which is still under development.

* Updated CHANGELOG.md file

* Resolved ESLint issues

* Resolved npm build issue

* Resolved npm build issue

* Updated Saas connector configuration

* Updated Saas connector configuration

* Removed unnecessary import statement

* add new privilege for creating SaaS connectors to user management interface

* add connections read as a privilege

* Applied code review feedback

* Updated the CSS visibility of the CircleHelpIcon component

* Added toast success when a user creates a Saas config

* Resolved ESLint issue

Co-authored-by: Sean Preston <[email protected]>

* 1128-Add Retry button back into the subject request detail view (#1131)

* 1128-Add Retry button back into the subject request detail view

* Updated CHANGELOG.md file

* provide a way to give invited users the resume permission

Co-authored-by: Sean Preston <[email protected]>

* Fix localhost setting for non-endpoint analytics calls [#1029] (#1130)

* Set local_host to None for non-endpoint analytics calls.  These are logging various tasks coming out of celery.

* Update Changelog.

* Add email_templates module (#1123)

* Add email_templates module

* run isort

* Add unit tests

* Update ttl calculation

* Add ttl minutes test

* fix lint issues

* fix pylint issue

* fix pylint issue

* fix isort

* Update template constant

* Update changelog

* fix lints

* Add jinja to requirements.txt

* update templates directory

* update unit test

* Update imports

* fix issue template path

* Add templates to manifest

Co-authored-by: Paul Sanders <[email protected]>

* Formatting Issues in Webhooks Documentation (#1114)

* Fix typo in `derived_identity`

* Update CHANGELOG.md

* Missed PR Link

* replaced `<>` with `{}`

In the live version of the docs, the `<>`s were being stripped from our code example titles. I've replaced them with `{}` to align with some of the other pages I've seen.

* Send Identity Verification Email [#1010] (#1115)

* If identity verification required, send email to the user with the verification code.

* Adjust the identity_verification_required autouse fixture, and add an autouse override for just the tests where we want to turn on identity verification.

* Add starting docs and updating the changelog.

Start with identity_verification_required set to False for now until all the related pieces are in.

* Update some of the docstrings.

* Add unverified status color in the FE.

* Add new privacy request status to types and constants.

* Restore trailing comma.

* Update identity_verification_required to subject_identity_verification_required for clarity.

* Adjust email_body_params to accommodate new template.

Co-authored-by: Sean Preston <[email protected]>

* Support case-insensitive connection type search [Unticketed] (#1133)

* Make connection type search case-insensitive.

* Update changelog.

* Add option to login as root user from config (#1116)


Co-authored-by: Paul Sanders <[email protected]>

* Move logging to %-style formatting [#837] (#1132)

* Add a new Pii class and use it to wrap arguments not already wrapped with NonPii in those logs that are currently using %-style formatting.

* Switch logging formatting to %-style instead of f-string.

* Continue to address lingering f string instances, and wrap some arguments in Pii, such as raw exceptions.

* Remove NotPii class and update tests.

* Adjust errors made in %-style conversion.

* Remove accidental Pii on print statements, update some PII wrappings.

* Adjust string formatting of newly added log.

* Update Changelog.

* Fix missed closing curly brackets.

* Remove missed curly brackets.

* Add future annotations for backwards compatibility (#1136)

* Add future annotations for backwards compatibility

* Update CHANGELOG

Co-authored-by: Paul Sanders <[email protected]>

* Release 1.7.1 (#1141)

* update changelog

* update ERD

* make Hubspot test more robust

* Fix docs build in CI (#1138)

* Fix docs build in CI

* Update CHANGELOG

Co-authored-by: Paul Sanders <[email protected]>
Co-authored-by: Sean Preston <[email protected]>

* fix command syntax (#1143)

* Prevent modifying default taxonomy fields (#990)

* Add is_default field to taxonomy sql models (#976)

* Add is_default field to taxonomy sql models

* Update changelog

* Autoformat alembic migration file

* Update dataset.yml with is_default

* Bump fideslang version

Update changelog

Autoformat alembic migration file

Update dataset.yml with is_default

Bump fideslang version

* Prevent modifying default taxonomy on update

Add docstring

* Move is_default check to routes/crud.py

Revert database/crud.py changes

* Handle forbidding when given a list of fides keys

* Add test

* Handle attempting to modify is_default field

* Update changelog

* Debug failing test

* Add another print debugging stmt

* Revert "Add another print debugging stmt"

This reverts commit 527bd03.

* Revert "Debug failing test"

This reverts commit daf3ca8.

* Scope resources_dict to function

* Clean up changelog

* Allow modifying defaults but not is_default

* Handle case where checking for new upsert

* Refactor to put tests in a class

* Handle upserting is_default

* hook up API request to logout action [Unticketed] (#1139)

* hook up API request to logout action

* run format

* update import orer

* add lint:fix

* Update hubspot users and owners configurations (#1091)

* Update CHANGELOG.md

* Delete taxonomy UI (#1006)

* Add delete call to slices

* Hook up delete button

* Add result handling

* Only show delete on nodes without children

* Add tests for delete

* Update changelog

* Render action buttons as a prop to AccordionTree

* Fix import consistency

* Rename onEdit and onDelete

* Clear edit entity on delete

* Use TreeNode type

* Update cypress fixtures (#1022)

* Update fixtures

* Update tests based on updated fixtures

* Add taxonomy entity form (#1019)

* Rename data-categories.slice --> taxonomy.slice

* Add active taxonomy type to store

* Add create mutation to slices

* Hook up create to form

* Fixup form UX

* Derive parent key from fides key

* Conditionally render parent key field

* Add tests for adding taxonomy entities

* Clean up

* Update changelog

* Simplify setting add state

* Add test for showing either add or create form

* Derive isCreate from status of fides key

* SaaS Connector Template Creation Fix: Integer fides_key (#1166)

* Use quotes when replacing <"instance_fides_key"> in the saas config and dataset config files to force a string.

* Update CHANGELOG.

* Start a new "email" ConnectionConfig type [#1134] (#1142)

* Start a new "email" ConnectionConfig type.

* Hide "email" type from the get_connection_types endpoint for now, as the email connector isn't fleshed out yet.

* Update CHANGELOG.

* Simplify by sending one email to start?

* Update request body in postman collection.

* Fix CHANGELOG formatting.

* Revert "SaaS Connector Template Creation Fix: Integer fides_key (#1166)" (#1171)

This reverts commit 19fbe93.

* Fix analytics opt out environment variable name (#1170)

* 1004 OAuth2 client credentials flow (#1159)

* update Subject Request detail page (#1164)

* [#495] clarify additions to subject request event log

* [#863] note retry capabilities in subject requests

* changelog

* fidesops.toml

* changelog

Co-authored-by: Cole Garbo <[email protected]>

* Bump fastapi[all] from 0.79.1 to 0.81.0 (#1178)

Bumps [fastapi[all]](https://github.com/tiangolo/fastapi) from 0.79.1 to 0.81.0.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](fastapi/fastapi@0.79.1...0.81.0)

---
updated-dependencies:
- dependency-name: fastapi[all]
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add check for is_default before rendering delete button (#1023)

* Add check for is_default before rendering delete button

* Update changelog

* Update test data to include is_default

* Add cypress tests

* Build docker image for privacy center (#1165)

* Build docker image for privacy center

* Update docs and add docker publish to workflow

* Update CHANGELOG

* Move privacy center docker publish to its own workflow

Co-authored-by: Paul Sanders <[email protected]>

* Update `StorageConfig` to handle multiple auth methods (#1140)

* Initial automatic impl

* Lints

* disable pylint error

* Fix unit tests

* fix imports

* Update fixture

* Fix config tests

* Covert type to enum

* Add new unit tests

* Update changelong

* Update docs

* Update phone number

* patch task scheduler

* remove pylint ignore and add exception

* Update docs

* 1009 id verification required endpoint (#1221)

* Adds identity verification config endpoint

* adds test, reuse existing config var, adds postman collection

* update changelog

* add type ignore

* move ignore line

* Update src/fidesops/ops/graph/config.py

Co-authored-by: Paul Sanders <[email protected]>

* remove duplicate lines in method

* another dupe line

* remove scope, update order of classmethod decorator

* remove dependencies on endpoint

* unused imports

Co-authored-by: Paul Sanders <[email protected]>

* fix reference in data categories upgrade migration (#1223)

* Fix mypy error (#1030)

* Fix mypy error

* Update CHANGELOG

* Remove unused import

Co-authored-by: Paul Sanders <[email protected]>

* Publish on every release (#1226)

Co-authored-by: Paul Sanders <[email protected]>

* Make log send async (#1174)

* Make log send async

* Update CHANGELOG

* Add async to additional fideslog calls

* WIP

* Fix issue with async function is celery

* Make __send work with name mangling

* Remove extra await

* Await coroutines in tests

* Remove analytics id

Co-authored-by: Paul Sanders <[email protected]>

* 1106 saas config shopify access endpoints (#1220)

* Custom label for user defined taxonomy fields (#1027)

* Add renderTag prop

* Add cypress tests

* Update changelog

* Adds email communications guide to docs, exposes other hidden guides in nav bar (#1233)

* adds email communications guide to docs, exposes other hidden guides in nav bar

* update changelog

* email docs copyedits

* remove dupe items from nav

Co-authored-by: Cole <[email protected]>

* Add boolean fields and use them in taxonomy forms (#1028)

* Add CustomRadioGroup as a form input

* Use new radio group input for taxonomy forms

* Update extra form fields prop to be a function

* Cast string boolean back to real boolean

* Tests

* Update changelog

* Clean up some type comparisons

* Revert === undefined since the fields can actually be null

* Fix version number (#1232)

Co-authored-by: Paul Sanders <[email protected]>

* remove exclude_unset=True to return clean diff (#1026)

* remove exclude_unset=True to return clean diff

* changelog

* don't stop the test suite when there is a failure

Co-authored-by: Thomas <[email protected]>

* Merge project changes again

* fix pylint issue

* Bump pylint from 2.14.5 to 2.15.0 (#1182)

* Bump pylint from 2.14.5 to 2.15.0

Bumps [pylint](https://github.com/PyCQA/pylint) from 2.14.5 to 2.15.0.
- [Release notes](https://github.com/PyCQA/pylint/releases)
- [Commits](pylint-dev/pylint@v2.14.5...v2.15.0)

---
updated-dependencies:
- dependency-name: pylint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

* Ignore missing-timeout warning

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Paul Sanders <[email protected]>

* Bump fideslib (#1236)

* Bump fideslib

* Update CHANGELOG

Co-authored-by: Paul Sanders <[email protected]>

* Email Connector: Build Masking Instructions  (#1168)

* Pass in input_data to erasure requests, and not just access requests, so it can be used for the email connector, which won't have any rows returned from an access request.

- Add an EmailConnector.build_masking_instructions method with a draft of data needed to instruct the user how to query/mask/what fields to mask on their end.

* Have the EmailConnector.mask_data  cache the raw details of what needs to be masked in Redis. We'll use this to send one email at the end for each "email"-based dataset at end, instead of sending one email for each collection.

Reuse some of the caching code created for manual connectors / failed privacy requests where similar to the EmailConnectors, we have some separate action that is required on a given collection.  Rename to make more generic.

* Remove restriction that a ManualAction needs a get or update value.  The manual action could just be locating data for another collection downstream.

Cache email template details, even if there are no actions needed on that specific collection,

* Update the expected number of collections in the email dataset.

* build_masking_instructions is not required to return a ManualAction.

* Reconcile this test with the work to make log send asynchronous.

Co-authored-by: Sean Preston <[email protected]>

* Adds email scopes to postman collection (#1241)

* Adds email scopes to postman collection

* update changelog

* Bump black from 22.6.0 to 22.8.0 (#1238)

Bumps [black](https://github.com/psf/black) from 22.6.0 to 22.8.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](psf/black@22.6.0...22.8.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Rename fidesops-privacy-center image to fides-privacy-center (#1237)

Co-authored-by: Paul Sanders <[email protected]>

* Bump eslint from 8.9.0 to 8.23.0 in /clients/ops/privacy-center (#1180)

Bumps [eslint](https://github.com/eslint/eslint) from 8.9.0 to 8.23.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](eslint/eslint@v8.9.0...v8.23.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* #1008 User  identity verification flow (#1231)

* Update lint commands and eslint ignore

* Run lints and refactor privacy cards

* Refactor modal

* Finish verification flow

* get config from server

* Update changelong

* Fix test failures

* Format file

* Mock out route

* Format file

* Add code resending

* Update test to use hostUrl

* Add headers util function and PrivacyRequestStatus status enum

* Bump @chakra-ui/utils from 1.10.4 to 2.0.9 in /clients/ops/admin-ui (#1145)

Bumps [@chakra-ui/utils](https://github.com/chakra-ui/chakra-ui/tree/HEAD/packages/utils) from 1.10.4 to 2.0.9.
- [Release notes](https://github.com/chakra-ui/chakra-ui/releases)
- [Changelog](https://github.com/chakra-ui/chakra-ui/blob/main/packages/utils/CHANGELOG.md)
- [Commits](https://github.com/chakra-ui/chakra-ui/commits/@chakra-ui/[email protected]/packages/utils)

---
updated-dependencies:
- dependency-name: "@chakra-ui/utils"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix broken ctl tests

* static checks passing

* merge the updated ops files into their ctl counterparts

* remove the deprecated apply command

* get the server running

* get static checks passing

* fix ops unit tests except for two new identity verification tests

* fix the failing identity_verification tests

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sean Preston <[email protected]>
Co-authored-by: Paul Sanders <[email protected]>
Co-authored-by: Paul Sanders <[email protected]>
Co-authored-by: Catherine Smith <[email protected]>
Co-authored-by: Adrian Galvan <[email protected]>
Co-authored-by: Dawn Pattison <[email protected]>
Co-authored-by: Andrew Jackson <[email protected]>
Co-authored-by: chriscalhoun1974 <[email protected]>
Co-authored-by: Robert Keyser <[email protected]>
Co-authored-by: Allison King <[email protected]>
Co-authored-by: Eduardo Armendariz <[email protected]>
Co-authored-by: Kelsey Thomas <[email protected]>
Co-authored-by: Cole Isaac <[email protected]>
Co-authored-by: Cole Garbo <[email protected]>
Co-authored-by: HamzaWaseemOnBench <[email protected]>
Co-authored-by: Cole <[email protected]>
Co-authored-by: Steve Murphy <[email protected]>
Co-authored-by: Paul Sanders <[email protected]>
ThomasLaPiana added a commit that referenced this pull request Sep 23, 2022
* Prevent modifying default taxonomy fields (#990)

* Add is_default field to taxonomy sql models (#976)

* Add is_default field to taxonomy sql models

* Update changelog

* Autoformat alembic migration file

* Update dataset.yml with is_default

* Bump fideslang version

Update changelog

Autoformat alembic migration file

Update dataset.yml with is_default

Bump fideslang version

* Prevent modifying default taxonomy on update

Add docstring

* Move is_default check to routes/crud.py

Revert database/crud.py changes

* Handle forbidding when given a list of fides keys

* Add test

* Handle attempting to modify is_default field

* Update changelog

* Debug failing test

* Add another print debugging stmt

* Revert "Add another print debugging stmt"

This reverts commit 527bd03.

* Revert "Debug failing test"

This reverts commit daf3ca8.

* Scope resources_dict to function

* Clean up changelog

* Allow modifying defaults but not is_default

* Handle case where checking for new upsert

* Refactor to put tests in a class

* Handle upserting is_default

* Delete taxonomy UI (#1006)

* Add delete call to slices

* Hook up delete button

* Add result handling

* Only show delete on nodes without children

* Add tests for delete

* Update changelog

* Render action buttons as a prop to AccordionTree

* Fix import consistency

* Rename onEdit and onDelete

* Clear edit entity on delete

* Use TreeNode type

* Update cypress fixtures (#1022)

* Update fixtures

* Update tests based on updated fixtures

* Add taxonomy entity form (#1019)

* Rename data-categories.slice --> taxonomy.slice

* Add active taxonomy type to store

* Add create mutation to slices

* Hook up create to form

* Fixup form UX

* Derive parent key from fides key

* Conditionally render parent key field

* Add tests for adding taxonomy entities

* Clean up

* Update changelog

* Simplify setting add state

* Add test for showing either add or create form

* Derive isCreate from status of fides key

* Add check for is_default before rendering delete button (#1023)

* Add check for is_default before rendering delete button

* Update changelog

* Update test data to include is_default

* Add cypress tests

* Fix mypy error (#1030)

* Fix mypy error

* Update CHANGELOG

* Remove unused import

Co-authored-by: Paul Sanders <[email protected]>

* Custom label for user defined taxonomy fields (#1027)

* Add renderTag prop

* Add cypress tests

* Update changelog

* Add boolean fields and use them in taxonomy forms (#1028)

* Add CustomRadioGroup as a form input

* Use new radio group input for taxonomy forms

* Update extra form fields prop to be a function

* Cast string boolean back to real boolean

* Tests

* Update changelog

* Clean up some type comparisons

* Revert === undefined since the fields can actually be null

* remove exclude_unset=True to return clean diff (#1026)

* remove exclude_unset=True to return clean diff

* changelog

* don't stop the test suite when there is a failure

Co-authored-by: Thomas <[email protected]>

* Set pydantic < 1.10.0 to fix CI issues with fideslang functions (#1045)

Should be able to revert after fideslang figures out why the latest
pydantic causes failures

* [fidesctl-plus #78] cross app navigation (#1037)

* fctl/nav: Move NavBar into nav directory

* fctl/nav: Decouple Header and NavBar

* fctl/nav: Extract NavButton presentational component

* fctl/nav: Extract NavLink component

* fctl/zones: Generic utility for configuring app zones

This change brings in some zone handling code from fidesctl-plus and makes it more generic so that
we can use the same pattern in both apps.

* fctl/nav: Use zone-aware nav links

* fctl/nav: Replace Jest nav tests with Cypress tests

This change switches moves our nav routing tests into Cypress instead of Jest.
The React test renderer was having trouble integrating with Next's dynamic import,
which was going to require a complex solution. Instead, by moving the nav tests into
Cypress we can test the real router state without relying on mocks.

This will prove even more useful in a later commit when we update what links are available
based on whether the API says we are in fidesctl-plus.

* fctl/features: Query /plus/health API to determine if Plus features should be shown

* Update changelog

* 1.8.3 (#1050)

* Prepare changelog for 1.8.3 release

* Fixup misattributed changelog items

* Add fix for pydantic version

* noxfiles: Session for building fidesctl python package (#1047)

* noxfiles: Session for building fctl python package

* fix a pylint error

Co-authored-by: Thomas <[email protected]>

* [942] fctl/api: Serve static files using route maps (#1046)

* fctl/api: Adapt generate_route_file_map from Ops and unit test it

* fctl/api: Serve static files using route maps

This includes both packaged (pip installed) and local build files, depending on
what is available.

* Update changelog

* Fix truncated evaluation error messages (#1053)

* Fix truncated evaluation error messages

* add a test for the evaluations output

* fix mypy error

* update changelog

* Bump next-auth from 4.9.0 to 4.10.3 in /clients/ctl/admin-ui (#1025)

Bumps [next-auth](https://github.com/nextauthjs/next-auth) from 4.9.0 to 4.10.3.
- [Release notes](https://github.com/nextauthjs/next-auth/releases)
- [Changelog](https://github.com/nextauthjs/next-auth/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextauthjs/next-auth/compare/[email protected]@v4.10.3)

---
updated-dependencies:
- dependency-name: next-auth
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Allison King <[email protected]>

* Cascade delete taxonomy children (#1042)

* Configure pytest for async functions

* Refactor FixtureRequest so it can be shared across tests

* Add test for deleting children taxonomy

* Add logic to cascade delete

* Update changelog

* Update UI to allow deleting parent taxonomy fields with a warning

* Clean up

* Update cypress tests

* Initial systems management page (#1054)

* Rename SystemsTable to SystemsGrid

* Add BorderGrid component to abstract out grid

* Build out SystemCard

* Add search feature

* Pull SystemCard out into its own component

* Add cypress tests for system management page

* Update changelog

* Fix nav bar test

* 1.8.4 (#1061)

* update changelog

* remove phantom bullet point

* Alter taxonomy upsert behavior (#1040)

* Configure pytest for async functions

* Add tests for changing updating default taxonomy

* Change upsert behavior to append

* Update changelog

* Address PR comments

* Replace upsert with create

* Remove unused import

* Remove disabled Nav Buttons (#1067)

* Update NavBar.tsx

* remove "more" from the navbar

* fix a linting error

* remove cypress tests for disabled links

* Form to add a system via yaml (#1062)

* Add new system page

* Refactor YamlForm so it can be reused

* Fixup some types in existing system slice

* Add SystemYamlForm

* Add cypress test for system

* Update changelog

* Fix empty state and remove ellipsis for now

* Remove tests on more actions button

* Move changelog items to Unreleased

* ui/dataset: "Classify" toggle for fidesctl-plus (#1057)

* ui/dataset: Spacing improvements for generate form

* ui/inputs: CustomSwitch component for switches

* ui/dataset: "Classify" toggle for fidesctl-plus

* ui/dataset: Cypress test when classify is available

* Update changelog

* [1058] ui/dataset: Confirmation modal to kick off classify (#1069)

* ui/featuers: Extract Plus API into its own slice

* ui/dataset: Refactor dataset creation chain of mutations

This should make it easier to extend the sequence of API calls to add Classify.
Before, the structure made it hard to identify the orders in which mutations were called,
and which object was the generated (temporary) vs persisted dataset. Now the generate
and create functions return their results or an error string.

I also made a change to how the error message is shown: instead of always assigning
the message to the form's URL field, it's shown in a error toast. Now that we have
multiple fields on this form, it wasn't clear the URL is going to be responsible
for any errors.

* ui/plus: Mock implementation of the classify API

* ui/dataset: Request classify if toggled

* ui/dataset: Confirmation modal to kick off classify

* ui/dataset: Cypress test for starting classify

* ui/dataset: Clear active dataset on un-mount instead of mount

This change makes it possible for the classify flow to highlight the newly-created
dataset when we navigate back to the table. Previously, the active dataset was cleared
by index page, which made preserving the active set between routes impossible. Now
we only clear when we leave a datset's view, which gives us the same experience and
the new feature.

* Update changelog

* Scaffold manual system flow (#1068)

* Refactor generate type to boolean

* Add ManualSystemFlow

* Add ConfigureSteps

* Make button bigger

* Update changelog

* Remove UI features for WIP elements

* [1073] ui/dataset: Show status badge for datasets using classification results (#1074)

* ui/plus: Classifications grouped by dataset fides key

* ui/dataset: Show status badge for datasets using classification results

* ui/dataset: Cypress tests for classified table

* Update changelog

* ui/state: Deduplicate query results that were being stored in state slices (#1083)

* ui/dedup-state: Systems unused

* ui/dedup-state: Datasets unused

* ui/dedup-state: Organization hydrate unused

* ui/dedup-state: Taxonomy DataCategories query

* ui/dedup-state: DataSubjects query

* ui/dedup-state: DataQualifiers query

* ui/dedup-state: DataUses query

* Fix header help link (#1078)

* Fix header help link

* update changelog

* Reuse config wizard forms for adding a system (#1072)

* Consolidate tooltips in DescribeSystemsForm

* Add form to manual system flow

* Add validation schema for DescribeSystemsForm

* Fix onBlur handlers of select fields

* Refactor DescribeSystemsForm

* Refactor PrivacyDeclarationForm

* Continue refactoring PrivacyDeclarationForm

* Refactor ReviewSystemForm

* Refactor SuccessPage

* Update changelog

* Refactor ReviewSystemForm to use a grid ReviewItem

* Add cypress test for flow

* Try to fix flaky test

* Ensure we stub taxonomy items

* Refactor PrivacyDeclarationAccordion to match designs more

* Fix adding another declaration when name field is blank

* Rename SuccessPage --> SystemRegisterSuccess

* Pass system object through props

* Update tests

* UI to delete a system (#1085)

* Implement delete system feature

* Add NotFoundError

* Add cypress tests

* Update changelog

* Refactor errors to ErrorDetails

* Separate 'next' and 'add' logic in PrivacyDeclarationForm (#1086)

* Separate continue and add logic

* Update tests

* Update changelog

* New fields on system forms (#1082)

* Extend DescribeSystemsForm

* Extend PrivacyDeclarationForm

* Add joint controller and data protection impact assessment

* Move system dependency field to abridged form

* Prepare data protection impact assessment for payload

* Add cypress tests

* Extend ReviewSystemForm

* Add tests for extended review form

* Fix adding another declaration when name field is blank

* Rename SuccessPage --> SystemRegisterSuccess

* Pass system object through props

* Update tests

* Update changelog

* Refactor ReviewSystemForm

* Move config wizard system forms to system directory (#1097)

* Move system forms to system directory

* Refactor form layout components into its own file

* Rename files from form --> step

* Update changelog

* ui/datasets: Refactor selectors (#1087)

* ui/dataset: Track dataset by fides key instead of object copy and nulls

Previously we've stored a copy of the dataset returned by the get-by-key query,
but only every use its key property. With this change we only store the key and
use the object from the query directly.

As part of this, I also converted a lot of `null` to `undefined`. There different
opinions on this, but undefined is generally more useful in a TS codebase because:

1. It plays nicely with optional function arguments.
2. It can be represented by a single question mark in interfaces. (See the State
   changes in this commit.)
3. It doesn't have null's `typeof null === "object"` confusion.

* ui/dataset: Single state for edit drawer

* ui/dataset: Extract collection lookups to selector

* ui/dataset: Extract field lookups to selector

* ui/dataset: Extract field types into Cell component

* ui/cypress: Consistent test fides key

* Bump fideslang to 1.3.0 (#1103)

* Bump fideslang to 1.3.0

* Add `egress` and `ingress` to `ctl_systems`

* Update `CHANGELOG.md`

* Prepare 1.8.5 release (#1107)

* Bump fideslang to 1.3.0

* Add `egress` and `ingress` to `ctl_systems`

* Update `CHANGELOG.md`

* Prepare `CHANGELOG.md` for v1.8.5

* upgrade pymysql to version 1.0.2 (#1094)

* Edit system UI (#1096)

* Set activeSystem in system.slice

* Allow form fields to take undefined

* Extend DescribeSystemForm to be able to edit

* Allow editing system from its card

* Update changelog

* Pull the form part of privacy declaration into its own component

* Further refactor PrivacyDeclarationForm to support editing

* Pull common intercepts out into a stubs file

* Add cypress test for editing

* Reserve dataset_references for unabridged forms

* Make sure not to override privacy declaration

* Explain allowing undefined for form inputs

* Change routing behavior to go back on cancel

* Fix error message

* Update CHANGELOG.md

* included more changes from fidesctl

* fix static checks

* manual updates from ctl UI

* formatting

* change line endings to fix prettier error

* fix docker build issue

* merge alembic heads for fidesctl merge and get tests parsing

* don't include the worker as a dependency for docker-compose fides

* remove worker flag from default fides service

* fix static checks

* get webserver running again

* reenable the worker for the docker-compose service

* enable redis for the compose service

* clean command is absolute in its destruction

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Allison King <[email protected]>
Co-authored-by: Paul Sanders <[email protected]>
Co-authored-by: Paul Sanders <[email protected]>
Co-authored-by: Steve Murphy <[email protected]>
Co-authored-by: Sebastian Sangervasi <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Phil Salant <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add custom label to taxonomy fields that the user provided
2 participants