* Implement notifications preferences model
* NotificationPreferences class
* remove index performance tests
* move to unit tests
* use zod
* saving multiple preference values
* set unique:true
* throw error if preferences can't be parsed
* use z.infer
* strict schema when saving preferences
* fix: update notifPreferenceKey type to only contain key values
---------
Co-authored-by: Domagoj Kriskovic <dom.kriskovic@overleaf.com>
GitOrigin-RevId: 20cf3799c91e6a890ab6217667594d181237c791