From ccc00cb2aac1360921b957f3ecb3be7eb55dfa1b Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 23 Aug 2019 15:23:27 +0200 Subject: Add more attributes to about page --- server/controllers/api/config.ts | 21 ++++++++++++++++++++- server/initializers/config.ts | 10 ++++++++++ server/tests/api/check-params/config.ts | 10 ++++++++++ server/tests/api/server/config.ts | 30 ++++++++++++++++++++++++++++++ 4 files changed, 70 insertions(+), 1 deletion(-) (limited to 'server') diff --git a/server/controllers/api/config.ts b/server/controllers/api/config.ts index 0c52bfa7a..b5244756d 100644 --- a/server/controllers/api/config.ts +++ b/server/controllers/api/config.ts @@ -158,7 +158,16 @@ function getAbout (req: express.Request, res: express.Response) { name: CONFIG.INSTANCE.NAME, shortDescription: CONFIG.INSTANCE.SHORT_DESCRIPTION, description: CONFIG.INSTANCE.DESCRIPTION, - terms: CONFIG.INSTANCE.TERMS + terms: CONFIG.INSTANCE.TERMS, + codeOfConduct: CONFIG.INSTANCE.CODE_OF_CONDUCT, + + moderationInformation: CONFIG.INSTANCE.MODERATION_INFORMATION, + administrator: CONFIG.INSTANCE.ADMINISTRATOR, + maintenanceLifetime: CONFIG.INSTANCE.MAINTENANCE_LIFETIME, + businessModel: CONFIG.INSTANCE.BUSINESS_MODEL, + + languages: CONFIG.INSTANCE.LANGUAGES, + categories: CONFIG.INSTANCE.CATEGORIES } } @@ -221,6 +230,16 @@ function customConfig (): CustomConfig { shortDescription: CONFIG.INSTANCE.SHORT_DESCRIPTION, description: CONFIG.INSTANCE.DESCRIPTION, terms: CONFIG.INSTANCE.TERMS, + codeOfConduct: CONFIG.INSTANCE.CODE_OF_CONDUCT, + + moderationInformation: CONFIG.INSTANCE.MODERATION_INFORMATION, + administrator: CONFIG.INSTANCE.ADMINISTRATOR, + maintenanceLifetime: CONFIG.INSTANCE.MAINTENANCE_LIFETIME, + businessModel: CONFIG.INSTANCE.BUSINESS_MODEL, + + languages: CONFIG.INSTANCE.LANGUAGES, + categories: CONFIG.INSTANCE.CATEGORIES, + isNSFW: CONFIG.INSTANCE.IS_NSFW, defaultClientRoute: CONFIG.INSTANCE.DEFAULT_CLIENT_ROUTE, defaultNSFWPolicy: CONFIG.INSTANCE.DEFAULT_NSFW_POLICY, diff --git a/server/initializers/config.ts b/server/initializers/config.ts index 599f3f5ac..4e2b07e64 100644 --- a/server/initializers/config.ts +++ b/server/initializers/config.ts @@ -209,6 +209,16 @@ const CONFIG = { get SHORT_DESCRIPTION () { return config.get('instance.short_description') }, get DESCRIPTION () { return config.get('instance.description') }, get TERMS () { return config.get('instance.terms') }, + get CODE_OF_CONDUCT () { return config.get('instance.code_of_conduct') }, + + get MODERATION_INFORMATION () { return config.get('instance.moderation_information') }, + get ADMINISTRATOR () { return config.get('instance.administrator') }, + get MAINTENANCE_LIFETIME () { return config.get('instance.maintenance_lifetime') }, + get BUSINESS_MODEL () { return config.get('instance.business_model') }, + + get LANGUAGES () { return config.get('instance.languages') || [] }, + get CATEGORIES () { return config.get('instance.categories') || [] }, + get IS_NSFW () { return config.get('instance.is_nsfw') }, get DEFAULT_CLIENT_ROUTE () { return config.get('instance.default_client_route') }, get DEFAULT_NSFW_POLICY () { return config.get('instance.default_nsfw_policy') }, diff --git a/server/tests/api/check-params/config.ts b/server/tests/api/check-params/config.ts index 1221735c5..f716dc673 100644 --- a/server/tests/api/check-params/config.ts +++ b/server/tests/api/check-params/config.ts @@ -27,6 +27,16 @@ describe('Test config API validators', function () { shortDescription: 'my short description', description: 'my super description', terms: 'my super terms', + codeOfConduct: 'my super coc', + + moderationInformation: 'my super moderation information', + administrator: 'Kuja', + maintenanceLifetime: 'forever', + businessModel: 'my super business model', + + languages: [ 'en', 'es' ], + categories: [ 1, 2 ], + isNSFW: true, defaultClientRoute: '/videos/recently-added', defaultNSFWPolicy: 'blur', diff --git a/server/tests/api/server/config.ts b/server/tests/api/server/config.ts index b2f1933d1..da75495a5 100644 --- a/server/tests/api/server/config.ts +++ b/server/tests/api/server/config.ts @@ -28,7 +28,17 @@ function checkInitialConfig (server: ServerInfo, data: CustomConfig) { 'with WebTorrent and Angular.' ) expect(data.instance.description).to.equal('Welcome to this PeerTube instance!') + expect(data.instance.terms).to.equal('No terms for now.') + expect(data.instance.codeOfConduct).to.be.empty + expect(data.instance.moderationInformation).to.be.empty + expect(data.instance.administrator).to.be.empty + expect(data.instance.maintenanceLifetime).to.be.empty + expect(data.instance.businessModel).to.be.empty + + expect(data.instance.languages).to.have.lengthOf(0) + expect(data.instance.categories).to.have.lengthOf(0) + expect(data.instance.defaultClientRoute).to.equal('/videos/trending') expect(data.instance.isNSFW).to.be.false expect(data.instance.defaultNSFWPolicy).to.equal('display') @@ -78,7 +88,17 @@ function checkUpdatedConfig (data: CustomConfig) { expect(data.instance.name).to.equal('PeerTube updated') expect(data.instance.shortDescription).to.equal('my short description') expect(data.instance.description).to.equal('my super description') + expect(data.instance.terms).to.equal('my super terms') + expect(data.instance.codeOfConduct).to.equal('my super coc') + expect(data.instance.moderationInformation).to.equal('my super moderation information') + expect(data.instance.administrator).to.equal('Kuja') + expect(data.instance.maintenanceLifetime).to.equal('forever') + expect(data.instance.businessModel).to.equal('my super business model') + + expect(data.instance.languages).to.deep.equal([ 'en', 'es' ]) + expect(data.instance.categories).to.deep.equal([ 1, 2 ]) + expect(data.instance.defaultClientRoute).to.equal('/videos/recently-added') expect(data.instance.isNSFW).to.be.true expect(data.instance.defaultNSFWPolicy).to.equal('blur') @@ -190,6 +210,16 @@ describe('Test config', function () { shortDescription: 'my short description', description: 'my super description', terms: 'my super terms', + codeOfConduct: 'my super coc', + + moderationInformation: 'my super moderation information', + administrator: 'Kuja', + maintenanceLifetime: 'forever', + businessModel: 'my super business model', + + languages: [ 'en', 'es' ], + categories: [ 1, 2 ], + defaultClientRoute: '/videos/recently-added', isNSFW: true, defaultNSFWPolicy: 'blur' as 'blur', -- cgit v1.2.3