From b6e55173e28f138187b8743860cf11f67a264377 Mon Sep 17 00:00:00 2001
From: sup39 <dev@sup39.dev>
Date: Sat, 2 Mar 2024 13:13:03 +0900
Subject: [PATCH] refactor (backend): rename meta columns

---
 docs/downgrade.sql                            |  6 +++++
 packages/backend-rs/src/model/entity/meta.rs  |  8 +++---
 .../1705944717480-rename-meta-columns.js      | 27 +++++++++++++++++++
 packages/backend/src/misc/fetch-meta.ts       |  4 +--
 packages/backend/src/models/entities/meta.ts  |  6 ++---
 packages/backend/src/server/api/endpoints.ts  |  4 +--
 .../api/endpoints/admin/accounts/hosted.ts    |  2 +-
 .../src/server/api/endpoints/admin/meta.ts    |  6 ++---
 .../server/api/endpoints/admin/update-meta.ts |  6 ++---
 .../src/server/api/endpoints/custom-motd.ts   |  2 +-
 .../backend/src/server/api/endpoints/meta.ts  |  2 +-
 packages/backend/src/server/nodeinfo.ts       |  2 +-
 .../backend/src/services/drive/add-file.ts    |  2 +-
 packages/backend/src/services/drive/s3.ts     |  6 ++---
 14 files changed, 58 insertions(+), 25 deletions(-)
 create mode 100644 packages/backend/migration/1705944717480-rename-meta-columns.js

