From 013f44b2bd56a8656efb4ca220d1eec372eb2cdf Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 7 Nov 2025 16:25:04 +0000 Subject: [PATCH] Address code review feedback - extract constants and utility functions Co-authored-by: whyour <22700758+whyour@users.noreply.github.com> --- back/api/dependence.ts | 11 +- back/api/script.ts | 7 +- back/app.ts | 29 +- back/config/index.ts | 1 + back/config/share.ts | 2 +- back/data/cron.ts | 2 +- back/data/open.ts | 8 +- back/data/system.ts | 4 + back/loaders/deps.ts | 4 +- back/loaders/express.ts | 27 +- back/loaders/sock.ts | 51 +- back/protos/api.ts | 1220 ++++++++++++----- back/protos/cron.ts | 244 +++- back/protos/health.ts | 169 ++- back/schedule/api.ts | 3 +- back/schedule/delCron.ts | 7 +- back/schedule/health.ts | 4 +- back/services/dependence.ts | 2 +- back/services/metrics.ts | 29 +- back/services/sock.ts | 2 +- back/services/system.ts | 30 +- back/services/user.ts | 79 +- back/shared/auth.ts | 41 + back/types/express.d.ts | 2 +- nodemon.json | 7 +- sample/notify.js | 14 +- src/app.ts | 16 +- src/pages/config/index.tsx | 2 +- src/pages/crontab/logModal.tsx | 46 +- src/pages/crontab/modal.tsx | 1 - src/pages/dependence/type.ts | 2 +- src/pages/diff/index.tsx | 8 +- src/pages/env/editNameModal.tsx | 6 +- .../UnsupportedFilePreview/index.module.less | 2 +- .../UnsupportedFilePreview/index.tsx | 10 +- src/pages/setting/checkUpdate.tsx | 82 +- src/pages/setting/notification.tsx | 8 +- src/pages/setting/security.tsx | 4 +- src/utils/monaco/index.ts | 112 +- src/utils/websocket.ts | 17 +- 40 files changed, 1537 insertions(+), 778 deletions(-) create mode 100644 back/shared/auth.ts diff --git a/back/api/dependence.ts b/back/api/dependence.ts index 2d9dc465..5ee1b971 100644 --- a/back/api/dependence.ts +++ b/back/api/dependence.ts @@ -11,12 +11,11 @@ export default (app: Router) => { route.get( '/', celebrate({ - query: - Joi.object({ - searchValue: Joi.string().optional().allow(''), - type: Joi.string().optional().allow(''), - status: Joi.string().optional().allow(''), - }), + query: Joi.object({ + searchValue: Joi.string().optional().allow(''), + type: Joi.string().optional().allow(''), + status: Joi.string().optional().allow(''), + }), }), async (req: Request, res: Response, next: NextFunction) => { const logger: Logger = Container.get('logger'); diff --git a/back/api/script.ts b/back/api/script.ts index 419ace4a..de9169c0 100644 --- a/back/api/script.ts +++ b/back/api/script.ts @@ -71,7 +71,8 @@ export default (app: Router) => { logger.error('🔥 error: %o', e); return next(e); } - }); + }, + ); route.get( '/detail', @@ -85,7 +86,7 @@ export default (app: Router) => { try { const scriptService = Container.get(ScriptService); const content = await scriptService.getFile( - req.query?.path as string || '', + (req.query?.path as string) || '', req.query.file as string, ); res.send({ code: 200, data: content }); @@ -109,7 +110,7 @@ export default (app: Router) => { try { const scriptService = Container.get(ScriptService); const content = await scriptService.getFile( - req.query?.path as string || '', + (req.query?.path as string) || '', req.params.file, ); res.send({ code: 200, data: content }); diff --git a/back/app.ts b/back/app.ts index 0859140c..87ea1a2e 100644 --- a/back/app.ts +++ b/back/app.ts @@ -28,12 +28,18 @@ class Application { constructor() { this.app = express(); // 创建一个全局中间件,删除查询参数中的t - this.app.use((req: express.Request, res: express.Response, next: express.NextFunction) => { - if (req.query.t) { - delete req.query.t; - } - next(); - }); + this.app.use( + ( + req: express.Request, + res: express.Response, + next: express.NextFunction, + ) => { + if (req.query.t) { + delete req.query.t; + } + next(); + }, + ); } async start() { @@ -61,7 +67,8 @@ class Application { if (metadata) { if (!this.isShuttingDown) { Logger.error( - `${metadata.serviceType} worker ${worker.process.pid} died (${signal || code + `${metadata.serviceType} worker ${worker.process.pid} died (${ + signal || code }). Restarting...`, ); const newWorker = this.forkWorker(metadata.serviceType); @@ -96,9 +103,11 @@ class Application { } private setupMiddlewares() { - this.app.use(helmet({ - contentSecurityPolicy: false, - })); + this.app.use( + helmet({ + contentSecurityPolicy: false, + }), + ); this.app.use(cors(config.cors)); this.app.use(compression()); this.app.use(monitoringMiddleware); diff --git a/back/config/index.ts b/back/config/index.ts index 7e4d1623..76eb08c6 100644 --- a/back/config/index.ts +++ b/back/config/index.ts @@ -176,4 +176,5 @@ export default { sshdPath, systemLogPath, dependenceCachePath, + maxTokensPerPlatform: 10, // Maximum number of concurrent sessions per platform }; diff --git a/back/config/share.ts b/back/config/share.ts index 8577feea..f997a417 100644 --- a/back/config/share.ts +++ b/back/config/share.ts @@ -81,4 +81,4 @@ export function createRandomString(min: number, max: number): string { } return newArr.join(''); -} \ No newline at end of file +} diff --git a/back/data/cron.ts b/back/data/cron.ts index b234d59c..30124029 100644 --- a/back/data/cron.ts +++ b/back/data/cron.ts @@ -55,7 +55,7 @@ export enum CrontabStatus { 'disabled', } -export interface CronInstance extends Model, Crontab { } +export interface CronInstance extends Model, Crontab {} export const CrontabModel = sequelize.define('Crontab', { name: { unique: 'compositeIndex', diff --git a/back/data/open.ts b/back/data/open.ts index 2c0ba9aa..1b552850 100644 --- a/back/data/open.ts +++ b/back/data/open.ts @@ -24,7 +24,13 @@ export interface AppToken { expiration: number; } -export type AppScope = 'envs' | 'crons' | 'configs' | 'scripts' | 'logs' | 'system'; +export type AppScope = + | 'envs' + | 'crons' + | 'configs' + | 'scripts' + | 'logs' + | 'system'; export interface AppInstance extends Model, App {} export const AppModel = sequelize.define('App', { diff --git a/back/data/system.ts b/back/data/system.ts index 87469fa8..84b6aae2 100644 --- a/back/data/system.ts +++ b/back/data/system.ts @@ -54,6 +54,10 @@ export interface TokenInfo { ip: string; address: string; platform: string; + /** + * Token expiration time in seconds since Unix epoch. + * If undefined, the token uses JWT's built-in expiration. + */ expiration?: number; } diff --git a/back/loaders/deps.ts b/back/loaders/deps.ts index 767b9dfd..4b2e5440 100644 --- a/back/loaders/deps.ts +++ b/back/loaders/deps.ts @@ -13,7 +13,7 @@ async function linkToNodeModule(src: string, dst?: string) { if (!stats) { await fs.symlink(source, target, 'dir'); } - } catch (error) { } + } catch (error) {} } async function linkCommand() { @@ -41,7 +41,7 @@ async function linkCommand() { if (stats) { await fs.unlink(tmpTarget); } - } catch (error) { } + } catch (error) {} await fs.symlink(source, tmpTarget); await fs.rename(tmpTarget, target); } diff --git a/back/loaders/express.ts b/back/loaders/express.ts index ae672717..f7d4a65b 100644 --- a/back/loaders/express.ts +++ b/back/loaders/express.ts @@ -9,6 +9,7 @@ import rewrite from 'express-urlrewrite'; import { errors } from 'celebrate'; import { serveEnv } from '../config/serverEnv'; import { IKeyvStore, shareStore } from '../shared/store'; +import { isValidToken } from '../shared/auth'; import path from 'path'; export default ({ app }: { app: Application }) => { @@ -77,30 +78,8 @@ export default ({ app }: { app: Application }) => { } const authInfo = await shareStore.getAuthInfo(); - if (authInfo && headerToken) { - const { token = '', tokens = {} } = authInfo; - - // Check legacy token field - if (headerToken === token) { - return next(); - } - - // Check platform-specific tokens (support both legacy string and new TokenInfo[] format) - const platformTokens = tokens[req.platform]; - if (platformTokens) { - if (typeof platformTokens === 'string') { - // Legacy format: single string token - if (headerToken === platformTokens) { - return next(); - } - } else if (Array.isArray(platformTokens)) { - // New format: array of TokenInfo objects - const tokenExists = platformTokens.some((t) => t.value === headerToken); - if (tokenExists) { - return next(); - } - } - } + if (isValidToken(authInfo, headerToken, req.platform)) { + return next(); } const errorCode = headerToken ? 'invalid_token' : 'credentials_required'; diff --git a/back/loaders/sock.ts b/back/loaders/sock.ts index 7a202f0f..2d1eb8a7 100644 --- a/back/loaders/sock.ts +++ b/back/loaders/sock.ts @@ -4,6 +4,7 @@ import { Container } from 'typedi'; import SockService from '../services/sock'; import { getPlatform } from '../config/util'; import { shareStore } from '../shared/store'; +import { isValidToken } from '../shared/auth'; export default async ({ server }: { server: Server }) => { const echo = sockJs.createServer({ prefix: '/api/ws', log: () => {} }); @@ -17,51 +18,19 @@ export default async ({ server }: { server: Server }) => { const authInfo = await shareStore.getAuthInfo(); const platform = getPlatform(conn.headers['user-agent'] || '') || 'desktop'; const headerToken = conn.url.replace(`${conn.pathname}?token=`, ''); - if (authInfo) { - const { token = '', tokens = {} } = authInfo; - - // Check legacy token field - if (headerToken === token) { - sockService.addClient(conn); - conn.on('data', (message) => { - conn.write(message); - }); + if (isValidToken(authInfo, headerToken, platform)) { + sockService.addClient(conn); - conn.on('close', function () { - sockService.removeClient(conn); - }); + conn.on('data', (message) => { + conn.write(message); + }); - return; - } - - // Check platform-specific tokens (support both legacy string and new TokenInfo[] format) - const platformTokens = tokens[platform]; - if (platformTokens) { - let isValidToken = false; - - if (typeof platformTokens === 'string') { - // Legacy format: single string token - isValidToken = headerToken === platformTokens; - } else if (Array.isArray(platformTokens)) { - // New format: array of TokenInfo objects - isValidToken = platformTokens.some((t) => t.value === headerToken); - } - - if (isValidToken) { - sockService.addClient(conn); + conn.on('close', function () { + sockService.removeClient(conn); + }); - conn.on('data', (message) => { - conn.write(message); - }); - - conn.on('close', function () { - sockService.removeClient(conn); - }); - - return; - } - } + return; } conn.close('404'); diff --git a/back/protos/api.ts b/back/protos/api.ts index 9a7fb443..24ded95f 100644 --- a/back/protos/api.ts +++ b/back/protos/api.ts @@ -5,7 +5,7 @@ // source: back/protos/api.proto /* eslint-disable */ -import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; +import { BinaryReader, BinaryWriter } from '@bufbuild/protobuf/wire'; import { type CallOptions, ChannelCredentials, @@ -17,9 +17,9 @@ import { Metadata, type ServiceError, type UntypedServiceImplementation, -} from "@grpc/grpc-js"; +} from '@grpc/grpc-js'; -export const protobufPackage = "com.ql.api"; +export const protobufPackage = 'com.ql.api'; export enum NotificationMode { gotify = 0, @@ -49,70 +49,70 @@ export enum NotificationMode { export function notificationModeFromJSON(object: any): NotificationMode { switch (object) { case 0: - case "gotify": + case 'gotify': return NotificationMode.gotify; case 1: - case "goCqHttpBot": + case 'goCqHttpBot': return NotificationMode.goCqHttpBot; case 2: - case "serverChan": + case 'serverChan': return NotificationMode.serverChan; case 3: - case "pushDeer": + case 'pushDeer': return NotificationMode.pushDeer; case 4: - case "bark": + case 'bark': return NotificationMode.bark; case 5: - case "chat": + case 'chat': return NotificationMode.chat; case 6: - case "telegramBot": + case 'telegramBot': return NotificationMode.telegramBot; case 7: - case "dingtalkBot": + case 'dingtalkBot': return NotificationMode.dingtalkBot; case 8: - case "weWorkBot": + case 'weWorkBot': return NotificationMode.weWorkBot; case 9: - case "weWorkApp": + case 'weWorkApp': return NotificationMode.weWorkApp; case 10: - case "aibotk": + case 'aibotk': return NotificationMode.aibotk; case 11: - case "iGot": + case 'iGot': return NotificationMode.iGot; case 12: - case "pushPlus": + case 'pushPlus': return NotificationMode.pushPlus; case 13: - case "wePlusBot": + case 'wePlusBot': return NotificationMode.wePlusBot; case 14: - case "email": + case 'email': return NotificationMode.email; case 15: - case "pushMe": + case 'pushMe': return NotificationMode.pushMe; case 16: - case "feishu": + case 'feishu': return NotificationMode.feishu; case 17: - case "webhook": + case 'webhook': return NotificationMode.webhook; case 18: - case "chronocat": + case 'chronocat': return NotificationMode.chronocat; case 19: - case "ntfy": + case 'ntfy': return NotificationMode.ntfy; case 20: - case "wxPusherBot": + case 'wxPusherBot': return NotificationMode.wxPusherBot; case -1: - case "UNRECOGNIZED": + case 'UNRECOGNIZED': default: return NotificationMode.UNRECOGNIZED; } @@ -121,50 +121,50 @@ export function notificationModeFromJSON(object: any): NotificationMode { export function notificationModeToJSON(object: NotificationMode): string { switch (object) { case NotificationMode.gotify: - return "gotify"; + return 'gotify'; case NotificationMode.goCqHttpBot: - return "goCqHttpBot"; + return 'goCqHttpBot'; case NotificationMode.serverChan: - return "serverChan"; + return 'serverChan'; case NotificationMode.pushDeer: - return "pushDeer"; + return 'pushDeer'; case NotificationMode.bark: - return "bark"; + return 'bark'; case NotificationMode.chat: - return "chat"; + return 'chat'; case NotificationMode.telegramBot: - return "telegramBot"; + return 'telegramBot'; case NotificationMode.dingtalkBot: - return "dingtalkBot"; + return 'dingtalkBot'; case NotificationMode.weWorkBot: - return "weWorkBot"; + return 'weWorkBot'; case NotificationMode.weWorkApp: - return "weWorkApp"; + return 'weWorkApp'; case NotificationMode.aibotk: - return "aibotk"; + return 'aibotk'; case NotificationMode.iGot: - return "iGot"; + return 'iGot'; case NotificationMode.pushPlus: - return "pushPlus"; + return 'pushPlus'; case NotificationMode.wePlusBot: - return "wePlusBot"; + return 'wePlusBot'; case NotificationMode.email: - return "email"; + return 'email'; case NotificationMode.pushMe: - return "pushMe"; + return 'pushMe'; case NotificationMode.feishu: - return "feishu"; + return 'feishu'; case NotificationMode.webhook: - return "webhook"; + return 'webhook'; case NotificationMode.chronocat: - return "chronocat"; + return 'chronocat'; case NotificationMode.ntfy: - return "ntfy"; + return 'ntfy'; case NotificationMode.wxPusherBot: - return "wxPusherBot"; + return 'wxPusherBot'; case NotificationMode.UNRECOGNIZED: default: - return "UNRECOGNIZED"; + return 'UNRECOGNIZED'; } } @@ -392,7 +392,10 @@ function createBaseEnvItem(): EnvItem { } export const EnvItem: MessageFns = { - encode(message: EnvItem, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode( + message: EnvItem, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { if (message.id !== undefined) { writer.uint32(8).int32(message.id); } @@ -415,7 +418,8 @@ export const EnvItem: MessageFns = { }, decode(input: BinaryReader | Uint8Array, length?: number): EnvItem { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseEnvItem(); while (reader.pos < end) { @@ -483,9 +487,15 @@ export const EnvItem: MessageFns = { id: isSet(object.id) ? globalThis.Number(object.id) : undefined, name: isSet(object.name) ? globalThis.String(object.name) : undefined, value: isSet(object.value) ? globalThis.String(object.value) : undefined, - remarks: isSet(object.remarks) ? globalThis.String(object.remarks) : undefined, - status: isSet(object.status) ? globalThis.Number(object.status) : undefined, - position: isSet(object.position) ? globalThis.Number(object.position) : undefined, + remarks: isSet(object.remarks) + ? globalThis.String(object.remarks) + : undefined, + status: isSet(object.status) + ? globalThis.Number(object.status) + : undefined, + position: isSet(object.position) + ? globalThis.Number(object.position) + : undefined, }; }, @@ -528,19 +538,23 @@ export const EnvItem: MessageFns = { }; function createBaseGetEnvsRequest(): GetEnvsRequest { - return { searchValue: "" }; + return { searchValue: '' }; } export const GetEnvsRequest: MessageFns = { - encode(message: GetEnvsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.searchValue !== "") { + encode( + message: GetEnvsRequest, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { + if (message.searchValue !== '') { writer.uint32(10).string(message.searchValue); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): GetEnvsRequest { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetEnvsRequest(); while (reader.pos < end) { @@ -564,23 +578,31 @@ export const GetEnvsRequest: MessageFns = { }, fromJSON(object: any): GetEnvsRequest { - return { searchValue: isSet(object.searchValue) ? globalThis.String(object.searchValue) : "" }; + return { + searchValue: isSet(object.searchValue) + ? globalThis.String(object.searchValue) + : '', + }; }, toJSON(message: GetEnvsRequest): unknown { const obj: any = {}; - if (message.searchValue !== "") { + if (message.searchValue !== '') { obj.searchValue = message.searchValue; } return obj; }, - create, I>>(base?: I): GetEnvsRequest { + create, I>>( + base?: I, + ): GetEnvsRequest { return GetEnvsRequest.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): GetEnvsRequest { + fromPartial, I>>( + object: I, + ): GetEnvsRequest { const message = createBaseGetEnvsRequest(); - message.searchValue = object.searchValue ?? ""; + message.searchValue = object.searchValue ?? ''; return message; }, }; @@ -590,7 +612,10 @@ function createBaseCreateEnvRequest(): CreateEnvRequest { } export const CreateEnvRequest: MessageFns = { - encode(message: CreateEnvRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode( + message: CreateEnvRequest, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { for (const v of message.envs) { EnvItem.encode(v!, writer.uint32(10).fork()).join(); } @@ -598,7 +623,8 @@ export const CreateEnvRequest: MessageFns = { }, decode(input: BinaryReader | Uint8Array, length?: number): CreateEnvRequest { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseCreateEnvRequest(); while (reader.pos < end) { @@ -622,7 +648,11 @@ export const CreateEnvRequest: MessageFns = { }, fromJSON(object: any): CreateEnvRequest { - return { envs: globalThis.Array.isArray(object?.envs) ? object.envs.map((e: any) => EnvItem.fromJSON(e)) : [] }; + return { + envs: globalThis.Array.isArray(object?.envs) + ? object.envs.map((e: any) => EnvItem.fromJSON(e)) + : [], + }; }, toJSON(message: CreateEnvRequest): unknown { @@ -633,10 +663,14 @@ export const CreateEnvRequest: MessageFns = { return obj; }, - create, I>>(base?: I): CreateEnvRequest { + create, I>>( + base?: I, + ): CreateEnvRequest { return CreateEnvRequest.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): CreateEnvRequest { + fromPartial, I>>( + object: I, + ): CreateEnvRequest { const message = createBaseCreateEnvRequest(); message.envs = object.envs?.map((e) => EnvItem.fromPartial(e)) || []; return message; @@ -648,7 +682,10 @@ function createBaseUpdateEnvRequest(): UpdateEnvRequest { } export const UpdateEnvRequest: MessageFns = { - encode(message: UpdateEnvRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode( + message: UpdateEnvRequest, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { if (message.env !== undefined) { EnvItem.encode(message.env, writer.uint32(10).fork()).join(); } @@ -656,7 +693,8 @@ export const UpdateEnvRequest: MessageFns = { }, decode(input: BinaryReader | Uint8Array, length?: number): UpdateEnvRequest { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseUpdateEnvRequest(); while (reader.pos < end) { @@ -680,7 +718,9 @@ export const UpdateEnvRequest: MessageFns = { }, fromJSON(object: any): UpdateEnvRequest { - return { env: isSet(object.env) ? EnvItem.fromJSON(object.env) : undefined }; + return { + env: isSet(object.env) ? EnvItem.fromJSON(object.env) : undefined, + }; }, toJSON(message: UpdateEnvRequest): unknown { @@ -691,12 +731,19 @@ export const UpdateEnvRequest: MessageFns = { return obj; }, - create, I>>(base?: I): UpdateEnvRequest { + create, I>>( + base?: I, + ): UpdateEnvRequest { return UpdateEnvRequest.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): UpdateEnvRequest { + fromPartial, I>>( + object: I, + ): UpdateEnvRequest { const message = createBaseUpdateEnvRequest(); - message.env = (object.env !== undefined && object.env !== null) ? EnvItem.fromPartial(object.env) : undefined; + message.env = + object.env !== undefined && object.env !== null + ? EnvItem.fromPartial(object.env) + : undefined; return message; }, }; @@ -706,7 +753,10 @@ function createBaseDeleteEnvsRequest(): DeleteEnvsRequest { } export const DeleteEnvsRequest: MessageFns = { - encode(message: DeleteEnvsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode( + message: DeleteEnvsRequest, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { writer.uint32(10).fork(); for (const v of message.ids) { writer.int32(v); @@ -716,7 +766,8 @@ export const DeleteEnvsRequest: MessageFns = { }, decode(input: BinaryReader | Uint8Array, length?: number): DeleteEnvsRequest { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseDeleteEnvsRequest(); while (reader.pos < end) { @@ -750,7 +801,11 @@ export const DeleteEnvsRequest: MessageFns = { }, fromJSON(object: any): DeleteEnvsRequest { - return { ids: globalThis.Array.isArray(object?.ids) ? object.ids.map((e: any) => globalThis.Number(e)) : [] }; + return { + ids: globalThis.Array.isArray(object?.ids) + ? object.ids.map((e: any) => globalThis.Number(e)) + : [], + }; }, toJSON(message: DeleteEnvsRequest): unknown { @@ -761,10 +816,14 @@ export const DeleteEnvsRequest: MessageFns = { return obj; }, - create, I>>(base?: I): DeleteEnvsRequest { + create, I>>( + base?: I, + ): DeleteEnvsRequest { return DeleteEnvsRequest.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): DeleteEnvsRequest { + fromPartial, I>>( + object: I, + ): DeleteEnvsRequest { const message = createBaseDeleteEnvsRequest(); message.ids = object.ids?.map((e) => e) || []; return message; @@ -776,7 +835,10 @@ function createBaseMoveEnvRequest(): MoveEnvRequest { } export const MoveEnvRequest: MessageFns = { - encode(message: MoveEnvRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode( + message: MoveEnvRequest, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { if (message.id !== 0) { writer.uint32(8).int32(message.id); } @@ -790,7 +852,8 @@ export const MoveEnvRequest: MessageFns = { }, decode(input: BinaryReader | Uint8Array, length?: number): MoveEnvRequest { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseMoveEnvRequest(); while (reader.pos < end) { @@ -832,7 +895,9 @@ export const MoveEnvRequest: MessageFns = { fromJSON(object: any): MoveEnvRequest { return { id: isSet(object.id) ? globalThis.Number(object.id) : 0, - fromIndex: isSet(object.fromIndex) ? globalThis.Number(object.fromIndex) : 0, + fromIndex: isSet(object.fromIndex) + ? globalThis.Number(object.fromIndex) + : 0, toIndex: isSet(object.toIndex) ? globalThis.Number(object.toIndex) : 0, }; }, @@ -851,10 +916,14 @@ export const MoveEnvRequest: MessageFns = { return obj; }, - create, I>>(base?: I): MoveEnvRequest { + create, I>>( + base?: I, + ): MoveEnvRequest { return MoveEnvRequest.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): MoveEnvRequest { + fromPartial, I>>( + object: I, + ): MoveEnvRequest { const message = createBaseMoveEnvRequest(); message.id = object.id ?? 0; message.fromIndex = object.fromIndex ?? 0; @@ -868,7 +937,10 @@ function createBaseDisableEnvsRequest(): DisableEnvsRequest { } export const DisableEnvsRequest: MessageFns = { - encode(message: DisableEnvsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode( + message: DisableEnvsRequest, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { writer.uint32(10).fork(); for (const v of message.ids) { writer.int32(v); @@ -877,8 +949,12 @@ export const DisableEnvsRequest: MessageFns = { return writer; }, - decode(input: BinaryReader | Uint8Array, length?: number): DisableEnvsRequest { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + decode( + input: BinaryReader | Uint8Array, + length?: number, + ): DisableEnvsRequest { + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseDisableEnvsRequest(); while (reader.pos < end) { @@ -912,7 +988,11 @@ export const DisableEnvsRequest: MessageFns = { }, fromJSON(object: any): DisableEnvsRequest { - return { ids: globalThis.Array.isArray(object?.ids) ? object.ids.map((e: any) => globalThis.Number(e)) : [] }; + return { + ids: globalThis.Array.isArray(object?.ids) + ? object.ids.map((e: any) => globalThis.Number(e)) + : [], + }; }, toJSON(message: DisableEnvsRequest): unknown { @@ -923,10 +1003,14 @@ export const DisableEnvsRequest: MessageFns = { return obj; }, - create, I>>(base?: I): DisableEnvsRequest { + create, I>>( + base?: I, + ): DisableEnvsRequest { return DisableEnvsRequest.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): DisableEnvsRequest { + fromPartial, I>>( + object: I, + ): DisableEnvsRequest { const message = createBaseDisableEnvsRequest(); message.ids = object.ids?.map((e) => e) || []; return message; @@ -938,7 +1022,10 @@ function createBaseEnableEnvsRequest(): EnableEnvsRequest { } export const EnableEnvsRequest: MessageFns = { - encode(message: EnableEnvsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode( + message: EnableEnvsRequest, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { writer.uint32(10).fork(); for (const v of message.ids) { writer.int32(v); @@ -948,7 +1035,8 @@ export const EnableEnvsRequest: MessageFns = { }, decode(input: BinaryReader | Uint8Array, length?: number): EnableEnvsRequest { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseEnableEnvsRequest(); while (reader.pos < end) { @@ -982,7 +1070,11 @@ export const EnableEnvsRequest: MessageFns = { }, fromJSON(object: any): EnableEnvsRequest { - return { ids: globalThis.Array.isArray(object?.ids) ? object.ids.map((e: any) => globalThis.Number(e)) : [] }; + return { + ids: globalThis.Array.isArray(object?.ids) + ? object.ids.map((e: any) => globalThis.Number(e)) + : [], + }; }, toJSON(message: EnableEnvsRequest): unknown { @@ -993,10 +1085,14 @@ export const EnableEnvsRequest: MessageFns = { return obj; }, - create, I>>(base?: I): EnableEnvsRequest { + create, I>>( + base?: I, + ): EnableEnvsRequest { return EnableEnvsRequest.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): EnableEnvsRequest { + fromPartial, I>>( + object: I, + ): EnableEnvsRequest { const message = createBaseEnableEnvsRequest(); message.ids = object.ids?.map((e) => e) || []; return message; @@ -1004,24 +1100,31 @@ export const EnableEnvsRequest: MessageFns = { }; function createBaseUpdateEnvNamesRequest(): UpdateEnvNamesRequest { - return { ids: [], name: "" }; + return { ids: [], name: '' }; } export const UpdateEnvNamesRequest: MessageFns = { - encode(message: UpdateEnvNamesRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode( + message: UpdateEnvNamesRequest, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { writer.uint32(10).fork(); for (const v of message.ids) { writer.int32(v); } writer.join(); - if (message.name !== "") { + if (message.name !== '') { writer.uint32(18).string(message.name); } return writer; }, - decode(input: BinaryReader | Uint8Array, length?: number): UpdateEnvNamesRequest { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + decode( + input: BinaryReader | Uint8Array, + length?: number, + ): UpdateEnvNamesRequest { + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseUpdateEnvNamesRequest(); while (reader.pos < end) { @@ -1064,8 +1167,10 @@ export const UpdateEnvNamesRequest: MessageFns = { fromJSON(object: any): UpdateEnvNamesRequest { return { - ids: globalThis.Array.isArray(object?.ids) ? object.ids.map((e: any) => globalThis.Number(e)) : [], - name: isSet(object.name) ? globalThis.String(object.name) : "", + ids: globalThis.Array.isArray(object?.ids) + ? object.ids.map((e: any) => globalThis.Number(e)) + : [], + name: isSet(object.name) ? globalThis.String(object.name) : '', }; }, @@ -1074,19 +1179,23 @@ export const UpdateEnvNamesRequest: MessageFns = { if (message.ids?.length) { obj.ids = message.ids.map((e) => Math.round(e)); } - if (message.name !== "") { + if (message.name !== '') { obj.name = message.name; } return obj; }, - create, I>>(base?: I): UpdateEnvNamesRequest { + create, I>>( + base?: I, + ): UpdateEnvNamesRequest { return UpdateEnvNamesRequest.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): UpdateEnvNamesRequest { + fromPartial, I>>( + object: I, + ): UpdateEnvNamesRequest { const message = createBaseUpdateEnvNamesRequest(); message.ids = object.ids?.map((e) => e) || []; - message.name = object.name ?? ""; + message.name = object.name ?? ''; return message; }, }; @@ -1096,7 +1205,10 @@ function createBaseGetEnvByIdRequest(): GetEnvByIdRequest { } export const GetEnvByIdRequest: MessageFns = { - encode(message: GetEnvByIdRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode( + message: GetEnvByIdRequest, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { if (message.id !== 0) { writer.uint32(8).int32(message.id); } @@ -1104,7 +1216,8 @@ export const GetEnvByIdRequest: MessageFns = { }, decode(input: BinaryReader | Uint8Array, length?: number): GetEnvByIdRequest { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseGetEnvByIdRequest(); while (reader.pos < end) { @@ -1139,10 +1252,14 @@ export const GetEnvByIdRequest: MessageFns = { return obj; }, - create, I>>(base?: I): GetEnvByIdRequest { + create, I>>( + base?: I, + ): GetEnvByIdRequest { return GetEnvByIdRequest.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): GetEnvByIdRequest { + fromPartial, I>>( + object: I, + ): GetEnvByIdRequest { const message = createBaseGetEnvByIdRequest(); message.id = object.id ?? 0; return message; @@ -1154,7 +1271,10 @@ function createBaseEnvsResponse(): EnvsResponse { } export const EnvsResponse: MessageFns = { - encode(message: EnvsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode( + message: EnvsResponse, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { if (message.code !== 0) { writer.uint32(8).int32(message.code); } @@ -1168,7 +1288,8 @@ export const EnvsResponse: MessageFns = { }, decode(input: BinaryReader | Uint8Array, length?: number): EnvsResponse { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseEnvsResponse(); while (reader.pos < end) { @@ -1210,8 +1331,12 @@ export const EnvsResponse: MessageFns = { fromJSON(object: any): EnvsResponse { return { code: isSet(object.code) ? globalThis.Number(object.code) : 0, - data: globalThis.Array.isArray(object?.data) ? object.data.map((e: any) => EnvItem.fromJSON(e)) : [], - message: isSet(object.message) ? globalThis.String(object.message) : undefined, + data: globalThis.Array.isArray(object?.data) + ? object.data.map((e: any) => EnvItem.fromJSON(e)) + : [], + message: isSet(object.message) + ? globalThis.String(object.message) + : undefined, }; }, @@ -1229,10 +1354,14 @@ export const EnvsResponse: MessageFns = { return obj; }, - create, I>>(base?: I): EnvsResponse { + create, I>>( + base?: I, + ): EnvsResponse { return EnvsResponse.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): EnvsResponse { + fromPartial, I>>( + object: I, + ): EnvsResponse { const message = createBaseEnvsResponse(); message.code = object.code ?? 0; message.data = object.data?.map((e) => EnvItem.fromPartial(e)) || []; @@ -1246,7 +1375,10 @@ function createBaseEnvResponse(): EnvResponse { } export const EnvResponse: MessageFns = { - encode(message: EnvResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode( + message: EnvResponse, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { if (message.code !== 0) { writer.uint32(8).int32(message.code); } @@ -1260,7 +1392,8 @@ export const EnvResponse: MessageFns = { }, decode(input: BinaryReader | Uint8Array, length?: number): EnvResponse { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseEnvResponse(); while (reader.pos < end) { @@ -1303,7 +1436,9 @@ export const EnvResponse: MessageFns = { return { code: isSet(object.code) ? globalThis.Number(object.code) : 0, data: isSet(object.data) ? EnvItem.fromJSON(object.data) : undefined, - message: isSet(object.message) ? globalThis.String(object.message) : undefined, + message: isSet(object.message) + ? globalThis.String(object.message) + : undefined, }; }, @@ -1324,10 +1459,15 @@ export const EnvResponse: MessageFns = { create, I>>(base?: I): EnvResponse { return EnvResponse.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): EnvResponse { + fromPartial, I>>( + object: I, + ): EnvResponse { const message = createBaseEnvResponse(); message.code = object.code ?? 0; - message.data = (object.data !== undefined && object.data !== null) ? EnvItem.fromPartial(object.data) : undefined; + message.data = + object.data !== undefined && object.data !== null + ? EnvItem.fromPartial(object.data) + : undefined; message.message = object.message ?? undefined; return message; }, @@ -1338,7 +1478,10 @@ function createBaseResponse(): Response { } export const Response: MessageFns = { - encode(message: Response, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode( + message: Response, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { if (message.code !== 0) { writer.uint32(8).int32(message.code); } @@ -1349,7 +1492,8 @@ export const Response: MessageFns = { }, decode(input: BinaryReader | Uint8Array, length?: number): Response { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseResponse(); while (reader.pos < end) { @@ -1383,7 +1527,9 @@ export const Response: MessageFns = { fromJSON(object: any): Response { return { code: isSet(object.code) ? globalThis.Number(object.code) : 0, - message: isSet(object.message) ? globalThis.String(object.message) : undefined, + message: isSet(object.message) + ? globalThis.String(object.message) + : undefined, }; }, @@ -1410,19 +1556,23 @@ export const Response: MessageFns = { }; function createBaseExtraScheduleItem(): ExtraScheduleItem { - return { schedule: "" }; + return { schedule: '' }; } export const ExtraScheduleItem: MessageFns = { - encode(message: ExtraScheduleItem, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.schedule !== "") { + encode( + message: ExtraScheduleItem, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { + if (message.schedule !== '') { writer.uint32(10).string(message.schedule); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): ExtraScheduleItem { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseExtraScheduleItem(); while (reader.pos < end) { @@ -1446,23 +1596,31 @@ export const ExtraScheduleItem: MessageFns = { }, fromJSON(object: any): ExtraScheduleItem { - return { schedule: isSet(object.schedule) ? globalThis.String(object.schedule) : "" }; + return { + schedule: isSet(object.schedule) + ? globalThis.String(object.schedule) + : '', + }; }, toJSON(message: ExtraScheduleItem): unknown { const obj: any = {}; - if (message.schedule !== "") { + if (message.schedule !== '') { obj.schedule = message.schedule; } return obj; }, - create, I>>(base?: I): ExtraScheduleItem { + create, I>>( + base?: I, + ): ExtraScheduleItem { return ExtraScheduleItem.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): ExtraScheduleItem { + fromPartial, I>>( + object: I, + ): ExtraScheduleItem { const message = createBaseExtraScheduleItem(); - message.schedule = object.schedule ?? ""; + message.schedule = object.schedule ?? ''; return message; }, }; @@ -1487,7 +1645,10 @@ function createBaseCronItem(): CronItem { } export const CronItem: MessageFns = { - encode(message: CronItem, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode( + message: CronItem, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { if (message.id !== undefined) { writer.uint32(8).int32(message.id); } @@ -1534,7 +1695,8 @@ export const CronItem: MessageFns = { }, decode(input: BinaryReader | Uint8Array, length?: number): CronItem { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseCronItem(); while (reader.pos < end) { @@ -1593,7 +1755,9 @@ export const CronItem: MessageFns = { break; } - message.extra_schedules.push(ExtraScheduleItem.decode(reader, reader.uint32())); + message.extra_schedules.push( + ExtraScheduleItem.decode(reader, reader.uint32()), + ); continue; } case 8: { @@ -1664,20 +1828,38 @@ export const CronItem: MessageFns = { fromJSON(object: any): CronItem { return { id: isSet(object.id) ? globalThis.Number(object.id) : undefined, - command: isSet(object.command) ? globalThis.String(object.command) : undefined, - schedule: isSet(object.schedule) ? globalThis.String(object.schedule) : undefined, + command: isSet(object.command) + ? globalThis.String(object.command) + : undefined, + schedule: isSet(object.schedule) + ? globalThis.String(object.schedule) + : undefined, name: isSet(object.name) ? globalThis.String(object.name) : undefined, - labels: globalThis.Array.isArray(object?.labels) ? object.labels.map((e: any) => globalThis.String(e)) : [], - sub_id: isSet(object.sub_id) ? globalThis.Number(object.sub_id) : undefined, + labels: globalThis.Array.isArray(object?.labels) + ? object.labels.map((e: any) => globalThis.String(e)) + : [], + sub_id: isSet(object.sub_id) + ? globalThis.Number(object.sub_id) + : undefined, extra_schedules: globalThis.Array.isArray(object?.extra_schedules) ? object.extra_schedules.map((e: any) => ExtraScheduleItem.fromJSON(e)) : [], - task_before: isSet(object.task_before) ? globalThis.String(object.task_before) : undefined, - task_after: isSet(object.task_after) ? globalThis.String(object.task_after) : undefined, - status: isSet(object.status) ? globalThis.Number(object.status) : undefined, - log_path: isSet(object.log_path) ? globalThis.String(object.log_path) : undefined, + task_before: isSet(object.task_before) + ? globalThis.String(object.task_before) + : undefined, + task_after: isSet(object.task_after) + ? globalThis.String(object.task_after) + : undefined, + status: isSet(object.status) + ? globalThis.Number(object.status) + : undefined, + log_path: isSet(object.log_path) + ? globalThis.String(object.log_path) + : undefined, pid: isSet(object.pid) ? globalThis.Number(object.pid) : undefined, - last_running_time: isSet(object.last_running_time) ? globalThis.Number(object.last_running_time) : undefined, + last_running_time: isSet(object.last_running_time) + ? globalThis.Number(object.last_running_time) + : undefined, last_execution_time: isSet(object.last_execution_time) ? globalThis.Number(object.last_execution_time) : undefined, @@ -1705,7 +1887,9 @@ export const CronItem: MessageFns = { obj.sub_id = Math.round(message.sub_id); } if (message.extra_schedules?.length) { - obj.extra_schedules = message.extra_schedules.map((e) => ExtraScheduleItem.toJSON(e)); + obj.extra_schedules = message.extra_schedules.map((e) => + ExtraScheduleItem.toJSON(e), + ); } if (message.task_before !== undefined) { obj.task_before = message.task_before; @@ -1742,7 +1926,9 @@ export const CronItem: MessageFns = { message.name = object.name ?? undefined; message.labels = object.labels?.map((e) => e) || []; message.sub_id = object.sub_id ?? undefined; - message.extra_schedules = object.extra_schedules?.map((e) => ExtraScheduleItem.fromPartial(e)) || []; + message.extra_schedules = + object.extra_schedules?.map((e) => ExtraScheduleItem.fromPartial(e)) || + []; message.task_before = object.task_before ?? undefined; message.task_after = object.task_after ?? undefined; message.status = object.status ?? undefined; @@ -1756,8 +1942,8 @@ export const CronItem: MessageFns = { function createBaseCreateCronRequest(): CreateCronRequest { return { - command: "", - schedule: "", + command: '', + schedule: '', name: undefined, labels: [], sub_id: undefined, @@ -1768,11 +1954,14 @@ function createBaseCreateCronRequest(): CreateCronRequest { } export const CreateCronRequest: MessageFns = { - encode(message: CreateCronRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.command !== "") { + encode( + message: CreateCronRequest, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { + if (message.command !== '') { writer.uint32(10).string(message.command); } - if (message.schedule !== "") { + if (message.schedule !== '') { writer.uint32(18).string(message.schedule); } if (message.name !== undefined) { @@ -1797,7 +1986,8 @@ export const CreateCronRequest: MessageFns = { }, decode(input: BinaryReader | Uint8Array, length?: number): CreateCronRequest { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseCreateCronRequest(); while (reader.pos < end) { @@ -1848,7 +2038,9 @@ export const CreateCronRequest: MessageFns = { break; } - message.extra_schedules.push(ExtraScheduleItem.decode(reader, reader.uint32())); + message.extra_schedules.push( + ExtraScheduleItem.decode(reader, reader.uint32()), + ); continue; } case 7: { @@ -1878,25 +2070,35 @@ export const CreateCronRequest: MessageFns = { fromJSON(object: any): CreateCronRequest { return { - command: isSet(object.command) ? globalThis.String(object.command) : "", - schedule: isSet(object.schedule) ? globalThis.String(object.schedule) : "", + command: isSet(object.command) ? globalThis.String(object.command) : '', + schedule: isSet(object.schedule) + ? globalThis.String(object.schedule) + : '', name: isSet(object.name) ? globalThis.String(object.name) : undefined, - labels: globalThis.Array.isArray(object?.labels) ? object.labels.map((e: any) => globalThis.String(e)) : [], - sub_id: isSet(object.sub_id) ? globalThis.Number(object.sub_id) : undefined, + labels: globalThis.Array.isArray(object?.labels) + ? object.labels.map((e: any) => globalThis.String(e)) + : [], + sub_id: isSet(object.sub_id) + ? globalThis.Number(object.sub_id) + : undefined, extra_schedules: globalThis.Array.isArray(object?.extra_schedules) ? object.extra_schedules.map((e: any) => ExtraScheduleItem.fromJSON(e)) : [], - task_before: isSet(object.task_before) ? globalThis.String(object.task_before) : undefined, - task_after: isSet(object.task_after) ? globalThis.String(object.task_after) : undefined, + task_before: isSet(object.task_before) + ? globalThis.String(object.task_before) + : undefined, + task_after: isSet(object.task_after) + ? globalThis.String(object.task_after) + : undefined, }; }, toJSON(message: CreateCronRequest): unknown { const obj: any = {}; - if (message.command !== "") { + if (message.command !== '') { obj.command = message.command; } - if (message.schedule !== "") { + if (message.schedule !== '') { obj.schedule = message.schedule; } if (message.name !== undefined) { @@ -1909,7 +2111,9 @@ export const CreateCronRequest: MessageFns = { obj.sub_id = Math.round(message.sub_id); } if (message.extra_schedules?.length) { - obj.extra_schedules = message.extra_schedules.map((e) => ExtraScheduleItem.toJSON(e)); + obj.extra_schedules = message.extra_schedules.map((e) => + ExtraScheduleItem.toJSON(e), + ); } if (message.task_before !== undefined) { obj.task_before = message.task_before; @@ -1920,17 +2124,23 @@ export const CreateCronRequest: MessageFns = { return obj; }, - create, I>>(base?: I): CreateCronRequest { + create, I>>( + base?: I, + ): CreateCronRequest { return CreateCronRequest.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): CreateCronRequest { + fromPartial, I>>( + object: I, + ): CreateCronRequest { const message = createBaseCreateCronRequest(); - message.command = object.command ?? ""; - message.schedule = object.schedule ?? ""; + message.command = object.command ?? ''; + message.schedule = object.schedule ?? ''; message.name = object.name ?? undefined; message.labels = object.labels?.map((e) => e) || []; message.sub_id = object.sub_id ?? undefined; - message.extra_schedules = object.extra_schedules?.map((e) => ExtraScheduleItem.fromPartial(e)) || []; + message.extra_schedules = + object.extra_schedules?.map((e) => ExtraScheduleItem.fromPartial(e)) || + []; message.task_before = object.task_before ?? undefined; message.task_after = object.task_after ?? undefined; return message; @@ -1952,7 +2162,10 @@ function createBaseUpdateCronRequest(): UpdateCronRequest { } export const UpdateCronRequest: MessageFns = { - encode(message: UpdateCronRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode( + message: UpdateCronRequest, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { if (message.id !== 0) { writer.uint32(8).int32(message.id); } @@ -1984,7 +2197,8 @@ export const UpdateCronRequest: MessageFns = { }, decode(input: BinaryReader | Uint8Array, length?: number): UpdateCronRequest { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseUpdateCronRequest(); while (reader.pos < end) { @@ -2043,7 +2257,9 @@ export const UpdateCronRequest: MessageFns = { break; } - message.extra_schedules.push(ExtraScheduleItem.decode(reader, reader.uint32())); + message.extra_schedules.push( + ExtraScheduleItem.decode(reader, reader.uint32()), + ); continue; } case 8: { @@ -2074,16 +2290,28 @@ export const UpdateCronRequest: MessageFns = { fromJSON(object: any): UpdateCronRequest { return { id: isSet(object.id) ? globalThis.Number(object.id) : 0, - command: isSet(object.command) ? globalThis.String(object.command) : undefined, - schedule: isSet(object.schedule) ? globalThis.String(object.schedule) : undefined, + command: isSet(object.command) + ? globalThis.String(object.command) + : undefined, + schedule: isSet(object.schedule) + ? globalThis.String(object.schedule) + : undefined, name: isSet(object.name) ? globalThis.String(object.name) : undefined, - labels: globalThis.Array.isArray(object?.labels) ? object.labels.map((e: any) => globalThis.String(e)) : [], - sub_id: isSet(object.sub_id) ? globalThis.Number(object.sub_id) : undefined, + labels: globalThis.Array.isArray(object?.labels) + ? object.labels.map((e: any) => globalThis.String(e)) + : [], + sub_id: isSet(object.sub_id) + ? globalThis.Number(object.sub_id) + : undefined, extra_schedules: globalThis.Array.isArray(object?.extra_schedules) ? object.extra_schedules.map((e: any) => ExtraScheduleItem.fromJSON(e)) : [], - task_before: isSet(object.task_before) ? globalThis.String(object.task_before) : undefined, - task_after: isSet(object.task_after) ? globalThis.String(object.task_after) : undefined, + task_before: isSet(object.task_before) + ? globalThis.String(object.task_before) + : undefined, + task_after: isSet(object.task_after) + ? globalThis.String(object.task_after) + : undefined, }; }, @@ -2108,7 +2336,9 @@ export const UpdateCronRequest: MessageFns = { obj.sub_id = Math.round(message.sub_id); } if (message.extra_schedules?.length) { - obj.extra_schedules = message.extra_schedules.map((e) => ExtraScheduleItem.toJSON(e)); + obj.extra_schedules = message.extra_schedules.map((e) => + ExtraScheduleItem.toJSON(e), + ); } if (message.task_before !== undefined) { obj.task_before = message.task_before; @@ -2119,10 +2349,14 @@ export const UpdateCronRequest: MessageFns = { return obj; }, - create, I>>(base?: I): UpdateCronRequest { + create, I>>( + base?: I, + ): UpdateCronRequest { return UpdateCronRequest.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): UpdateCronRequest { + fromPartial, I>>( + object: I, + ): UpdateCronRequest { const message = createBaseUpdateCronRequest(); message.id = object.id ?? 0; message.command = object.command ?? undefined; @@ -2130,7 +2364,9 @@ export const UpdateCronRequest: MessageFns = { message.name = object.name ?? undefined; message.labels = object.labels?.map((e) => e) || []; message.sub_id = object.sub_id ?? undefined; - message.extra_schedules = object.extra_schedules?.map((e) => ExtraScheduleItem.fromPartial(e)) || []; + message.extra_schedules = + object.extra_schedules?.map((e) => ExtraScheduleItem.fromPartial(e)) || + []; message.task_before = object.task_before ?? undefined; message.task_after = object.task_after ?? undefined; return message; @@ -2142,7 +2378,10 @@ function createBaseDeleteCronsRequest(): DeleteCronsRequest { } export const DeleteCronsRequest: MessageFns = { - encode(message: DeleteCronsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode( + message: DeleteCronsRequest, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { writer.uint32(10).fork(); for (const v of message.ids) { writer.int32(v); @@ -2151,8 +2390,12 @@ export const DeleteCronsRequest: MessageFns = { return writer; }, - decode(input: BinaryReader | Uint8Array, length?: number): DeleteCronsRequest { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + decode( + input: BinaryReader | Uint8Array, + length?: number, + ): DeleteCronsRequest { + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseDeleteCronsRequest(); while (reader.pos < end) { @@ -2186,7 +2429,11 @@ export const DeleteCronsRequest: MessageFns = { }, fromJSON(object: any): DeleteCronsRequest { - return { ids: globalThis.Array.isArray(object?.ids) ? object.ids.map((e: any) => globalThis.Number(e)) : [] }; + return { + ids: globalThis.Array.isArray(object?.ids) + ? object.ids.map((e: any) => globalThis.Number(e)) + : [], + }; }, toJSON(message: DeleteCronsRequest): unknown { @@ -2197,10 +2444,14 @@ export const DeleteCronsRequest: MessageFns = { return obj; }, - create, I>>(base?: I): DeleteCronsRequest { + create, I>>( + base?: I, + ): DeleteCronsRequest { return DeleteCronsRequest.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): DeleteCronsRequest { + fromPartial, I>>( + object: I, + ): DeleteCronsRequest { const message = createBaseDeleteCronsRequest(); message.ids = object.ids?.map((e) => e) || []; return message; @@ -2212,7 +2463,10 @@ function createBaseCronsResponse(): CronsResponse { } export const CronsResponse: MessageFns = { - encode(message: CronsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode( + message: CronsResponse, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { if (message.code !== 0) { writer.uint32(8).int32(message.code); } @@ -2226,7 +2480,8 @@ export const CronsResponse: MessageFns = { }, decode(input: BinaryReader | Uint8Array, length?: number): CronsResponse { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseCronsResponse(); while (reader.pos < end) { @@ -2268,8 +2523,12 @@ export const CronsResponse: MessageFns = { fromJSON(object: any): CronsResponse { return { code: isSet(object.code) ? globalThis.Number(object.code) : 0, - data: globalThis.Array.isArray(object?.data) ? object.data.map((e: any) => CronItem.fromJSON(e)) : [], - message: isSet(object.message) ? globalThis.String(object.message) : undefined, + data: globalThis.Array.isArray(object?.data) + ? object.data.map((e: any) => CronItem.fromJSON(e)) + : [], + message: isSet(object.message) + ? globalThis.String(object.message) + : undefined, }; }, @@ -2287,10 +2546,14 @@ export const CronsResponse: MessageFns = { return obj; }, - create, I>>(base?: I): CronsResponse { + create, I>>( + base?: I, + ): CronsResponse { return CronsResponse.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): CronsResponse { + fromPartial, I>>( + object: I, + ): CronsResponse { const message = createBaseCronsResponse(); message.code = object.code ?? 0; message.data = object.data?.map((e) => CronItem.fromPartial(e)) || []; @@ -2304,7 +2567,10 @@ function createBaseCronResponse(): CronResponse { } export const CronResponse: MessageFns = { - encode(message: CronResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode( + message: CronResponse, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { if (message.code !== 0) { writer.uint32(8).int32(message.code); } @@ -2318,7 +2584,8 @@ export const CronResponse: MessageFns = { }, decode(input: BinaryReader | Uint8Array, length?: number): CronResponse { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseCronResponse(); while (reader.pos < end) { @@ -2361,7 +2628,9 @@ export const CronResponse: MessageFns = { return { code: isSet(object.code) ? globalThis.Number(object.code) : 0, data: isSet(object.data) ? CronItem.fromJSON(object.data) : undefined, - message: isSet(object.message) ? globalThis.String(object.message) : undefined, + message: isSet(object.message) + ? globalThis.String(object.message) + : undefined, }; }, @@ -2379,32 +2648,43 @@ export const CronResponse: MessageFns = { return obj; }, - create, I>>(base?: I): CronResponse { + create, I>>( + base?: I, + ): CronResponse { return CronResponse.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): CronResponse { + fromPartial, I>>( + object: I, + ): CronResponse { const message = createBaseCronResponse(); message.code = object.code ?? 0; - message.data = (object.data !== undefined && object.data !== null) ? CronItem.fromPartial(object.data) : undefined; + message.data = + object.data !== undefined && object.data !== null + ? CronItem.fromPartial(object.data) + : undefined; message.message = object.message ?? undefined; return message; }, }; function createBaseCronDetailRequest(): CronDetailRequest { - return { log_path: "" }; + return { log_path: '' }; } export const CronDetailRequest: MessageFns = { - encode(message: CronDetailRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.log_path !== "") { + encode( + message: CronDetailRequest, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { + if (message.log_path !== '') { writer.uint32(10).string(message.log_path); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): CronDetailRequest { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseCronDetailRequest(); while (reader.pos < end) { @@ -2428,23 +2708,31 @@ export const CronDetailRequest: MessageFns = { }, fromJSON(object: any): CronDetailRequest { - return { log_path: isSet(object.log_path) ? globalThis.String(object.log_path) : "" }; + return { + log_path: isSet(object.log_path) + ? globalThis.String(object.log_path) + : '', + }; }, toJSON(message: CronDetailRequest): unknown { const obj: any = {}; - if (message.log_path !== "") { + if (message.log_path !== '') { obj.log_path = message.log_path; } return obj; }, - create, I>>(base?: I): CronDetailRequest { + create, I>>( + base?: I, + ): CronDetailRequest { return CronDetailRequest.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): CronDetailRequest { + fromPartial, I>>( + object: I, + ): CronDetailRequest { const message = createBaseCronDetailRequest(); - message.log_path = object.log_path ?? ""; + message.log_path = object.log_path ?? ''; return message; }, }; @@ -2454,7 +2742,10 @@ function createBaseCronDetailResponse(): CronDetailResponse { } export const CronDetailResponse: MessageFns = { - encode(message: CronDetailResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode( + message: CronDetailResponse, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { if (message.code !== 0) { writer.uint32(8).int32(message.code); } @@ -2467,8 +2758,12 @@ export const CronDetailResponse: MessageFns = { return writer; }, - decode(input: BinaryReader | Uint8Array, length?: number): CronDetailResponse { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + decode( + input: BinaryReader | Uint8Array, + length?: number, + ): CronDetailResponse { + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseCronDetailResponse(); while (reader.pos < end) { @@ -2511,7 +2806,9 @@ export const CronDetailResponse: MessageFns = { return { code: isSet(object.code) ? globalThis.Number(object.code) : 0, data: isSet(object.data) ? CronItem.fromJSON(object.data) : undefined, - message: isSet(object.message) ? globalThis.String(object.message) : undefined, + message: isSet(object.message) + ? globalThis.String(object.message) + : undefined, }; }, @@ -2529,13 +2826,20 @@ export const CronDetailResponse: MessageFns = { return obj; }, - create, I>>(base?: I): CronDetailResponse { + create, I>>( + base?: I, + ): CronDetailResponse { return CronDetailResponse.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): CronDetailResponse { + fromPartial, I>>( + object: I, + ): CronDetailResponse { const message = createBaseCronDetailResponse(); message.code = object.code ?? 0; - message.data = (object.data !== undefined && object.data !== null) ? CronItem.fromPartial(object.data) : undefined; + message.data = + object.data !== undefined && object.data !== null + ? CronItem.fromPartial(object.data) + : undefined; message.message = object.message ?? undefined; return message; }, @@ -2615,7 +2919,10 @@ function createBaseNotificationInfo(): NotificationInfo { } export const NotificationInfo: MessageFns = { - encode(message: NotificationInfo, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode( + message: NotificationInfo, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { if (message.type !== 0) { writer.uint32(8).int32(message.type); } @@ -2824,7 +3131,8 @@ export const NotificationInfo: MessageFns = { }, decode(input: BinaryReader | Uint8Array, length?: number): NotificationInfo { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseNotificationInfo(); while (reader.pos < end) { @@ -3386,25 +3694,63 @@ export const NotificationInfo: MessageFns = { fromJSON(object: any): NotificationInfo { return { type: isSet(object.type) ? notificationModeFromJSON(object.type) : 0, - gotifyUrl: isSet(object.gotifyUrl) ? globalThis.String(object.gotifyUrl) : undefined, - gotifyToken: isSet(object.gotifyToken) ? globalThis.String(object.gotifyToken) : undefined, - gotifyPriority: isSet(object.gotifyPriority) ? globalThis.Number(object.gotifyPriority) : undefined, - goCqHttpBotUrl: isSet(object.goCqHttpBotUrl) ? globalThis.String(object.goCqHttpBotUrl) : undefined, - goCqHttpBotToken: isSet(object.goCqHttpBotToken) ? globalThis.String(object.goCqHttpBotToken) : undefined, - goCqHttpBotQq: isSet(object.goCqHttpBotQq) ? globalThis.String(object.goCqHttpBotQq) : undefined, - serverChanKey: isSet(object.serverChanKey) ? globalThis.String(object.serverChanKey) : undefined, - pushDeerKey: isSet(object.pushDeerKey) ? globalThis.String(object.pushDeerKey) : undefined, - pushDeerUrl: isSet(object.pushDeerUrl) ? globalThis.String(object.pushDeerUrl) : undefined, - synologyChatUrl: isSet(object.synologyChatUrl) ? globalThis.String(object.synologyChatUrl) : undefined, - barkPush: isSet(object.barkPush) ? globalThis.String(object.barkPush) : undefined, - barkIcon: isSet(object.barkIcon) ? globalThis.String(object.barkIcon) : undefined, - barkSound: isSet(object.barkSound) ? globalThis.String(object.barkSound) : undefined, - barkGroup: isSet(object.barkGroup) ? globalThis.String(object.barkGroup) : undefined, - barkLevel: isSet(object.barkLevel) ? globalThis.String(object.barkLevel) : undefined, - barkUrl: isSet(object.barkUrl) ? globalThis.String(object.barkUrl) : undefined, - barkArchive: isSet(object.barkArchive) ? globalThis.String(object.barkArchive) : undefined, - telegramBotToken: isSet(object.telegramBotToken) ? globalThis.String(object.telegramBotToken) : undefined, - telegramBotUserId: isSet(object.telegramBotUserId) ? globalThis.String(object.telegramBotUserId) : undefined, + gotifyUrl: isSet(object.gotifyUrl) + ? globalThis.String(object.gotifyUrl) + : undefined, + gotifyToken: isSet(object.gotifyToken) + ? globalThis.String(object.gotifyToken) + : undefined, + gotifyPriority: isSet(object.gotifyPriority) + ? globalThis.Number(object.gotifyPriority) + : undefined, + goCqHttpBotUrl: isSet(object.goCqHttpBotUrl) + ? globalThis.String(object.goCqHttpBotUrl) + : undefined, + goCqHttpBotToken: isSet(object.goCqHttpBotToken) + ? globalThis.String(object.goCqHttpBotToken) + : undefined, + goCqHttpBotQq: isSet(object.goCqHttpBotQq) + ? globalThis.String(object.goCqHttpBotQq) + : undefined, + serverChanKey: isSet(object.serverChanKey) + ? globalThis.String(object.serverChanKey) + : undefined, + pushDeerKey: isSet(object.pushDeerKey) + ? globalThis.String(object.pushDeerKey) + : undefined, + pushDeerUrl: isSet(object.pushDeerUrl) + ? globalThis.String(object.pushDeerUrl) + : undefined, + synologyChatUrl: isSet(object.synologyChatUrl) + ? globalThis.String(object.synologyChatUrl) + : undefined, + barkPush: isSet(object.barkPush) + ? globalThis.String(object.barkPush) + : undefined, + barkIcon: isSet(object.barkIcon) + ? globalThis.String(object.barkIcon) + : undefined, + barkSound: isSet(object.barkSound) + ? globalThis.String(object.barkSound) + : undefined, + barkGroup: isSet(object.barkGroup) + ? globalThis.String(object.barkGroup) + : undefined, + barkLevel: isSet(object.barkLevel) + ? globalThis.String(object.barkLevel) + : undefined, + barkUrl: isSet(object.barkUrl) + ? globalThis.String(object.barkUrl) + : undefined, + barkArchive: isSet(object.barkArchive) + ? globalThis.String(object.barkArchive) + : undefined, + telegramBotToken: isSet(object.telegramBotToken) + ? globalThis.String(object.telegramBotToken) + : undefined, + telegramBotUserId: isSet(object.telegramBotUserId) + ? globalThis.String(object.telegramBotUserId) + : undefined, telegramBotProxyHost: isSet(object.telegramBotProxyHost) ? globalThis.String(object.telegramBotProxyHost) : undefined, @@ -3414,57 +3760,141 @@ export const NotificationInfo: MessageFns = { telegramBotProxyAuth: isSet(object.telegramBotProxyAuth) ? globalThis.String(object.telegramBotProxyAuth) : undefined, - telegramBotApiHost: isSet(object.telegramBotApiHost) ? globalThis.String(object.telegramBotApiHost) : undefined, - dingtalkBotToken: isSet(object.dingtalkBotToken) ? globalThis.String(object.dingtalkBotToken) : undefined, - dingtalkBotSecret: isSet(object.dingtalkBotSecret) ? globalThis.String(object.dingtalkBotSecret) : undefined, - weWorkBotKey: isSet(object.weWorkBotKey) ? globalThis.String(object.weWorkBotKey) : undefined, - weWorkOrigin: isSet(object.weWorkOrigin) ? globalThis.String(object.weWorkOrigin) : undefined, - weWorkAppKey: isSet(object.weWorkAppKey) ? globalThis.String(object.weWorkAppKey) : undefined, - aibotkKey: isSet(object.aibotkKey) ? globalThis.String(object.aibotkKey) : undefined, - aibotkType: isSet(object.aibotkType) ? globalThis.String(object.aibotkType) : undefined, - aibotkName: isSet(object.aibotkName) ? globalThis.String(object.aibotkName) : undefined, - iGotPushKey: isSet(object.iGotPushKey) ? globalThis.String(object.iGotPushKey) : undefined, - pushPlusToken: isSet(object.pushPlusToken) ? globalThis.String(object.pushPlusToken) : undefined, - pushPlusUser: isSet(object.pushPlusUser) ? globalThis.String(object.pushPlusUser) : undefined, - pushPlusTemplate: isSet(object.pushPlusTemplate) ? globalThis.String(object.pushPlusTemplate) : undefined, - pushplusChannel: isSet(object.pushplusChannel) ? globalThis.String(object.pushplusChannel) : undefined, - pushplusWebhook: isSet(object.pushplusWebhook) ? globalThis.String(object.pushplusWebhook) : undefined, + telegramBotApiHost: isSet(object.telegramBotApiHost) + ? globalThis.String(object.telegramBotApiHost) + : undefined, + dingtalkBotToken: isSet(object.dingtalkBotToken) + ? globalThis.String(object.dingtalkBotToken) + : undefined, + dingtalkBotSecret: isSet(object.dingtalkBotSecret) + ? globalThis.String(object.dingtalkBotSecret) + : undefined, + weWorkBotKey: isSet(object.weWorkBotKey) + ? globalThis.String(object.weWorkBotKey) + : undefined, + weWorkOrigin: isSet(object.weWorkOrigin) + ? globalThis.String(object.weWorkOrigin) + : undefined, + weWorkAppKey: isSet(object.weWorkAppKey) + ? globalThis.String(object.weWorkAppKey) + : undefined, + aibotkKey: isSet(object.aibotkKey) + ? globalThis.String(object.aibotkKey) + : undefined, + aibotkType: isSet(object.aibotkType) + ? globalThis.String(object.aibotkType) + : undefined, + aibotkName: isSet(object.aibotkName) + ? globalThis.String(object.aibotkName) + : undefined, + iGotPushKey: isSet(object.iGotPushKey) + ? globalThis.String(object.iGotPushKey) + : undefined, + pushPlusToken: isSet(object.pushPlusToken) + ? globalThis.String(object.pushPlusToken) + : undefined, + pushPlusUser: isSet(object.pushPlusUser) + ? globalThis.String(object.pushPlusUser) + : undefined, + pushPlusTemplate: isSet(object.pushPlusTemplate) + ? globalThis.String(object.pushPlusTemplate) + : undefined, + pushplusChannel: isSet(object.pushplusChannel) + ? globalThis.String(object.pushplusChannel) + : undefined, + pushplusWebhook: isSet(object.pushplusWebhook) + ? globalThis.String(object.pushplusWebhook) + : undefined, pushplusCallbackUrl: isSet(object.pushplusCallbackUrl) ? globalThis.String(object.pushplusCallbackUrl) : undefined, - pushplusTo: isSet(object.pushplusTo) ? globalThis.String(object.pushplusTo) : undefined, - wePlusBotToken: isSet(object.wePlusBotToken) ? globalThis.String(object.wePlusBotToken) : undefined, - wePlusBotReceiver: isSet(object.wePlusBotReceiver) ? globalThis.String(object.wePlusBotReceiver) : undefined, - wePlusBotVersion: isSet(object.wePlusBotVersion) ? globalThis.String(object.wePlusBotVersion) : undefined, - emailService: isSet(object.emailService) ? globalThis.String(object.emailService) : undefined, - emailUser: isSet(object.emailUser) ? globalThis.String(object.emailUser) : undefined, - emailPass: isSet(object.emailPass) ? globalThis.String(object.emailPass) : undefined, - emailTo: isSet(object.emailTo) ? globalThis.String(object.emailTo) : undefined, - pushMeKey: isSet(object.pushMeKey) ? globalThis.String(object.pushMeKey) : undefined, - pushMeUrl: isSet(object.pushMeUrl) ? globalThis.String(object.pushMeUrl) : undefined, - chronocatURL: isSet(object.chronocatURL) ? globalThis.String(object.chronocatURL) : undefined, - chronocatQQ: isSet(object.chronocatQQ) ? globalThis.String(object.chronocatQQ) : undefined, - chronocatToken: isSet(object.chronocatToken) ? globalThis.String(object.chronocatToken) : undefined, - webhookHeaders: isSet(object.webhookHeaders) ? globalThis.String(object.webhookHeaders) : undefined, - webhookBody: isSet(object.webhookBody) ? globalThis.String(object.webhookBody) : undefined, - webhookUrl: isSet(object.webhookUrl) ? globalThis.String(object.webhookUrl) : undefined, - webhookMethod: isSet(object.webhookMethod) ? globalThis.String(object.webhookMethod) : undefined, - webhookContentType: isSet(object.webhookContentType) ? globalThis.String(object.webhookContentType) : undefined, - larkKey: isSet(object.larkKey) ? globalThis.String(object.larkKey) : undefined, - ntfyUrl: isSet(object.ntfyUrl) ? globalThis.String(object.ntfyUrl) : undefined, - ntfyTopic: isSet(object.ntfyTopic) ? globalThis.String(object.ntfyTopic) : undefined, - ntfyPriority: isSet(object.ntfyPriority) ? globalThis.String(object.ntfyPriority) : undefined, - ntfyToken: isSet(object.ntfyToken) ? globalThis.String(object.ntfyToken) : undefined, - ntfyUsername: isSet(object.ntfyUsername) ? globalThis.String(object.ntfyUsername) : undefined, - ntfyPassword: isSet(object.ntfyPassword) ? globalThis.String(object.ntfyPassword) : undefined, - ntfyActions: isSet(object.ntfyActions) ? globalThis.String(object.ntfyActions) : undefined, + pushplusTo: isSet(object.pushplusTo) + ? globalThis.String(object.pushplusTo) + : undefined, + wePlusBotToken: isSet(object.wePlusBotToken) + ? globalThis.String(object.wePlusBotToken) + : undefined, + wePlusBotReceiver: isSet(object.wePlusBotReceiver) + ? globalThis.String(object.wePlusBotReceiver) + : undefined, + wePlusBotVersion: isSet(object.wePlusBotVersion) + ? globalThis.String(object.wePlusBotVersion) + : undefined, + emailService: isSet(object.emailService) + ? globalThis.String(object.emailService) + : undefined, + emailUser: isSet(object.emailUser) + ? globalThis.String(object.emailUser) + : undefined, + emailPass: isSet(object.emailPass) + ? globalThis.String(object.emailPass) + : undefined, + emailTo: isSet(object.emailTo) + ? globalThis.String(object.emailTo) + : undefined, + pushMeKey: isSet(object.pushMeKey) + ? globalThis.String(object.pushMeKey) + : undefined, + pushMeUrl: isSet(object.pushMeUrl) + ? globalThis.String(object.pushMeUrl) + : undefined, + chronocatURL: isSet(object.chronocatURL) + ? globalThis.String(object.chronocatURL) + : undefined, + chronocatQQ: isSet(object.chronocatQQ) + ? globalThis.String(object.chronocatQQ) + : undefined, + chronocatToken: isSet(object.chronocatToken) + ? globalThis.String(object.chronocatToken) + : undefined, + webhookHeaders: isSet(object.webhookHeaders) + ? globalThis.String(object.webhookHeaders) + : undefined, + webhookBody: isSet(object.webhookBody) + ? globalThis.String(object.webhookBody) + : undefined, + webhookUrl: isSet(object.webhookUrl) + ? globalThis.String(object.webhookUrl) + : undefined, + webhookMethod: isSet(object.webhookMethod) + ? globalThis.String(object.webhookMethod) + : undefined, + webhookContentType: isSet(object.webhookContentType) + ? globalThis.String(object.webhookContentType) + : undefined, + larkKey: isSet(object.larkKey) + ? globalThis.String(object.larkKey) + : undefined, + ntfyUrl: isSet(object.ntfyUrl) + ? globalThis.String(object.ntfyUrl) + : undefined, + ntfyTopic: isSet(object.ntfyTopic) + ? globalThis.String(object.ntfyTopic) + : undefined, + ntfyPriority: isSet(object.ntfyPriority) + ? globalThis.String(object.ntfyPriority) + : undefined, + ntfyToken: isSet(object.ntfyToken) + ? globalThis.String(object.ntfyToken) + : undefined, + ntfyUsername: isSet(object.ntfyUsername) + ? globalThis.String(object.ntfyUsername) + : undefined, + ntfyPassword: isSet(object.ntfyPassword) + ? globalThis.String(object.ntfyPassword) + : undefined, + ntfyActions: isSet(object.ntfyActions) + ? globalThis.String(object.ntfyActions) + : undefined, wxPusherBotAppToken: isSet(object.wxPusherBotAppToken) ? globalThis.String(object.wxPusherBotAppToken) : undefined, wxPusherBotTopicIds: isSet(object.wxPusherBotTopicIds) ? globalThis.String(object.wxPusherBotTopicIds) : undefined, - wxPusherBotUids: isSet(object.wxPusherBotUids) ? globalThis.String(object.wxPusherBotUids) : undefined, + wxPusherBotUids: isSet(object.wxPusherBotUids) + ? globalThis.String(object.wxPusherBotUids) + : undefined, }; }, @@ -3677,10 +4107,14 @@ export const NotificationInfo: MessageFns = { return obj; }, - create, I>>(base?: I): NotificationInfo { + create, I>>( + base?: I, + ): NotificationInfo { return NotificationInfo.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): NotificationInfo { + fromPartial, I>>( + object: I, + ): NotificationInfo { const message = createBaseNotificationInfo(); message.type = object.type ?? 0; message.gotifyUrl = object.gotifyUrl ?? undefined; @@ -3755,25 +4189,35 @@ export const NotificationInfo: MessageFns = { }; function createBaseSystemNotifyRequest(): SystemNotifyRequest { - return { title: "", content: "", notificationInfo: undefined }; + return { title: '', content: '', notificationInfo: undefined }; } export const SystemNotifyRequest: MessageFns = { - encode(message: SystemNotifyRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.title !== "") { + encode( + message: SystemNotifyRequest, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { + if (message.title !== '') { writer.uint32(10).string(message.title); } - if (message.content !== "") { + if (message.content !== '') { writer.uint32(18).string(message.content); } if (message.notificationInfo !== undefined) { - NotificationInfo.encode(message.notificationInfo, writer.uint32(26).fork()).join(); + NotificationInfo.encode( + message.notificationInfo, + writer.uint32(26).fork(), + ).join(); } return writer; }, - decode(input: BinaryReader | Uint8Array, length?: number): SystemNotifyRequest { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + decode( + input: BinaryReader | Uint8Array, + length?: number, + ): SystemNotifyRequest { + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseSystemNotifyRequest(); while (reader.pos < end) { @@ -3800,7 +4244,10 @@ export const SystemNotifyRequest: MessageFns = { break; } - message.notificationInfo = NotificationInfo.decode(reader, reader.uint32()); + message.notificationInfo = NotificationInfo.decode( + reader, + reader.uint32(), + ); continue; } } @@ -3814,18 +4261,20 @@ export const SystemNotifyRequest: MessageFns = { fromJSON(object: any): SystemNotifyRequest { return { - title: isSet(object.title) ? globalThis.String(object.title) : "", - content: isSet(object.content) ? globalThis.String(object.content) : "", - notificationInfo: isSet(object.notificationInfo) ? NotificationInfo.fromJSON(object.notificationInfo) : undefined, + title: isSet(object.title) ? globalThis.String(object.title) : '', + content: isSet(object.content) ? globalThis.String(object.content) : '', + notificationInfo: isSet(object.notificationInfo) + ? NotificationInfo.fromJSON(object.notificationInfo) + : undefined, }; }, toJSON(message: SystemNotifyRequest): unknown { const obj: any = {}; - if (message.title !== "") { + if (message.title !== '') { obj.title = message.title; } - if (message.content !== "") { + if (message.content !== '') { obj.content = message.content; } if (message.notificationInfo !== undefined) { @@ -3834,16 +4283,21 @@ export const SystemNotifyRequest: MessageFns = { return obj; }, - create, I>>(base?: I): SystemNotifyRequest { + create, I>>( + base?: I, + ): SystemNotifyRequest { return SystemNotifyRequest.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): SystemNotifyRequest { + fromPartial, I>>( + object: I, + ): SystemNotifyRequest { const message = createBaseSystemNotifyRequest(); - message.title = object.title ?? ""; - message.content = object.content ?? ""; - message.notificationInfo = (object.notificationInfo !== undefined && object.notificationInfo !== null) - ? NotificationInfo.fromPartial(object.notificationInfo) - : undefined; + message.title = object.title ?? ''; + message.content = object.content ?? ''; + message.notificationInfo = + object.notificationInfo !== undefined && object.notificationInfo !== null + ? NotificationInfo.fromPartial(object.notificationInfo) + : undefined; return message; }, }; @@ -3851,129 +4305,157 @@ export const SystemNotifyRequest: MessageFns = { export type ApiService = typeof ApiService; export const ApiService = { getEnvs: { - path: "/com.ql.api.Api/GetEnvs", + path: '/com.ql.api.Api/GetEnvs', requestStream: false, responseStream: false, - requestSerialize: (value: GetEnvsRequest) => Buffer.from(GetEnvsRequest.encode(value).finish()), + requestSerialize: (value: GetEnvsRequest) => + Buffer.from(GetEnvsRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => GetEnvsRequest.decode(value), - responseSerialize: (value: EnvsResponse) => Buffer.from(EnvsResponse.encode(value).finish()), + responseSerialize: (value: EnvsResponse) => + Buffer.from(EnvsResponse.encode(value).finish()), responseDeserialize: (value: Buffer) => EnvsResponse.decode(value), }, createEnv: { - path: "/com.ql.api.Api/CreateEnv", + path: '/com.ql.api.Api/CreateEnv', requestStream: false, responseStream: false, - requestSerialize: (value: CreateEnvRequest) => Buffer.from(CreateEnvRequest.encode(value).finish()), + requestSerialize: (value: CreateEnvRequest) => + Buffer.from(CreateEnvRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => CreateEnvRequest.decode(value), - responseSerialize: (value: EnvsResponse) => Buffer.from(EnvsResponse.encode(value).finish()), + responseSerialize: (value: EnvsResponse) => + Buffer.from(EnvsResponse.encode(value).finish()), responseDeserialize: (value: Buffer) => EnvsResponse.decode(value), }, updateEnv: { - path: "/com.ql.api.Api/UpdateEnv", + path: '/com.ql.api.Api/UpdateEnv', requestStream: false, responseStream: false, - requestSerialize: (value: UpdateEnvRequest) => Buffer.from(UpdateEnvRequest.encode(value).finish()), + requestSerialize: (value: UpdateEnvRequest) => + Buffer.from(UpdateEnvRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => UpdateEnvRequest.decode(value), - responseSerialize: (value: EnvResponse) => Buffer.from(EnvResponse.encode(value).finish()), + responseSerialize: (value: EnvResponse) => + Buffer.from(EnvResponse.encode(value).finish()), responseDeserialize: (value: Buffer) => EnvResponse.decode(value), }, deleteEnvs: { - path: "/com.ql.api.Api/DeleteEnvs", + path: '/com.ql.api.Api/DeleteEnvs', requestStream: false, responseStream: false, - requestSerialize: (value: DeleteEnvsRequest) => Buffer.from(DeleteEnvsRequest.encode(value).finish()), + requestSerialize: (value: DeleteEnvsRequest) => + Buffer.from(DeleteEnvsRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => DeleteEnvsRequest.decode(value), - responseSerialize: (value: Response) => Buffer.from(Response.encode(value).finish()), + responseSerialize: (value: Response) => + Buffer.from(Response.encode(value).finish()), responseDeserialize: (value: Buffer) => Response.decode(value), }, moveEnv: { - path: "/com.ql.api.Api/MoveEnv", + path: '/com.ql.api.Api/MoveEnv', requestStream: false, responseStream: false, - requestSerialize: (value: MoveEnvRequest) => Buffer.from(MoveEnvRequest.encode(value).finish()), + requestSerialize: (value: MoveEnvRequest) => + Buffer.from(MoveEnvRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => MoveEnvRequest.decode(value), - responseSerialize: (value: EnvResponse) => Buffer.from(EnvResponse.encode(value).finish()), + responseSerialize: (value: EnvResponse) => + Buffer.from(EnvResponse.encode(value).finish()), responseDeserialize: (value: Buffer) => EnvResponse.decode(value), }, disableEnvs: { - path: "/com.ql.api.Api/DisableEnvs", + path: '/com.ql.api.Api/DisableEnvs', requestStream: false, responseStream: false, - requestSerialize: (value: DisableEnvsRequest) => Buffer.from(DisableEnvsRequest.encode(value).finish()), + requestSerialize: (value: DisableEnvsRequest) => + Buffer.from(DisableEnvsRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => DisableEnvsRequest.decode(value), - responseSerialize: (value: Response) => Buffer.from(Response.encode(value).finish()), + responseSerialize: (value: Response) => + Buffer.from(Response.encode(value).finish()), responseDeserialize: (value: Buffer) => Response.decode(value), }, enableEnvs: { - path: "/com.ql.api.Api/EnableEnvs", + path: '/com.ql.api.Api/EnableEnvs', requestStream: false, responseStream: false, - requestSerialize: (value: EnableEnvsRequest) => Buffer.from(EnableEnvsRequest.encode(value).finish()), + requestSerialize: (value: EnableEnvsRequest) => + Buffer.from(EnableEnvsRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => EnableEnvsRequest.decode(value), - responseSerialize: (value: Response) => Buffer.from(Response.encode(value).finish()), + responseSerialize: (value: Response) => + Buffer.from(Response.encode(value).finish()), responseDeserialize: (value: Buffer) => Response.decode(value), }, updateEnvNames: { - path: "/com.ql.api.Api/UpdateEnvNames", + path: '/com.ql.api.Api/UpdateEnvNames', requestStream: false, responseStream: false, - requestSerialize: (value: UpdateEnvNamesRequest) => Buffer.from(UpdateEnvNamesRequest.encode(value).finish()), + requestSerialize: (value: UpdateEnvNamesRequest) => + Buffer.from(UpdateEnvNamesRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => UpdateEnvNamesRequest.decode(value), - responseSerialize: (value: Response) => Buffer.from(Response.encode(value).finish()), + responseSerialize: (value: Response) => + Buffer.from(Response.encode(value).finish()), responseDeserialize: (value: Buffer) => Response.decode(value), }, getEnvById: { - path: "/com.ql.api.Api/GetEnvById", + path: '/com.ql.api.Api/GetEnvById', requestStream: false, responseStream: false, - requestSerialize: (value: GetEnvByIdRequest) => Buffer.from(GetEnvByIdRequest.encode(value).finish()), + requestSerialize: (value: GetEnvByIdRequest) => + Buffer.from(GetEnvByIdRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => GetEnvByIdRequest.decode(value), - responseSerialize: (value: EnvResponse) => Buffer.from(EnvResponse.encode(value).finish()), + responseSerialize: (value: EnvResponse) => + Buffer.from(EnvResponse.encode(value).finish()), responseDeserialize: (value: Buffer) => EnvResponse.decode(value), }, systemNotify: { - path: "/com.ql.api.Api/SystemNotify", + path: '/com.ql.api.Api/SystemNotify', requestStream: false, responseStream: false, - requestSerialize: (value: SystemNotifyRequest) => Buffer.from(SystemNotifyRequest.encode(value).finish()), + requestSerialize: (value: SystemNotifyRequest) => + Buffer.from(SystemNotifyRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => SystemNotifyRequest.decode(value), - responseSerialize: (value: Response) => Buffer.from(Response.encode(value).finish()), + responseSerialize: (value: Response) => + Buffer.from(Response.encode(value).finish()), responseDeserialize: (value: Buffer) => Response.decode(value), }, getCronDetail: { - path: "/com.ql.api.Api/GetCronDetail", + path: '/com.ql.api.Api/GetCronDetail', requestStream: false, responseStream: false, - requestSerialize: (value: CronDetailRequest) => Buffer.from(CronDetailRequest.encode(value).finish()), + requestSerialize: (value: CronDetailRequest) => + Buffer.from(CronDetailRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => CronDetailRequest.decode(value), - responseSerialize: (value: CronDetailResponse) => Buffer.from(CronDetailResponse.encode(value).finish()), + responseSerialize: (value: CronDetailResponse) => + Buffer.from(CronDetailResponse.encode(value).finish()), responseDeserialize: (value: Buffer) => CronDetailResponse.decode(value), }, createCron: { - path: "/com.ql.api.Api/CreateCron", + path: '/com.ql.api.Api/CreateCron', requestStream: false, responseStream: false, - requestSerialize: (value: CreateCronRequest) => Buffer.from(CreateCronRequest.encode(value).finish()), + requestSerialize: (value: CreateCronRequest) => + Buffer.from(CreateCronRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => CreateCronRequest.decode(value), - responseSerialize: (value: CronResponse) => Buffer.from(CronResponse.encode(value).finish()), + responseSerialize: (value: CronResponse) => + Buffer.from(CronResponse.encode(value).finish()), responseDeserialize: (value: Buffer) => CronResponse.decode(value), }, updateCron: { - path: "/com.ql.api.Api/UpdateCron", + path: '/com.ql.api.Api/UpdateCron', requestStream: false, responseStream: false, - requestSerialize: (value: UpdateCronRequest) => Buffer.from(UpdateCronRequest.encode(value).finish()), + requestSerialize: (value: UpdateCronRequest) => + Buffer.from(UpdateCronRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => UpdateCronRequest.decode(value), - responseSerialize: (value: CronResponse) => Buffer.from(CronResponse.encode(value).finish()), + responseSerialize: (value: CronResponse) => + Buffer.from(CronResponse.encode(value).finish()), responseDeserialize: (value: Buffer) => CronResponse.decode(value), }, deleteCrons: { - path: "/com.ql.api.Api/DeleteCrons", + path: '/com.ql.api.Api/DeleteCrons', requestStream: false, responseStream: false, - requestSerialize: (value: DeleteCronsRequest) => Buffer.from(DeleteCronsRequest.encode(value).finish()), + requestSerialize: (value: DeleteCronsRequest) => + Buffer.from(DeleteCronsRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => DeleteCronsRequest.decode(value), - responseSerialize: (value: Response) => Buffer.from(Response.encode(value).finish()), + responseSerialize: (value: Response) => + Buffer.from(Response.encode(value).finish()), responseDeserialize: (value: Buffer) => Response.decode(value), }, } as const; @@ -4148,18 +4630,27 @@ export interface ApiClient extends Client { ): ClientUnaryCall; getCronDetail( request: CronDetailRequest, - callback: (error: ServiceError | null, response: CronDetailResponse) => void, + callback: ( + error: ServiceError | null, + response: CronDetailResponse, + ) => void, ): ClientUnaryCall; getCronDetail( request: CronDetailRequest, metadata: Metadata, - callback: (error: ServiceError | null, response: CronDetailResponse) => void, + callback: ( + error: ServiceError | null, + response: CronDetailResponse, + ) => void, ): ClientUnaryCall; getCronDetail( request: CronDetailRequest, metadata: Metadata, options: Partial, - callback: (error: ServiceError | null, response: CronDetailResponse) => void, + callback: ( + error: ServiceError | null, + response: CronDetailResponse, + ) => void, ): ClientUnaryCall; createCron( request: CreateCronRequest, @@ -4208,31 +4699,52 @@ export interface ApiClient extends Client { ): ClientUnaryCall; } -export const ApiClient = makeGenericClientConstructor(ApiService, "com.ql.api.Api") as unknown as { - new (address: string, credentials: ChannelCredentials, options?: Partial): ApiClient; +export const ApiClient = makeGenericClientConstructor( + ApiService, + 'com.ql.api.Api', +) as unknown as { + new ( + address: string, + credentials: ChannelCredentials, + options?: Partial, + ): ApiClient; service: typeof ApiService; serviceName: string; }; -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; +type Builtin = + | Date + | Function + | Uint8Array + | string + | number + | boolean + | undefined; -export type DeepPartial = T extends Builtin ? T - : T extends globalThis.Array ? globalThis.Array> - : T extends ReadonlyArray ? ReadonlyArray> - : T extends {} ? { [K in keyof T]?: DeepPartial } +export type DeepPartial = T extends Builtin + ? T + : T extends globalThis.Array + ? globalThis.Array> + : T extends ReadonlyArray + ? ReadonlyArray> + : T extends {} + ? { [K in keyof T]?: DeepPartial } : Partial; type KeysOfUnion = T extends T ? keyof T : never; -export type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; +export type Exact = P extends Builtin + ? P + : P & { [K in keyof P]: Exact } & { + [K in Exclude>]: never; + }; function longToNumber(int64: { toString(): string }): number { const num = globalThis.Number(int64.toString()); if (num > globalThis.Number.MAX_SAFE_INTEGER) { - throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + throw new globalThis.Error('Value is larger than Number.MAX_SAFE_INTEGER'); } if (num < globalThis.Number.MIN_SAFE_INTEGER) { - throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); + throw new globalThis.Error('Value is smaller than Number.MIN_SAFE_INTEGER'); } return num; } diff --git a/back/protos/cron.ts b/back/protos/cron.ts index 8524dfaf..25c98ba9 100644 --- a/back/protos/cron.ts +++ b/back/protos/cron.ts @@ -5,7 +5,7 @@ // source: back/protos/cron.proto /* eslint-disable */ -import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; +import { BinaryReader, BinaryWriter } from '@bufbuild/protobuf/wire'; import { type CallOptions, ChannelCredentials, @@ -17,9 +17,9 @@ import { Metadata, type ServiceError, type UntypedServiceImplementation, -} from "@grpc/grpc-js"; +} from '@grpc/grpc-js'; -export const protobufPackage = "com.ql.cron"; +export const protobufPackage = 'com.ql.cron'; export interface ISchedule { schedule: string; @@ -37,30 +37,32 @@ export interface AddCronRequest { crons: ICron[]; } -export interface AddCronResponse { -} +export interface AddCronResponse {} export interface DeleteCronRequest { ids: string[]; } -export interface DeleteCronResponse { -} +export interface DeleteCronResponse {} function createBaseISchedule(): ISchedule { - return { schedule: "" }; + return { schedule: '' }; } export const ISchedule: MessageFns = { - encode(message: ISchedule, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.schedule !== "") { + encode( + message: ISchedule, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { + if (message.schedule !== '') { writer.uint32(10).string(message.schedule); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): ISchedule { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseISchedule(); while (reader.pos < end) { @@ -84,12 +86,16 @@ export const ISchedule: MessageFns = { }, fromJSON(object: any): ISchedule { - return { schedule: isSet(object.schedule) ? globalThis.String(object.schedule) : "" }; + return { + schedule: isSet(object.schedule) + ? globalThis.String(object.schedule) + : '', + }; }, toJSON(message: ISchedule): unknown { const obj: any = {}; - if (message.schedule !== "") { + if (message.schedule !== '') { obj.schedule = message.schedule; } return obj; @@ -98,39 +104,45 @@ export const ISchedule: MessageFns = { create, I>>(base?: I): ISchedule { return ISchedule.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): ISchedule { + fromPartial, I>>( + object: I, + ): ISchedule { const message = createBaseISchedule(); - message.schedule = object.schedule ?? ""; + message.schedule = object.schedule ?? ''; return message; }, }; function createBaseICron(): ICron { - return { id: "", schedule: "", command: "", extra_schedules: [], name: "" }; + return { id: '', schedule: '', command: '', extra_schedules: [], name: '' }; } export const ICron: MessageFns = { - encode(message: ICron, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.id !== "") { + encode( + message: ICron, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { + if (message.id !== '') { writer.uint32(10).string(message.id); } - if (message.schedule !== "") { + if (message.schedule !== '') { writer.uint32(18).string(message.schedule); } - if (message.command !== "") { + if (message.command !== '') { writer.uint32(26).string(message.command); } for (const v of message.extra_schedules) { ISchedule.encode(v!, writer.uint32(34).fork()).join(); } - if (message.name !== "") { + if (message.name !== '') { writer.uint32(42).string(message.name); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): ICron { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseICron(); while (reader.pos < end) { @@ -165,7 +177,9 @@ export const ICron: MessageFns = { break; } - message.extra_schedules.push(ISchedule.decode(reader, reader.uint32())); + message.extra_schedules.push( + ISchedule.decode(reader, reader.uint32()), + ); continue; } case 5: { @@ -187,31 +201,35 @@ export const ICron: MessageFns = { fromJSON(object: any): ICron { return { - id: isSet(object.id) ? globalThis.String(object.id) : "", - schedule: isSet(object.schedule) ? globalThis.String(object.schedule) : "", - command: isSet(object.command) ? globalThis.String(object.command) : "", + id: isSet(object.id) ? globalThis.String(object.id) : '', + schedule: isSet(object.schedule) + ? globalThis.String(object.schedule) + : '', + command: isSet(object.command) ? globalThis.String(object.command) : '', extra_schedules: globalThis.Array.isArray(object?.extra_schedules) ? object.extra_schedules.map((e: any) => ISchedule.fromJSON(e)) : [], - name: isSet(object.name) ? globalThis.String(object.name) : "", + name: isSet(object.name) ? globalThis.String(object.name) : '', }; }, toJSON(message: ICron): unknown { const obj: any = {}; - if (message.id !== "") { + if (message.id !== '') { obj.id = message.id; } - if (message.schedule !== "") { + if (message.schedule !== '') { obj.schedule = message.schedule; } - if (message.command !== "") { + if (message.command !== '') { obj.command = message.command; } if (message.extra_schedules?.length) { - obj.extra_schedules = message.extra_schedules.map((e) => ISchedule.toJSON(e)); + obj.extra_schedules = message.extra_schedules.map((e) => + ISchedule.toJSON(e), + ); } - if (message.name !== "") { + if (message.name !== '') { obj.name = message.name; } return obj; @@ -222,11 +240,12 @@ export const ICron: MessageFns = { }, fromPartial, I>>(object: I): ICron { const message = createBaseICron(); - message.id = object.id ?? ""; - message.schedule = object.schedule ?? ""; - message.command = object.command ?? ""; - message.extra_schedules = object.extra_schedules?.map((e) => ISchedule.fromPartial(e)) || []; - message.name = object.name ?? ""; + message.id = object.id ?? ''; + message.schedule = object.schedule ?? ''; + message.command = object.command ?? ''; + message.extra_schedules = + object.extra_schedules?.map((e) => ISchedule.fromPartial(e)) || []; + message.name = object.name ?? ''; return message; }, }; @@ -236,7 +255,10 @@ function createBaseAddCronRequest(): AddCronRequest { } export const AddCronRequest: MessageFns = { - encode(message: AddCronRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode( + message: AddCronRequest, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { for (const v of message.crons) { ICron.encode(v!, writer.uint32(10).fork()).join(); } @@ -244,7 +266,8 @@ export const AddCronRequest: MessageFns = { }, decode(input: BinaryReader | Uint8Array, length?: number): AddCronRequest { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseAddCronRequest(); while (reader.pos < end) { @@ -268,7 +291,11 @@ export const AddCronRequest: MessageFns = { }, fromJSON(object: any): AddCronRequest { - return { crons: globalThis.Array.isArray(object?.crons) ? object.crons.map((e: any) => ICron.fromJSON(e)) : [] }; + return { + crons: globalThis.Array.isArray(object?.crons) + ? object.crons.map((e: any) => ICron.fromJSON(e)) + : [], + }; }, toJSON(message: AddCronRequest): unknown { @@ -279,10 +306,14 @@ export const AddCronRequest: MessageFns = { return obj; }, - create, I>>(base?: I): AddCronRequest { + create, I>>( + base?: I, + ): AddCronRequest { return AddCronRequest.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): AddCronRequest { + fromPartial, I>>( + object: I, + ): AddCronRequest { const message = createBaseAddCronRequest(); message.crons = object.crons?.map((e) => ICron.fromPartial(e)) || []; return message; @@ -294,12 +325,16 @@ function createBaseAddCronResponse(): AddCronResponse { } export const AddCronResponse: MessageFns = { - encode(_: AddCronResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode( + _: AddCronResponse, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): AddCronResponse { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseAddCronResponse(); while (reader.pos < end) { @@ -323,10 +358,14 @@ export const AddCronResponse: MessageFns = { return obj; }, - create, I>>(base?: I): AddCronResponse { + create, I>>( + base?: I, + ): AddCronResponse { return AddCronResponse.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(_: I): AddCronResponse { + fromPartial, I>>( + _: I, + ): AddCronResponse { const message = createBaseAddCronResponse(); return message; }, @@ -337,7 +376,10 @@ function createBaseDeleteCronRequest(): DeleteCronRequest { } export const DeleteCronRequest: MessageFns = { - encode(message: DeleteCronRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode( + message: DeleteCronRequest, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { for (const v of message.ids) { writer.uint32(10).string(v!); } @@ -345,7 +387,8 @@ export const DeleteCronRequest: MessageFns = { }, decode(input: BinaryReader | Uint8Array, length?: number): DeleteCronRequest { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseDeleteCronRequest(); while (reader.pos < end) { @@ -369,7 +412,11 @@ export const DeleteCronRequest: MessageFns = { }, fromJSON(object: any): DeleteCronRequest { - return { ids: globalThis.Array.isArray(object?.ids) ? object.ids.map((e: any) => globalThis.String(e)) : [] }; + return { + ids: globalThis.Array.isArray(object?.ids) + ? object.ids.map((e: any) => globalThis.String(e)) + : [], + }; }, toJSON(message: DeleteCronRequest): unknown { @@ -380,10 +427,14 @@ export const DeleteCronRequest: MessageFns = { return obj; }, - create, I>>(base?: I): DeleteCronRequest { + create, I>>( + base?: I, + ): DeleteCronRequest { return DeleteCronRequest.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): DeleteCronRequest { + fromPartial, I>>( + object: I, + ): DeleteCronRequest { const message = createBaseDeleteCronRequest(); message.ids = object.ids?.map((e) => e) || []; return message; @@ -395,12 +446,19 @@ function createBaseDeleteCronResponse(): DeleteCronResponse { } export const DeleteCronResponse: MessageFns = { - encode(_: DeleteCronResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode( + _: DeleteCronResponse, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { return writer; }, - decode(input: BinaryReader | Uint8Array, length?: number): DeleteCronResponse { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + decode( + input: BinaryReader | Uint8Array, + length?: number, + ): DeleteCronResponse { + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseDeleteCronResponse(); while (reader.pos < end) { @@ -424,10 +482,14 @@ export const DeleteCronResponse: MessageFns = { return obj; }, - create, I>>(base?: I): DeleteCronResponse { + create, I>>( + base?: I, + ): DeleteCronResponse { return DeleteCronResponse.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(_: I): DeleteCronResponse { + fromPartial, I>>( + _: I, + ): DeleteCronResponse { const message = createBaseDeleteCronResponse(); return message; }, @@ -436,21 +498,25 @@ export const DeleteCronResponse: MessageFns = { export type CronService = typeof CronService; export const CronService = { addCron: { - path: "/com.ql.cron.Cron/addCron", + path: '/com.ql.cron.Cron/addCron', requestStream: false, responseStream: false, - requestSerialize: (value: AddCronRequest) => Buffer.from(AddCronRequest.encode(value).finish()), + requestSerialize: (value: AddCronRequest) => + Buffer.from(AddCronRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => AddCronRequest.decode(value), - responseSerialize: (value: AddCronResponse) => Buffer.from(AddCronResponse.encode(value).finish()), + responseSerialize: (value: AddCronResponse) => + Buffer.from(AddCronResponse.encode(value).finish()), responseDeserialize: (value: Buffer) => AddCronResponse.decode(value), }, delCron: { - path: "/com.ql.cron.Cron/delCron", + path: '/com.ql.cron.Cron/delCron', requestStream: false, responseStream: false, - requestSerialize: (value: DeleteCronRequest) => Buffer.from(DeleteCronRequest.encode(value).finish()), + requestSerialize: (value: DeleteCronRequest) => + Buffer.from(DeleteCronRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => DeleteCronRequest.decode(value), - responseSerialize: (value: DeleteCronResponse) => Buffer.from(DeleteCronResponse.encode(value).finish()), + responseSerialize: (value: DeleteCronResponse) => + Buffer.from(DeleteCronResponse.encode(value).finish()), responseDeserialize: (value: Buffer) => DeleteCronResponse.decode(value), }, } as const; @@ -478,38 +544,68 @@ export interface CronClient extends Client { ): ClientUnaryCall; delCron( request: DeleteCronRequest, - callback: (error: ServiceError | null, response: DeleteCronResponse) => void, + callback: ( + error: ServiceError | null, + response: DeleteCronResponse, + ) => void, ): ClientUnaryCall; delCron( request: DeleteCronRequest, metadata: Metadata, - callback: (error: ServiceError | null, response: DeleteCronResponse) => void, + callback: ( + error: ServiceError | null, + response: DeleteCronResponse, + ) => void, ): ClientUnaryCall; delCron( request: DeleteCronRequest, metadata: Metadata, options: Partial, - callback: (error: ServiceError | null, response: DeleteCronResponse) => void, + callback: ( + error: ServiceError | null, + response: DeleteCronResponse, + ) => void, ): ClientUnaryCall; } -export const CronClient = makeGenericClientConstructor(CronService, "com.ql.cron.Cron") as unknown as { - new (address: string, credentials: ChannelCredentials, options?: Partial): CronClient; +export const CronClient = makeGenericClientConstructor( + CronService, + 'com.ql.cron.Cron', +) as unknown as { + new ( + address: string, + credentials: ChannelCredentials, + options?: Partial, + ): CronClient; service: typeof CronService; serviceName: string; }; -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; +type Builtin = + | Date + | Function + | Uint8Array + | string + | number + | boolean + | undefined; -export type DeepPartial = T extends Builtin ? T - : T extends globalThis.Array ? globalThis.Array> - : T extends ReadonlyArray ? ReadonlyArray> - : T extends {} ? { [K in keyof T]?: DeepPartial } +export type DeepPartial = T extends Builtin + ? T + : T extends globalThis.Array + ? globalThis.Array> + : T extends ReadonlyArray + ? ReadonlyArray> + : T extends {} + ? { [K in keyof T]?: DeepPartial } : Partial; type KeysOfUnion = T extends T ? keyof T : never; -export type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; +export type Exact = P extends Builtin + ? P + : P & { [K in keyof P]: Exact } & { + [K in Exclude>]: never; + }; function isSet(value: any): boolean { return value !== null && value !== undefined; diff --git a/back/protos/health.ts b/back/protos/health.ts index adaf9761..de34dc23 100644 --- a/back/protos/health.ts +++ b/back/protos/health.ts @@ -5,7 +5,7 @@ // source: back/protos/health.proto /* eslint-disable */ -import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; +import { BinaryReader, BinaryWriter } from '@bufbuild/protobuf/wire'; import { type CallOptions, ChannelCredentials, @@ -19,9 +19,9 @@ import { Metadata, type ServiceError, type UntypedServiceImplementation, -} from "@grpc/grpc-js"; +} from '@grpc/grpc-js'; -export const protobufPackage = "com.ql.health"; +export const protobufPackage = 'com.ql.health'; export interface HealthCheckRequest { service: string; @@ -39,57 +39,68 @@ export enum HealthCheckResponse_ServingStatus { UNRECOGNIZED = -1, } -export function healthCheckResponse_ServingStatusFromJSON(object: any): HealthCheckResponse_ServingStatus { +export function healthCheckResponse_ServingStatusFromJSON( + object: any, +): HealthCheckResponse_ServingStatus { switch (object) { case 0: - case "UNKNOWN": + case 'UNKNOWN': return HealthCheckResponse_ServingStatus.UNKNOWN; case 1: - case "SERVING": + case 'SERVING': return HealthCheckResponse_ServingStatus.SERVING; case 2: - case "NOT_SERVING": + case 'NOT_SERVING': return HealthCheckResponse_ServingStatus.NOT_SERVING; case 3: - case "SERVICE_UNKNOWN": + case 'SERVICE_UNKNOWN': return HealthCheckResponse_ServingStatus.SERVICE_UNKNOWN; case -1: - case "UNRECOGNIZED": + case 'UNRECOGNIZED': default: return HealthCheckResponse_ServingStatus.UNRECOGNIZED; } } -export function healthCheckResponse_ServingStatusToJSON(object: HealthCheckResponse_ServingStatus): string { +export function healthCheckResponse_ServingStatusToJSON( + object: HealthCheckResponse_ServingStatus, +): string { switch (object) { case HealthCheckResponse_ServingStatus.UNKNOWN: - return "UNKNOWN"; + return 'UNKNOWN'; case HealthCheckResponse_ServingStatus.SERVING: - return "SERVING"; + return 'SERVING'; case HealthCheckResponse_ServingStatus.NOT_SERVING: - return "NOT_SERVING"; + return 'NOT_SERVING'; case HealthCheckResponse_ServingStatus.SERVICE_UNKNOWN: - return "SERVICE_UNKNOWN"; + return 'SERVICE_UNKNOWN'; case HealthCheckResponse_ServingStatus.UNRECOGNIZED: default: - return "UNRECOGNIZED"; + return 'UNRECOGNIZED'; } } function createBaseHealthCheckRequest(): HealthCheckRequest { - return { service: "" }; + return { service: '' }; } export const HealthCheckRequest: MessageFns = { - encode(message: HealthCheckRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { - if (message.service !== "") { + encode( + message: HealthCheckRequest, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { + if (message.service !== '') { writer.uint32(10).string(message.service); } return writer; }, - decode(input: BinaryReader | Uint8Array, length?: number): HealthCheckRequest { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + decode( + input: BinaryReader | Uint8Array, + length?: number, + ): HealthCheckRequest { + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseHealthCheckRequest(); while (reader.pos < end) { @@ -113,23 +124,29 @@ export const HealthCheckRequest: MessageFns = { }, fromJSON(object: any): HealthCheckRequest { - return { service: isSet(object.service) ? globalThis.String(object.service) : "" }; + return { + service: isSet(object.service) ? globalThis.String(object.service) : '', + }; }, toJSON(message: HealthCheckRequest): unknown { const obj: any = {}; - if (message.service !== "") { + if (message.service !== '') { obj.service = message.service; } return obj; }, - create, I>>(base?: I): HealthCheckRequest { + create, I>>( + base?: I, + ): HealthCheckRequest { return HealthCheckRequest.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): HealthCheckRequest { + fromPartial, I>>( + object: I, + ): HealthCheckRequest { const message = createBaseHealthCheckRequest(); - message.service = object.service ?? ""; + message.service = object.service ?? ''; return message; }, }; @@ -139,15 +156,22 @@ function createBaseHealthCheckResponse(): HealthCheckResponse { } export const HealthCheckResponse: MessageFns = { - encode(message: HealthCheckResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { + encode( + message: HealthCheckResponse, + writer: BinaryWriter = new BinaryWriter(), + ): BinaryWriter { if (message.status !== 0) { writer.uint32(8).int32(message.status); } return writer; }, - decode(input: BinaryReader | Uint8Array, length?: number): HealthCheckResponse { - const reader = input instanceof BinaryReader ? input : new BinaryReader(input); + decode( + input: BinaryReader | Uint8Array, + length?: number, + ): HealthCheckResponse { + const reader = + input instanceof BinaryReader ? input : new BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseHealthCheckResponse(); while (reader.pos < end) { @@ -171,7 +195,11 @@ export const HealthCheckResponse: MessageFns = { }, fromJSON(object: any): HealthCheckResponse { - return { status: isSet(object.status) ? healthCheckResponse_ServingStatusFromJSON(object.status) : 0 }; + return { + status: isSet(object.status) + ? healthCheckResponse_ServingStatusFromJSON(object.status) + : 0, + }; }, toJSON(message: HealthCheckResponse): unknown { @@ -182,10 +210,14 @@ export const HealthCheckResponse: MessageFns = { return obj; }, - create, I>>(base?: I): HealthCheckResponse { + create, I>>( + base?: I, + ): HealthCheckResponse { return HealthCheckResponse.fromPartial(base ?? ({} as any)); }, - fromPartial, I>>(object: I): HealthCheckResponse { + fromPartial, I>>( + object: I, + ): HealthCheckResponse { const message = createBaseHealthCheckResponse(); message.status = object.status ?? 0; return message; @@ -195,21 +227,25 @@ export const HealthCheckResponse: MessageFns = { export type HealthService = typeof HealthService; export const HealthService = { check: { - path: "/com.ql.health.Health/Check", + path: '/com.ql.health.Health/Check', requestStream: false, responseStream: false, - requestSerialize: (value: HealthCheckRequest) => Buffer.from(HealthCheckRequest.encode(value).finish()), + requestSerialize: (value: HealthCheckRequest) => + Buffer.from(HealthCheckRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => HealthCheckRequest.decode(value), - responseSerialize: (value: HealthCheckResponse) => Buffer.from(HealthCheckResponse.encode(value).finish()), + responseSerialize: (value: HealthCheckResponse) => + Buffer.from(HealthCheckResponse.encode(value).finish()), responseDeserialize: (value: Buffer) => HealthCheckResponse.decode(value), }, watch: { - path: "/com.ql.health.Health/Watch", + path: '/com.ql.health.Health/Watch', requestStream: false, responseStream: true, - requestSerialize: (value: HealthCheckRequest) => Buffer.from(HealthCheckRequest.encode(value).finish()), + requestSerialize: (value: HealthCheckRequest) => + Buffer.from(HealthCheckRequest.encode(value).finish()), requestDeserialize: (value: Buffer) => HealthCheckRequest.decode(value), - responseSerialize: (value: HealthCheckResponse) => Buffer.from(HealthCheckResponse.encode(value).finish()), + responseSerialize: (value: HealthCheckResponse) => + Buffer.from(HealthCheckResponse.encode(value).finish()), responseDeserialize: (value: Buffer) => HealthCheckResponse.decode(value), }, } as const; @@ -222,20 +258,32 @@ export interface HealthServer extends UntypedServiceImplementation { export interface HealthClient extends Client { check( request: HealthCheckRequest, - callback: (error: ServiceError | null, response: HealthCheckResponse) => void, + callback: ( + error: ServiceError | null, + response: HealthCheckResponse, + ) => void, ): ClientUnaryCall; check( request: HealthCheckRequest, metadata: Metadata, - callback: (error: ServiceError | null, response: HealthCheckResponse) => void, + callback: ( + error: ServiceError | null, + response: HealthCheckResponse, + ) => void, ): ClientUnaryCall; check( request: HealthCheckRequest, metadata: Metadata, options: Partial, - callback: (error: ServiceError | null, response: HealthCheckResponse) => void, + callback: ( + error: ServiceError | null, + response: HealthCheckResponse, + ) => void, ): ClientUnaryCall; - watch(request: HealthCheckRequest, options?: Partial): ClientReadableStream; + watch( + request: HealthCheckRequest, + options?: Partial, + ): ClientReadableStream; watch( request: HealthCheckRequest, metadata?: Metadata, @@ -243,23 +291,44 @@ export interface HealthClient extends Client { ): ClientReadableStream; } -export const HealthClient = makeGenericClientConstructor(HealthService, "com.ql.health.Health") as unknown as { - new (address: string, credentials: ChannelCredentials, options?: Partial): HealthClient; +export const HealthClient = makeGenericClientConstructor( + HealthService, + 'com.ql.health.Health', +) as unknown as { + new ( + address: string, + credentials: ChannelCredentials, + options?: Partial, + ): HealthClient; service: typeof HealthService; serviceName: string; }; -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; +type Builtin = + | Date + | Function + | Uint8Array + | string + | number + | boolean + | undefined; -export type DeepPartial = T extends Builtin ? T - : T extends globalThis.Array ? globalThis.Array> - : T extends ReadonlyArray ? ReadonlyArray> - : T extends {} ? { [K in keyof T]?: DeepPartial } +export type DeepPartial = T extends Builtin + ? T + : T extends globalThis.Array + ? globalThis.Array> + : T extends ReadonlyArray + ? ReadonlyArray> + : T extends {} + ? { [K in keyof T]?: DeepPartial } : Partial; type KeysOfUnion = T extends T ? keyof T : never; -export type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; +export type Exact = P extends Builtin + ? P + : P & { [K in keyof P]: Exact } & { + [K in Exclude>]: never; + }; function isSet(value: any): boolean { return value !== null && value !== undefined; diff --git a/back/schedule/api.ts b/back/schedule/api.ts index dd80e44c..345312a3 100644 --- a/back/schedule/api.ts +++ b/back/schedule/api.ts @@ -231,7 +231,8 @@ export const systemNotify = async ( const data = await systemService.notify({ title: call.request.title, content: call.request.content, - notificationInfo: call.request.notificationInfo as unknown as NotificationInfo, + notificationInfo: call.request + .notificationInfo as unknown as NotificationInfo, }); callback(null, data); } catch (e: any) { diff --git a/back/schedule/delCron.ts b/back/schedule/delCron.ts index 6e35c080..c379aaf8 100644 --- a/back/schedule/delCron.ts +++ b/back/schedule/delCron.ts @@ -9,11 +9,8 @@ const delCron = ( ) => { for (const id of call.request.ids) { if (scheduleStacks.has(id)) { - Logger.info( - '[schedule][取消定时任务] 任务ID: %s', - id, - ); - scheduleStacks.get(id)?.forEach(x => x.cancel()); + Logger.info('[schedule][取消定时任务] 任务ID: %s', id); + scheduleStacks.get(id)?.forEach((x) => x.cancel()); scheduleStacks.delete(id); } } diff --git a/back/schedule/health.ts b/back/schedule/health.ts index 9dcad88f..b21d7539 100644 --- a/back/schedule/health.ts +++ b/back/schedule/health.ts @@ -24,7 +24,9 @@ const check = async ( `tail -n 300 ~/.pm2/logs/schedule-error.log`, ); return callback( - new Error(`${scheduleErrLog || ''}\n${panelErrLog || ''}\n${res}`.trim()), + new Error( + `${scheduleErrLog || ''}\n${panelErrLog || ''}\n${res}`.trim(), + ), ); default: diff --git a/back/services/dependence.ts b/back/services/dependence.ts index 1cb7e559..3a02ba20 100644 --- a/back/services/dependence.ts +++ b/back/services/dependence.ts @@ -28,7 +28,7 @@ export default class DependenceService { constructor( @Inject('logger') private logger: winston.Logger, private sockService: SockService, - ) { } + ) {} public async create(payloads: Dependence[]): Promise { const tabs = payloads.map((x) => { diff --git a/back/services/metrics.ts b/back/services/metrics.ts index 7ed44664..27bb3d55 100644 --- a/back/services/metrics.ts +++ b/back/services/metrics.ts @@ -16,7 +16,7 @@ class MetricsService { // 定期清理旧数据 setInterval(() => { const oneHourAgo = Date.now() - 3600000; - this.metrics = this.metrics.filter(m => m.timestamp > oneHourAgo); + this.metrics = this.metrics.filter((m) => m.timestamp > oneHourAgo); }, 60000); } @@ -46,7 +46,11 @@ class MetricsService { } } - async measureAsync(name: string, fn: () => Promise, tags?: Record) { + async measureAsync( + name: string, + fn: () => Promise, + tags?: Record, + ) { const start = performance.now(); try { await fn(); @@ -58,23 +62,26 @@ class MetricsService { getMetrics(name?: string, tags?: Record) { let filtered = this.metrics; - + if (name) { - filtered = filtered.filter(m => m.name === name); + filtered = filtered.filter((m) => m.name === name); } - + if (tags) { - filtered = filtered.filter(m => { + filtered = filtered.filter((m) => { if (!m.tags) return false; - return Object.entries(tags).every(([key, value]) => m.tags![key] === value); + return Object.entries(tags).every( + ([key, value]) => m.tags![key] === value, + ); }); } return { count: filtered.length, - average: filtered.reduce((acc, curr) => acc + curr.value, 0) / filtered.length, - min: Math.min(...filtered.map(m => m.value)), - max: Math.max(...filtered.map(m => m.value)), + average: + filtered.reduce((acc, curr) => acc + curr.value, 0) / filtered.length, + min: Math.min(...filtered.map((m) => m.value)), + max: Math.max(...filtered.map((m) => m.value)), metrics: filtered, }; } @@ -89,4 +96,4 @@ class MetricsService { } } -export const metricsService = MetricsService.getInstance(); \ No newline at end of file +export const metricsService = MetricsService.getInstance(); diff --git a/back/services/sock.ts b/back/services/sock.ts index b09a43bb..60e78929 100644 --- a/back/services/sock.ts +++ b/back/services/sock.ts @@ -7,7 +7,7 @@ import { SockMessage } from '../data/sock'; export default class SockService { private clients: Connection[] = []; - constructor(@Inject('logger') private logger: winston.Logger) { } + constructor(@Inject('logger') private logger: winston.Logger) {} public getClients() { return this.clients; diff --git a/back/services/system.ts b/back/services/system.ts index f7d83797..e5b6efb8 100644 --- a/back/services/system.ts +++ b/back/services/system.ts @@ -47,7 +47,7 @@ export default class SystemService { @Inject('logger') private logger: winston.Logger, private scheduleService: ScheduleService, private sockService: SockService, - ) { } + ) {} public async getSystemConfig() { const doc = await this.getDb({ type: AuthDataType.systemConfig }); @@ -287,7 +287,7 @@ export default class SystemService { ); const text = await body.text(); lastVersionContent = parseContentVersion(text); - } catch (error) { } + } catch (error) {} if (!lastVersionContent) { lastVersionContent = currentVersionContent; @@ -401,16 +401,23 @@ export default class SystemService { } } - public async run({ command, logPath }: { command: string; logPath?: string }, callback: TaskCallbacks) { + public async run( + { command, logPath }: { command: string; logPath?: string }, + callback: TaskCallbacks, + ) { if (!command.startsWith(TASK_COMMAND)) { command = `${TASK_COMMAND} ${command}`; } - const logPathPrefix = logPath ? `real_log_path=${logPath}` : '' - this.scheduleService.runTask(`${logPathPrefix} real_time=true ${command}`, callback, { - command, - id: command.replace(/ /g, '-'), - runOrigin: 'system', - }); + const logPathPrefix = logPath ? `real_log_path=${logPath}` : ''; + this.scheduleService.runTask( + `${logPathPrefix} real_time=true ${command}`, + callback, + { + command, + id: command.replace(/ /g, '-'), + runOrigin: 'system', + }, + ); } public async stop({ command, pid }: { command: string; pid: number }) { @@ -443,7 +450,8 @@ export default class SystemService { } const dataPaths = dataDirs.map((dir) => `data/${dir}`); await promiseExec( - `cd ${config.dataPath} && cd ../ && tar -zcvf ${config.dataTgzFile + `cd ${config.dataPath} && cd ../ && tar -zcvf ${ + config.dataTgzFile } ${dataPaths.join(' ')}`, ); res.download(config.dataTgzFile); @@ -537,7 +545,7 @@ export default class SystemService { try { const finalPath = path.join(config.dependenceCachePath, type); await fs.promises.rm(finalPath, { recursive: true }); - } catch (error) { } + } catch (error) {} return { code: 200 }; } } diff --git a/back/services/user.ts b/back/services/user.ts index 47c04ecf..ff845488 100644 --- a/back/services/user.ts +++ b/back/services/user.ts @@ -110,7 +110,11 @@ export default class UserService { platform: req.platform, }; - const updatedTokens = this.addTokenToList(tokens, req.platform, tokenInfo); + const updatedTokens = this.addTokenToList( + tokens, + req.platform, + tokenInfo, + ); await this.updateAuthInfo(content, { token, @@ -190,8 +194,24 @@ export default class UserService { public async logout(platform: string, tokenValue: string): Promise { const authInfo = await this.getAuthInfo(); - const updatedTokens = this.removeTokenFromList(authInfo.tokens, platform, tokenValue); - + + // Verify the token exists before attempting to remove it + const tokenExists = this.findTokenInList( + authInfo.tokens, + platform, + tokenValue, + ); + if (!tokenExists && authInfo.token !== tokenValue) { + // Token not found, but don't throw error - user may have already logged out + return; + } + + const updatedTokens = this.removeTokenFromList( + authInfo.tokens, + platform, + tokenValue, + ); + await this.updateAuthInfo(authInfo, { token: authInfo.token === tokenValue ? '' : authInfo.token, tokens: updatedTokens, @@ -374,20 +394,24 @@ export default class UserService { } } - private normalizeTokens(tokens: Record): Record { + private normalizeTokens( + tokens: Record, + ): Record { const normalized: Record = {}; - + for (const [platform, value] of Object.entries(tokens)) { if (typeof value === 'string') { // Legacy format: convert string token to TokenInfo array if (value) { - normalized[platform] = [{ - value, - timestamp: Date.now(), - ip: '', - address: '', - platform, - }]; + normalized[platform] = [ + { + value, + timestamp: Date.now(), + ip: '', + address: '', + platform, + }, + ]; } else { normalized[platform] = []; } @@ -396,7 +420,7 @@ export default class UserService { normalized[platform] = value || []; } } - + return normalized; } @@ -404,52 +428,55 @@ export default class UserService { tokens: Record, platform: string, tokenInfo: TokenInfo, - maxTokensPerPlatform: number = 10 + maxTokensPerPlatform: number = config.maxTokensPerPlatform, ): Record { const normalized = this.normalizeTokens(tokens); - + if (!normalized[platform]) { normalized[platform] = []; } - + // Add new token normalized[platform].unshift(tokenInfo); - + // Limit the number of active tokens per platform if (normalized[platform].length > maxTokensPerPlatform) { - normalized[platform] = normalized[platform].slice(0, maxTokensPerPlatform); + normalized[platform] = normalized[platform].slice( + 0, + maxTokensPerPlatform, + ); } - + return normalized; } private removeTokenFromList( tokens: Record, platform: string, - tokenValue: string + tokenValue: string, ): Record { const normalized = this.normalizeTokens(tokens); - + if (normalized[platform]) { normalized[platform] = normalized[platform].filter( - (t) => t.value !== tokenValue + (t) => t.value !== tokenValue, ); } - + return normalized; } private findTokenInList( tokens: Record, platform: string, - tokenValue: string + tokenValue: string, ): TokenInfo | undefined { const normalized = this.normalizeTokens(tokens); - + if (normalized[platform]) { return normalized[platform].find((t) => t.value === tokenValue); } - + return undefined; } diff --git a/back/shared/auth.ts b/back/shared/auth.ts new file mode 100644 index 00000000..15344978 --- /dev/null +++ b/back/shared/auth.ts @@ -0,0 +1,41 @@ +import { AuthInfo, TokenInfo } from '../data/system'; + +/** + * Validates if a token exists in the authentication info. + * Supports both legacy string tokens and new TokenInfo array format. + * + * @param authInfo - The authentication information + * @param headerToken - The token to validate + * @param platform - The platform (desktop, mobile) + * @returns true if the token is valid, false otherwise + */ +export function isValidToken( + authInfo: AuthInfo | null | undefined, + headerToken: string, + platform: string, +): boolean { + if (!authInfo || !headerToken) { + return false; + } + + const { token = '', tokens = {} } = authInfo; + + // Check legacy token field + if (headerToken === token) { + return true; + } + + // Check platform-specific tokens (support both legacy string and new TokenInfo[] format) + const platformTokens = tokens[platform]; + if (platformTokens) { + if (typeof platformTokens === 'string') { + // Legacy format: single string token + return headerToken === platformTokens; + } else if (Array.isArray(platformTokens)) { + // New format: array of TokenInfo objects + return platformTokens.some((t: TokenInfo) => t.value === headerToken); + } + } + + return false; +} diff --git a/back/types/express.d.ts b/back/types/express.d.ts index 4a8fd216..3899d0bd 100644 --- a/back/types/express.d.ts +++ b/back/types/express.d.ts @@ -8,4 +8,4 @@ declare global { platform: 'desktop' | 'mobile'; } } -} \ No newline at end of file +} diff --git a/nodemon.json b/nodemon.json index e88c44ac..e2e6c597 100644 --- a/nodemon.json +++ b/nodemon.json @@ -1,8 +1,5 @@ { - "watch": [ - "back", - ".env" - ], + "watch": ["back", ".env"], "ext": "js,ts,json", "env": { "NODE_ENV": "development", @@ -12,4 +9,4 @@ "execMap": { "ts": "node --require ts-node/register" } -} \ No newline at end of file +} diff --git a/sample/notify.js b/sample/notify.js index 8dfe8851..51990874 100644 --- a/sample/notify.js +++ b/sample/notify.js @@ -1262,7 +1262,15 @@ function ntfyNotify(text, desp) { } return new Promise((resolve) => { - const { NTFY_URL, NTFY_TOPIC, NTFY_PRIORITY, NTFY_TOKEN, NTFY_USERNAME, NTFY_PASSWORD, NTFY_ACTIONS } = push_config; + const { + NTFY_URL, + NTFY_TOPIC, + NTFY_PRIORITY, + NTFY_TOKEN, + NTFY_USERNAME, + NTFY_PASSWORD, + NTFY_ACTIONS, + } = push_config; if (NTFY_TOPIC) { const options = { url: `${NTFY_URL || 'https://ntfy.sh'}/${NTFY_TOPIC}`, @@ -1277,7 +1285,9 @@ function ntfyNotify(text, desp) { if (NTFY_TOKEN) { options.headers['Authorization'] = `Bearer ${NTFY_TOKEN}`; } else if (NTFY_USERNAME && NTFY_PASSWORD) { - options.headers['Authorization'] = `Basic ${Buffer.from(`${NTFY_USERNAME}:${NTFY_PASSWORD}`).toString('base64')}`; + options.headers['Authorization'] = `Basic ${Buffer.from( + `${NTFY_USERNAME}:${NTFY_PASSWORD}`, + ).toString('base64')}`; } if (NTFY_ACTIONS) { options.headers['Actions'] = encodeRFC2047(NTFY_ACTIONS); diff --git a/src/app.ts b/src/app.ts index 8aa3dfac..8a462903 100644 --- a/src/app.ts +++ b/src/app.ts @@ -4,14 +4,16 @@ import intl from 'react-intl-universal'; export function rootContainer(container: any) { const locales = { - 'en': require('./locales/en-US.json'), - 'zh': require('./locales/zh-CN.json'), + en: require('./locales/en-US.json'), + zh: require('./locales/zh-CN.json'), }; - let currentLocale = intl.determineLocale({ - urlLocaleKey: 'lang', - cookieLocaleKey: 'lang', - localStorageLocaleKey: 'lang', - }).slice(0, 2); + let currentLocale = intl + .determineLocale({ + urlLocaleKey: 'lang', + cookieLocaleKey: 'lang', + localStorageLocaleKey: 'lang', + }) + .slice(0, 2); if (!currentLocale || !Object.keys(locales).includes(currentLocale)) { currentLocale = 'zh'; diff --git a/src/pages/config/index.tsx b/src/pages/config/index.tsx index 69217bf4..9b16e548 100644 --- a/src/pages/config/index.tsx +++ b/src/pages/config/index.tsx @@ -136,7 +136,7 @@ const Config = () => { lineNumbersMinChars: 3, folding: false, glyphMargin: false, - accessibilitySupport: 'off' + accessibilitySupport: 'off', }} onMount={(editor) => { editorRef.current = editor; diff --git a/src/pages/crontab/logModal.tsx b/src/pages/crontab/logModal.tsx index 59844305..0f9a3c8d 100644 --- a/src/pages/crontab/logModal.tsx +++ b/src/pages/crontab/logModal.tsx @@ -1,5 +1,5 @@ -import intl from "react-intl-universal"; -import React, { useEffect, useRef, useState } from "react"; +import intl from 'react-intl-universal'; +import React, { useEffect, useRef, useState } from 'react'; import { Modal, message, @@ -8,17 +8,17 @@ import { Statistic, Button, Typography, -} from "antd"; -import { request } from "@/utils/http"; -import config from "@/utils/config"; +} from 'antd'; +import { request } from '@/utils/http'; +import config from '@/utils/config'; import { Loading3QuartersOutlined, CheckCircleOutlined, -} from "@ant-design/icons"; -import { PageLoading } from "@ant-design/pro-layout"; -import { logEnded } from "@/utils"; -import { CrontabStatus } from "./type"; -import Ansi from "ansi-to-react"; +} from '@ant-design/icons'; +import { PageLoading } from '@ant-design/pro-layout'; +import { logEnded } from '@/utils'; +import { CrontabStatus } from './type'; +import Ansi from 'ansi-to-react'; const { Countdown } = Statistic; @@ -33,7 +33,7 @@ const CronLogModal = ({ data?: string; logUrl?: string; }) => { - const [value, setValue] = useState(intl.get("启动中...")); + const [value, setValue] = useState(intl.get('启动中...')); const [loading, setLoading] = useState(true); const [executing, setExecuting] = useState(true); const [isPhone, setIsPhone] = useState(false); @@ -49,15 +49,15 @@ const CronLogModal = ({ .then(({ code, data }) => { if ( code === 200 && - localStorage.getItem("logCron") === uniqPath && + localStorage.getItem('logCron') === uniqPath && data !== value ) { const log = data as string; - setValue(log || intl.get("暂无日志")); + setValue(log || intl.get('暂无日志')); const hasNext = Boolean( - log && !logEnded(log) && !log.includes("日志不存在"), + log && !logEnded(log) && !log.includes('日志不存在'), ); - if (!hasNext && !logEnded(value) && value !== intl.get("启动中...")) { + if (!hasNext && !logEnded(value) && value !== intl.get('启动中...')) { setTimeout(() => { autoScroll(); }); @@ -85,13 +85,13 @@ const CronLogModal = ({ setTimeout(() => { document - .querySelector("#log-flag") - ?.scrollIntoView({ behavior: "smooth" }); + .querySelector('#log-flag') + ?.scrollIntoView({ behavior: 'smooth' }); }, 600); }; const cancel = () => { - localStorage.removeItem("logCron"); + localStorage.removeItem('logCron'); handleCancel(); }; @@ -107,7 +107,7 @@ const CronLogModal = ({ const titleElement = () => { return ( -
+
{(executing || loading) && } {!executing && !loading && } @@ -144,7 +144,7 @@ const CronLogModal = ({ onCancel={() => cancel()} footer={[ , ]} > @@ -156,9 +156,9 @@ const CronLogModal = ({ style={ isPhone ? { - fontFamily: "Source Code Pro", - zoom: 0.83, - } + fontFamily: 'Source Code Pro', + zoom: 0.83, + } : {} } > diff --git a/src/pages/crontab/modal.tsx b/src/pages/crontab/modal.tsx index 6a7c0492..7114b0c1 100644 --- a/src/pages/crontab/modal.tsx +++ b/src/pages/crontab/modal.tsx @@ -312,4 +312,3 @@ const CronLabelModal = ({ }; export { CronLabelModal, CronModal as default }; - diff --git a/src/pages/dependence/type.ts b/src/pages/dependence/type.ts index 238ca17a..19a8c09a 100644 --- a/src/pages/dependence/type.ts +++ b/src/pages/dependence/type.ts @@ -18,4 +18,4 @@ export enum Status { '删除失败', '队列中', '已取消', -} \ No newline at end of file +} diff --git a/src/pages/diff/index.tsx b/src/pages/diff/index.tsx index 5897cb2e..04936744 100644 --- a/src/pages/diff/index.tsx +++ b/src/pages/diff/index.tsx @@ -26,7 +26,9 @@ const Diff = () => { const getConfig = () => { request - .get(`${config.apiPrefix}configs/detail?path=${encodeURIComponent(current)}`) + .get( + `${config.apiPrefix}configs/detail?path=${encodeURIComponent(current)}`, + ) .then(({ code, data }) => { if (code === 200) { setCurrentValue(data); @@ -36,7 +38,9 @@ const Diff = () => { const getSample = () => { request - .get(`${config.apiPrefix}configs/detail?path=${encodeURIComponent(origin)}`) + .get( + `${config.apiPrefix}configs/detail?path=${encodeURIComponent(origin)}`, + ) .then(({ code, data }) => { if (code === 200) { setOriginValue(data); diff --git a/src/pages/env/editNameModal.tsx b/src/pages/env/editNameModal.tsx index 9a0fa260..6ef8294e 100644 --- a/src/pages/env/editNameModal.tsx +++ b/src/pages/env/editNameModal.tsx @@ -1,4 +1,4 @@ -import intl from 'react-intl-universal' +import intl from 'react-intl-universal'; import React, { useEffect, useState } from 'react'; import { Modal, message, Input, Form } from 'antd'; import { request } from '@/utils/http'; @@ -55,7 +55,9 @@ const EditNameModal = ({
diff --git a/src/pages/script/components/UnsupportedFilePreview/index.module.less b/src/pages/script/components/UnsupportedFilePreview/index.module.less index 688e4857..17e46f9f 100644 --- a/src/pages/script/components/UnsupportedFilePreview/index.module.less +++ b/src/pages/script/components/UnsupportedFilePreview/index.module.less @@ -64,4 +64,4 @@ .warningIcon { font-size: 14px; color: #faad14; -} \ No newline at end of file +} diff --git a/src/pages/script/components/UnsupportedFilePreview/index.tsx b/src/pages/script/components/UnsupportedFilePreview/index.tsx index 4cac37ff..95c74f6b 100644 --- a/src/pages/script/components/UnsupportedFilePreview/index.tsx +++ b/src/pages/script/components/UnsupportedFilePreview/index.tsx @@ -17,12 +17,10 @@ const UnsupportedFilePreview: React.FC = ({
-
- {intl.get('当前文件不支持预览')} -
+
{intl.get('当前文件不支持预览')}
- ); diff --git a/src/pages/setting/notification.tsx b/src/pages/setting/notification.tsx index 81baa8fe..2bfae998 100644 --- a/src/pages/setting/notification.tsx +++ b/src/pages/setting/notification.tsx @@ -76,7 +76,9 @@ const NotificationSetting = ({ data }: any) => { > {x.items ? (