This commit is contained in:
qq
2026-04-21 23:14:17 +08:00
parent a6daa1b581
commit 9d1cf6e4ed
5 changed files with 31 additions and 5 deletions
+1 -1
View File
@@ -31,7 +31,7 @@ let SessionService = class SessionService {
async login(dto) { async login(dto) {
const admin = await this.adminRepos.findOneBy(dto); const admin = await this.adminRepos.findOneBy(dto);
if (!admin) { if (!admin) {
return api_1.Api.error('请检查账号和密码否正确'); return api_1.Api.error('请检查账号和密码否正确');
} }
const payload = { sub: admin.id }; const payload = { sub: admin.id };
const token = await this.authService.create(payload, { const token = await this.authService.create(payload, {
+4 -1
View File
@@ -6,6 +6,7 @@ import { TeamRelationModel } from 'src/model/team_relation.model';
import { InviteCodePoolModel } from 'src/model/invite_code_pool.model'; import { InviteCodePoolModel } from 'src/model/invite_code_pool.model';
import { UserSignInModel } from 'src/model/user_sign_in.model'; import { UserSignInModel } from 'src/model/user_sign_in.model';
import { Repository, DataSource } from 'typeorm'; import { Repository, DataSource } from 'typeorm';
import { AdminModel } from 'src/model/admin.model';
export declare class TaskInstallService implements OnModuleInit { export declare class TaskInstallService implements OnModuleInit {
private systemConfigModel; private systemConfigModel;
private userModel; private userModel;
@@ -13,11 +14,13 @@ export declare class TaskInstallService implements OnModuleInit {
private teamRelationModel; private teamRelationModel;
private inviteCodePoolModel; private inviteCodePoolModel;
private userSignInModel; private userSignInModel;
private adminModel;
private dataSource; private dataSource;
private readonly logger; private readonly logger;
constructor(systemConfigModel: Repository<SystemConfigModel>, userModel: Repository<UserModel>, walletModel: Repository<WalletModel>, teamRelationModel: Repository<TeamRelationModel>, inviteCodePoolModel: Repository<InviteCodePoolModel>, userSignInModel: Repository<UserSignInModel>, dataSource: DataSource); constructor(systemConfigModel: Repository<SystemConfigModel>, userModel: Repository<UserModel>, walletModel: Repository<WalletModel>, teamRelationModel: Repository<TeamRelationModel>, inviteCodePoolModel: Repository<InviteCodePoolModel>, userSignInModel: Repository<UserSignInModel>, adminModel: Repository<AdminModel>, dataSource: DataSource);
onModuleInit(): void; onModuleInit(): void;
install(): Promise<void>; install(): Promise<void>;
createAdminUser(): Promise<void>;
createTopUser(): Promise<UserModel>; createTopUser(): Promise<UserModel>;
initImGroup(topUserId: number): Promise<void>; initImGroup(topUserId: number): Promise<void>;
} }
+24 -1
View File
@@ -26,6 +26,7 @@ const typeorm_2 = require("typeorm");
const data_source_context_1 = require("../../common/context/data_source.context"); const data_source_context_1 = require("../../common/context/data_source.context");
const im_help_1 = require("../../common/util/im_help"); const im_help_1 = require("../../common/util/im_help");
const app_env_1 = require("../../../app.env"); const app_env_1 = require("../../../app.env");
const admin_model_1 = require("../../../model/admin.model");
let TaskInstallService = TaskInstallService_1 = class TaskInstallService { let TaskInstallService = TaskInstallService_1 = class TaskInstallService {
systemConfigModel; systemConfigModel;
userModel; userModel;
@@ -33,15 +34,17 @@ let TaskInstallService = TaskInstallService_1 = class TaskInstallService {
teamRelationModel; teamRelationModel;
inviteCodePoolModel; inviteCodePoolModel;
userSignInModel; userSignInModel;
adminModel;
dataSource; dataSource;
logger = new common_1.Logger(TaskInstallService_1.name); logger = new common_1.Logger(TaskInstallService_1.name);
constructor(systemConfigModel, userModel, walletModel, teamRelationModel, inviteCodePoolModel, userSignInModel, dataSource) { constructor(systemConfigModel, userModel, walletModel, teamRelationModel, inviteCodePoolModel, userSignInModel, adminModel, dataSource) {
this.systemConfigModel = systemConfigModel; this.systemConfigModel = systemConfigModel;
this.userModel = userModel; this.userModel = userModel;
this.walletModel = walletModel; this.walletModel = walletModel;
this.teamRelationModel = teamRelationModel; this.teamRelationModel = teamRelationModel;
this.inviteCodePoolModel = inviteCodePoolModel; this.inviteCodePoolModel = inviteCodePoolModel;
this.userSignInModel = userSignInModel; this.userSignInModel = userSignInModel;
this.adminModel = adminModel;
this.dataSource = dataSource; this.dataSource = dataSource;
} }
onModuleInit() { onModuleInit() {
@@ -58,12 +61,30 @@ let TaskInstallService = TaskInstallService_1 = class TaskInstallService {
else { else {
this.logger.verbose('系统配置已存在,跳过初始化'); this.logger.verbose('系统配置已存在,跳过初始化');
} }
await this.createAdminUser();
this.logger.verbose('开始创建顶级用户...'); this.logger.verbose('开始创建顶级用户...');
const topUser = await this.createTopUser(); const topUser = await this.createTopUser();
await this.initImGroup(topUser.id); await this.initImGroup(topUser.id);
this.logger.verbose('安装任务执行完成,即将退出进程'); this.logger.verbose('安装任务执行完成,即将退出进程');
process.exit(0); process.exit(0);
} }
async createAdminUser() {
this.logger.verbose('开始创建管理员账号...');
const old = await this.adminModel.findOneBy({
username: 'admin',
});
if (old) {
this.logger.verbose('管理员账号已存在');
}
else {
const admin = this.adminModel.create({
username: 'admin',
password: 'Aa123123.',
});
await this.adminModel.save(admin);
this.logger.verbose('管理员账号创建完成');
}
}
async createTopUser() { async createTopUser() {
const queryRunner = this.dataSource.createQueryRunner(); const queryRunner = this.dataSource.createQueryRunner();
return await data_source_context_1.DataSourceContext.startTransactionToQueryRunner(queryRunner, async (transaction) => { return await data_source_context_1.DataSourceContext.startTransactionToQueryRunner(queryRunner, async (transaction) => {
@@ -147,12 +168,14 @@ exports.TaskInstallService = TaskInstallService = TaskInstallService_1 = __decor
__param(3, (0, typeorm_1.InjectRepository)(team_relation_model_1.TeamRelationModel)), __param(3, (0, typeorm_1.InjectRepository)(team_relation_model_1.TeamRelationModel)),
__param(4, (0, typeorm_1.InjectRepository)(invite_code_pool_model_1.InviteCodePoolModel)), __param(4, (0, typeorm_1.InjectRepository)(invite_code_pool_model_1.InviteCodePoolModel)),
__param(5, (0, typeorm_1.InjectRepository)(user_sign_in_model_1.UserSignInModel)), __param(5, (0, typeorm_1.InjectRepository)(user_sign_in_model_1.UserSignInModel)),
__param(6, (0, typeorm_1.InjectRepository)(admin_model_1.AdminModel)),
__metadata("design:paramtypes", [typeorm_2.Repository, __metadata("design:paramtypes", [typeorm_2.Repository,
typeorm_2.Repository, typeorm_2.Repository,
typeorm_2.Repository, typeorm_2.Repository,
typeorm_2.Repository, typeorm_2.Repository,
typeorm_2.Repository, typeorm_2.Repository,
typeorm_2.Repository, typeorm_2.Repository,
typeorm_2.Repository,
typeorm_2.DataSource]) typeorm_2.DataSource])
], TaskInstallService); ], TaskInstallService);
//# sourceMappingURL=task_install.service.js.map //# sourceMappingURL=task_install.service.js.map
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long