95 Commits

Author SHA1 Message Date
Bassel Kanso
f2cd3029bd
fix: add columnName to order column attribute (#20912) 2024-08-06 16:47:13 +03:00
Marc Roig
7e6f107daf
v5.0.0-rc.7 (#20874)
* v5.0.0-rc.7

* chore: update missing released versions

* fix: update yarn lock
2024-07-25 09:19:02 +02:00
Rémi de Juvigny
41ae36f97c
fix: json fields not parsed properly (#20866)
* fix: json fields not parsed properly

* fix: prevent stringifying twice
2024-07-23 12:27:13 -04:00
Alexandre BODIN
8dfb4440a3
Merge pull request #20580 from strapi/chore/database-sync
chore: only delete tables,columns,idx,fks we track
2024-06-28 09:49:37 +02:00
Marc Roig
aec2e199bd
fix: drop slug fields index (#20633)
* fix: drop slug fields index

* chore: explicit index name
2024-06-26 11:48:57 +02:00
Marc Roig
4e90afaca7
fix: create locale column if it does not exist (#20618)
* fix: create locale column if it does not exist

* fix: revert discard draft

* fix: remove unused import

* feat: migrate published at column
2024-06-25 14:31:03 +02:00
Alexandre Bodin
ab398552fe chore: update & add tests 2024-06-21 15:04:26 +02:00
Alexandre Bodin
cae1130e53 chore: only delete tables,columns,idx,fks we track 2024-06-21 10:34:13 +02:00
Jean-Sébastien Herbaux
5285f8db42
Fix Duplicate Rows on Deep Sorting (#20543) 2024-06-20 14:46:31 +02:00
Marc Roig
d27f662252
fix: self referencing relations (#20553) 2024-06-19 14:39:56 +02:00
Alexandre Bodin
9df6896208 chore: upgrade umzug & improve db migration logging 2024-06-17 10:47:06 +02:00
Convly
481550a0d4 Merge branch 'refs/heads/develop' into v5/main
# Conflicts:
#	.github/actions/check-pr-status/package.json
#	docs/docs/docs/01-core/admin/05-features/authentication.md
#	docs/docusaurus.config.js
#	docs/yarn.lock
#	examples/getstarted/package.json
#	examples/kitchensink-ts/package.json
#	examples/kitchensink/package.json
#	examples/plugins/workspace-plugin/package.json
#	lerna.json
#	package.json
#	packages/admin-test-utils/package.json
#	packages/cli/create-strapi-app/package.json
#	packages/cli/create-strapi-starter/package.json
#	packages/cli/create-strapi/package.json
#	packages/core/admin/admin/src/App.tsx
#	packages/core/admin/admin/src/components/AuthenticatedApp.tsx
#	packages/core/admin/admin/src/components/Context.tsx
#	packages/core/admin/admin/src/components/LeftMenu.tsx
#	packages/core/admin/admin/src/components/PrivateRoute.tsx
#	packages/core/admin/admin/src/content-manager/pages/ListSettingsView/index.jsx
#	packages/core/admin/admin/src/content-manager/pages/ListView/components/BulkActions/PublishAction.tsx
#	packages/core/admin/admin/src/content-manager/pages/ListView/components/TableCells/CellContent.tsx
#	packages/core/admin/admin/src/features/Configuration.tsx
#	packages/core/admin/admin/src/index.ts
#	packages/core/admin/admin/src/pages/ProfilePage.tsx
#	packages/core/admin/admin/src/pages/UseCasePage.tsx
#	packages/core/admin/ee/server/src/services/metrics.ts
#	packages/core/admin/package.json
#	packages/core/admin/server/src/bootstrap.ts
#	packages/core/content-manager/package.json
#	packages/core/content-releases/admin/src/components/CMReleasesContainer.tsx
#	packages/core/content-releases/admin/src/components/ReleaseListCell.tsx
#	packages/core/content-releases/admin/src/index.ts
#	packages/core/content-releases/admin/src/pages/ReleaseDetailsPage.tsx
#	packages/core/content-releases/admin/src/pages/tests/ReleaseDetailsPage.test.tsx
#	packages/core/content-releases/admin/src/services/release.ts
#	packages/core/content-releases/package.json
#	packages/core/content-releases/server/src/controllers/release.ts
#	packages/core/content-type-builder/package.json
#	packages/core/core/.gitignore
#	packages/core/data-transfer/package.json
#	packages/core/database/package.json
#	packages/core/database/src/query/helpers/populate/apply.ts
#	packages/core/email/package.json
#	packages/core/helper-plugin/package.json
#	packages/core/permissions/package.json
#	packages/core/strapi/package.json
#	packages/core/types/package.json
#	packages/core/upload/admin/src/components/AssetDialog/BrowseStep/tests/__snapshots__/index.test.jsx.snap
#	packages/core/upload/admin/src/pages/App/ConfigureTheView/components/tests/__snapshots__/Settings.test.jsx.snap
#	packages/core/upload/admin/src/pages/App/ConfigureTheView/tests/__snapshots__/ConfigureTheView.test.jsx.snap
#	packages/core/upload/package.json
#	packages/core/upload/server/services/provider.js
#	packages/core/upload/server/services/upload.js
#	packages/core/upload/server/src/services/image-manipulation.ts
#	packages/core/upload/server/tsconfig.eslint.json
#	packages/core/utils/package.json
#	packages/generators/app/package.json
#	packages/generators/app/src/utils/db-client-dependencies.ts
#	packages/generators/generators/package.json
#	packages/plugins/cloud/package.json
#	packages/plugins/color-picker/package.json
#	packages/plugins/documentation/package.json
#	packages/plugins/graphql/package.json
#	packages/plugins/i18n/admin/src/components/LocaleListCell.tsx
#	packages/plugins/i18n/admin/src/contentReleasesHooks/releaseDetailsView.ts
#	packages/plugins/i18n/admin/src/index.ts
#	packages/plugins/i18n/package.json
#	packages/plugins/sentry/package.json
#	packages/plugins/users-permissions/package.json
#	packages/providers/email-amazon-ses/package.json
#	packages/providers/email-mailgun/package.json
#	packages/providers/email-nodemailer/package.json
#	packages/providers/email-sendgrid/package.json
#	packages/providers/email-sendmail/package.json
#	packages/providers/upload-aws-s3/package.json
#	packages/providers/upload-cloudinary/package.json
#	packages/providers/upload-local/package.json
#	packages/utils/api-tests/package.json
#	packages/utils/eslint-config-custom/package.json
#	packages/utils/logger/package.json
#	packages/utils/tsconfig/package.json
#	packages/utils/typescript/package.json
#	packages/utils/upgrade/LICENSE
#	packages/utils/upgrade/bin/upgrade.js
#	packages/utils/upgrade/package.json
#	packages/utils/upgrade/packup.config.ts
#	scripts/front/package.json
#	tests/e2e/constants.ts
#	tests/e2e/tests/content-releases/releases-page.spec.ts
#	yarn.lock
2024-05-30 13:12:27 +02:00
Marc Roig
eb316acc5c
fix: create locale column when migrating from v4 (#20261)
* fix: create locale column

* fix: typo

* fix: rewrite comment

* feat: create locale column migration
2024-05-24 15:09:53 +02:00
Josh
a3960e1ee5
chore: update react&react-dom to 18.3 (#20316)
* chore: update react&react-dom to 18.3

* chore: TS fix

* chore: update testing packages

* chore: fix lint
2024-05-17 16:00:38 +01:00
Ben Irvin
2264b66ec3
fix(database): drop foreign keys before dropping indexes 2024-05-02 19:18:31 +02:00
Marc Roig
ca6c7c80ec
release: 4.24.1 to develop (#20248)
* fix(admin): if were in EE mode wait for the EE routes to be loaded before rendering (#20238)

* fix: issue 20138 (#20240)

* v4.24.1

---------

Co-authored-by: Josh <37798644+joshuaellis@users.noreply.github.com>
Co-authored-by: Alexandre BODIN <alexandrebodin@users.noreply.github.com>
2024-05-02 17:14:54 +02:00
Marc Roig
58f553ab42
fix: doc id migration for mysql (#20174)
* fix: doc id migration for mysql

* feat: mysql subquery
2024-04-25 14:10:47 +02:00
Ben Irvin
7237fd8ce0
fix(database): add prefixed alias to avoid join column name conflicts 2024-04-17 15:14:37 +02:00
Marc Roig
76447298a8
feat: migrate document published entries from v4 (#19813)
* chore: add document-id migration

* feat: migration file

* chore: change migration name

* feat: document draft creation

* fix: use knex to query

* feat: discard drafts

* fix: use database identifiers utils

* fix: leave rename identifiers migration name as it was before

* chore: revert database config

* feat: simplify migration document ids query

* update with subquery

* chore: comment todo on create draft migration

* chore: remove draft creation migration

* feat: register internal migrations dynamically (#20002)

* feat: register internal migrations dynamically

* chore: load umzug lazily

* chore: lazy load umzugProvider migrations

* feat: register internal migrations dynamically (#20006)

* feat: register internal migrations dynamically

* chore: load umzug lazily

* chore: lazy load umzugProvider migrations

* feat: discard draft migration from strapi core

* fix: unit test

* fix: make discardDraft inline

* fix: prettier

* fix: remove unused code

* fix: ignore tables that do not exist

* fix: build

* chore: remove comment

---------

Co-authored-by: Alexandre Bodin <bodin.alex@gmail.com>
2024-04-17 13:41:44 +02:00
Josh
bc71a96d76
chore(pack-up): remove from monorepo (v5) (#20092)
* chore(pack-up): remove from repo

* chore: type fixes

* chore: add suggestions to tighten types

Co-authored-by: Ben Irvin <ben.irvin@strapi.io>

---------

Co-authored-by: Ben Irvin <ben.irvin@strapi.io>
2024-04-12 13:39:49 +01:00
Alexandre Bodin
43a32432fc fix: v4-v5 conflict in polymorphic relations 2024-04-08 19:27:59 +02:00
Josh
e188aac623 Merge branch 'develop' into v5/main 2024-04-08 15:21:08 +01:00
Alexandre BODIN
54c5072bd1
Update packages/core/database/src/query/helpers/where.ts
Co-authored-by: Jean-Sébastien Herbaux <jean-sebastien.herbaux@epitech.eu>
2024-04-04 11:57:23 +02:00
Alexandre BODIN
1122223fae
chore: add document-id migration (#19514)
* chore: add document-id migration

* fix: use database identifiers utils

* fix: leave rename identifiers migration name as it was before

* chore: revert database config

* feat: simplify migration document ids query

* update with subquery

---------

Co-authored-by: Marc-Roig <marc12info@gmail.com>
Co-authored-by: Marc Roig <marc.roig.campos@strapi.io>
2024-04-03 15:53:24 +02:00
Alexandre Bodin
2bcdab485d feat: support media deept filtering & relation shortcut filters 2024-04-03 12:43:12 +02:00
Jamie Howard
43b9e91c67
feat(i18n): non localized fields (#19720)
* feat(i18n): wip non localized fields

* feat(i18n): use document service middleware for non localized fields

* feat(i18n): support component data in non localized sync

* chore(i18n): cleanup and fix unit tests

* fix(i18n): reintroduce permissions sync

* test(i18n): api test for non localized fields

* feat(i18n): add earth icon to symbolise localised fields (#19774)

* test(i18n): cover publish, unpublish, update and create in api tests

* feat(i18n): ensure non localized fields are populated

* fix(i18n): get right id

* fix(content-manager): doc metadata in non d&p cases

* fix(conent-manager): i18n detection

* fix: pr feedback

* fix(i18n): handle non localized components

* feat(i18n): sync non localized components

* fix(i18n): wip unit test

* feat(i18n): handle relations within non localized components

* feat(i18n): reintroduce FE and fix for repeatables

* chore: lockfile

* chore(i18n): cleanup

* chore(i18n): cleanup

* feat(i18n): match relation locales to source entry during transformation

* fix(i18n): unit tests

* fix(i18n): getNonLocalizedAttributes

* chore(i18n): fix unit tests

* chore(i18n): pr feedback

* chore(i18n): pr feedback

* fix(i18n): unit tests

---------

Co-authored-by: Josh <37798644+joshuaellis@users.noreply.github.com>
2024-04-02 10:08:10 +01:00
Ben Irvin
b003dee48e
chore: upgrade prettier to 3.2.5 2024-03-29 14:39:52 +01:00
Ben Irvin
fd7c075839
enhancement(database)!: shorten db identifies and add internal migration 2024-03-25 18:02:30 +01:00
Marc Roig
201de5ad3c
feat: document service clone cleanup (#19765) 2024-03-15 14:48:12 +01:00
Alexandre Bodin
a95285578b chore: database enhancements 2024-03-13 22:13:40 +01:00
Marc-Roig
423134764d
Merge branch 'v5/main' into v5/disable-dp 2024-03-12 18:32:44 +01:00
Marc Roig
f7d9269c38
feat: relations no dp (#19682) 2024-03-12 18:20:17 +01:00
Alexandre Bodin
8d53207f8e chore: remove template configuration from utils 2024-03-09 13:08:41 +01:00
Rémi de Juvigny
8294852592 Merge remote-tracking branch 'origin/v5/main' into v5/history 2024-02-29 11:48:35 +01:00
Rémi de Juvigny
1307b18e6a
chore: merge draft & publish into history (#19632)
* fix: prevent infinite loop opening pool connections in mysql

* test(database): init unit tests for createMetadata

* feat(cm): D&P pt2 (#19380)

* feat: return metadata on content manager endpoints (#19361)

* feat: return metadata on content manager endpoints

* feat: return meta

* fix: cm tests

* feat: fix cm metadata api tests (#19375)

* feat: return metadata on content manager endpoints

* feat: return meta

* fix: cm tests

* fix: admin test

* chore(cm): refactor CM (#19341)

* chore(cm): refactor EditView

comes with a host of new re-usable APIs!

* feat(cm): add useDocument hook

* feat(cm): add useDocumentOperations hook

* feat(cm): initialise EditView header

* feat(cm): add useDocumentLayout hook

* fix: listView from layout refactor

* chore(cm): refactor editview form input renderer

* chore: fix lint & ts

* fix: re-add custom fields

* test: fix admin/CM unit tests

* docs(cm): add docs at a high level of how the CM works

* test: add useDocumentRBAC tests

* chore: pr amends

* feat: add addEditViewSidePanel API to strapi (#19398)

* feat: add addEditViewSidePanel API to strapi

fix: don't pass all the query params to the create route

* chore: pr amends

* fix: return available status when content type doesnt have i18n enabled (#19419)

* fix: return available status when content type doesnt have i18n enabled

* chore: remove comment

* fix(cm): list view & build process

* feat: save and publish

* feat: update contract

* feat: dp tests

* chore: use document from create and update

* feat: save and publish single types

* feat: return metadata on content manager endpoints (#19361)

* feat: return metadata on content manager endpoints

* feat: return meta

* fix: cm tests

* feat: fix cm metadata api tests (#19375)

* feat: return metadata on content manager endpoints

* feat: return meta

* fix: cm tests

* fix: admin test

* chore(cm): refactor CM (#19341)

* chore(cm): refactor EditView

comes with a host of new re-usable APIs!

* feat(cm): add useDocument hook

* feat(cm): add useDocumentOperations hook

* feat(cm): initialise EditView header

* feat(cm): add useDocumentLayout hook

* fix: listView from layout refactor

* chore(cm): refactor editview form input renderer

* chore: fix lint & ts

* fix: re-add custom fields

* test: fix admin/CM unit tests

* docs(cm): add docs at a high level of how the CM works

* test: add useDocumentRBAC tests

* chore: pr amends

* feat: add addEditViewSidePanel API to strapi (#19398)

* feat: add addEditViewSidePanel API to strapi

fix: don't pass all the query params to the create route

* chore: pr amends

* fix: return available status when content type doesnt have i18n enabled (#19419)

* fix: return available status when content type doesnt have i18n enabled

* chore: remove comment

* fix(cm): list view & build process

* feat: add publish & update action (#19423)

* feat: return metadata on content manager endpoints (#19361)

* feat: return metadata on content manager endpoints

* feat: return meta

* fix: cm tests

* feat: fix cm metadata api tests (#19375)

* feat: return metadata on content manager endpoints

* feat: return meta

* fix: cm tests

* fix: admin test

* chore(cm): refactor CM (#19341)

* chore(cm): refactor EditView

comes with a host of new re-usable APIs!

* feat(cm): add useDocument hook

* feat(cm): add useDocumentOperations hook

* feat(cm): initialise EditView header

* feat(cm): add useDocumentLayout hook

* fix: listView from layout refactor

* chore(cm): refactor editview form input renderer

* chore: fix lint & ts

* fix: re-add custom fields

* test: fix admin/CM unit tests

* docs(cm): add docs at a high level of how the CM works

* test: add useDocumentRBAC tests

* chore: pr amends

* feat: add addEditViewSidePanel API to strapi (#19398)

* feat: add addEditViewSidePanel API to strapi

fix: don't pass all the query params to the create route

* chore: pr amends

* fix: return available status when content type doesnt have i18n enabled (#19419)

* fix: return available status when content type doesnt have i18n enabled

* chore: remove comment

* feat: add publish & update action

* feat: add published disabled state

* test: fix suite

* test: add unit for Panels

* fix(cm): status not state for redirect

* fix(cm): list view status & component main field property

* chore: pr feedback

* chore: apply suggestions

Co-authored-by: markkaylor <mark.kaylor@strapi.io>

---------

Co-authored-by: Marc Roig <marc12info@gmail.com>
Co-authored-by: markkaylor <mark.kaylor@strapi.io>

* feat: test single types

* feat: wrap single type publish into a transaction

* feat(cm): add unpublish & delete actions, also re-enable single-types (#19459)

* fix: delete url was wrong way round

* feat: compute modified status

* fix(cm): reimplement ListSettingsView (#19432)

* chore: PR feedback

* feat: discard endpoint

* feat: discard draft api tests

* feat: unpublish and discard

* chore: pr comments

* chore: update sanitizer

* feat(cm): add publish and save (#19500)

* feat(cm): add publish and save

* test(cm): fix unit for useDocumentActions

* Update packages/core/content-manager/server/src/controllers/collection-types.ts

Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>

* Update packages/core/content-manager/shared/contracts/single-types-v5.ts

Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>

* feat(document-service): map document ID to entry ID (#19248)

* feat: use document service in content manager

* feat: update contracts with meta information

* chore: group metadata types into a single type

* feat: metadata information in single types

* chore: change meta contract to return documents instead of strings

* fix: remove unused type

* fix: ignore doc id if entry is null

* fix: update contract metadata

* feat: document metadata service

* feat: locale and status filtering

* chore: add comment

* chore: refactor metadata service

* chore: refactor entity manager exists to handle single types

* feat: refactor single type controllers to use documents

* feat: get locale param from in cm endpoints

* Revert "feat: get locale param from in cm endpoints"

This reverts commit 856c38588b8f8521cadd85c8c933f42a36a2178a.

* feat: get locale param from cm endpoints

* Update packages/plugins/i18n/server/src/controllers/validate-locale-creation.ts

Co-authored-by: Ben Irvin <ben@innerdvations.com>

* fix: entity manager unit tests

* chore: unit test document metadata

* feat: prevent empty string locale filtering

* fix: cm contract import

* chore: test new d&p cm features

* fix: search content manager api test

* fix: cm tests

* fix: cm tests

* fix: cm tests

* fix(content-manager): access to non default locale documents (#19190)

* fix(content-manager): access to non default locale documents

* chore(content-manager): revert route construction

* fix(content-manager): api tests for number of draft relations

* test(content-manager): counting number of draft relations for non default locales

* chore(content-manager): remove default locale from entity manager countDraftRelations

* chore: basic relations testing for document service

* chore(e2e): disable edit view tests (#19235)

* feat: get relation ids

* chore: clean functions into other folders

* chore: rename files

* fix: group document ids by its uid

* feat: id mapper

* chore: improve typings

* chore: rename transform functions

* fix: id-transform tests

* chore: simplify function return value

* chore: improve comments

* fix: api tests

* fix: single types unit test

* fix: skip relations test

* fix: exclude fields

* fix: short hand ifs

* fix: merge conflict

* fix: transform output of find one

* Update packages/core/core/src/services/document-service/transform/utils.ts

Co-authored-by: Ben Irvin <ben.irvin@strapi.io>

* feat[Document Service]: Param transformation (#19373)

* fix(core): wip param transformation

* feat(core): wip param transformation based on relational status

* feat(core): wip populate and filter transformation based on relational status

* chore(core): simplify fields and sort

* chore(core): clean up

* feat(core): wip filter transformation with traverseQueryFilters

* feat(core): reorganise and PR feedback

* fix(core): filters traversal logic

* feat(core): populate relational transformations

* chore(core): reintroduce populate transformation

* fix(core): enforce that fields must include id

* fix(core): enforce that fields must include id

* fix(core): filter and sort transformation

* chore(core): typos

* chore(core): further filters test cases

* feat(core): support object based sorts

* chore(core): fields test naming

* feat(core): handle logical operators in filters

* fix: skip conditions test

* fix(core): switchIdForDocumentId (#19497)

* fix: uniqueness test

* fix: available status should be an array

* fix: available statuses

* fix: skip uniqueness folder

* fix: skip uniqueness test errors

* fix: skip failing test

---------

Co-authored-by: Ben Irvin <ben@innerdvations.com>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
Co-authored-by: Josh <37798644+joshuaellis@users.noreply.github.com>
Co-authored-by: Jamie Howard <jamie.howard@strapi.io>
Co-authored-by: Ben Irvin <ben.irvin@strapi.io>

* chore: re-implement edit configuration (#19488)

* chore: re-implement edit configuration

* chore: cleanups

* test: fix unit tests

* feat(cm): add discard changes action (#19509)

* feat(cm): add discard changes action

* feat(cm): add discard when unpublishing

* test(e2e): fix editview e2e

* test(e2e): fix uniqueness partially

* test(unit): fix unit tests for actions & add for discard

* chore: bump playwright

* fix(webkit): add shim for requestIdCallback

* chore: pr amends

* feat: return status on available locales

* feat: add document-actions to list-view (#19523)

* fix(cm): add gap and alignment for edit-view heading with super long names

* fix(cm): list view status'

* feat: add list-view actions

* fix: conditions for actions to be enabled

* fix: stay on draft tab when published

* fix: stop propogation on list-view row click

* test(e2e): fix editview tests

* chore: update spelling error

Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>

---------

Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>

* feat: test document metadata

* chore: remove unnecessary unit test

* fix: return modified on published documents

* chore: init split single-type collection-type in document service

* Fix/fields test case (#19481)

* Update packages/core/content-manager/server/src/services/document-metadata.ts

Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>

* fix: pretty

* chore: refactor middlewares

* feat: send empty object if locale does not exist on document

* feat: single types

* chore: add tests to middlewares

* feat: update locale using query params (#19546)

* feat: return available locales when not finding locale

* chore: update typings

* feat: add clone action (#19526)

* feat: add clone action

* test(e2e): add auto clone tests

* chore: pr amends

* feat: add information to header actions menu (#19548)

* feat: add information to header actions menu

* fix: dont use non-null-assertion

* feat: manage relations on publish (#19427)


---------

Co-authored-by: Ben Irvin <ben@innerdvations.com>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
Co-authored-by: Josh <37798644+joshuaellis@users.noreply.github.com>
Co-authored-by: Jamie Howard <jamie.howard@strapi.io>

* feat: v5 i18n relations (#19504)


Co-authored-by: Ben Irvin <ben@innerdvations.com>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
Co-authored-by: Josh <37798644+joshuaellis@users.noreply.github.com>
Co-authored-by: Jamie Howard <jamie.howard@strapi.io>

* fix: locale test api

* chore: refactor i18n (#19555)

* chore: remove types package, should be using strapi

* chore: refactor i18n settings page

* feat: add i18n to CM

* feat(i18n): add delete locale action (#19562)

* chore: pr amends

Co-authored-by: Simone <startae14@gmail.com>

---------

Co-authored-by: Simone <startae14@gmail.com>

* feat(cm): re-implement validation (#19578)

* feat: re-implement validation in the CM

feat: add blocker

feat: handle validation errors from the API

chore: reimplement useFieldHint

test(unit): fix fe tests

chore: fix bad logical operator

* chore: await notifications to leave before trying to go to other pages

* fix: validation issues & blocker showing up incorrectly

* fix: broken publish behaviour

* fix(content-manager): uid availability and generation (#19518)

* fix(content-manager): uid availability and generation

* fix(content-manager): pass locale as is from UID service

* fix(content-manager): match UIDs based on startsWith

---------

Co-authored-by: Marc Roig <marc12info@gmail.com>
Co-authored-by: markkaylor <mark.kaylor@strapi.io>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
Co-authored-by: Ben Irvin <ben@innerdvations.com>
Co-authored-by: Jamie Howard <jamie.howard@strapi.io>
Co-authored-by: Ben Irvin <ben.irvin@strapi.io>
Co-authored-by: Alexandre Bodin <bodin.alex@gmail.com>
Co-authored-by: Alexandre BODIN <alexandrebodin@users.noreply.github.com>
Co-authored-by: Simone <startae14@gmail.com>

* chore: add centralized methods for replacing hardcoded strings for database identifiers

* chore: update History with new v5 APIs (#19623)

* chore: implement new form component

* chore: display version data

* fix: remove FormLayout to block unsupported fields

* fix: history tests

* chore: infer model kind from initialEntry

* chore: pr feedback first batch

* chore: move mainField to history context

* chore: move data fetching to page level

* fix: ts error in VersionsList test

* fix: permissions loading state

* chore: lift DocumentRBAC

---------

Co-authored-by: Mark Kaylor <mark.kaylor@strapi.io>

---------

Co-authored-by: Ben Irvin <ben.irvin@strapi.io>
Co-authored-by: Josh <37798644+joshuaellis@users.noreply.github.com>
Co-authored-by: Marc Roig <marc12info@gmail.com>
Co-authored-by: markkaylor <mark.kaylor@strapi.io>
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
Co-authored-by: Ben Irvin <ben@innerdvations.com>
Co-authored-by: Jamie Howard <jamie.howard@strapi.io>
Co-authored-by: Alexandre Bodin <bodin.alex@gmail.com>
Co-authored-by: Alexandre BODIN <alexandrebodin@users.noreply.github.com>
Co-authored-by: Simone <startae14@gmail.com>
2024-02-28 18:06:17 +01:00
Ben Irvin
390c3754d1
chore(database): clean up db naming methods 2024-02-26 18:10:52 +01:00
Ben Irvin
c338fa844e
chore(database): add long db identifiers shortening algorithm 2024-02-26 16:22:34 +01:00
Ben Irvin
6111d69ad8
chore(database): refactor database schema to use naming functions 2024-02-26 15:35:47 +01:00
Ben Irvin
3cea9ffa5c
chore(database): use naming functions for identifiers in metadata relations 2024-02-26 12:27:58 +01:00
Ben Irvin
c29dcf0999
chore: add centralized methods for replacing hardcoded strings for database identifiers 2024-02-23 15:53:56 +01:00
Rémi de Juvigny
ab39246eba
chore: use db model instead of content type (#19563)
* chore: use db model instead of content type

* chore: remove content type ref in comment

* fix: remove contentTypes from CM index

* fix: yet another model import

* fix: mark feedback
2024-02-21 16:58:02 +01:00
Ben Irvin
3fe01a0f6d
test(database): init unit tests for createMetadata 2024-02-21 12:07:15 +01:00
Ben Irvin
92e0fee2c4
fix: prevent infinite loop opening pool connections in mysql 2024-02-21 11:54:47 +01:00
Alexandre BODIN
0f312df726
chore: rename webhooks & allow custom joinColumn (#19344)
Co-authored-by: Marc Roig <marc12info@gmail.com>
2024-02-05 09:01:50 +01:00
Josh
aabbb0b2ef Merge branch 'develop' into v5/main 2024-01-30 16:26:36 +00:00
Marc Roig
2d371a2d60
fix: nested on commit on rollback transactions (#19368) 2024-01-30 11:00:08 +01:00
Jamie Howard
1097504b36
[core] document unique field validation per content type and locale (#19153)
* feat: use document service in content manager

* feat: update contracts with meta information

* chore: group metadata types into a single type

* feat: metadata information in single types

* chore: change meta contract to return documents instead of strings

* fix: remove unused type

* fix: ignore doc id if entry is null

* fix: update contract metadata

* feat: document metadata service

* feat: locale and status filtering

* chore: add comment

* chore: refactor metadata service

* chore: refactor entity manager exists to handle single types

* feat: refactor single type controllers to use documents

* feat: get locale param from in cm endpoints

* Revert "feat: get locale param from in cm endpoints"

This reverts commit 856c38588b8f8521cadd85c8c933f42a36a2178a.

* feat: get locale param from cm endpoints

* Update packages/plugins/i18n/server/src/controllers/validate-locale-creation.ts

Co-authored-by: Ben Irvin <ben@innerdvations.com>

* fix: entity manager unit tests

* chore: unit test document metadata

* feat: prevent empty string locale filtering

* feat(core): document unique field validation per content type and locale

* feat(e2e): test document unique fields

* fix(admin): ts build

* fix: cm contract import

* chore: test new d&p cm features

* feat(core): validate document unique fields within one publication state

chore: remove build:ts

* fix: search content manager api test

* fix: cm tests

* fix: cm tests

* fix: cm tests

* fix(content-manager): access to non default locale documents (#19190)

* fix(content-manager): access to non default locale documents

* chore(content-manager): revert route construction

* fix(content-manager): api tests for number of draft relations

* test(content-manager): counting number of draft relations for non default locales

* chore(content-manager): remove default locale from entity manager countDraftRelations

* test(document-service): api tests for unique document fields per publication state

* test(i18n): api tests for unique document fields per locale

* chore(api-tests): adjust author schema

* chore(e2e): disable edit view tests (#19235)

* fix(core): unique validation on publish

* fix(api-tests): un-localise author

* fix(e2e): incorrect path

* fix(admin): tidy up

* fix(admin): pass correct locale query params

fix(core): pass locale outside of filters

* chore(api-tests): wip comment for relatedEntityId logic

* fix(core): entity validator tests

* chore(api-tests): wip skip failing relations i18n test

* chore(e2e): clean up editview spec

* fix(content-manager): pass locale to publish and unpublish

* fix(content-manager): fix test:ts:back

* fix(e2e): update edit view expected path

* fix(entity-validator): default to null locale

fix(api-tests): wip i18n test changes

* fix(e2e): wip UID fields

* chore(content-type-builder): temporarily disable component unique field checkboxes (#19253)

* fix(admin): wip correctly pass params

feat(e2e): reintroduce uniqueness e2e tests

* Refactor UID validation for V5 (#19285)

* fix(database): wip remove UID unique DB constraint

* feat(content-manager): update uid checking endpoints to look at locale

* chore(admin): clean up

* fix(content-manager): single type unit tests

* fix(content-manager): send all params to uid endpoints

* feat(e2e): update tar backup to support unique CT

* fix(e2e): uniqueness spec

* chore(e2e): remove only

* fix(content-manager): only check UID availability against drafts

feat(api-tests): test case for UID validation across locales

* fix(content-manager): uid unit tests

* chore(api-tests): clean up

* chore(content-manager): clean up

* chore(i18n): remove relatedEntityId reference

---------

Co-authored-by: Marc-Roig <marc12info@gmail.com>
Co-authored-by: Ben Irvin <ben@innerdvations.com>
Co-authored-by: Josh <37798644+joshuaellis@users.noreply.github.com>
2024-01-29 15:35:20 +00:00
Alexandre Bodin
3bc82f6a77 chore: add a simple model registry 2024-01-26 11:31:53 +01:00
Alexandre Bodin
9d5602124c chore: life compontent logic out of the db and start exposing models 2024-01-25 13:13:01 +01:00
Marc Roig
d4d47227a6
feat: Initialize Document Service (#18558)
Co-authored-by: Ben Irvin <ben@innerdvations.com>
2023-11-28 12:01:27 +01:00