* fix: date comparison
* fix(content-manager): simplify date comparison
* fix: clean up metadata api test
* fix: draft versions must be ahead of published to be considered modified
* fix: published modified calculation
* fix: clean up
* fix: simplify draft and publish comparison
* chore: clean up
* fix: flaky fe tests
* fix: pr feedback
---------
Co-authored-by: Jamie Howard <jamie.howard@strapi.io>
* 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>
* feat: do not send status relations
* fix: status contract
* chore: hide D&P status on relations that don't have it
* fix: relations not appearing
* fix: do not show status on relations dropdown
---------
Co-authored-by: Josh <37798644+joshuaellis@users.noreply.github.com>
* feat(content-manager): Rework findAvailable and findExisting (#19597)
* feat(content-manager): wip rework findAvailable and findExisting
* chore(strapi): simplify relations controller
* feat(content-manager): entity Id based find available
* feat(content-manager): entity Id based find existing
* fix(content-manager): build issues
* chore(content-manager): cleanup
* fix(content-manager): relations controllers unit tests
* fix(content-manager): improve error handling
* fix(content-manager): simplify findExisting relations logic
* fix(content-manager): clean up types
* fix(content-manager): extend available relation API tests
* fix(content-manager): pr feedback
* feat(content-manager): cover find existing test cases
* feat(content-manager): test that we can only find available relations in the same locale
* fix: wip fix unit tests
* chore(content-manager): pr feedback
* fix(content-manager): use db layer to find relations
fix(content-manager): failing relations tests
* fix(content-manager): find relations test
* fix(content-manager): build issues
* fix(content-manager): return latest status of relations in findAvailable (#19681)
* fix(content-manager): return latest status of relations in findAvailable
* fix(content-manager): share logic for findAvailable and findExisting
* fix(admin): relation tests
* fix(content-manager): clean up types
* fix(content-manager): support status for find exisiting
* fix(content-manager): add status and locale filters to subQuery
* fix(content-manager): ts front and skip relations unit tests
* fix(content-manager): request specific status or get latest using document-metadata
* chore(content-manager): use interface
* fix(content-manager): tidy up target relation subquery
* fix(content-manager): tidy up and skip TS for build issues
* fix(content-manager): return status when requested
* chore(content-manager): dont re type entity service response
* fix(content-manager): use document metadata getManyAvailableStatus
* chore(content-manager): remove mapAsync
* feat: implement relations in the cm (#19702)
* Fix: Relating i18n and non-i18n content types (#19731)
* chore: re-enable e2e relation tests
* fix: return undefined
---------
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
Co-authored-by: Jamie Howard <jamie.howard@strapi.io>
Co-authored-by: Marc-Roig <marc12info@gmail.com>
* feat: handle history version pagination params
* fix: ts build error
* chore: validate pagination params
* chore: pr feedback and test
* feat: show pagination ui
* fix: no history version selected
* chore: change default history page size to 20
* fix: don't redirect to old version
* fix: add comment
* 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>
* 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
* feat: undo document id to id switch
* feat: make documentId preceed id when connecting relations
* fix: return documentId in clone method
* fix: document service api tests
* chore: start content-api v5 migration
* chore: implement entire content-api without d&p endpoints
* 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>
* chore: add withCount & loosen the typings for now
* fix: adapt content manager to use new doc service api (#19584)
* fix: adapt content manager to use new doc service api
* fix: fix cm setting ids
* chore: pr suggestions
* chore: remove console.log
* chore: fix unit tests
* enhancement: use defaultLocale on delete/publish/unpublish/discardDra… (#19583)
* enhancement: use defaultLocale on delete/publish/unpublish/discardDraft by default, add * for all
* fix: delete all locales if locale is undefined when deleting
---------
Co-authored-by: Marc-Roig <marc12info@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
* fix: ts error
* feat: default document service factory (#19592)
* feat: default ds factory
* fix: use uid and not content type in repository
* Merge branch 'v5/main' into v5/id-to-documentId
* fix: udpate document id references in content manager
* chore: use root document service on content manager endpoints
* feat: move single type logic into core api
* fix: unit tests
* fix: content-api tests
* fix: remove doc service repository from documents
* fix: upload file tests
* fix: api tests
* fix: remove id mapping on content manager
* fix: send documentId and nod id on collection types
* chore(content-manager): use documentId over id (#19618)
* chore: use doucmentId over id
* docs: update contributor documentation
* test: update snapshots & msw return values
* chore: fix ts
* chore: make bulk actions documentIds argument the same time for consistency
Co-Authored-By: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
---------
Co-authored-by: Jamie Howard <48524071+jhoward1994@users.noreply.github.com>
* fix: cm api tests
* fix: remove type
* fix: remove unused param
---------
Co-authored-by: Josh <37798644+joshuaellis@users.noreply.github.com>
Co-authored-by: Jamie Howard <jamie.howard@strapi.io>
* 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: init release action service
* feat: save history versions
* fix: ignore non api content types
* chore: move init history logic to service
* chore: feedback
* fix: save publish and unpublish actions
* fix: create action document ids
* chore: clarify comment
* 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>
* feat: use document service in content manager
* feat: locale and status filtering
* feat: refactor single type controllers to use documents
* feat: get locale param from in cm endpoints
* feat: get locale param from cm endpoints
* feat: prevent empty string locale filtering
* fix(content-manager): access to non default locale documents
* chore(content-manager): revert route construction
* test(content-manager): counting number of draft relations for non default locales
* chore(content-manager): remove default locale from entity manager countDraftRelations
---------
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>