import * as os from 'node:os'; import si from 'systeminformation'; import { Inject, Injectable } from '@nestjs/common'; import { Endpoint } from '@/server/api/endpoint-base.js'; export const meta = { requireCredential: false, tags: ['meta'], } as const; export const paramDef = { type: 'object', properties: {}, required: [], } as const; // eslint-disable-next-line import/no-default-export @Injectable() export default class extends Endpoint { constructor( ) { super(meta, paramDef, async () => { const memStats = await si.mem(); const fsStats = await si.fsSize(); return { machine: os.hostname(), cpu: { model: os.cpus()[0].model, cores: os.cpus().length, }, mem: { total: memStats.total, }, fs: { total: fsStats[0].size, used: fsStats[0].used, }, }; }); } }