mirror of https://github.com/certd/certd
fix: 修复站点监控通知渠道设置无效的bug
parent
2eb0e54909
commit
a00453c83a
|
@ -1,22 +1,22 @@
|
||||||
import { Inject, Provide, Scope, ScopeEnum } from "@midwayjs/core";
|
import {Inject, Provide, Scope, ScopeEnum} from "@midwayjs/core";
|
||||||
import { BaseService, NeedSuiteException, NeedVIPException, SysSettingsService } from "@certd/lib-server";
|
import {BaseService, NeedSuiteException, NeedVIPException, SysSettingsService} from "@certd/lib-server";
|
||||||
import { InjectEntityModel } from "@midwayjs/typeorm";
|
import {InjectEntityModel} from "@midwayjs/typeorm";
|
||||||
import { Repository } from "typeorm";
|
import {Repository} from "typeorm";
|
||||||
import { SiteInfoEntity } from "../entity/site-info.js";
|
import {SiteInfoEntity} from "../entity/site-info.js";
|
||||||
import { siteTester } from "./site-tester.js";
|
import {siteTester} from "./site-tester.js";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import { logger, utils } from "@certd/basic";
|
import {logger, utils} from "@certd/basic";
|
||||||
import { PeerCertificate } from "tls";
|
import {PeerCertificate} from "tls";
|
||||||
import { NotificationService } from "../../pipeline/service/notification-service.js";
|
import {NotificationService} from "../../pipeline/service/notification-service.js";
|
||||||
import { isComm, isPlus } from "@certd/plus-core";
|
import {isComm, isPlus} from "@certd/plus-core";
|
||||||
import { UserSuiteService } from "@certd/commercial-core";
|
import {UserSuiteService} from "@certd/commercial-core";
|
||||||
import { UserSettingsService } from "../../mine/service/user-settings-service.js";
|
import {UserSettingsService} from "../../mine/service/user-settings-service.js";
|
||||||
import { UserSiteMonitorSetting } from "../../mine/service/models.js";
|
import {UserSiteMonitorSetting} from "../../mine/service/models.js";
|
||||||
import { SiteIpService } from "./site-ip-service.js";
|
import {SiteIpService} from "./site-ip-service.js";
|
||||||
import { SiteIpEntity } from "../entity/site-ip.js";
|
import {SiteIpEntity} from "../entity/site-ip.js";
|
||||||
|
|
||||||
@Provide()
|
@Provide()
|
||||||
@Scope(ScopeEnum.Request, { allowDowngrade: true })
|
@Scope(ScopeEnum.Request, {allowDowngrade: true})
|
||||||
export class SiteInfoService extends BaseService<SiteInfoEntity> {
|
export class SiteInfoService extends BaseService<SiteInfoEntity> {
|
||||||
@InjectEntityModel(SiteInfoEntity)
|
@InjectEntityModel(SiteInfoEntity)
|
||||||
repository: Repository<SiteInfoEntity>;
|
repository: Repository<SiteInfoEntity>;
|
||||||
|
@ -70,7 +70,7 @@ export class SiteInfoService extends BaseService<SiteInfoEntity> {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (found) {
|
if (found) {
|
||||||
return { id: found.id };
|
return {id: found.id};
|
||||||
}
|
}
|
||||||
|
|
||||||
return await super.add(data);
|
return await super.add(data);
|
||||||
|
@ -89,7 +89,7 @@ export class SiteInfoService extends BaseService<SiteInfoEntity> {
|
||||||
throw new Error("userId is required");
|
throw new Error("userId is required");
|
||||||
}
|
}
|
||||||
return await this.repository.count({
|
return await this.repository.count({
|
||||||
where: { userId }
|
where: {userId}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -141,7 +141,7 @@ export class SiteInfoService extends BaseService<SiteInfoEntity> {
|
||||||
};
|
};
|
||||||
|
|
||||||
if (site.ipCheck) {
|
if (site.ipCheck) {
|
||||||
delete updateData.checkStatus
|
delete updateData.checkStatus
|
||||||
}
|
}
|
||||||
await this.update(updateData);
|
await this.update(updateData);
|
||||||
|
|
||||||
|
@ -239,9 +239,11 @@ export class SiteInfoService extends BaseService<SiteInfoEntity> {
|
||||||
|
|
||||||
async sendCheckErrorNotify(site: SiteInfoEntity, fromIpCheck = false) {
|
async sendCheckErrorNotify(site: SiteInfoEntity, fromIpCheck = false) {
|
||||||
const url = await this.notificationService.getBindUrl("#/certd/monitor/site");
|
const url = await this.notificationService.getBindUrl("#/certd/monitor/site");
|
||||||
|
const setting = await this.userSettingsService.getSetting<UserSiteMonitorSetting>(site.userId, UserSiteMonitorSetting)
|
||||||
// 发邮件
|
// 发邮件
|
||||||
await this.notificationService.send(
|
await this.notificationService.send(
|
||||||
{
|
{
|
||||||
|
id: setting?.notificationId,
|
||||||
useDefault: true,
|
useDefault: true,
|
||||||
logger: logger,
|
logger: logger,
|
||||||
body: {
|
body: {
|
||||||
|
@ -262,11 +264,13 @@ export class SiteInfoService extends BaseService<SiteInfoEntity> {
|
||||||
const expires = site.certExpiresTime;
|
const expires = site.certExpiresTime;
|
||||||
const validDays = dayjs(expires).diff(dayjs(), "day");
|
const validDays = dayjs(expires).diff(dayjs(), "day");
|
||||||
const url = await this.notificationService.getBindUrl("#/certd/monitor/site");
|
const url = await this.notificationService.getBindUrl("#/certd/monitor/site");
|
||||||
|
const setting = await this.userSettingsService.getSetting<UserSiteMonitorSetting>(site.userId, UserSiteMonitorSetting)
|
||||||
const content = `站点名称: ${site.name} \n站点域名: ${site.domain} \n证书域名: ${site.certDomains} \n颁发机构: ${site.certProvider} \n过期时间: ${dayjs(site.certExpiresTime).format("YYYY-MM-DD")} \n`;
|
const content = `站点名称: ${site.name} \n站点域名: ${site.domain} \n证书域名: ${site.certDomains} \n颁发机构: ${site.certProvider} \n过期时间: ${dayjs(site.certExpiresTime).format("YYYY-MM-DD")} \n`;
|
||||||
if (validDays >= 0 && validDays < tipDays) {
|
if (validDays >= 0 && validDays < tipDays) {
|
||||||
// 发通知
|
// 发通知
|
||||||
await this.notificationService.send(
|
await this.notificationService.send(
|
||||||
{
|
{
|
||||||
|
id: setting?.notificationId,
|
||||||
useDefault: true,
|
useDefault: true,
|
||||||
logger: logger,
|
logger: logger,
|
||||||
body: {
|
body: {
|
||||||
|
@ -281,6 +285,7 @@ export class SiteInfoService extends BaseService<SiteInfoEntity> {
|
||||||
//发过期通知
|
//发过期通知
|
||||||
await this.notificationService.send(
|
await this.notificationService.send(
|
||||||
{
|
{
|
||||||
|
id: setting?.notificationId,
|
||||||
useDefault: true,
|
useDefault: true,
|
||||||
logger: logger,
|
logger: logger,
|
||||||
body: {
|
body: {
|
||||||
|
@ -300,7 +305,7 @@ export class SiteInfoService extends BaseService<SiteInfoEntity> {
|
||||||
throw new Error("userId is required");
|
throw new Error("userId is required");
|
||||||
}
|
}
|
||||||
const sites = await this.repository.find({
|
const sites = await this.repository.find({
|
||||||
where: { userId }
|
where: {userId}
|
||||||
});
|
});
|
||||||
this.checkList(sites);
|
this.checkList(sites);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue