summaryrefslogtreecommitdiff
path: root/packages/backend
diff options
context:
space:
mode:
authorNila The Dragon <nilathedragon@pm.me>2024-01-09 21:32:47 +0100
committerNila The Dragon <nilathedragon@pm.me>2024-01-09 21:32:47 +0100
commit9ceb74b98d4f96d3b11e70d8a5e7293c2ae86618 (patch)
tree93a2317d6205862f3c99501f83b540f38a5eeab0 /packages/backend
parentmerge: upstream (diff)
downloadsharkey-9ceb74b98d4f96d3b11e70d8a5e7293c2ae86618.tar.gz
sharkey-9ceb74b98d4f96d3b11e70d8a5e7293c2ae86618.tar.bz2
sharkey-9ceb74b98d4f96d3b11e70d8a5e7293c2ae86618.zip
feat: Implement Donation URL
Diffstat (limited to 'packages/backend')
-rw-r--r--packages/backend/migration/1704744370000-add-donation-url.js10
-rw-r--r--packages/backend/src/models/Meta.ts6
-rw-r--r--packages/backend/src/server/NodeinfoServerService.ts13
-rw-r--r--packages/backend/src/server/api/endpoints/admin/meta.ts5
-rw-r--r--packages/backend/src/server/api/endpoints/admin/update-meta.ts5
-rw-r--r--packages/backend/src/server/api/endpoints/meta.ts5
6 files changed, 38 insertions, 6 deletions
diff --git a/packages/backend/migration/1704744370000-add-donation-url.js b/packages/backend/migration/1704744370000-add-donation-url.js
new file mode 100644
index 0000000000..c953b13cc9
--- /dev/null
+++ b/packages/backend/migration/1704744370000-add-donation-url.js
@@ -0,0 +1,10 @@
+export class AddDonationUrl1704744370000 {
+ name = 'AddDonationUrl1704744370000'
+
+ async up(queryRunner) {
+ await queryRunner.query(`ALTER TABLE "meta" ADD "donationUrl" character varying(1024)`);
+ }
+ async down(queryRunner) {
+ await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "donationUrl"`);
+ }
+}
diff --git a/packages/backend/src/models/Meta.ts b/packages/backend/src/models/Meta.ts
index e7f7458c19..6d5c4b3746 100644
--- a/packages/backend/src/models/Meta.ts
+++ b/packages/backend/src/models/Meta.ts
@@ -386,6 +386,12 @@ export class MiMeta {
public privacyPolicyUrl: string | null;
@Column('varchar', {
+ length: 1024,
+ nullable: true,
+ })
+ public donationUrl: string | null;
+
+ @Column('varchar', {
length: 8192,
nullable: true,
})
diff --git a/packages/backend/src/server/NodeinfoServerService.ts b/packages/backend/src/server/NodeinfoServerService.ts
index 31479269b9..1356ec6ec1 100644
--- a/packages/backend/src/server/NodeinfoServerService.ts
+++ b/packages/backend/src/server/NodeinfoServerService.ts
@@ -36,12 +36,12 @@ export class NodeinfoServerService {
@bindThis
public getLinks() {
return [{
- rel: 'http://nodeinfo.diaspora.software/ns/schema/2.1',
- href: this.config.url + nodeinfo2_1path
- }, {
- rel: 'http://nodeinfo.diaspora.software/ns/schema/2.0',
- href: this.config.url + nodeinfo2_0path,
- }];
+ rel: 'http://nodeinfo.diaspora.software/ns/schema/2.1',
+ href: this.config.url + nodeinfo2_1path,
+ }, {
+ rel: 'http://nodeinfo.diaspora.software/ns/schema/2.0',
+ href: this.config.url + nodeinfo2_0path,
+ }];
}
@bindThis
@@ -108,6 +108,7 @@ export class NodeinfoServerService {
tosUrl: meta.termsOfServiceUrl,
privacyPolicyUrl: meta.privacyPolicyUrl,
impressumUrl: meta.impressumUrl,
+ donationUrl: meta.donationUrl,
repositoryUrl: meta.repositoryUrl,
feedbackUrl: meta.feedbackUrl,
disableRegistration: meta.disableRegistration,
diff --git a/packages/backend/src/server/api/endpoints/admin/meta.ts b/packages/backend/src/server/api/endpoints/admin/meta.ts
index 66b6799ed1..9fe997f889 100644
--- a/packages/backend/src/server/api/endpoints/admin/meta.ts
+++ b/packages/backend/src/server/api/endpoints/admin/meta.ts
@@ -415,6 +415,10 @@ export const meta = {
type: 'string',
optional: false, nullable: true,
},
+ donationUrl: {
+ type: 'string',
+ optional: false, nullable: true,
+ },
maintainerEmail: {
type: 'string',
optional: false, nullable: true,
@@ -498,6 +502,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
repositoryUrl: instance.repositoryUrl,
feedbackUrl: instance.feedbackUrl,
impressumUrl: instance.impressumUrl,
+ donationUrl: instance.donationUrl,
privacyPolicyUrl: instance.privacyPolicyUrl,
disableRegistration: instance.disableRegistration,
emailRequiredForSignup: instance.emailRequiredForSignup,
diff --git a/packages/backend/src/server/api/endpoints/admin/update-meta.ts b/packages/backend/src/server/api/endpoints/admin/update-meta.ts
index 05d2cd61ca..786a628d60 100644
--- a/packages/backend/src/server/api/endpoints/admin/update-meta.ts
+++ b/packages/backend/src/server/api/endpoints/admin/update-meta.ts
@@ -105,6 +105,7 @@ export const paramDef = {
repositoryUrl: { type: 'string' },
feedbackUrl: { type: 'string' },
impressumUrl: { type: 'string', nullable: true },
+ donationUrl: { type: 'string', nullable: true },
privacyPolicyUrl: { type: 'string', nullable: true },
useObjectStorage: { type: 'boolean' },
objectStorageBaseUrl: { type: 'string', nullable: true },
@@ -406,6 +407,10 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
set.impressumUrl = ps.impressumUrl;
}
+ if (ps.donationUrl !== undefined) {
+ set.donationUrl = ps.donationUrl;
+ }
+
if (ps.privacyPolicyUrl !== undefined) {
set.privacyPolicyUrl = ps.privacyPolicyUrl;
}
diff --git a/packages/backend/src/server/api/endpoints/meta.ts b/packages/backend/src/server/api/endpoints/meta.ts
index 9d2ae8369c..af779aa850 100644
--- a/packages/backend/src/server/api/endpoints/meta.ts
+++ b/packages/backend/src/server/api/endpoints/meta.ts
@@ -291,6 +291,10 @@ export const meta = {
type: 'string',
optional: false, nullable: true,
},
+ donationUrl: {
+ type: 'string',
+ optional: false, nullable: true,
+ },
logoImageUrl: {
type: 'string',
optional: false, nullable: true,
@@ -365,6 +369,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
repositoryUrl: instance.repositoryUrl,
feedbackUrl: instance.feedbackUrl,
impressumUrl: instance.impressumUrl,
+ donationUrl: instance.donationUrl,
privacyPolicyUrl: instance.privacyPolicyUrl,
disableRegistration: instance.disableRegistration,
emailRequiredForSignup: instance.emailRequiredForSignup,