summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints/admin/get-index-stats.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/backend/src/server/api/endpoints/admin/get-index-stats.ts')
-rw-r--r--packages/backend/src/server/api/endpoints/admin/get-index-stats.ts34
1 files changed, 22 insertions, 12 deletions
diff --git a/packages/backend/src/server/api/endpoints/admin/get-index-stats.ts b/packages/backend/src/server/api/endpoints/admin/get-index-stats.ts
index dd16473f30..e53d0bfcea 100644
--- a/packages/backend/src/server/api/endpoints/admin/get-index-stats.ts
+++ b/packages/backend/src/server/api/endpoints/admin/get-index-stats.ts
@@ -1,5 +1,7 @@
-import define from '../../define.js';
-import { db } from '@/db/postgre.js';
+import { Inject, Injectable } from '@nestjs/common';
+import { DataSource } from 'typeorm';
+import { Endpoint } from '@/server/api/endpoint-base.js';
+import { DI } from '@/di-symbols.js';
export const meta = {
requireCredential: true,
@@ -15,14 +17,22 @@ export const paramDef = {
} as const;
// eslint-disable-next-line import/no-default-export
-export default define(meta, paramDef, async () => {
- const stats = await db.query(`SELECT * FROM pg_indexes;`).then(recs => {
- const res = [] as { tablename: string; indexname: string; }[];
- for (const rec of recs) {
- res.push(rec);
- }
- return res;
- });
+@Injectable()
+export default class extends Endpoint<typeof meta, typeof paramDef> {
+ constructor(
+ @Inject(DI.db)
+ private db: DataSource,
+ ) {
+ super(meta, paramDef, async () => {
+ const stats = await this.db.query('SELECT * FROM pg_indexes;').then(recs => {
+ const res = [] as { tablename: string; indexname: string; }[];
+ for (const rec of recs) {
+ res.push(rec);
+ }
+ return res;
+ });
- return stats;
-});
+ return stats;
+ });
+ }
+}