|
@@ -1,5 +1,6 @@
|
|
|
import React from 'react';
|
|
import React from 'react';
|
|
|
|
|
|
|
|
|
|
+import mongoose from 'mongoose';
|
|
|
import Document, {
|
|
import Document, {
|
|
|
DocumentContext, DocumentInitialProps,
|
|
DocumentContext, DocumentInitialProps,
|
|
|
Html, Head, Main, NextScript,
|
|
Html, Head, Main, NextScript,
|
|
@@ -8,36 +9,6 @@ import Document, {
|
|
|
import { ActivatePluginService, GrowiPluginManifestEntries } from '~/client/services/activate-plugin';
|
|
import { ActivatePluginService, GrowiPluginManifestEntries } from '~/client/services/activate-plugin';
|
|
|
import { GrowiPlugin, GrowiPluginResourceType } from '~/interfaces/plugin';
|
|
import { GrowiPlugin, GrowiPluginResourceType } from '~/interfaces/plugin';
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-// FIXME: dummy data
|
|
|
|
|
-// ------------------
|
|
|
|
|
-const growiPluginsExample: GrowiPlugin[] = [
|
|
|
|
|
- {
|
|
|
|
|
- isEnabled: true,
|
|
|
|
|
- installedPath: 'weseek/growi-plugin-copy-code-to-clipboard',
|
|
|
|
|
- origin: {
|
|
|
|
|
- url: 'https://github.com/weseek/growi-plugin-copy-code-to-clipboard',
|
|
|
|
|
- },
|
|
|
|
|
- meta: {
|
|
|
|
|
- name: 'weseek/growi-plugin-copy-code-to-clipboard',
|
|
|
|
|
- types: [GrowiPluginResourceType.Script],
|
|
|
|
|
- },
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- isEnabled: true,
|
|
|
|
|
- installedPath: 'weseek/growi-plugin-markdown-templates',
|
|
|
|
|
- origin: {
|
|
|
|
|
- url: 'https://github.com/weseek/growi-plugin-markdown-templates',
|
|
|
|
|
- },
|
|
|
|
|
- meta: {
|
|
|
|
|
- name: 'weseek/growi-plugin-markdown-templates',
|
|
|
|
|
- types: [GrowiPluginResourceType.Template],
|
|
|
|
|
- },
|
|
|
|
|
- },
|
|
|
|
|
-];
|
|
|
|
|
-// ------------------
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
type HeadersForGrowiPluginProps = {
|
|
type HeadersForGrowiPluginProps = {
|
|
|
pluginManifestEntries: GrowiPluginManifestEntries;
|
|
pluginManifestEntries: GrowiPluginManifestEntries;
|
|
|
}
|
|
}
|
|
@@ -87,9 +58,9 @@ class GrowiDocument extends Document<GrowiDocumentProps> {
|
|
|
const initialProps: DocumentInitialProps = await Document.getInitialProps(ctx);
|
|
const initialProps: DocumentInitialProps = await Document.getInitialProps(ctx);
|
|
|
|
|
|
|
|
// TODO: load GrowiPlugin documents from DB
|
|
// TODO: load GrowiPlugin documents from DB
|
|
|
- // const pluginManifestEntries: GrowiPluginManifestEntries = await ActivatePluginService.retrievePluginManifests(growiPluginsExample);
|
|
|
|
|
- const pluginManifestEntries: GrowiPluginManifestEntries = await ActivatePluginService.retrievePluginManifests([]);
|
|
|
|
|
-
|
|
|
|
|
|
|
+ const GrowiPlugin = mongoose.model<GrowiPlugin>('GrowiPlugin');
|
|
|
|
|
+ const growiPlugins = await GrowiPlugin.find({ isEnabled: true });
|
|
|
|
|
+ const pluginManifestEntries: GrowiPluginManifestEntries = await ActivatePluginService.retrievePluginManifests(growiPlugins);
|
|
|
return { ...initialProps, pluginManifestEntries };
|
|
return { ...initialProps, pluginManifestEntries };
|
|
|
}
|
|
}
|
|
|
|
|
|