Files
payloadcms/docs/rest-api
Dan Ribbens 25151ee191 chore: collection based preferences (#2820)
**BREAKING CHANGES**

Preferences have been overhauled to be abstracted as a Payload collection and no longer explicitly defined by Payload. They previously used the slug `_preferences` as a collection name and url route and are now

If any of the following are true you will need to take action:
- You have existing preferences you wish to keep for your admin users you must migrate data in the _preferences collection to the new shape. To migrate the preferences in the database you must update the shape of each _preferences document from:
```js
{
  user: ObjectId("abc"),
  userCollection: "users",
  /** other fields remain the same **/
}
```
to:
```js
{
  user: {
    value: 'abc',
    relationTo: 'users",
  }
  /** other fields remain the same **/
}
```
- You have code external of Payload or custom code within Payload using the API endpoint `api/_preferences`, you should update any applications to use `api/payload-preferences` instead.
- You were using the preferences GraphQL implementation. This was removed and is instead provided the same way as Payload handles any other. In this way the queries, mutation and schemas have changed. These are now generated as any other collection within your payload project.
- You were using the Payload's exported Preference type for your typescript code. Now you can instead import the generated type from your project.
2023-06-16 16:58:36 -04:00
..