diff --git a/docs/downgrade.sql b/docs/downgrade.sql
index 31fa160299..64622c3af7 100644
--- a/docs/downgrade.sql
+++ b/docs/downgrade.sql
@@ -1,6 +1,7 @@
 BEGIN;
 
 DELETE FROM "migrations" WHERE name IN (
+    'RenameMetaColumns1705944717480',
     'SeparateHardMuteWordsAndPatterns1706413792769',
     'IndexAltTextAndCw1708872574733',
     'Pgroonga1698420787202',
@@ -15,6 +16,11 @@ DELETE FROM "migrations" WHERE name IN (
     'RemoveNativeUtilsMigration1705877093218'
 );
 
+-- rename-meta-columns
+ALTER TABLE "meta" RENAME COLUMN "tosUrl" TO "ToSUrl";
+ALTER TABLE "meta" RENAME COLUMN "objectStorageUseSsl" TO "objectStorageUseSSL";
+ALTER TABLE "meta" RENAME COLUMN "customMotd" TO "customMOTD";
+
 -- separate-hard-mute-words-and-patterns
 UPDATE "user_profile" SET "mutedWords" = "mutedWords" || array_to_json("mutedPatterns")::jsonb;
 ALTER TABLE "user_profile" DROP "mutedPatterns";
diff --git a/packages/backend-rs/src/model/entity/meta.rs b/packages/backend-rs/src/model/entity/meta.rs
index e2a5edcaef..f9f8409364 100644
--- a/packages/backend-rs/src/model/entity/meta.rs
+++ b/packages/backend-rs/src/model/entity/meta.rs
@@ -69,8 +69,8 @@ pub struct Model {
     pub sw_private_key: Option<String>,
     #[sea_orm(column_name = "pinnedUsers")]
     pub pinned_users: Vec<String>,
-    #[sea_orm(column_name = "ToSUrl")]
-    pub to_s_url: Option<String>,
+    #[sea_orm(column_name = "tosUrl")]
+    pub tos_url: Option<String>,
     #[sea_orm(column_name = "repositoryUrl")]
     pub repository_url: String,
     #[sea_orm(column_name = "feedbackUrl")]
@@ -93,7 +93,7 @@ pub struct Model {
     pub object_storage_secret_key: Option<String>,
     #[sea_orm(column_name = "objectStoragePort")]
     pub object_storage_port: Option<i32>,
-    #[sea_orm(column_name = "objectStorageUseSSL")]
+    #[sea_orm(column_name = "objectStorageUseSsl")]
     pub object_storage_use_ssl: bool,
     #[sea_orm(column_name = "proxyAccountId")]
     pub proxy_account_id: Option<String>,
@@ -139,7 +139,7 @@ pub struct Model {
     pub enable_ip_logging: bool,
     #[sea_orm(column_name = "enableActiveEmailValidation")]
     pub enable_active_email_validation: bool,
-    #[sea_orm(column_name = "customMOTD")]
+    #[sea_orm(column_name = "customMotd")]
     pub custom_motd: Vec<String>,
     #[sea_orm(column_name = "customSplashIcons")]
     pub custom_splash_icons: Vec<String>,
diff --git a/packages/backend/migration/1705944717480-rename-meta-columns.js b/packages/backend/migration/1705944717480-rename-meta-columns.js
new file mode 100644
index 0000000000..37d3b35786
--- /dev/null
+++ b/packages/backend/migration/1705944717480-rename-meta-columns.js
@@ -0,0 +1,27 @@
+export class RenameMetaColumns1705944717480 {
+	name = "RenameMetaColumns1705944717480";
+
+	async up(queryRunner) {
+		await queryRunner.query(
+			`ALTER TABLE "meta" RENAME COLUMN "customMOTD" TO "customMotd"`,
+		);
+		await queryRunner.query(
+			`ALTER TABLE "meta" RENAME COLUMN "objectStorageUseSSL" TO "objectStorageUseSsl"`,
+		);
+		await queryRunner.query(
+			`ALTER TABLE "meta" RENAME COLUMN "ToSUrl" TO "tosUrl"`,
+		);
+	}
+
+	async down(queryRunner) {
+		await queryRunner.query(
+			`ALTER TABLE "meta" RENAME COLUMN "tosUrl" TO "ToSUrl"`,
+		);
+		await queryRunner.query(
+			`ALTER TABLE "meta" RENAME COLUMN "objectStorageUseSsl" TO "objectStorageUseSSL"`,
+		);
+		await queryRunner.query(
+			`ALTER TABLE "meta" RENAME COLUMN "customMotd" TO "customMOTD"`,
+		);
+	}
+}
diff --git a/packages/backend/src/misc/fetch-meta.ts b/packages/backend/src/misc/fetch-meta.ts
index b3a5e30ae4..fdc978b5a3 100644
--- a/packages/backend/src/misc/fetch-meta.ts
+++ b/packages/backend/src/misc/fetch-meta.ts
@@ -5,8 +5,8 @@ let cache: Meta;
 
 export function metaToPugArgs(meta: Meta): object {
 	let motd = ["Loading..."];
-	if (meta.customMOTD.length > 0) {
-		motd = meta.customMOTD;
+	if (meta.customMotd.length > 0) {
+		motd = meta.customMotd;
 	}
 	let splashIconUrl = meta.iconUrl;
 	if (meta.customSplashIcons.length > 0) {
diff --git a/packages/backend/src/models/entities/meta.ts b/packages/backend/src/models/entities/meta.ts
index aebe97c437..6030a969cc 100644
--- a/packages/backend/src/models/entities/meta.ts
+++ b/packages/backend/src/models/entities/meta.ts
@@ -98,7 +98,7 @@ export class Meta {
 		array: true,
 		default: "{}",
 	})
-	public customMOTD: string[];
+	public customMotd: string[];
 
 	@Column("varchar", {
 		length: 256,
@@ -359,7 +359,7 @@ export class Meta {
 		length: 512,
 		nullable: true,
 	})
-	public ToSUrl: string | null;
+	public tosUrl: string | null;
 
 	@Column("jsonb", {
 		default: [],
@@ -448,7 +448,7 @@ export class Meta {
 	@Column("boolean", {
 		default: true,
 	})
-	public objectStorageUseSSL: boolean;
+	public objectStorageUseSsl: boolean;
 
 	@Column("boolean", {
 		default: true,
diff --git a/packages/backend/src/server/api/endpoints.ts b/packages/backend/src/server/api/endpoints.ts
index fa029c1f4a..52dd3382f7 100644
--- a/packages/backend/src/server/api/endpoints.ts
+++ b/packages/backend/src/server/api/endpoints.ts
@@ -282,7 +282,7 @@ import * as ep___pages_update from "./endpoints/pages/update.js";
 import * as ep___ping from "./endpoints/ping.js";
 import * as ep___recommendedInstances from "./endpoints/recommended-instances.js";
 import * as ep___pinnedUsers from "./endpoints/pinned-users.js";
-import * as ep___customMOTD from "./endpoints/custom-motd.js";
+import * as ep___customMotd from "./endpoints/custom-motd.js";
 import * as ep___customSplashIcons from "./endpoints/custom-splash-icons.js";
 import * as ep___latestVersion from "./endpoints/latest-version.js";
 import * as ep___patrons from "./endpoints/patrons.js";
@@ -631,7 +631,7 @@ const eps = [
 	["reply-mute/create", ep___reply_mute_create],
 	["reply-mute/delete", ep___reply_mute_delete],
 	["reply-mute/list", ep___reply_mute_list],
-	["custom-motd", ep___customMOTD],
+	["custom-motd", ep___customMotd],
 	["custom-splash-icons", ep___customSplashIcons],
 	["latest-version", ep___latestVersion],
 	["patrons", ep___patrons],
diff --git a/packages/backend/src/server/api/endpoints/admin/accounts/hosted.ts b/packages/backend/src/server/api/endpoints/admin/accounts/hosted.ts
index 601cd95003..fd4ad9401a 100644
--- a/packages/backend/src/server/api/endpoints/admin/accounts/hosted.ts
+++ b/packages/backend/src/server/api/endpoints/admin/accounts/hosted.ts
@@ -89,7 +89,7 @@ export default define(meta, paramDef, async (ps, me) => {
 				set.objectStorageSecretKey = config.objectStorage.secretKey;
 			}
 			if (typeof config.objectStorage.useSsl === "boolean") {
-				set.objectStorageUseSSL = config.objectStorage.useSsl;
+				set.objectStorageUseSsl = config.objectStorage.useSsl;
 			}
 			if (typeof config.objectStorage.connnectOverProxy === "boolean") {
 				set.objectStorageUseProxy = config.objectStorage.connnectOverProxy;
diff --git a/packages/backend/src/server/api/endpoints/admin/meta.ts b/packages/backend/src/server/api/endpoints/admin/meta.ts
index bb86042b0c..a504055065 100644
--- a/packages/backend/src/server/api/endpoints/admin/meta.ts
+++ b/packages/backend/src/server/api/endpoints/admin/meta.ts
@@ -471,7 +471,7 @@ export default define(meta, paramDef, async () => {
 		uri: config.url,
 		description: instance.description,
 		langs: instance.langs,
-		tosUrl: instance.ToSUrl,
+		tosUrl: instance.tosUrl,
 		moreUrls: instance.moreUrls,
 		repositoryUrl: instance.repositoryUrl,
 		feedbackUrl: instance.feedbackUrl,
@@ -509,7 +509,7 @@ export default define(meta, paramDef, async () => {
 		defaultReaction: instance.defaultReaction,
 		recommendedInstances: instance.recommendedInstances,
 		pinnedUsers: instance.pinnedUsers,
-		customMOTD: instance.customMOTD,
+		customMOTD: instance.customMotd,
 		customSplashIcons: instance.customSplashIcons,
 		hiddenTags: instance.hiddenTags,
 		blockedHosts: instance.blockedHosts,
@@ -537,7 +537,7 @@ export default define(meta, paramDef, async () => {
 		objectStoragePort: instance.objectStoragePort,
 		objectStorageAccessKey: instance.objectStorageAccessKey,
 		objectStorageSecretKey: instance.objectStorageSecretKey,
-		objectStorageUseSSL: instance.objectStorageUseSSL,
+		objectStorageUseSSL: instance.objectStorageUseSsl,
 		objectStorageUseProxy: instance.objectStorageUseProxy,
 		objectStorageSetPublicRead: instance.objectStorageSetPublicRead,
 		objectStorageS3ForcePathStyle: instance.objectStorageS3ForcePathStyle,
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 955a1d95d5..f0e831924a 100644
--- a/packages/backend/src/server/api/endpoints/admin/update-meta.ts
+++ b/packages/backend/src/server/api/endpoints/admin/update-meta.ts
@@ -220,7 +220,7 @@ export default define(meta, paramDef, async (ps, me) => {
 	}
 
 	if (Array.isArray(ps.customMOTD)) {
-		set.customMOTD = ps.customMOTD.filter(Boolean);
+		set.customMotd = ps.customMOTD.filter(Boolean);
 	}
 
 	if (Array.isArray(ps.customSplashIcons)) {
@@ -431,7 +431,7 @@ export default define(meta, paramDef, async (ps, me) => {
 	}
 
 	if (ps.tosUrl !== undefined) {
-		set.ToSUrl = ps.tosUrl;
+		set.tosUrl = ps.tosUrl;
 	}
 
 	if (ps.moreUrls !== undefined) {
@@ -487,7 +487,7 @@ export default define(meta, paramDef, async (ps, me) => {
 	}
 
 	if (ps.objectStorageUseSSL !== undefined) {
-		set.objectStorageUseSSL = ps.objectStorageUseSSL;
+		set.objectStorageUseSsl = ps.objectStorageUseSSL;
 	}
 
 	if (ps.objectStorageUseProxy !== undefined) {
diff --git a/packages/backend/src/server/api/endpoints/custom-motd.ts b/packages/backend/src/server/api/endpoints/custom-motd.ts
index d61b31fed6..2939355b94 100644
--- a/packages/backend/src/server/api/endpoints/custom-motd.ts
+++ b/packages/backend/src/server/api/endpoints/custom-motd.ts
@@ -28,6 +28,6 @@ export const paramDef = {
 
 export default define(meta, paramDef, async () => {
 	const meta = await fetchMeta();
-	const motd = await Promise.all(meta.customMOTD.map((x) => x));
+	const motd = await Promise.all(meta.customMotd.map((x) => x));
 	return motd;
 });
diff --git a/packages/backend/src/server/api/endpoints/meta.ts b/packages/backend/src/server/api/endpoints/meta.ts
index bdfcd30dd9..68a7008405 100644
--- a/packages/backend/src/server/api/endpoints/meta.ts
+++ b/packages/backend/src/server/api/endpoints/meta.ts
@@ -425,7 +425,7 @@ export default define(meta, paramDef, async (ps, me) => {
 		uri: config.url,
 		description: instance.description,
 		langs: instance.langs,
-		tosUrl: instance.ToSUrl,
+		tosUrl: instance.tosUrl,
 		moreUrls: instance.moreUrls,
 		repositoryUrl: instance.repositoryUrl,
 		feedbackUrl: instance.feedbackUrl,
diff --git a/packages/backend/src/server/nodeinfo.ts b/packages/backend/src/server/nodeinfo.ts
index 73266f26a7..a05992da59 100644
--- a/packages/backend/src/server/nodeinfo.ts
+++ b/packages/backend/src/server/nodeinfo.ts
@@ -74,7 +74,7 @@ const nodeinfo2 = async () => {
 				email: meta.maintainerEmail,
 			},
 			langs: meta.langs,
-			tosUrl: meta.ToSUrl,
+			tosUrl: meta.tosUrl,
 			repositoryUrl: meta.repositoryUrl,
 			feedbackUrl: meta.feedbackUrl,
 			disableRegistration: meta.disableRegistration,
diff --git a/packages/backend/src/services/drive/add-file.ts b/packages/backend/src/services/drive/add-file.ts
index 404583861c..194e4e90f0 100644
--- a/packages/backend/src/services/drive/add-file.ts
+++ b/packages/backend/src/services/drive/add-file.ts
@@ -100,7 +100,7 @@ async function save(
 
 		const baseUrl = new URL(
 			meta.objectStorageBaseUrl ?? `/${meta.objectStorageBucket}`,
-			`${meta.objectStorageUseSSL ? "https" : "http"}://${
+			`${meta.objectStorageUseSsl ? "https" : "http"}://${
 				meta.objectStorageEndpoint
 			}${meta.objectStoragePort ? `:${meta.objectStoragePort}` : ""}`,
 		);
diff --git a/packages/backend/src/services/drive/s3.ts b/packages/backend/src/services/drive/s3.ts
index 8886309222..a8b51ee3f8 100644
--- a/packages/backend/src/services/drive/s3.ts
+++ b/packages/backend/src/services/drive/s3.ts
@@ -7,10 +7,10 @@ import { inspect } from "node:util";
 export function getS3(meta: Meta) {
 	const u =
 		meta.objectStorageEndpoint != null
-			? `${meta.objectStorageUseSSL ? "https://" : "http://"}${
+			? `${meta.objectStorageUseSsl ? "https://" : "http://"}${
 					meta.objectStorageEndpoint
 			  }`
-			: `${meta.objectStorageUseSSL ? "https://" : "http://"}example.net`;
+			: `${meta.objectStorageUseSsl ? "https://" : "http://"}example.net`;
 
 	try {
 		return new S3({
@@ -18,7 +18,7 @@ export function getS3(meta: Meta) {
 			accessKeyId: meta.objectStorageAccessKey!,
 			secretAccessKey: meta.objectStorageSecretKey!,
 			region: meta.objectStorageRegion || undefined,
-			sslEnabled: meta.objectStorageUseSSL,
+			sslEnabled: meta.objectStorageUseSsl,
 			s3ForcePathStyle: !meta.objectStorageEndpoint // AWS with endPoint omitted
 				? false
 				: meta.objectStorageS3ForcePathStyle,