mirror of
https://github.com/meilisearch/meilisearch.git
synced 2025-10-24 12:36:28 +00:00
4.0 KiB
4.0 KiB
name, about, title, labels, assignees
| name | about | title | labels | assignees |
|---|---|---|---|---|
| New feature issue | ⚠️ Should only be used by the internal Meili team ⚠️ | impacts docs, impacts integrations |
Related product team resources: PRD (internal only)
Usage
TBD
TODO
Are you modifying a database?
- If not, add the
no db changelabel to your PR, and you're good to merge. - If yes, add the
db changelabel to your PR. You'll receive a message explaining you what to do.
Reminders when modifying the API
- Update the openAPI file with utoipa:
- If a new module has been introduced, create a new structure deriving the OpenAPI proc-macro and nest it in the main openAPI structure.
- If a new route has been introduced, add the path decorator to it and add the route at the top of the file in its openAPI structure.
- If a structure which is deserialized or serialized in the API has been introduced or modified, it must derive the
schemaor theIntoParamsproc-macro. If it's a new structure you must also add it to the big list of structures in the mainOpenApistructure. - Once everything is done, start Meilisearch with the swagger flag:
cargo run --features swagger, openhttp://localhost:7700/scalaron your browser, and ensure everything works as expected. - For more info, refer to this presentation.
Reminders when modifying the Setting API
- Ensure the new setting route is at least tested by the
test_setting_routesmacro - Ensure Analytics are fully implemented
/settings/my-new-settingconfigurated in themake_setting_routesmacro- global
/settingsroute configurated in theupdate_allfunction
- Ensure the dump serializing is consistent with the
/settingsroute serializing, e.g., enums case can be different (camelCasein route andPascalCasein the dump)
Special cases when adding a setting for an experimental feature
- ⚠️ API stability: The setting does not appear on the main settings route when the feature has never been enabled (e.g. mark it
Unsetwhen returned from the index in this situation. See an example) - The setting cannot be set when the feature is disabled, either by the main settings route or the subroute (see
validate_settingsfunction) - If possible, the setting is reset when the feature is disabled (hard if it requires reindexing)