Base model refactor (#810)

* Big upgrades

* WIP: Stash

* Stash, 30 flow errors left

* Downgrade mobx

* WIP

* When I understand the difference between class and instance methods

* 💚

* Fixes: File import
Model saving edge cases
pinning and starring docs
Collection editing
Upgrade mobx devtools

* Notification settings saving works

* Disabled settings

* Document mailer

* Working notifications

* Colletion created notification
Ensure not notified for own actions

* Tidy up

* Document updated event only for document creation
Add indexes
Notification setting on user creation

* Commentary

* Fixed: Notification setting on signup

* Fix document move / duplicate stale data
Add BaseModel.refresh method

* Fixes: Title in sidebar not updated after editing document

* 💚

* Improve / restore error handling
Better handle offline errors

* 👕
This commit is contained in:
Tom Moor
2018-12-04 22:24:30 -08:00
committed by GitHub
parent 67cd250316
commit 8cbcb77486
222 changed files with 2273 additions and 2361 deletions

View File

@@ -10,8 +10,9 @@ type Document = {
url: string,
};
const sortDocuments = (documents: Document[]) => {
const sortDocuments = (documents: Document[]): Document[] => {
const orderedDocs = naturalSort(documents, 'title');
return orderedDocs.map(document => ({
...document,
children: sortDocuments(document.children),

View File

@@ -8,6 +8,7 @@ import presentApiKey from './apiKey';
import presentShare from './share';
import presentTeam from './team';
import presentIntegration from './integration';
import presentNotificationSetting from './notificationSetting';
import presentSlackAttachment from './slackAttachment';
export {
@@ -20,5 +21,6 @@ export {
presentShare,
presentTeam,
presentIntegration,
presentNotificationSetting,
presentSlackAttachment,
};

View File

@@ -0,0 +1,12 @@
// @flow
import type { Context } from 'koa';
import { NotificationSetting } from '../models';
function present(ctx: Context, setting: NotificationSetting) {
return {
id: setting.id,
event: setting.event,
};
}
export default present;