Move nodeinfo model in shared/
authorChocobozzz <me@florianbigard.com>
Tue, 4 Sep 2018 13:34:11 +0000 (15:34 +0200)
committerChocobozzz <me@florianbigard.com>
Tue, 4 Sep 2018 13:34:11 +0000 (15:34 +0200)
server/controllers/static.ts
server/models/migrations.ts [new file with mode: 0644]
server/models/migrations/index.ts [deleted file]
server/models/nodeinfo/index.d.ts [deleted file]
shared/models/nodeinfo/index.d.ts [new file with mode: 0644]

index 6e8f1a07f3f2f8b6821ca132e8e87d229f02c211..df31c313455149b0345a71862bf98d89672709bf 100644 (file)
@@ -1,7 +1,7 @@
 import * as cors from 'cors'
 import { createReadStream } from 'fs-extra'
 import * as express from 'express'
-import { CONFIG, STATIC_DOWNLOAD_PATHS, STATIC_MAX_AGE, STATIC_PATHS, ROUTE_CACHE_LIFETIME } from '../initializers'
+import { CONFIG, ROUTE_CACHE_LIFETIME, STATIC_DOWNLOAD_PATHS, STATIC_MAX_AGE, STATIC_PATHS } from '../initializers'
 import { VideosPreviewCache } from '../lib/cache'
 import { cacheRoute } from '../middlewares/cache'
 import { asyncMiddleware, videosGetValidator } from '../middlewares'
@@ -9,7 +9,7 @@ import { VideoModel } from '../models/video/video'
 import { VideosCaptionCache } from '../lib/cache/videos-caption-cache'
 import { UserModel } from '../models/account/user'
 import { VideoCommentModel } from '../models/video/video-comment'
-import { HttpNodeinfoDiasporaSoftwareNsSchema20 } from '../models/nodeinfo'
+import { HttpNodeinfoDiasporaSoftwareNsSchema20 } from '../../shared/models/nodeinfo'
 
 const packageJSON = require('../../../package.json')
 const staticRouter = express.Router()
