Websocket Support (#937)
* Atom / RSS meta link * Spike * Feeling good about this spike now * Remove document.collection * Remove koa.ctx from all presenters to make them portable outside requests * Remove full serialized model from events Move events.add to controllers for now, will eventually be in commands * collections.create event parentDocument -> parentDocumentId * Fix up deprecated tests * Fixed: Doc creation * documents.move * Handle collection deleted * 💚 * Authorize room join requests * Move starred data structure Account for documents with no context on sockets * Add socket.io-redis * Add WEBSOCKETS_ENABLED env variable to disable websockets entirely for self hosted New installations will default to true, existing installations to false * 💚 No need for promise response here * Reload notice
This commit is contained in:
@@ -19,15 +19,15 @@ const importFile = async ({
|
||||
|
||||
reader.onload = async ev => {
|
||||
const text = ev.target.result;
|
||||
let data = {
|
||||
parentDocument: undefined,
|
||||
collection: { id: collectionId },
|
||||
text,
|
||||
};
|
||||
|
||||
if (documentId) data.parentDocument = documentId;
|
||||
|
||||
let document = new Document(data, documents);
|
||||
let document = new Document(
|
||||
{
|
||||
parentDocumentId: documentId,
|
||||
collectionId,
|
||||
text,
|
||||
},
|
||||
documents
|
||||
);
|
||||
try {
|
||||
document = await document.save({ publish: true });
|
||||
resolve(document);
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
// @flow
|
||||
import Document from 'models/Document';
|
||||
import Collection from 'models/Collection';
|
||||
|
||||
export function homeUrl(): string {
|
||||
return '/dashboard';
|
||||
@@ -24,14 +23,6 @@ export function documentUrl(doc: Document): string {
|
||||
return doc.url;
|
||||
}
|
||||
|
||||
export function documentNewUrl(doc: Document): string {
|
||||
const newUrl = `${doc.collection.url || ''}/new`;
|
||||
if (doc.parentDocumentId) {
|
||||
return `${newUrl}?parentDocument=${doc.parentDocumentId}`;
|
||||
}
|
||||
return newUrl;
|
||||
}
|
||||
|
||||
export function documentEditUrl(doc: Document): string {
|
||||
return `${doc.url}/edit`;
|
||||
}
|
||||
@@ -60,8 +51,17 @@ export function updateDocumentUrl(oldUrl: string, newUrl: string): string {
|
||||
return newUrl;
|
||||
}
|
||||
|
||||
export function newDocumentUrl(collection: Collection): string {
|
||||
return `${collection.url || ''}/new`;
|
||||
export function newDocumentUrl(
|
||||
collectionId: string,
|
||||
parentDocumentId?: string
|
||||
): string {
|
||||
let route = `/collections/${collectionId}/new`;
|
||||
|
||||
if (parentDocumentId) {
|
||||
route += `?parentDocumentId=${parentDocumentId}`;
|
||||
}
|
||||
|
||||
return route;
|
||||
}
|
||||
|
||||
export function searchUrl(query?: string): string {
|
||||
|
||||
Reference in New Issue
Block a user