@tachybase/module-env-secrets 0.23.54 → 1.0.6

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.
@@ -1,6 +1,6 @@
1
- (function(r,a){typeof exports=="object"&&typeof module!="undefined"?a(exports,require("@tachybase/client"),require("react/jsx-runtime"),require("react"),require("@tachybase/components"),require("@tachybase/schema"),require("@ant-design/icons"),require("antd")):typeof define=="function"&&define.amd?define(["exports","@tachybase/client","react/jsx-runtime","react","@tachybase/components","@tachybase/schema","@ant-design/icons","antd"],a):(r=typeof globalThis!="undefined"?globalThis:r||self,a(r["@tachybase/module-env-secrets"]={},r["@tachybase/client"],r.jsxRuntime,r.react,r["@tachybase/components"],r["@tachybase/schema"],r["@ant-design/icons"],r.antd))})(this,function(r,a,e,v,o,f,x,l){"use strict";var Z=Object.defineProperty;var E=Object.getOwnPropertySymbols;var W=Object.prototype.hasOwnProperty,H=Object.prototype.propertyIsEnumerable;var P=(r,a,e)=>a in r?Z(r,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[a]=e,w=(r,a)=>{for(var e in a||(a={}))W.call(a,e)&&P(r,e,a[e]);if(E)for(var e of E(a))H.call(a,e)&&P(r,e,a[e]);return r};var m=(r,a,e)=>new Promise((v,o)=>{var f=h=>{try{l(e.next(h))}catch(b){o(b)}},x=h=>{try{l(e.throw(h))}catch(b){o(b)}},l=h=>h.done?v(h.value):Promise.resolve(h.value).then(f,x);l((e=e.apply(r,a)).next())});const h=/^[A-Za-z][A-Za-z0-9_]*$/,b=v.createContext({}),T=s=>{const n=a.useRequest({url:"environmentVariables?paginate=false"});return e.jsx(b.Provider,{value:{variablesRequest:n},children:s.children})},$=f.observer(s=>location.pathname.startsWith("/_admin")?e.jsx(T,w({},s)):e.jsx(e.Fragment,{children:s.children}),{displayName:"EnvironmentVariablesAndSecretsProvider"}),j={name:"@tachybase/module-env-secrets",displayName:"Variables and secrets",version:"0.23.54",description:"Centralized management of environment variables and secrets, used for sensitive data storage, configuration data reuse, multi-environment isolation, and more.",keywords:["System management"],main:"dist/server/index.js",devDependencies:{"@ant-design/icons":"^5.6.1",antd:"5.22.5"},peerDependencies:{"@tachybase/client":"workspace:*","@tachybase/components":"workspace:*","@tachybase/database":"workspace:*","@tachybase/schema":"workspace:*","@tachybase/server":"workspace:*","@tachybase/test":"workspace:*"},"description.zh-CN":"集中管理环境变量和密钥,用于敏感数据存储、配置数据重用、多环境隔离等。","displayName.zh-CN":"变量和密钥"};function C(){const s=a.useApp();return n=>s.i18n.t(n,{ns:[j.name,"client"]})}f.registerValidateRules({env_name_rule(s){return s?h.test(s)?"":"Only letters, numbers and underscores are allowed, and it must start with a letter.":""}});const B=f.createSchemaField({components:{FormItem:o.FormItem,Input:o.Input,Checkbox:o.Checkbox,Radio:o.Radio}}),N={type:"object",properties:{variables:{type:"string",title:'{{ t("Plain text") }}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:10,maxRows:20},placeholder:`FOO=aaa
1
+ (function(r,a){typeof exports=="object"&&typeof module!="undefined"?a(exports,require("@tachybase/client"),require("react/jsx-runtime"),require("react"),require("@tachybase/components"),require("@tachybase/schema"),require("@ant-design/icons"),require("antd")):typeof define=="function"&&define.amd?define(["exports","@tachybase/client","react/jsx-runtime","react","@tachybase/components","@tachybase/schema","@ant-design/icons","antd"],a):(r=typeof globalThis!="undefined"?globalThis:r||self,a(r["@tachybase/module-env-secrets"]={},r["@tachybase/client"],r.jsxRuntime,r.react,r["@tachybase/components"],r["@tachybase/schema"],r["@ant-design/icons"],r.antd))})(this,function(r,a,e,v,o,f,x,l){"use strict";var Z=Object.defineProperty;var D=Object.getOwnPropertySymbols;var W=Object.prototype.hasOwnProperty,H=Object.prototype.propertyIsEnumerable;var E=(r,a,e)=>a in r?Z(r,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[a]=e,k=(r,a)=>{for(var e in a||(a={}))W.call(a,e)&&E(r,e,a[e]);if(D)for(var e of D(a))H.call(a,e)&&E(r,e,a[e]);return r};var h=(r,a,e)=>new Promise((v,o)=>{var f=y=>{try{l(e.next(y))}catch(b){o(b)}},x=y=>{try{l(e.throw(y))}catch(b){o(b)}},l=y=>y.done?v(y.value):Promise.resolve(y.value).then(f,x);l((e=e.apply(r,a)).next())});const y=/^[A-Za-z][A-Za-z0-9_]*$/,b=v.createContext({}),P=s=>{const n=a.useRequest({url:"environmentVariables?paginate=false"});return e.jsx(b.Provider,{value:{variablesRequest:n},children:s.children})},T=f.observer(s=>location.pathname.startsWith("/_admin")?e.jsx(P,k({},s)):e.jsx(e.Fragment,{children:s.children}),{displayName:"EnvironmentVariablesAndSecretsProvider"}),$={name:"@tachybase/module-env-secrets",displayName:"Variables and secrets",version:"1.0.6",description:"Centralized management of environment variables and secrets, used for sensitive data storage, configuration data reuse, multi-environment isolation, and more.",keywords:["System management"],main:"dist/server/index.js",devDependencies:{"@ant-design/icons":"^5.6.1",antd:"5.22.5"},peerDependencies:{"@tachybase/client":"workspace:*","@tachybase/components":"workspace:*","@tachybase/database":"workspace:*","@tachybase/schema":"workspace:*","@tachybase/server":"workspace:*","@tachybase/test":"workspace:*"},"description.zh-CN":"集中管理环境变量和密钥,用于敏感数据存储、配置数据重用、多环境隔离等。","displayName.zh-CN":"变量和密钥"};function A(){const s=a.useApp();return n=>s.i18n.t(n,{ns:[$.name,"client"]})}f.registerValidateRules({env_name_rule(s){return s?y.test(s)?"":"Only letters, numbers and underscores are allowed, and it must start with a letter.":""}});const O=f.createSchemaField({components:{FormItem:o.FormItem,Input:o.Input,Checkbox:o.Checkbox,Radio:o.Radio}}),j={type:"object",properties:{variables:{type:"string",title:'{{ t("Plain text") }}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:10,maxRows:20},placeholder:`FOO=aaa
2
2
  BAR=bbb
3
3
  `}},secret:{type:"string",title:'{{ t("Encrypted") }}',"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{autoSize:{minRows:10,maxRows:20},placeholder:`FOO=aaa
4
4
  BAR=bbb
5
- `}}}},D={type:"object",properties:{name:{type:"string",title:'{{ t("Name") }}',required:!0,"x-validator":{env_name_rule:!0},"x-decorator":"FormItem","x-component":"Input","x-disabled":"{{ !createOnly }}"},type:{type:"string",title:'{{ t("Type") }}',required:!0,"x-decorator":"FormItem","x-component":"Radio.Group",default:"default",enum:[{value:"default",label:'{{t("Plain text")}}'},{value:"secret",label:'{{t("Encrypted")}}'}]},value:{type:"string",title:'{{ t("Value") }}',required:!0,"x-decorator":"FormItem","x-component":"Input.TextArea"}}};function q({request:s,setSelectRowKeys:n}){const{modal:d}=l.App.useApp(),t=C(),p=a.useAPIClient(),{data:u,loading:F,refresh:V}=s||{},A={default:{label:t("Plain text"),color:"green"},secret:{label:t("Encrypted"),color:"red"}},I=p.resource("environmentVariables"),S=i=>{d.confirm({title:t("Delete variable"),content:t("Are you sure you want to delete it?"),onOk(){return m(this,null,function*(){yield I.destroy({filterByTk:i.name}),V()})}})},O=i=>m(this,null,function*(){const g=o.FormDrawer({title:t("Edit")},()=>e.jsxs(o.FormLayout,{layout:"vertical",children:[e.jsx(a.SchemaComponentOptions,{scope:{createOnly:!1,t},children:e.jsx(B,{schema:D})}),e.jsx(o.FormDrawer.Footer,{children:e.jsxs(o.FormButtonGroup,{align:"right",children:[e.jsx(o.Reset,{onClick:()=>{g.close()},children:t("Cancel")}),e.jsx(o.Submit,{onSubmit:c=>m(this,null,function*(){yield p.request({url:`environmentVariables:update?filterByTk=${i.name}`,method:"post",data:w({},c)}),s.refresh()}),children:t("Submit")})]})})]}));g.open({initialValues:w({},i)})});return e.jsx("div",{children:e.jsx(l.Table,{loading:F,size:"middle",rowKey:"name",dataSource:u==null?void 0:u.data,pagination:!1,columns:[{title:t("Name"),dataIndex:"name",ellipsis:!0},{title:t("Type"),dataIndex:"type",render:i=>e.jsx(l.Tag,{color:A[i].color,children:A[i].label})},{title:t("Value"),ellipsis:!0,render:i=>e.jsx("div",{children:i.type==="default"?i.value:"******"})},{title:t("Actions"),width:200,render:i=>e.jsxs(l.Space,{children:[e.jsx("a",{onClick:()=>O(i),children:t("Edit")}),e.jsx("a",{onClick:()=>S(i),children:t("Delete")})]})}],rowSelection:{type:"checkbox",onChange:(i,g)=>{n(i)}}})})}function _(s,n){return s.trim().split(`
6
- `).map(d=>{const[t,...p]=d.split("=");return t&&{name:t.trim(),value:p.join("=").trim(),type:n==="secret"?"secret":"default"}})}function z(){var i,g;const s=a.useAPIClient(),n=C(),{modal:d}=l.App.useApp(),{variablesRequest:t}=v.useContext(b),[p,u]=v.useState([]),F=s.resource("environmentVariables"),V=c=>m(this,null,function*(){const y=Object.entries(c).map(([k,L])=>_(L,k).filter(Boolean));yield s.request({url:"environmentVariables:create",method:"post",data:y.flat()})}),A=()=>{if(p.length>0){let c;d.confirm({title:n("Delete variable"),content:n("Are you sure you want to delete it?"),onOk(){return m(this,null,function*(){var y;yield F.destroy({filterByTk:p}),(y=t==null?void 0:t.refresh)==null||y.call(t)})}})}},I=()=>{var c;(c=t==null?void 0:t.refresh)==null||c.call(t)},S=[{name:"name",title:n("Name"),operators:[{label:'{{t("contains")}}',value:"$includes",selected:!0},{label:'{{t("does not contain")}}',value:"$notIncludes"},{label:'{{t("is")}}',value:"$eq"},{label:'{{t("is not")}}',value:"$ne"}],schema:{type:"string",title:n("Name"),"x-component":"Input"}},{name:"type",title:n("Type"),operators:[{label:'{{t("is")}}',value:"$match",selected:!0,schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is not")}}',value:"$notMatch",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}}],schema:{type:"string",title:n("Type"),"x-component":"Select",enum:[{value:"default",label:'{{t("Plain text")}}'},{value:"secret",label:'{{t("Encrypted")}}'}]}},{name:"value",title:n("Value"),operators:[{label:'{{t("contains")}}',value:"$includes",selected:!0},{label:'{{t("does not contain")}}',value:"$notIncludes"},{label:'{{t("is")}}',value:"$eq"},{label:'{{t("is not")}}',value:"$ne"}],schema:{type:"string",title:n("Value"),"x-component":"Input"}}],O=()=>{const c=f.useField(),{run:y}=t;return{options:S,onSubmit:k=>m(this,null,function*(){y(k),c.setValue(k)}),onReset:k=>{c.setValue(k)}}};return e.jsxs("div",{children:[((g=(i=t==null?void 0:t.data)==null?void 0:i.meta)==null?void 0:g.updated)&&e.jsx(l.Alert,{type:"warning",style:{marginBottom:"1.2em",alignItems:"center"},description:e.jsxs("div",{children:[n("Variables and secrets have been updated. A restart is required for the changes to take effect.")," "]}),action:e.jsx(l.Button,{size:"middle",type:"primary",onClick:()=>m(this,null,function*(){yield s.resource("app").refresh()}),children:n("Restart now")})}),e.jsxs(l.Card,{children:[e.jsx("div",{style:{float:"left"},children:e.jsx(a.SchemaComponent,{schema:{name:"filter",type:"object",title:'{{ t("Filter") }}',default:{$and:[{name:{$includes:""}}]},"x-component":"Filter.Action",enum:S,"x-use-component-props":O},scope:{t:n}})}),e.jsx(l.Flex,{justify:"end",style:{marginBottom:16},children:e.jsxs(l.Space,{children:[e.jsx(l.Button,{icon:e.jsx(x.ReloadOutlined,{}),onClick:I,children:n("Refresh")}),e.jsx(l.Button,{icon:e.jsx(x.DeleteOutlined,{}),onClick:A,children:n("Delete")}),e.jsx(l.Dropdown,{menu:{onClick(c){o.FormDrawer({variable:n("Add variable"),bulk:n("Bulk import")}[c.key],()=>e.jsxs(o.FormLayout,{layout:"vertical",children:[e.jsx(a.SchemaComponentOptions,{scope:{createOnly:!0,t:n},children:e.jsx(B,{schema:c.key==="bulk"?N:D})}),e.jsx(o.FormDrawer.Footer,{children:e.jsxs(o.FormButtonGroup,{align:"right",children:[e.jsx(o.Reset,{children:n("Cancel")}),e.jsx(o.Submit,{onSubmit:y=>m(this,null,function*(){c.key==="bulk"?(yield V(y),t.refresh()):(yield s.request({url:"environmentVariables:create",method:"post",data:w({},y)}),t.refresh())}),children:n("Submit")})]})})]})).open({initialValues:{}}).then(console.log).catch(console.log)},items:[{key:"variable",label:n("Add variable")},{type:"divider"},{key:"bulk",label:n("Bulk import")}]},children:e.jsxs(l.Button,{type:"primary",icon:e.jsx(x.PlusOutlined,{}),children:[n("Add new")," ",e.jsx(x.DownOutlined,{})]})})]})}),e.jsx(q,{request:t,setSelectRowKeys:u})]})]})}function G(){return e.jsx(z,{})}const M=()=>{var p;const s=C(),{variablesRequest:n}=v.useContext(b),{data:d,loading:t}=n||{};return!t&&((p=d==null?void 0:d.data)!=null&&p.length)?{name:"$env",title:s("Variables and secrets"),value:"$env",label:s("Variables and secrets"),children:d==null?void 0:d.data.map(u=>({title:u.name,name:u.name,value:u.name,label:u.name})).filter(Boolean)}:null};class K extends a.Plugin{load(){return m(this,null,function*(){this.app.systemSettingsManager.add("system-services.environment",{title:this.t("Variables and secrets"),icon:"TableOutlined",Component:G}),this.app.addGlobalVar("$env",M),this.app.use($)})}}r.default=K,Object.defineProperties(r,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
5
+ `}}}},B={type:"object",properties:{name:{type:"string",title:'{{ t("Name") }}',required:!0,"x-validator":{env_name_rule:!0},"x-decorator":"FormItem","x-component":"Input","x-disabled":"{{ !createOnly }}"},type:{type:"string",title:'{{ t("Type") }}',required:!0,"x-decorator":"FormItem","x-component":"Radio.Group",default:"default",enum:[{value:"default",label:'{{t("Plain text")}}'},{value:"secret",label:'{{t("Encrypted")}}'}]},value:{type:"string",title:'{{ t("Value") }}',required:!0,"x-decorator":"FormItem","x-component":"Input.TextArea"}}};function N({request:s,setSelectRowKeys:n}){const{modal:d}=l.App.useApp(),t=A(),u=a.useAPIClient(),{data:m,loading:C,refresh:F}=s||{},w={default:{label:t("Plain text"),color:"green"},secret:{label:t("Encrypted"),color:"red"}},V=u.resource("environmentVariables"),S=i=>{d.confirm({title:t("Delete variable"),content:t("Are you sure you want to delete it?"),onOk(){return h(this,null,function*(){yield V.destroy({filterByTk:i.name}),F()})}})},I=i=>h(this,null,function*(){const g=o.FormDrawer({title:t("Edit")},()=>e.jsxs(o.FormLayout,{layout:"vertical",children:[e.jsx(a.SchemaComponentOptions,{scope:{createOnly:!1,t},children:e.jsx(O,{schema:B})}),e.jsx(o.FormDrawer.Footer,{children:e.jsxs(o.FormButtonGroup,{align:"right",children:[e.jsx(o.Reset,{onClick:()=>{g.close()},children:t("Cancel")}),e.jsx(o.Submit,{onSubmit:c=>h(this,null,function*(){yield u.request({url:`environmentVariables:update?filterByTk=${i.name}`,method:"post",data:k({},c)}),s.refresh()}),children:t("Submit")})]})})]}));g.open({initialValues:k({},i)})});return e.jsx("div",{children:e.jsx(l.Table,{loading:C,size:"middle",rowKey:"name",dataSource:m==null?void 0:m.data,pagination:!1,columns:[{title:t("Name"),dataIndex:"name",ellipsis:!0},{title:t("Type"),dataIndex:"type",render:i=>e.jsx(l.Tag,{color:w[i].color,children:w[i].label})},{title:t("Value"),ellipsis:!0,render:i=>e.jsx("div",{children:i.type==="default"?i.value:"******"})},{title:t("Actions"),width:200,render:i=>e.jsxs(l.Space,{children:[e.jsx("a",{onClick:()=>I(i),children:t("Edit")}),e.jsx("a",{onClick:()=>S(i),children:t("Delete")})]})}],rowSelection:{type:"checkbox",onChange:(i,g)=>{n(i)}}})})}function _(s,n){return s.trim().split(`
6
+ `).map(d=>{const[t,...u]=d.split("=");return t&&{name:t.trim(),value:u.join("=").trim(),type:n==="secret"?"secret":"default"}})}function z(){var i,g;const s=a.useAPIClient(),n=A(),{modal:d}=l.App.useApp(),{variablesRequest:t}=v.useContext(b),[u,m]=v.useState([]),C=s.resource("environmentVariables"),F=c=>h(this,null,function*(){const p=Object.entries(c).map(([K,L])=>_(L,K).filter(Boolean));yield s.request({url:"environmentVariables:create",method:"post",data:p.flat()})}),w=()=>{if(u.length>0){let c;d.confirm({title:n("Delete variable"),content:n("Are you sure you want to delete it?"),onOk(){return h(this,null,function*(){var p;yield C.destroy({filterByTk:u}),(p=t==null?void 0:t.refresh)==null||p.call(t)})}})}},V=()=>{var c;(c=t==null?void 0:t.refresh)==null||c.call(t)},S=[{name:"name",title:n("Name"),operators:[{label:'{{t("contains")}}',value:"$includes",selected:!0},{label:'{{t("does not contain")}}',value:"$notIncludes"},{label:'{{t("is")}}',value:"$eq"},{label:'{{t("is not")}}',value:"$ne"}],schema:{type:"string",title:n("Name"),"x-component":"Input"}},{name:"type",title:n("Type"),operators:[{label:'{{t("is")}}',value:"$match",selected:!0,schema:{"x-component":"Select","x-component-props":{mode:"tags"}}},{label:'{{t("is not")}}',value:"$notMatch",schema:{"x-component":"Select","x-component-props":{mode:"tags"}}}],schema:{type:"string",title:n("Type"),"x-component":"Select",enum:[{value:"default",label:'{{t("Plain text")}}'},{value:"secret",label:'{{t("Encrypted")}}'}]}},{name:"value",title:n("Value"),operators:[{label:'{{t("contains")}}',value:"$includes",selected:!0},{label:'{{t("does not contain")}}',value:"$notIncludes"},{label:'{{t("is")}}',value:"$eq"},{label:'{{t("is not")}}',value:"$ne"}],schema:{type:"string",title:n("Value"),"x-component":"Input"}}],I=()=>{const c=f.useField();return{options:S,onSubmit:p=>h(this,null,function*(){t==null||t.run(p),c.setValue(p)}),onReset:p=>{c.setValue(p)}}};return e.jsxs("div",{children:[((g=(i=t==null?void 0:t.data)==null?void 0:i.meta)==null?void 0:g.updated)&&e.jsx(l.Alert,{type:"warning",style:{marginBottom:"1.2em",alignItems:"center"},description:e.jsxs("div",{children:[n("Variables and secrets have been updated. A restart is required for the changes to take effect.")," "]}),action:e.jsx(l.Button,{size:"middle",type:"primary",onClick:()=>h(this,null,function*(){yield s.resource("app").refresh()}),children:n("Restart now")})}),e.jsxs(l.Card,{children:[e.jsx("div",{style:{float:"left"},children:e.jsx(a.SchemaComponent,{schema:{name:"filter",type:"object",title:'{{ t("Filter") }}',default:{$and:[{name:{$includes:""}}]},"x-component":"Filter.Action",enum:S,"x-use-component-props":I},scope:{t:n}})}),e.jsx(l.Flex,{justify:"end",style:{marginBottom:16},children:e.jsxs(l.Space,{children:[e.jsx(l.Button,{icon:e.jsx(x.ReloadOutlined,{}),onClick:V,children:n("Refresh")}),e.jsx(l.Button,{icon:e.jsx(x.DeleteOutlined,{}),onClick:w,children:n("Delete")}),e.jsx(l.Dropdown,{menu:{onClick(c){o.FormDrawer({variable:n("Add variable"),bulk:n("Bulk import")}[c.key],()=>e.jsxs(o.FormLayout,{layout:"vertical",children:[e.jsx(a.SchemaComponentOptions,{scope:{createOnly:!0,t:n},children:e.jsx(O,{schema:c.key==="bulk"?j:B})}),e.jsx(o.FormDrawer.Footer,{children:e.jsxs(o.FormButtonGroup,{align:"right",children:[e.jsx(o.Reset,{children:n("Cancel")}),e.jsx(o.Submit,{onSubmit:p=>h(this,null,function*(){c.key==="bulk"?(yield F(p),t.refresh()):(yield s.request({url:"environmentVariables:create",method:"post",data:k({},p)}),t.refresh())}),children:n("Submit")})]})})]})).open({initialValues:{}}).then(console.log).catch(console.log)},items:[{key:"variable",label:n("Add variable")},{type:"divider"},{key:"bulk",label:n("Bulk import")}]},children:e.jsxs(l.Button,{type:"primary",icon:e.jsx(x.PlusOutlined,{}),children:[n("Add new")," ",e.jsx(x.DownOutlined,{})]})})]})}),e.jsx(N,{request:t,setSelectRowKeys:m})]})]})}function q(){return e.jsx(z,{})}const G=()=>{var u;const s=A(),{variablesRequest:n}=v.useContext(b),{data:d,loading:t}=n||{};return!t&&((u=d==null?void 0:d.data)!=null&&u.length)?{name:"$env",title:s("Variables and secrets"),value:"$env",label:s("Variables and secrets"),children:d==null?void 0:d.data.map(m=>({title:m.name,name:m.name,value:m.name,label:m.name})).filter(Boolean)}:null};class M extends a.Plugin{load(){return h(this,null,function*(){this.app.systemSettingsManager.add("system-services.environment",{title:this.t("Variables and secrets"),icon:"TableOutlined",Component:q,aclSnippet:"pm.system-services.env-secrets"}),this.app.addGlobalVar("$env",G),this.app.use(T)})}}r.default=M,Object.defineProperties(r,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -1,10 +1,10 @@
1
1
  module.exports = {
2
2
  "react": "18.3.1",
3
- "@tachybase/client": "0.23.58",
4
- "@tachybase/schema": "0.23.58",
5
- "@tachybase/server": "0.23.58",
6
- "@tachybase/components": "0.23.58",
3
+ "@tachybase/client": "1.0.6",
4
+ "@tachybase/schema": "1.0.6",
5
+ "@tachybase/server": "1.0.6",
6
+ "@tachybase/components": "1.0.6",
7
7
  "@ant-design/icons": "5.6.1",
8
8
  "antd": "5.22.5",
9
- "@tachybase/database": "0.23.58"
9
+ "@tachybase/database": "1.0.6"
10
10
  };
@@ -49,7 +49,7 @@ class PluginEnvironmentVariablesServer extends import_server.Plugin {
49
49
  registerACL() {
50
50
  this.app.acl.allow("environmentVariables", "list", "loggedIn");
51
51
  this.app.acl.registerSnippet({
52
- name: `pm.${this.name}`,
52
+ name: `pm.system-services.env-secrets`,
53
53
  actions: ["environmentVariables:*", "app:refresh"]
54
54
  });
55
55
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tachybase/module-env-secrets",
3
3
  "displayName": "Variables and secrets",
4
- "version": "0.23.54",
4
+ "version": "1.0.6",
5
5
  "description": "Centralized management of environment variables and secrets, used for sensitive data storage, configuration data reuse, multi-environment isolation, and more.",
6
6
  "keywords": [
7
7
  "System management"
@@ -12,12 +12,12 @@
12
12
  "antd": "5.22.5"
13
13
  },
14
14
  "peerDependencies": {
15
- "@tachybase/components": "0.23.58",
16
- "@tachybase/client": "0.23.58",
17
- "@tachybase/database": "0.23.58",
18
- "@tachybase/schema": "0.23.58",
19
- "@tachybase/server": "0.23.58",
20
- "@tachybase/test": "0.23.58"
15
+ "@tachybase/client": "1.0.6",
16
+ "@tachybase/database": "1.0.6",
17
+ "@tachybase/server": "1.0.6",
18
+ "@tachybase/components": "1.0.6",
19
+ "@tachybase/schema": "1.0.6",
20
+ "@tachybase/test": "1.0.6"
21
21
  },
22
22
  "description.zh-CN": "集中管理环境变量和密钥,用于敏感数据存储、配置数据重用、多环境隔离等。",
23
23
  "displayName.zh-CN": "变量和密钥"