Skip to content

Commit

Permalink
QLAPI 支持操作环境变量和系统通知
Browse files Browse the repository at this point in the history
  • Loading branch information
whyour committed Jan 10, 2025
1 parent 4667af4 commit dea0ffe
Show file tree
Hide file tree
Showing 21 changed files with 2,541 additions and 83 deletions.
12 changes: 7 additions & 5 deletions back/loaders/db.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,16 +48,18 @@ export default async () => {
} catch (error) {}
try {
await sequelize.query('alter table Crontabs add column sub_id NUMBER');
} catch (error) { }
} catch (error) {}
try {
await sequelize.query('alter table Crontabs add column extra_schedules JSON');
} catch (error) { }
await sequelize.query(
'alter table Crontabs add column extra_schedules JSON',
);
} catch (error) {}
try {
await sequelize.query('alter table Crontabs add column task_before TEXT');
} catch (error) { }
} catch (error) {}
try {
await sequelize.query('alter table Crontabs add column task_after TEXT');
} catch (error) { }
} catch (error) {}

// 2.10-2.11 升级
const cronDbFile = path.join(config.rootPath, 'db/crontab.db');
Expand Down
16 changes: 15 additions & 1 deletion back/loaders/initData.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,11 @@ import { AuthDataType, SystemModel } from '../data/system';
import SystemService from '../services/system';
import UserService from '../services/user';
import { writeFile, readFile } from 'fs/promises';
import { safeJSONParse } from '../config/util';
import { createRandomString, safeJSONParse } from '../config/util';
import OpenService from '../services/open';
import { shareStore } from '../shared/store';
import Logger from './logger';
import { AppModel } from '../data/open';

export default async () => {
const cronService = Container.get(CronService);
Expand All @@ -27,6 +28,19 @@ export default async () => {
const openService = Container.get(OpenService);

// 初始化增加系统配置
let systemApp = (
await AppModel.findOne({
where: { name: 'system' },
})
)?.get({ plain: true });
if (!systemApp) {
systemApp = await AppModel.create({
name: 'system',
scopes: ['crons', 'system'],
client_id: createRandomString(12, 12),
client_secret: createRandomString(24, 24),
});
}
const [systemConfig] = await SystemModel.findOrCreate({
where: { type: AuthDataType.systemConfig },
});
Expand Down
73 changes: 73 additions & 0 deletions back/protos/api.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
syntax = "proto3";

package com.ql.api;

message EnvItem {
optional int32 id = 1;
optional string name = 2;
optional string value = 3;
optional string remarks = 4;
optional int32 status = 5;
optional int32 position = 6;
}

message GetEnvsRequest { string searchValue = 1; }

message CreateEnvRequest { repeated EnvItem envs = 1; }

message UpdateEnvRequest { EnvItem env = 1; }

message DeleteEnvsRequest { repeated int32 ids = 1; }

message MoveEnvRequest {
int32 id = 1;
int32 fromIndex = 2;
int32 toIndex = 3;
}

message DisableEnvsRequest { repeated int32 ids = 1; }

message EnableEnvsRequest { repeated int32 ids = 1; }

message UpdateEnvNamesRequest {
repeated int32 ids = 1;
string name = 2;
}

message GetEnvByIdRequest { int32 id = 1; }

message EnvsResponse {
int32 code = 1;
repeated EnvItem data = 2;
optional string message = 3;
}

message EnvResponse {
int32 code = 1;
EnvItem data = 2;
optional string message = 3;
}

message Response {
int32 code = 1;
optional string message = 2;
}

message SystemNotifyRequest {
string title = 1;
string content = 2;
}
message SystemNotifyResponse {}

service Api {
rpc GetEnvs(GetEnvsRequest) returns (EnvsResponse) {}
rpc CreateEnv(CreateEnvRequest) returns (EnvsResponse) {}
rpc UpdateEnv(UpdateEnvRequest) returns (EnvResponse) {}
rpc DeleteEnvs(DeleteEnvsRequest) returns (Response) {}
rpc MoveEnv(MoveEnvRequest) returns (EnvResponse) {}
rpc DisableEnvs(DisableEnvsRequest) returns (Response) {}
rpc EnableEnvs(EnableEnvsRequest) returns (Response) {}
rpc UpdateEnvNames(UpdateEnvNamesRequest) returns (Response) {}
rpc GetEnvById(GetEnvByIdRequest) returns (EnvResponse) {}
rpc SystemNotify(SystemNotifyRequest) returns (SystemNotifyResponse) {}
}
Loading

0 comments on commit dea0ffe

Please sign in to comment.