diff --git a/server/models/migrations.ts b/server/models/migrations.ts
new file mode 100644 (file)
index 0000000..24badb1
--- /dev/null
@@ -0,0 +1,27 @@
+import * as Sequelize from 'sequelize'
+
+declare namespace Migration {
+  interface Boolean extends Sequelize.DefineAttributeColumnOptions {
+    defaultValue: boolean | null
+  }
+
+  interface String extends Sequelize.DefineAttributeColumnOptions {
+    defaultValue: string | null
+  }
+
+  interface Integer extends Sequelize.DefineAttributeColumnOptions {
+    defaultValue: number | null
+  }
+
+  interface BigInteger extends Sequelize.DefineAttributeColumnOptions {
+    defaultValue: Sequelize.DataTypeBigInt | number | null
+  }
+
+  interface UUID extends Sequelize.DefineAttributeColumnOptions {
+    defaultValue: Sequelize.DataTypeUUIDv4 | null
+  }
+}
+
+export {
+  Migration
+}
diff --git a/server/models/migrations/index.ts b/server/models/migrations/index.ts
deleted file mode 100644 (file)
index 24badb1..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-import * as Sequelize from 'sequelize'
-
-declare namespace Migration {
-  interface Boolean extends Sequelize.DefineAttributeColumnOptions {
-    defaultValue: boolean | null
-  }
-
-  interface String extends Sequelize.DefineAttributeColumnOptions {
-    defaultValue: string | null
-  }
-
-  interface Integer extends Sequelize.DefineAttributeColumnOptions {
-    defaultValue: number | null
-  }
-
-  interface BigInteger extends Sequelize.DefineAttributeColumnOptions {
-    defaultValue: Sequelize.DataTypeBigInt | number | null
-  }
-
-  interface UUID extends Sequelize.DefineAttributeColumnOptions {
-    defaultValue: Sequelize.DataTypeUUIDv4 | null
-  }
-}
-
-export {
-  Migration
-}
diff --git a/server/models/nodeinfo/index.d.ts b/server/models/nodeinfo/index.d.ts
deleted file mode 100644 (file)
index 0a2d049..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-/**
- * NodeInfo schema version 2.0.
- */
-export interface HttpNodeinfoDiasporaSoftwareNsSchema20 {
-  /**
-   * The schema version, must be 2.0.
-   */
-  version: '2.0'
-  /**
-   * Metadata about server software in use.
-   */
-  software: {
-    /**
-     * The canonical name of this server software.
-     */
-    name: string
-    /**
-     * The version of this server software.
-     */
-    version: string
-  }
-  /**
-   * The protocols supported on this server.
-   */
-  protocols: (
-    | 'activitypub'
-    | 'buddycloud'
-    | 'dfrn'
-    | 'diaspora'
-    | 'libertree'
-    | 'ostatus'
-    | 'pumpio'
-    | 'tent'
-    | 'xmpp'
-    | 'zot')[]
-  /**
-   * The third party sites this server can connect to via their application API.
-   */
-  services: {
-    /**
-     * The third party sites this server can retrieve messages from for combined display with regular traffic.
-     */
-    inbound: ('atom1.0' | 'gnusocial' | 'imap' | 'pnut' | 'pop3' | 'pumpio' | 'rss2.0' | 'twitter')[]
-    /**
-     * The third party sites this server can publish messages to on the behalf of a user.
-     */
-    outbound: (
-      | 'atom1.0'
-      | 'blogger'
-      | 'buddycloud'
-      | 'diaspora'
-      | 'dreamwidth'
-      | 'drupal'
-      | 'facebook'
-      | 'friendica'
-      | 'gnusocial'
-      | 'google'
-      | 'insanejournal'
-      | 'libertree'
-      | 'linkedin'
-      | 'livejournal'
-      | 'mediagoblin'
-      | 'myspace'
-      | 'pinterest'
-      | 'pnut'
-      | 'posterous'
-      | 'pumpio'
-      | 'redmatrix'
-      | 'rss2.0'
-      | 'smtp'
-      | 'tent'
-      | 'tumblr'
-      | 'twitter'
-      | 'wordpress'
-      | 'xmpp')[]
-  }
-  /**
-   * Whether this server allows open self-registration.
-   */
-  openRegistrations: boolean
-  /**
-   * Usage statistics for this server.
-   */
-  usage: {
-    /**
-     * statistics about the users of this server.
-     */
-    users: {
-      /**
-       * The total amount of on this server registered users.
-       */
-      total?: number
-      /**
-       * The amount of users that signed in at least once in the last 180 days.
-       */
-      activeHalfyear?: number
-      /**
-       * The amount of users that signed in at least once in the last 30 days.
-       */
-      activeMonth?: number
-    };
-    /**
-     * The amount of posts that were made by users that are registered on this server.
-     */
-    localPosts?: number
-    /**
-     * The amount of comments that were made by users that are registered on this server.
-     */
-    localComments?: number
-  }
-  /**
-   * Free form key value pairs for software specific values. Clients should not rely on any specific key present.
-   */
-  metadata: {
-    [k: string]: any
-  }
-}
diff --git a/shared/models/nodeinfo/index.d.ts b/shared/models/nodeinfo/index.d.ts
new file mode 100644 (file)
index 0000000..0a2d049
--- /dev/null
@@ -0,0 +1,117 @@
+/**
+ * NodeInfo schema version 2.0.
+ */
+export interface HttpNodeinfoDiasporaSoftwareNsSchema20 {
+  /**
+   * The schema version, must be 2.0.
+   */
+  version: '2.0'
+  /**
+   * Metadata about server software in use.
+   */
+  software: {
+    /**
+     * The canonical name of this server software.
+     */
+    name: string
+    /**
+     * The version of this server software.
+     */
+    version: string
+  }
+  /**
+   * The protocols supported on this server.
+   */
+  protocols: (
+    | 'activitypub'
+    | 'buddycloud'
+    | 'dfrn'
+    | 'diaspora'
+    | 'libertree'
+    | 'ostatus'
+    | 'pumpio'
+    | 'tent'
+    | 'xmpp'
+    | 'zot')[]
+  /**
+   * The third party sites this server can connect to via their application API.
+   */
+  services: {
+    /**
+     * The third party sites this server can retrieve messages from for combined display with regular traffic.
+     */
+    inbound: ('atom1.0' | 'gnusocial' | 'imap' | 'pnut' | 'pop3' | 'pumpio' | 'rss2.0' | 'twitter')[]
+    /**
+     * The third party sites this server can publish messages to on the behalf of a user.
+     */
+    outbound: (
+      | 'atom1.0'
+      | 'blogger'
+      | 'buddycloud'
+      | 'diaspora'
+      | 'dreamwidth'
+      | 'drupal'
+      | 'facebook'
+      | 'friendica'
+      | 'gnusocial'
+      | 'google'
+      | 'insanejournal'
+      | 'libertree'
+      | 'linkedin'
+      | 'livejournal'
+      | 'mediagoblin'
+      | 'myspace'
+      | 'pinterest'
+      | 'pnut'
+      | 'posterous'
+      | 'pumpio'
+      | 'redmatrix'
+      | 'rss2.0'
+      | 'smtp'
+      | 'tent'
+      | 'tumblr'
+      | 'twitter'
+      | 'wordpress'
+      | 'xmpp')[]
+  }
+  /**
+   * Whether this server allows open self-registration.
+   */
+  openRegistrations: boolean
+  /**
+   * Usage statistics for this server.
+   */
+  usage: {
+    /**
+     * statistics about the users of this server.
+     */
+    users: {
+      /**
+       * The total amount of on this server registered users.
+       */
+      total?: number
+      /**
+       * The amount of users that signed in at least once in the last 180 days.
+       */
+      activeHalfyear?: number
+      /**
+       * The amount of users that signed in at least once in the last 30 days.
+       */
+      activeMonth?: number
+    };
+    /**
+     * The amount of posts that were made by users that are registered on this server.
+     */
+    localPosts?: number
+    /**
+     * The amount of comments that were made by users that are registered on this server.
+     */
+    localComments?: number
+  }
+  /**
+   * Free form key value pairs for software specific values. Clients should not rely on any specific key present.
+   */
+  metadata: {
+    [k: string]: any
+  }
+}