/* * SPDX-FileCopyrightText: syuilo and misskey-project * SPDX-License-Identifier: AGPL-3.0-only */ import { Injectable } from '@nestjs/common'; import { Endpoint } from '@/server/api/endpoint-base.js'; import { TimeService } from '@/core/TimeService.js'; export const meta = { requireCredential: false, tags: ['meta'], res: { type: 'object', optional: false, nullable: false, properties: { pong: { type: 'number', optional: false, nullable: false, }, }, }, // 3 calls per second limit: { duration: 1000, max: 3, }, } as const; export const paramDef = { type: 'object', properties: {}, required: [], } as const; @Injectable() export default class extends Endpoint { // eslint-disable-line import/no-default-export constructor( private readonly timeService: TimeService, ) { super(meta, paramDef, async () => { return { pong: this.timeService.now, }; }); } }