@whyour/qinglong 0.14.1 → 0.14.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/docker/Dockerfile CHANGED
@@ -46,6 +46,7 @@ RUN set -x && \
46
46
  jq \
47
47
  procps \
48
48
  netcat \
49
+ unzip \
49
50
  libatomic1 && \
50
51
  apt clean && \
51
52
  ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whyour/qinglong",
3
- "version": "0.14.1",
3
+ "version": "0.14.3",
4
4
  "description": "Timed task management platform supporting Python3, JavaScript, Shell, Typescript",
5
5
  "repository": {
6
6
  "type": "git",
package/shell/update.sh CHANGED
@@ -476,6 +476,9 @@ main() {
476
476
  if [[ "$no_tee" == "true" ]]; then
477
477
  cmd=">> $file_path 2>&1"
478
478
  fi
479
+ if [[ "$real_time" == "true" ]]; then
480
+ cmd=""
481
+ fi
479
482
 
480
483
  local time_format="%Y-%m-%d %H:%M:%S"
481
484
  local time=$(date "+$time_format")
@@ -66,22 +66,23 @@ exports.default = (app) => {
66
66
  return next(e);
67
67
  }
68
68
  });
69
- route.get('/:file', async (req, res, next) => {
69
+ route.get('/detail', async (req, res, next) => {
70
70
  const logger = typedi_1.Container.get('logger');
71
71
  try {
72
72
  let content = '';
73
- if (config_1.default.blackFileList.includes(req.params.file)) {
73
+ const _path = req.query.path;
74
+ if (config_1.default.blackFileList.includes(_path) || !_path) {
74
75
  res.send({ code: 403, message: '文件无法访问' });
75
76
  }
76
- if (req.params.file.startsWith('sample/')) {
77
- const res = await got_1.default.get(`https://gitlab.com/whyour/qinglong/-/raw/master/${req.params.file}`);
77
+ if (_path.startsWith('sample/')) {
78
+ const res = await got_1.default.get(`https://gitlab.com/whyour/qinglong/-/raw/master/${_path}`);
78
79
  content = res.body;
79
80
  }
80
- else if (req.params.file.startsWith('data/scripts/')) {
81
- content = await (0, util_1.getFileContentByName)((0, path_1.join)(config_1.default.rootPath, req.params.file));
81
+ else if (_path.startsWith('data/scripts/')) {
82
+ content = await (0, util_1.getFileContentByName)((0, path_1.join)(config_1.default.rootPath, _path));
82
83
  }
83
84
  else {
84
- content = await (0, util_1.getFileContentByName)((0, path_1.join)(config_1.default.configPath, req.params.file));
85
+ content = await (0, util_1.getFileContentByName)((0, path_1.join)(config_1.default.configPath, _path));
85
86
  }
86
87
  res.send({ code: 200, data: content });
87
88
  }
@@ -14,6 +14,7 @@ const sequelize_1 = require("sequelize");
14
14
  const config_1 = __importDefault(require("../config"));
15
15
  const cronView_1 = require("../data/cronView");
16
16
  const env_2 = require("../data/env");
17
+ const system_1 = require("../data/system");
17
18
  exports.default = async () => {
18
19
  const cronService = typedi_1.Container.get(cron_2.default);
19
20
  const envService = typedi_1.Container.get(env_1.default);
@@ -101,5 +102,7 @@ exports.default = async () => {
101
102
  // 初始化保存一次ck和定时任务数据
102
103
  await cronService.autosave_crontab();
103
104
  await envService.set_envs();
105
+ // 初始化增加系统配置
106
+ await system_1.SystemModel.upsert({ type: system_1.AuthDataType.systemConfig });
104
107
  };
105
108
  //# sourceMappingURL=initData.js.map
@@ -223,7 +223,7 @@ let SystemService = class SystemService {
223
223
  return false;
224
224
  }
225
225
  async updateSystem() {
226
- const cp = (0, cross_spawn_1.spawn)('no_tee=true ql update false', { shell: '/bin/bash' });
226
+ const cp = (0, cross_spawn_1.spawn)('real_time=true ql update false', { shell: '/bin/bash' });
227
227
  cp.stdout.on('data', (data) => {
228
228
  this.sockService.sendMessage({
229
229
  type: 'updateSystemVersion',
@@ -245,7 +245,7 @@ let SystemService = class SystemService {
245
245
  return { code: 200 };
246
246
  }
247
247
  async reloadSystem(target) {
248
- const cmd = `no_tee=true ql reload ${target || ''}`;
248
+ const cmd = `real_time=true ql reload ${target || ''}`;
249
249
  const cp = (0, cross_spawn_1.spawn)(cmd, { shell: '/bin/bash' });
250
250
  cp.stdout.on('data', (data) => {
251
251
  this.sockService.sendMessage({
@@ -10,6 +10,6 @@
10
10
  </head>
11
11
  <body>
12
12
  <div id="root"></div>
13
- <script src="./umi.d9c7e2bb.js"></script>
13
+ <script src="./umi.639187d6.js"></script>
14
14
 
15
15
  </body></html>
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_whyour_qinglong=self.webpackChunk_whyour_qinglong||[]).push([[5825],{37126:function(e,n,t){t.d(n,{Z:function(){return s}});var a=t(14797),o=t(63313),r={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"}}]},name:"search",theme:"outlined"},c=t(46420),i=function(e,n){return o.createElement(c.Z,(0,a.Z)((0,a.Z)({},e),{},{ref:n,icon:r}))};i.displayName="SearchOutlined";var s=o.forwardRef(i)},74301:function(e,n,t){t.r(n);var a=t(54306),o=t.n(a),r=t(88265),c=t(63313),i=t(9835),s=t(75310),u=t(24378),l=t(15207),d=t(23435),E=t(57229),f=t(82755),h=t(31988),p=t(14851),g=t(26747),m=t(95407),S=t(40141),N=t(11527);n.default=function(){var e=(0,p.useOutletContext)(),n=e.headerStyle,t=e.isPhone,a=e.theme,C=(0,c.useState)(""),M=o()(C,2),y=M[0],O=M[1],v=(0,c.useState)(!0),T=o()(v,2),_=T[0],U=T[1],P=(0,c.useState)("config.sh"),I=o()(P,2),A=I[0],R=I[1],x=(0,c.useState)("config.sh"),w=o()(x,2),Z=w[0],L=w[1],b=(0,c.useState)([]),D=o()(b,2),F=D[0],K=D[1],k=(0,c.useRef)(null),H=(0,c.useState)(!1),W=o()(H,2),G=W[0],j=W[1],B=(0,c.useState)("shell"),V=o()(B,2),Q=V[0],z=V[1],q=function(e){E.W.get("".concat(l.Z.apiPrefix,"configs/detail?path=").concat(encodeURIComponent(e))).then((function(e){var n=e.code,t=e.data;200===n&&O(t)}))},Y=function(){j(!0);var e=k.current?k.current.getValue().replace(/\r\n/g,"\n"):y;E.W.post("".concat(l.Z.apiPrefix,"configs/save"),{content:e,name:Z}).then((function(e){var n=e.code;e.data;200===n&&i.ZP.success(r.ZP.get("保存成功")),j(!1)}))};return(0,m.y1)("meta+s",(function(e){Y()}),{enableOnFormTags:["textarea"],preventDefault:!0}),(0,c.useEffect)((function(){U(!0),E.W.get("".concat(l.Z.apiPrefix,"configs/files")).then((function(e){var n=e.code,t=e.data;200===n&&K(t)})).finally((function(){return U(!1)})),q("config.sh")}),[]),(0,N.jsx)(d.ZP,{className:"ql-container-wrapper config-wrapper",title:A,loading:_,extra:[(0,N.jsx)(s.Z,{treeExpandAction:"click",className:"config-select",value:Z,dropdownStyle:{maxHeight:400,overflow:"auto"},treeData:F,defaultValue:"config.sh",onSelect:function(e,n){L(e),R(n.value),q(n.value);var t=(0,S.H$)(e);z(t)}},"value"),(0,N.jsx)(u.Z,{loading:G,type:"primary",onClick:Y,children:r.ZP.get("保存")},"1")],header:{style:n},children:t?(0,N.jsx)(h.ZP,{value:y,theme:a.includes("dark")?"dark":"light",extensions:[g.RI.shell()],onChange:function(e){O(e)}}):(0,N.jsx)(f.ZP,{language:Q,value:y,theme:a,options:{fontSize:12,lineNumbersMinChars:3,folding:!1,glyphMargin:!1},onMount:function(e){k.current=e}})})}},52105:function(e,n,t){var a=t(41171),o=t(63313),r=t(68098);n.Z=function(){var e=o.useState(!1),n=(0,a.Z)(e,2),t=n[0],c=n[1];return o.useEffect((function(){c((0,r.fk)())}),[]),t}},11847:function(e,n,t){t.d(n,{c4:function(){return r}});var a=t(22481),o=t(88028),r=["xxl","xl","lg","md","sm","xs"],c={xs:"(max-width: 575px)",sm:"(min-width: 576px)",md:"(min-width: 768px)",lg:"(min-width: 992px)",xl:"(min-width: 1200px)",xxl:"(min-width: 1600px)"},i=new Map,s=-1,u={},l={matchHandlers:{},dispatch:function(e){return u=e,i.forEach((function(e){return e(u)})),i.size>=1},subscribe:function(e){return i.size||this.register(),s+=1,i.set(s,e),e(u),s},unsubscribe:function(e){i.delete(e),i.size||this.unregister()},unregister:function(){var e=this;Object.keys(c).forEach((function(n){var t=c[n],a=e.matchHandlers[t];null==a||a.mql.removeListener(null==a?void 0:a.listener)})),i.clear()},register:function(){var e=this;Object.keys(c).forEach((function(n){var t=c[n],r=function(t){var r=t.matches;e.dispatch((0,o.Z)((0,o.Z)({},u),(0,a.Z)({},n,r)))},i=window.matchMedia(t);i.addListener(r),e.matchHandlers[t]={mql:i,listener:r},r(i)}))}};n.ZP=l},1020:function(e,n,t){t.d(n,{F:function(){return i},Z:function(){return c}});var a=t(22481),o=t(84875),r=t.n(o);(0,t(20341).b)("warning","error","");function c(e,n,t){var o;return r()((o={},(0,a.Z)(o,"".concat(e,"-status-success"),"success"===n),(0,a.Z)(o,"".concat(e,"-status-warning"),"warning"===n),(0,a.Z)(o,"".concat(e,"-status-error"),"error"===n),(0,a.Z)(o,"".concat(e,"-status-validating"),"validating"===n),(0,a.Z)(o,"".concat(e,"-has-feedback"),t),o))}var i=function(e,n){return n||e}},68098:function(e,n,t){t.d(n,{fk:function(){return c},jD:function(){return r}});var a,o=t(46594),r=function(){return(0,o.Z)()&&window.document.documentElement},c=function(){if(!r())return!1;if(void 0!==a)return a;var e=document.createElement("div");return e.style.display="flex",e.style.flexDirection="column",e.style.rowGap="1px",e.appendChild(document.createElement("div")),e.appendChild(document.createElement("div")),document.body.appendChild(e),a=1===e.scrollHeight,document.body.removeChild(e),a}},20277:function(e,n,t){var a=t(88028),o=t(32602),r=t(63313),c=function(e,n){var t={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&n.indexOf(a)<0&&(t[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(a=Object.getOwnPropertySymbols(e);o<a.length;o++)n.indexOf(a[o])<0&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(t[a[o]]=e[a[o]])}return t},i={border:0,background:"transparent",padding:0,lineHeight:"inherit",display:"inline-block"},s=r.forwardRef((function(e,n){var t=e.style,s=e.noStyle,u=e.disabled,l=c(e,["style","noStyle","disabled"]),d={};return s||(d=(0,a.Z)({},i)),u&&(d.pointerEvents="none"),d=(0,a.Z)((0,a.Z)({},d),t),r.createElement("div",(0,a.Z)({role:"button",tabIndex:0,ref:n},l,{onKeyDown:function(e){e.keyCode===o.Z.ENTER&&e.preventDefault()},onKeyUp:function(n){var t=n.keyCode,a=e.onClick;t===o.Z.ENTER&&a&&a()},style:d}))}));n.Z=s},32602:function(e,n){var t={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,isTextModifyingKeyEvent:function(e){var n=e.keyCode;if(e.altKey&&!e.ctrlKey||e.metaKey||n>=t.F1&&n<=t.F12)return!1;switch(n){case t.ALT:case t.CAPS_LOCK:case t.CONTEXT_MENU:case t.CTRL:case t.DOWN:case t.END:case t.ESC:case t.HOME:case t.INSERT:case t.LEFT:case t.MAC_FF_META:case t.META:case t.NUMLOCK:case t.NUM_CENTER:case t.PAGE_DOWN:case t.PAGE_UP:case t.PAUSE:case t.PRINT_SCREEN:case t.RIGHT:case t.SHIFT:case t.UP:case t.WIN_KEY:case t.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(e){if(e>=t.ZERO&&e<=t.NINE)return!0;if(e>=t.NUM_ZERO&&e<=t.NUM_MULTIPLY)return!0;if(e>=t.A&&e<=t.Z)return!0;if(-1!==window.navigator.userAgent.indexOf("WebKit")&&0===e)return!0;switch(e){case t.SPACE:case t.QUESTION_MARK:case t.NUM_PLUS:case t.NUM_MINUS:case t.NUM_PERIOD:case t.NUM_DIVISION:case t.SEMICOLON:case t.DASH:case t.EQUALS:case t.COMMA:case t.PERIOD:case t.SLASH:case t.APOSTROPHE:case t.SINGLE_QUOTE:case t.OPEN_SQUARE_BRACKET:case t.BACKSLASH:case t.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}};n.Z=t},35019:function(e,n,t){t.d(n,{Z:function(){return s}});var a=t(2595),o="".concat("accept acceptCharset accessKey action allowFullScreen allowTransparency\n alt async autoComplete autoFocus autoPlay capture cellPadding cellSpacing challenge\n charSet checked classID className colSpan cols content contentEditable contextMenu\n controls coords crossOrigin data dateTime default defer dir disabled download draggable\n encType form formAction formEncType formMethod formNoValidate formTarget frameBorder\n headers height hidden high href hrefLang htmlFor httpEquiv icon id inputMode integrity\n is keyParams keyType kind label lang list loop low manifest marginHeight marginWidth max maxLength media\n mediaGroup method min minLength multiple muted name noValidate nonce open\n optimum pattern placeholder poster preload radioGroup readOnly rel required\n reversed role rowSpan rows sandbox scope scoped scrolling seamless selected\n shape size sizes span spellCheck src srcDoc srcLang srcSet start step style\n summary tabIndex target title type useMap value width wmode wrap"," ").concat("onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown\n onKeyPress onKeyUp onFocus onBlur onChange onInput onSubmit onClick onContextMenu onDoubleClick\n onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown\n onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel\n onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough\n onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata\n onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError").split(/[\s\n]+/),r="aria-",c="data-";function i(e,n){return 0===e.indexOf(n)}function s(e){var n,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];n=!1===t?{aria:!0,data:!0,attr:!0}:!0===t?{aria:!0}:(0,a.Z)({},t);var s={};return Object.keys(e).forEach((function(t){(n.aria&&("role"===t||i(t,r))||n.data&&i(t,c)||n.attr&&o.includes(t))&&(s[t]=e[t])})),s}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_whyour_qinglong=self.webpackChunk_whyour_qinglong||[]).push([[6401],{86726:function(e,t,n){n.r(t),n.d(t,{default:function(){return S}});var a=n(54306),i=n.n(a),o=n(88265),r=n(63313),c=n(28756),s=n(9835),l=n(24378),f=n(59873),u=n(66585),d=n(67393),h=n(15207),g=n(23435),p=n(57229),m=n(82755),x=n(22370),Z=n.n(x),v=n(14851),w=n(40141),j=n(11527),P=c.Z.Option,S=function(){var e=(0,v.useOutletContext)(),t=e.headerStyle,n=e.isPhone,a=e.theme,x=(0,r.useState)("sample/config.sample.sh"),S=i()(x,2),y=S[0],C=S[1],W=(0,r.useState)("config.sh"),b=i()(W,2),k=b[0],V=b[1],I=(0,r.useState)(""),M=i()(I,2),N=M[0],R=M[1],_=(0,r.useState)(""),q=i()(_,2),E=q[0],X=q[1],O=(0,r.useState)(!0),T=i()(O,2),U=T[0],z=T[1],A=(0,r.useState)([]),B=i()(A,2),D=B[0],H=B[1],$=(0,r.useRef)(null),F=(0,r.useState)("shell"),G=i()(F,2),J=G[0],K=G[1];return(0,r.useEffect)((function(){z(!0),p.W.get("".concat(h.Z.apiPrefix,"configs/samples")).then((function(e){var t=e.code,n=e.data;200===t&&H(n)})).finally((function(){return z(!1)}))}),[]),(0,r.useEffect)((function(){p.W.get("".concat(h.Z.apiPrefix,"configs/detail?path=").concat(encodeURIComponent(y))).then((function(e){var t=e.code,n=e.data;200===t&&R(n)}))}),[y]),(0,r.useEffect)((function(){p.W.get("".concat(h.Z.apiPrefix,"configs/detail?path=").concat(encodeURIComponent(k))).then((function(e){var t=e.code,n=e.data;200===t&&X(n)}))}),[k]),(0,j.jsxs)(g.ZP,{className:"ql-container-wrapper",title:o.ZP.get("对比工具"),loading:U,header:{style:t},extra:!n&&[(0,j.jsx)(l.Z,{type:"primary",onClick:function(){var e=$.current?$.current.getModel().modified.getValue().replace(/\r\n/g,"\n"):E;p.W.post("".concat(h.Z.apiPrefix,"configs/save"),{content:e,name:k}).then((function(e){var t=e.code;e.data;200===t&&s.ZP.success(o.ZP.get("保存成功"))}))},children:o.ZP.get("保存")},"1")],children:[(0,j.jsxs)(f.Z,{gutter:24,className:"diff-switch-file",children:[(0,j.jsx)(u.Z,{span:12,children:(0,j.jsx)(d.Z.Item,{label:o.ZP.get("源文件"),children:(0,j.jsx)(c.Z,{value:y,onChange:function(e,t){V(t.extra.target),C(e);var n=(0,w.H$)(e);K(n)},children:D.map((function(e){return(0,j.jsx)(P,{value:e.value,extra:e,children:e.title},e.value)}))})})}),(0,j.jsx)(u.Z,{span:12,children:(0,j.jsx)(d.Z.Item,{label:o.ZP.get("当前文件"),children:(0,j.jsx)("span",{className:"ant-form-text",children:k})})})]}),n?(0,j.jsx)(Z(),{styles:{diffContainer:{overflowX:"auto",minWidth:768},diffRemoved:{overflowX:"auto",maxWidth:300},diffAdded:{overflowX:"auto",maxWidth:300},line:{wordBreak:"break-word"}},oldValue:N,newValue:E,splitView:!0,leftTitle:"config.sh",rightTitle:"config.sample.sh",disableWordDiff:!0}):(0,j.jsx)(m.SV,{language:J,original:N,modified:E,options:{fontSize:12,lineNumbersMinChars:3,folding:!1,glyphMargin:!1,wordWrap:"on"},theme:a,onMount:function(e){$.current=e}})]})}}}]);