@nocobase/plugin-file-manager 1.3.33-beta → 1.3.34-beta

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.
@@ -7,4 +7,4 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- (function(a,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("@nocobase/client"),require("react/jsx-runtime"),require("react"),require("@ant-design/icons"),require("@formily/shared"),require("antd"),require("lodash"),require("react-i18next"),require("@formily/antd-v5"),require("@formily/react")):typeof define=="function"&&define.amd?define(["exports","@nocobase/client","react/jsx-runtime","react","@ant-design/icons","@formily/shared","antd","lodash","react-i18next","@formily/antd-v5","@formily/react"],t):(a=typeof globalThis!="undefined"?globalThis:a||self,t(a["@nocobase/plugin-file-manager"]={},a["@nocobase/client"],a.jsxRuntime,a.react,a["@ant-design/icons"],a["@formily/shared"],a.antd,a.lodash,a["react-i18next"],a["@formily/antd-v5"],a["@formily/react"]))})(this,function(a,t,r,g,T,b,F,$,f,P,A){"use strict";var ce=Object.defineProperty,le=Object.defineProperties;var ue=Object.getOwnPropertyDescriptors;var L=Object.getOwnPropertySymbols;var me=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable;var k=(a,t,r)=>t in a?ce(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,I=(a,t)=>{for(var r in t||(t={}))me.call(t,r)&&k(a,r,t[r]);if(L)for(var r of L(t))de.call(t,r)&&k(a,r,t[r]);return a},C=(a,t)=>le(a,ue(t));var l=(a,t,r)=>(k(a,typeof t!="symbol"?t+"":t,r),r);var N=(a,t,r)=>new Promise((g,T)=>{var b=f=>{try{$(r.next(f))}catch(P){T(P)}},F=f=>{try{$(r.throw(f))}catch(P){T(P)}},$=f=>f.done?g(f.value):Promise.resolve(f.value).then(b,F);$((r=r.apply(a,t)).next())});function M(n){const s=n!=null?n:"",{loading:o,data:i}=t.useRequest({url:`storages:getRules/${s}`},{refreshDeps:[s]});return!o&&(i==null?void 0:i.data)||null}function E(){const n=t.useCollectionField();return{rules:M(n==null?void 0:n.storage),action:`${n.target}:create${n.storage?`?attachmentField=${n.collectionName}.${n.name}`:""}`}}function O(){const n=t.useCollectionField(),o=t.useCollectionManager().getCollection(n==null?void 0:n.target);return M(o==null?void 0:o.getOption("storage"))}const V=Object.freeze(Object.defineProperty({__proto__:null,useAttachmentFieldProps:E,useFileCollectionStorageRules:O,useStorageRules:M,useUploadFiles:()=>{const{service:n}=t.useBlockRequestContext(),{setVisible:s}=t.useActionContext(),{props:o}=t.useBlockRequestContext(),i=t.useCollection(),c=t.useSourceIdFromParentRecord(),x=M(i==null?void 0:i.getOption("storage")),y=g.useMemo(()=>{let h=`${i.name}:create`;if(o!=null&&o.association){const[d,v]=o.association.split(".");h=`${d}/${c}/${v}:create`}return h},[i.name,o==null?void 0:o.association,c]),{setSelectedRows:m}=g.useContext(t.RecordPickerContext)||{},u={};let S=0;return{action:y,onChange(h){h.forEach(d=>{var v;d.status==="uploading"&&!u[d.uid]&&(S++,u[d.uid]=!0),d.status!=="uploading"&&u[d.uid]&&(delete u[d.uid],--S===0&&((v=n==null?void 0:n.refresh)==null||v.call(n),m==null||m(U=>[...U,...h.filter(q=>q.status==="done").map(q=>q.response.data)])))}),h.every(d=>d.status==="done")&&s(!1)},rules:x}}},Symbol.toStringTag,{value:"Module"})),R=n=>{const s={type:"void","x-action":"create",title:"{{t('Upload')}}","x-designer":"Action.Designer","x-component":"Action","x-decorator":"ACLActionProvider","x-component-props":{openMode:"drawer",type:"primary",icon:"UploadOutlined"},properties:{drawer:{type:"void",title:'{{ t("Upload files") }}',"x-component":"Action.Container",properties:{upload:{type:"void",title:'{{ t("Upload files") }}',"x-component":"Upload.DraggerV2","x-use-component-props":"useUploadFiles","x-component-props":{height:"50vh",multiple:!0,listType:"picture"}}}}}};return r.jsx(t.ActionInitializerItem,C(I({},n),{schema:s}))},Z=n=>r.jsx(t.SchemaComponentOptions,{scope:V,components:{UploadActionInitializer:R},children:n.children}),e="file-manager",G={local:{properties:{documentRoot:{title:`{{t("Destination", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",default:"storage/uploads"}}},"ali-oss":{properties:{region:{title:`{{t("Region", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},accessKeyId:{title:`{{t("AccessKey ID", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},accessKeySecret:{title:`{{t("AccessKey Secret", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Password",required:!0},bucket:{title:`{{t("Bucket", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},thumbnailRule:{title:"Thumbnail rule",type:"string","x-decorator":"FormItem","x-component":"Input"}}},"tx-cos":{properties:{Region:{title:`{{t("Region", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},SecretId:{title:`{{t("SecretId", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},SecretKey:{title:`{{t("SecretKey", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Password",required:!0},Bucket:{title:`{{t("Bucket", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0}}},s3:{properties:{region:{title:`{{t("Region", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},accessKeyId:{title:`{{t("AccessKey ID", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},secretAccessKey:{title:`{{t("AccessKey Secret", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Password",required:!0},bucket:{title:`{{t("Bucket", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},endpoint:{title:`{{t("Endpoint", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input"}}}},W=A.observer(n=>{const s=A.useForm(),o=A.useField(),[i,c]=g.useState(new A.Schema({}));return g.useEffect(()=>{c(new A.Schema(G[s.values.type]||{}))},[s.values.type]),r.jsx(P.FormLayout,{layout:"vertical",children:r.jsx(A.RecursionField,{basePath:o.address,onlyRenderProperties:!0,schema:i},s.values.type||"local")})},{displayName:"StorageOptions"}),_={name:"storages",fields:[{type:"integer",name:"title",interface:"input",uiSchema:{title:'{{t("Title")}}',type:"string","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:`{{t("Storage name", { ns: "${e}" })}}`,descriptions:`{{t("Will be used for API", { ns: "${e}" })}}`,type:"string","x-component":"Input"}},{type:"string",name:"type",interface:"select",uiSchema:{title:`{{t("Storage type", { ns: "${e}" })}}`,type:"string","x-component":"Select",required:!0,enum:"{{ storageTypes }}"}},{type:"string",name:"baseUrl",interface:"input",uiSchema:{title:`{{t("Access base URL", { ns: "${e}" })}}`,type:"string","x-component":"Input",required:!0}},{type:"string",name:"path",interface:"input",uiSchema:{title:`{{t("Path", { ns: "${e}" })}}`,type:"string","x-component":"Input"}},{type:"boolean",name:"default",interface:"boolean",uiSchema:{type:"boolean","x-component":"Checkbox"}},{type:"boolean",name:"paranoid",interface:"boolean",uiSchema:{type:"boolean","x-component":"Checkbox"}}]},X={type:"object",properties:{[b.uid()]:{type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:_,resourceName:"storages",request:{resource:"storages",action:"list",params:{pageSize:50,sort:["id"],appends:[]}}},"x-component":"CollectionProvider_deprecated","x-component-props":{collection:_},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action","x-component-props":{icon:"DeleteOutlined",useAction:"{{ cm.useBulkDestroyAction }}",confirm:{title:"{{t('Delete')}}",content:"{{t('Are you sure you want to delete it?')}}"}}},create:{type:"void",title:'{{t("Add new")}}',"x-component":"CreateStorage","x-component-props":{type:"primary"}}}},table:{type:"void","x-uid":"input","x-component":"Table.Void","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"},useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{title:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{title:{type:"number","x-component":"CollectionField","x-read-pretty":!0}}},name:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{name:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},default:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",title:`{{t("Default storage", { ns: "${e}" })}}`,properties:{default:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},actions:{type:"void",title:'{{t("Actions")}}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{update:{type:"void",title:'{{t("Edit")}}',"x-component":"EditStorage","x-component-props":{type:"primary"}},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action.Link","x-component-props":{confirm:{title:'{{t("Delete")}}',content:'{{t("Are you sure you want to delete it?")}}'},useAction:"{{cm.useDestroyAction}}"}}}}}}}}}}}},H=()=>{const[n,s]=g.useState({}),o=t.usePlugin(w),i=t.useCompile(),[c,x]=g.useState(!1),{t:y}=f.useTranslation();return r.jsx("div",{children:r.jsxs(t.ActionContext.Provider,{value:{visible:c,setVisible:x},children:[r.jsx(F.Dropdown,{menu:{onClick(m){const u=o.storageTypes.get(m.key);x(!0),s({type:"object",properties:{[b.uid()]:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{initialValue:{type:u.name}},title:i("{{t('Add new')}}")+" - "+i(u.title),properties:C(I({},$.cloneDeep(u.properties)),{footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ cm.useCreateAction }}"}}}}})}}})},items:[...o.storageTypes.values()].map(m=>({key:m.name,label:i(m.title)}))},children:r.jsxs(F.Button,{type:"primary",icon:r.jsx(T.PlusOutlined,{}),children:[y("Add new")," ",r.jsx(T.DownOutlined,{})]})}),r.jsx(t.SchemaComponent,{scope:{createOnly:!0},schema:n})]})})},J=()=>{const n=t.useRecord(),[s,o]=g.useState({}),i=t.usePlugin(w),c=t.useCompile(),[x,y]=g.useState(!1),{t:m}=f.useTranslation();return r.jsx("div",{children:r.jsxs(t.ActionContext.Provider,{value:{visible:x,setVisible:y},children:[r.jsx("a",{onClick:()=>{y(!0);const u=i.storageTypes.get(n.type);u.properties.default&&(u.properties.default["x-reactions"]=S=>{S.initialValue?S.disabled=!0:S.disabled=!1}),o({type:"object",properties:{[b.uid()]:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{initialValue:I({},n)},title:c("{{t('Edit')}}")+" - "+c(u.title),properties:C(I({},$.cloneDeep(u.properties)),{footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ cm.useUpdateAction }}"}}}}})}}})},children:m("Edit")}),r.jsx(t.SchemaComponent,{scope:{createOnly:!1},schema:s})]})})},Q=()=>{const{t:n}=f.useTranslation(),s=t.useCompile(),i=[...t.usePlugin(w).storageTypes.values()].map(x=>({value:x.name,label:s(x.title)})),c=r.jsxs("div",{children:[n("See more")," ",r.jsx("a",{target:"_blank",href:"https://help.aliyun.com/zh/oss/user-guide/resize-images-4",rel:"noreferrer",children:"x-oss-process"})]});return r.jsx(F.Card,{bordered:!1,children:r.jsx(t.SchemaComponent,{components:{StorageOptions:W,CreateStorage:H,EditStorage:J},scope:{useNewId:x=>`${x}${b.uid()}`,storageTypes:i,xStyleProcessDesc:c},schema:X})})},Y=1,ee=1024*1024*1024,B=1024*1024*20,p={title:{"x-component":"CollectionField","x-decorator":"FormItem"},name:{"x-component":"CollectionField","x-decorator":"FormItem","x-disabled":"{{ !createOnly }}",required:!0,default:'{{ useNewId("s_") }}',description:'{{t("Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.")}}'},baseUrl:{"x-component":"CollectionField","x-decorator":"FormItem",description:`{{t('Base URL for file access, could be your CDN base URL. For example: "https://cdn.nocobase.com".', { ns: "${e}" })}}`},path:{"x-component":"CollectionField","x-decorator":"FormItem",description:`{{t('Relative path the file will be saved to. Left blank as root path. The leading and trailing slashes "/" will be ignored. For example: "user/avatar".', { ns: "${e}" })}}`},rules:{type:"object","x-component":"fieldset",properties:{size:{type:"number",title:`{{t("File size limit", { ns: "${e}" })}}`,description:`{{t("Minimum from 1 byte, maximum up to 1GB.", { ns: "${e}" })}}`,"x-decorator":"FormItem","x-component":"FileSizeField",required:!0,default:B},mimetype:{type:"string",title:`{{t("File type (in MIME type format)", { ns: "${e}" })}}`,description:`{{t('Multi-types seperated with comma, for example: "image/*", "image/png", "image/*, application/pdf" etc.', { ns: "${e}" })}}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:"*"}}}},default:{"x-component":"CollectionField","x-decorator":"FormItem","x-content":`{{t("Default storage", { ns: "${e}" })}}`},paranoid:{"x-component":"CollectionField","x-decorator":"FormItem","x-content":`{{t("Keep file in storage when destroy record", { ns: "${e}" })}}`}},te={title:`{{t("Aliyun OSS", { ns: "${e}" })}}`,name:"ali-oss",properties:{title:p.title,name:p.name,baseUrl:p.baseUrl,options:{type:"object","x-component":"fieldset",properties:{region:{title:`{{t("Region", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",description:`{{t('Aliyun OSS region part of the bucket. For example: "oss-cn-beijing".', { ns: "${e}" })}}`,required:!0},accessKeyId:{title:`{{t("AccessKey ID", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},accessKeySecret:{title:`{{t("AccessKey Secret", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Password",required:!0},bucket:{title:`{{t("Bucket", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},thumbnailRule:{title:"Thumbnail rule",type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:"?x-oss-process=image/auto-orient,1/resize,m_fill,w_94,h_94/quality,q_90"},description:"{{ xStyleProcessDesc }}"}}},path:p.path,rules:p.rules,default:p.default,paranoid:p.paranoid}},oe={title:`{{t("Local storage", { ns: "${e}" })}}`,name:"local",properties:{title:p.title,name:p.name,baseUrl:{"x-component":"CollectionField","x-decorator":"FormItem","x-display":"hidden",default:"/storage/uploads"},options:{type:"object","x-component":"div",properties:{documentRoot:{title:`{{t("Destination", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input","x-display":"hidden",default:"storage/uploads"}}},path:{"x-component":"CollectionField","x-decorator":"FormItem","x-component-props":{addonBefore:"storage/uploads/"}},rules:p.rules,default:p.default,paranoid:p.paranoid}},ne={title:`{{t("Amazon S3", { ns: "${e}" })}}`,name:"s3",properties:{title:p.title,name:p.name,baseUrl:p.baseUrl,options:{type:"object","x-component":"fieldset",properties:{region:{title:`{{t("Region", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},accessKeyId:{title:`{{t("AccessKey ID", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},secretAccessKey:{title:`{{t("AccessKey Secret", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Password",required:!0},bucket:{title:`{{t("Bucket", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},endpoint:{title:`{{t("Endpoint", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input"}}},path:p.path,rules:p.rules,default:p.default,paranoid:p.paranoid}},re={title:`{{t("Tencent COS", { ns: "${e}" })}}`,name:"tx-cos",properties:{title:p.title,name:p.name,baseUrl:p.baseUrl,options:{type:"object","x-component":"fieldset",properties:{Region:{title:`{{t("Region", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},SecretId:{title:`{{t("SecretId", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},SecretKey:{title:`{{t("SecretKey", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Password",required:!0},Bucket:{title:`{{t("Bucket", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0}}},path:p.path,rules:p.rules,default:p.default,paranoid:p.paranoid}},ie={local:oe,"ali-oss":te,s3:ne,"tx-cos":re};class se extends t.CollectionFieldInterface{constructor(){super(...arguments);l(this,"name","attachment");l(this,"type","object");l(this,"group","media");l(this,"title",`{{t("Attachment", { ns: "${e}" })}}`);l(this,"isAssociation",!0);l(this,"default",{type:"belongsToMany",target:"attachments",uiSchema:{type:"array","x-component":"Upload.Attachment","x-use-component-props":"useAttachmentFieldProps"}});l(this,"availableTypes",["belongsToMany"]);l(this,"properties",C(I({},t.interfacesProperties.defaultProps),{"uiSchema.x-component-props.accept":{type:"string",title:`{{t("MIME type", { ns: "${e}" })}}`,"x-component":"Input","x-component-props":{placeholder:"image/*"},"x-decorator":"FormItem",description:"Example: image/png"},"uiSchema.x-component-props.multiple":{type:"boolean","x-content":`{{t('Allow uploading multiple files', { ns: "${e}" })}}`,"x-decorator":"FormItem","x-component":"Checkbox",default:!0},storage:{type:"string",title:`{{t("Storage", { ns: "${e}" })}}`,description:`{{t('Default storage will be used when not selected', { ns: "${e}" })}}`,"x-decorator":"FormItem","x-component":"RemoteSelect","x-component-props":{service:{resource:"storages",params:{}},manual:!1,fieldNames:{label:"title",value:"name"}}}}));l(this,"filterable",{children:[{name:"id",title:'{{t("Exists")}}',operators:[{label:'{{t("exists")}}',value:"$exists",noValue:!0},{label:'{{t("not exists")}}',value:"$notExists",noValue:!0}],schema:{title:'{{t("Exists")}}',type:"string","x-component":"Input"}},{name:"filename",title:`{{t("Filename", { ns: "${e}" })}}`,operators:t.interfacesProperties.operators.string,schema:{title:`{{t("Filename", { ns: "${e}" })}}`,type:"string","x-component":"Input"}}]})}schemaInitialize(o,{block:i,field:c}){o["x-component-props"]||(o["x-component-props"]={}),["Table","Kanban"].includes(i)&&(o["x-component-props"].size="small"),o["x-use-component-props"]="useAttachmentFieldProps"}initialize(o){o.through||(o.through=`t_${b.uid()}`),o.foreignKey||(o.foreignKey=`f_${b.uid()}`),o.otherKey||(o.otherKey=`f_${b.uid()}`),o.sourceKey||(o.sourceKey="id"),o.targetKey||(o.targetKey="id")}}class ae extends t.CollectionTemplate{constructor(){super(...arguments);l(this,"name","file");l(this,"title",`{{t("File collection", { ns: "${e}" })}}`);l(this,"order",3);l(this,"color","blue");l(this,"default",{createdBy:!0,updatedBy:!0,fields:[{interface:"input",type:"string",name:"title",deletable:!1,uiSchema:{type:"string",title:'{{t("Title")}}',"x-component":"Input"}},{interface:"input",type:"string",name:"filename",deletable:!1,uiSchema:{type:"string",title:`{{t("File name", { ns: "${e}" })}}`,"x-component":"Input","x-read-pretty":!0}},{interface:"input",type:"string",name:"extname",deletable:!1,uiSchema:{type:"string",title:`{{t("Extension name", { ns: "${e}" })}}`,"x-component":"Input","x-read-pretty":!0}},{interface:"integer",type:"integer",name:"size",deletable:!1,uiSchema:{type:"number",title:`{{t("Size", { ns: "${e}" })}}`,"x-component":"InputNumber","x-read-pretty":!0,"x-component-props":{stringMode:!0,step:"0"}}},{interface:"input",type:"string",name:"mimetype",deletable:!1,uiSchema:{type:"string",title:`{{t("MIME type", { ns: "${e}" })}}`,"x-component":"Input","x-read-pretty":!0}},{interface:"input",type:"string",name:"path",deletable:!1,uiSchema:{type:"string",title:`{{t("Path", { ns: "${e}" })}}`,"x-component":"Input","x-read-pretty":!0}},{interface:"url",type:"string",name:"url",deletable:!1,uiSchema:{type:"string",title:'{{t("URL")}}',"x-component":"Input.URL","x-read-pretty":!0}},{interface:"url",type:"string",name:"preview",field:"url",deletable:!1,uiSchema:{type:"string",title:`{{t("Preview", { ns: "${e}" })}}`,"x-component":"Preview","x-read-pretty":!0}},{comment:"存储引擎",type:"belongsTo",name:"storage",target:"storages",foreignKey:"storageId",deletable:!1,uiSchema:{type:"string",title:`{{t("Storage", { ns: "${e}" })}}`,"x-component":"Input","x-read-pretty":!0}},{type:"jsonb",name:"meta",deletable:!1,defaultValue:{}}]});l(this,"presetFieldsDisabled",!0);l(this,"configurableProperties",I(C(I(C(I({},t.getConfigurableProperties("title","name")),{inherits:C(I({},t.getConfigurableProperties("inherits").inherits),{"x-reactions":["{{useAsyncDataSource(loadCollections)}}"]})}),t.getConfigurableProperties("category","description")),{storage:{type:"string",name:"storage",title:`{{t("File storage", { ns: "${e}" })}}`,"x-decorator":"FormItem","x-component":"RemoteSelect","x-component-props":{service:{resource:"storages",params:{}},manual:!1,fieldNames:{label:"title",value:"name"}}}}),t.getConfigurableProperties("presetFields")))}}const K=[{value:1,label:"Byte"},{value:1024,label:"KB"},{value:1024*1024,label:"MB"},{value:1024*1024*1024,label:"GB"}];function j(n,s=1024*1024){const o=n||s;for(let i=K.length-1;i>=0;i--){const c=K[i];if(o%c.value===0)return c}return K[0]}function z(n,s,o){return Math.min(Math.max(s,n),o)}function pe(n){var q;const{value:s,defaultUnit:o=1024*1024,min:i=Y,max:c=ee,step:x=1,onChange:y}=n,m=(q=n.defaultValue)!=null?q:B,u=j(m,o),S=m/u.value,h=j(s!=null?s:m,o),d=s==null?s:s/h.value,v=g.useCallback(D=>{y==null||y(z(D==null?D:D*h.value,i,c))},[h.value]),U=g.useCallback(D=>{y==null||y(z(d*D,i,c))},[d]);return r.jsxs(F.Space.Compact,{children:[r.jsx(F.InputNumber,{value:d,onChange:v,defaultValue:`${S}`,step:x}),r.jsx(F.Select,{options:K,value:h.value,onChange:U,className:"auto-width"})]})}class w extends t.Plugin{constructor(){super(...arguments);l(this,"storageTypes",new Map)}load(){return N(this,null,function*(){this.app.dataSourceManager.addFieldInterfaces([se]),this.app.dataSourceManager.addCollectionTemplates([ae]),this.app.use(Z),this.app.pluginSettingsManager.add(e,{title:`{{t("File manager", { ns: "${e}" })}}`,icon:"FileOutlined",Component:Q,aclSnippet:"pm.file-manager.storages"}),Object.values(ie).forEach(i=>{this.registerStorageType(i.name,i)});const o=this.app.schemaInitializerManager.get("table:configureActions");o==null||o.add("enableActions.upload",{title:"{{t('Upload')}}",Component:"UploadActionInitializer",schema:{"x-align":"right","x-decorator":"ACLActionProvider","x-acl-action-props":{skipScopeCheck:!0}},useVisible(){return t.useCollection().template==="file"}}),this.app.addScopes({useAttachmentFieldProps:E,useFileCollectionStorageRules:O}),this.app.addComponents({FileSizeField:pe})})}registerStorageType(o,i){this.storageTypes.set(o,i)}}a.PluginFileManagerClient=w,a.default=w,Object.defineProperties(a,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
10
+ (function(a,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("@nocobase/client"),require("react/jsx-runtime"),require("react"),require("@formily/react"),require("@ant-design/icons"),require("@formily/shared"),require("antd"),require("lodash"),require("react-i18next"),require("@formily/antd-v5")):typeof define=="function"&&define.amd?define(["exports","@nocobase/client","react/jsx-runtime","react","@formily/react","@ant-design/icons","@formily/shared","antd","lodash","react-i18next","@formily/antd-v5"],t):(a=typeof globalThis!="undefined"?globalThis:a||self,t(a["@nocobase/plugin-file-manager"]={},a["@nocobase/client"],a.jsxRuntime,a.react,a["@formily/react"],a["@ant-design/icons"],a["@formily/shared"],a.antd,a.lodash,a["react-i18next"],a["@formily/antd-v5"]))})(this,function(a,t,r,g,h,w,S,I,b,$,N){"use strict";var ce=Object.defineProperty,le=Object.defineProperties;var ue=Object.getOwnPropertyDescriptors;var L=Object.getOwnPropertySymbols;var me=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable;var U=(a,t,r)=>t in a?ce(a,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):a[t]=r,F=(a,t)=>{for(var r in t||(t={}))me.call(t,r)&&U(a,r,t[r]);if(L)for(var r of L(t))de.call(t,r)&&U(a,r,t[r]);return a},A=(a,t)=>le(a,ue(t));var l=(a,t,r)=>(U(a,typeof t!="symbol"?t+"":t,r),r);var k=(a,t,r)=>new Promise((g,h)=>{var w=b=>{try{I(r.next(b))}catch($){h($)}},S=b=>{try{I(r.throw(b))}catch($){h($)}},I=b=>b.done?g(b.value):Promise.resolve(b.value).then(w,S);I((r=r.apply(a,t)).next())});function D(n){const i=n!=null?n:"",o=t.useAPIClient(),s=h.useField(),{loading:c,data:u}=t.useRequest(()=>k(this,null,function*(){return s.pattern!=="editable"?null:o.request({url:`storages:getRules/${i}`})}),{refreshDeps:[i],cacheKey:i});return!c&&(u==null?void 0:u.data)||null}function E(){const n=t.useCollectionField();return{rules:D(n==null?void 0:n.storage),action:`${n.target}:create${n.storage?`?attachmentField=${n.collectionName}.${n.name}`:""}`}}function O(){const n=t.useCollectionField(),o=t.useCollectionManager().getCollection(n==null?void 0:n.target);return D(o==null?void 0:o.getOption("storage"))}const V=Object.freeze(Object.defineProperty({__proto__:null,useAttachmentFieldProps:E,useFileCollectionStorageRules:O,useStorageRules:D,useUploadFiles:()=>{const{service:n}=t.useBlockRequestContext(),{setVisible:i}=t.useActionContext(),{props:o}=t.useBlockRequestContext(),s=t.useCollection(),c=t.useSourceIdFromParentRecord(),u=D(s==null?void 0:s.getOption("storage")),y=g.useMemo(()=>{let f=`${s.name}:create`;if(o!=null&&o.association){const[x,v]=o.association.split(".");f=`${x}/${c}/${v}:create`}return f},[s.name,o==null?void 0:o.association,c]),{setSelectedRows:d}=g.useContext(t.RecordPickerContext)||{},m={};let C=0;return{action:y,onChange(f){f.forEach(x=>{var v;x.status==="uploading"&&!m[x.uid]&&(C++,m[x.uid]=!0),x.status!=="uploading"&&m[x.uid]&&(delete m[x.uid],--C===0&&((v=n==null?void 0:n.refresh)==null||v.call(n),d==null||d(K=>[...K,...f.filter(q=>q.status==="done").map(q=>q.response.data)])))}),f.every(x=>x.status==="done")&&i(!1)},rules:u}}},Symbol.toStringTag,{value:"Module"})),R=n=>{const i={type:"void","x-action":"create",title:"{{t('Upload')}}","x-designer":"Action.Designer","x-component":"Action","x-decorator":"ACLActionProvider","x-component-props":{openMode:"drawer",type:"primary",icon:"UploadOutlined"},properties:{drawer:{type:"void",title:'{{ t("Upload files") }}',"x-component":"Action.Container",properties:{upload:{type:"void",title:'{{ t("Upload files") }}',"x-component":"Upload.DraggerV2","x-use-component-props":"useUploadFiles","x-component-props":{height:"50vh",multiple:!0,listType:"picture"}}}}}};return r.jsx(t.ActionInitializerItem,A(F({},n),{schema:i}))},Z=n=>r.jsx(t.SchemaComponentOptions,{scope:V,components:{UploadActionInitializer:R},children:n.children}),e="file-manager",G={local:{properties:{documentRoot:{title:`{{t("Destination", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",default:"storage/uploads"}}},"ali-oss":{properties:{region:{title:`{{t("Region", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},accessKeyId:{title:`{{t("AccessKey ID", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},accessKeySecret:{title:`{{t("AccessKey Secret", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Password",required:!0},bucket:{title:`{{t("Bucket", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},thumbnailRule:{title:"Thumbnail rule",type:"string","x-decorator":"FormItem","x-component":"Input"}}},"tx-cos":{properties:{Region:{title:`{{t("Region", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},SecretId:{title:`{{t("SecretId", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},SecretKey:{title:`{{t("SecretKey", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Password",required:!0},Bucket:{title:`{{t("Bucket", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0}}},s3:{properties:{region:{title:`{{t("Region", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},accessKeyId:{title:`{{t("AccessKey ID", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},secretAccessKey:{title:`{{t("AccessKey Secret", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Password",required:!0},bucket:{title:`{{t("Bucket", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},endpoint:{title:`{{t("Endpoint", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input"}}}},W=h.observer(n=>{const i=h.useForm(),o=h.useField(),[s,c]=g.useState(new h.Schema({}));return g.useEffect(()=>{c(new h.Schema(G[i.values.type]||{}))},[i.values.type]),r.jsx(N.FormLayout,{layout:"vertical",children:r.jsx(h.RecursionField,{basePath:o.address,onlyRenderProperties:!0,schema:s},i.values.type||"local")})},{displayName:"StorageOptions"}),_={name:"storages",fields:[{type:"integer",name:"title",interface:"input",uiSchema:{title:'{{t("Title")}}',type:"string","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:`{{t("Storage name", { ns: "${e}" })}}`,descriptions:`{{t("Will be used for API", { ns: "${e}" })}}`,type:"string","x-component":"Input"}},{type:"string",name:"type",interface:"select",uiSchema:{title:`{{t("Storage type", { ns: "${e}" })}}`,type:"string","x-component":"Select",required:!0,enum:"{{ storageTypes }}"}},{type:"string",name:"baseUrl",interface:"input",uiSchema:{title:`{{t("Access base URL", { ns: "${e}" })}}`,type:"string","x-component":"Input",required:!0}},{type:"string",name:"path",interface:"input",uiSchema:{title:`{{t("Path", { ns: "${e}" })}}`,type:"string","x-component":"Input"}},{type:"boolean",name:"default",interface:"boolean",uiSchema:{type:"boolean","x-component":"Checkbox"}},{type:"boolean",name:"paranoid",interface:"boolean",uiSchema:{type:"boolean","x-component":"Checkbox"}}]},X={type:"object",properties:{[S.uid()]:{type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:_,resourceName:"storages",request:{resource:"storages",action:"list",params:{pageSize:50,sort:["id"],appends:[]}}},"x-component":"CollectionProvider_deprecated","x-component-props":{collection:_},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action","x-component-props":{icon:"DeleteOutlined",useAction:"{{ cm.useBulkDestroyAction }}",confirm:{title:"{{t('Delete')}}",content:"{{t('Are you sure you want to delete it?')}}"}}},create:{type:"void",title:'{{t("Add new")}}',"x-component":"CreateStorage","x-component-props":{type:"primary"}}}},table:{type:"void","x-uid":"input","x-component":"Table.Void","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"},useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{title:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{title:{type:"number","x-component":"CollectionField","x-read-pretty":!0}}},name:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{name:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},default:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",title:`{{t("Default storage", { ns: "${e}" })}}`,properties:{default:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},actions:{type:"void",title:'{{t("Actions")}}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{update:{type:"void",title:'{{t("Edit")}}',"x-component":"EditStorage","x-component-props":{type:"primary"}},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action.Link","x-component-props":{confirm:{title:'{{t("Delete")}}',content:'{{t("Are you sure you want to delete it?")}}'},useAction:"{{cm.useDestroyAction}}"}}}}}}}}}}}},H=()=>{const[n,i]=g.useState({}),o=t.usePlugin(P),s=t.useCompile(),[c,u]=g.useState(!1),{t:y}=$.useTranslation();return r.jsx("div",{children:r.jsxs(t.ActionContext.Provider,{value:{visible:c,setVisible:u},children:[r.jsx(I.Dropdown,{menu:{onClick(d){const m=o.storageTypes.get(d.key);u(!0),i({type:"object",properties:{[S.uid()]:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{initialValue:{type:m.name}},title:s("{{t('Add new')}}")+" - "+s(m.title),properties:A(F({},b.cloneDeep(m.properties)),{footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ cm.useCreateAction }}"}}}}})}}})},items:[...o.storageTypes.values()].map(d=>({key:d.name,label:s(d.title)}))},children:r.jsxs(I.Button,{type:"primary",icon:r.jsx(w.PlusOutlined,{}),children:[y("Add new")," ",r.jsx(w.DownOutlined,{})]})}),r.jsx(t.SchemaComponent,{scope:{createOnly:!0},schema:n})]})})},J=()=>{const n=t.useRecord(),[i,o]=g.useState({}),s=t.usePlugin(P),c=t.useCompile(),[u,y]=g.useState(!1),{t:d}=$.useTranslation();return r.jsx("div",{children:r.jsxs(t.ActionContext.Provider,{value:{visible:u,setVisible:y},children:[r.jsx("a",{onClick:()=>{y(!0);const m=s.storageTypes.get(n.type);m.properties.default&&(m.properties.default["x-reactions"]=C=>{C.initialValue?C.disabled=!0:C.disabled=!1}),o({type:"object",properties:{[S.uid()]:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{initialValue:F({},n)},title:c("{{t('Edit')}}")+" - "+c(m.title),properties:A(F({},b.cloneDeep(m.properties)),{footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ cm.useUpdateAction }}"}}}}})}}})},children:d("Edit")}),r.jsx(t.SchemaComponent,{scope:{createOnly:!1},schema:i})]})})},Q=()=>{const{t:n}=$.useTranslation(),i=t.useCompile(),s=[...t.usePlugin(P).storageTypes.values()].map(u=>({value:u.name,label:i(u.title)})),c=r.jsxs("div",{children:[n("See more")," ",r.jsx("a",{target:"_blank",href:"https://help.aliyun.com/zh/oss/user-guide/resize-images-4",rel:"noreferrer",children:"x-oss-process"})]});return r.jsx(I.Card,{bordered:!1,children:r.jsx(t.SchemaComponent,{components:{StorageOptions:W,CreateStorage:H,EditStorage:J},scope:{useNewId:u=>`${u}${S.uid()}`,storageTypes:s,xStyleProcessDesc:c},schema:X})})},Y=1,ee=1024*1024*1024,B=1024*1024*20,p={title:{"x-component":"CollectionField","x-decorator":"FormItem"},name:{"x-component":"CollectionField","x-decorator":"FormItem","x-disabled":"{{ !createOnly }}",required:!0,default:'{{ useNewId("s_") }}',description:'{{t("Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.")}}'},baseUrl:{"x-component":"CollectionField","x-decorator":"FormItem",description:`{{t('Base URL for file access, could be your CDN base URL. For example: "https://cdn.nocobase.com".', { ns: "${e}" })}}`},path:{"x-component":"CollectionField","x-decorator":"FormItem",description:`{{t('Relative path the file will be saved to. Left blank as root path. The leading and trailing slashes "/" will be ignored. For example: "user/avatar".', { ns: "${e}" })}}`},rules:{type:"object","x-component":"fieldset",properties:{size:{type:"number",title:`{{t("File size limit", { ns: "${e}" })}}`,description:`{{t("Minimum from 1 byte, maximum up to 1GB.", { ns: "${e}" })}}`,"x-decorator":"FormItem","x-component":"FileSizeField",required:!0,default:B},mimetype:{type:"string",title:`{{t("File type (in MIME type format)", { ns: "${e}" })}}`,description:`{{t('Multi-types seperated with comma, for example: "image/*", "image/png", "image/*, application/pdf" etc.', { ns: "${e}" })}}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:"*"}}}},default:{"x-component":"CollectionField","x-decorator":"FormItem","x-content":`{{t("Default storage", { ns: "${e}" })}}`},paranoid:{"x-component":"CollectionField","x-decorator":"FormItem","x-content":`{{t("Keep file in storage when destroy record", { ns: "${e}" })}}`}},te={title:`{{t("Aliyun OSS", { ns: "${e}" })}}`,name:"ali-oss",properties:{title:p.title,name:p.name,baseUrl:p.baseUrl,options:{type:"object","x-component":"fieldset",properties:{region:{title:`{{t("Region", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",description:`{{t('Aliyun OSS region part of the bucket. For example: "oss-cn-beijing".', { ns: "${e}" })}}`,required:!0},accessKeyId:{title:`{{t("AccessKey ID", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},accessKeySecret:{title:`{{t("AccessKey Secret", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Password",required:!0},bucket:{title:`{{t("Bucket", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},thumbnailRule:{title:"Thumbnail rule",type:"string","x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:"?x-oss-process=image/auto-orient,1/resize,m_fill,w_94,h_94/quality,q_90"},description:"{{ xStyleProcessDesc }}"}}},path:p.path,rules:p.rules,default:p.default,paranoid:p.paranoid}},oe={title:`{{t("Local storage", { ns: "${e}" })}}`,name:"local",properties:{title:p.title,name:p.name,baseUrl:{"x-component":"CollectionField","x-decorator":"FormItem","x-display":"hidden",default:"/storage/uploads"},options:{type:"object","x-component":"div",properties:{documentRoot:{title:`{{t("Destination", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input","x-display":"hidden",default:"storage/uploads"}}},path:{"x-component":"CollectionField","x-decorator":"FormItem","x-component-props":{addonBefore:"storage/uploads/"}},rules:p.rules,default:p.default,paranoid:p.paranoid}},ne={title:`{{t("Amazon S3", { ns: "${e}" })}}`,name:"s3",properties:{title:p.title,name:p.name,baseUrl:p.baseUrl,options:{type:"object","x-component":"fieldset",properties:{region:{title:`{{t("Region", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},accessKeyId:{title:`{{t("AccessKey ID", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},secretAccessKey:{title:`{{t("AccessKey Secret", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Password",required:!0},bucket:{title:`{{t("Bucket", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},endpoint:{title:`{{t("Endpoint", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input"}}},path:p.path,rules:p.rules,default:p.default,paranoid:p.paranoid}},re={title:`{{t("Tencent COS", { ns: "${e}" })}}`,name:"tx-cos",properties:{title:p.title,name:p.name,baseUrl:p.baseUrl,options:{type:"object","x-component":"fieldset",properties:{Region:{title:`{{t("Region", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},SecretId:{title:`{{t("SecretId", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},SecretKey:{title:`{{t("SecretKey", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Password",required:!0},Bucket:{title:`{{t("Bucket", { ns: "${e}" })}}`,type:"string","x-decorator":"FormItem","x-component":"Input",required:!0}}},path:p.path,rules:p.rules,default:p.default,paranoid:p.paranoid}},ie={local:oe,"ali-oss":te,s3:ne,"tx-cos":re};class se extends t.CollectionFieldInterface{constructor(){super(...arguments);l(this,"name","attachment");l(this,"type","object");l(this,"group","media");l(this,"title",`{{t("Attachment", { ns: "${e}" })}}`);l(this,"isAssociation",!0);l(this,"default",{type:"belongsToMany",target:"attachments",uiSchema:{type:"array","x-component":"Upload.Attachment","x-use-component-props":"useAttachmentFieldProps"}});l(this,"availableTypes",["belongsToMany"]);l(this,"properties",A(F({},t.interfacesProperties.defaultProps),{"uiSchema.x-component-props.accept":{type:"string",title:`{{t("MIME type", { ns: "${e}" })}}`,"x-component":"Input","x-component-props":{placeholder:"image/*"},"x-decorator":"FormItem",description:"Example: image/png"},"uiSchema.x-component-props.multiple":{type:"boolean","x-content":`{{t('Allow uploading multiple files', { ns: "${e}" })}}`,"x-decorator":"FormItem","x-component":"Checkbox",default:!0},storage:{type:"string",title:`{{t("Storage", { ns: "${e}" })}}`,description:`{{t('Default storage will be used when not selected', { ns: "${e}" })}}`,"x-decorator":"FormItem","x-component":"RemoteSelect","x-component-props":{service:{resource:"storages",params:{}},manual:!1,fieldNames:{label:"title",value:"name"}}}}));l(this,"filterable",{children:[{name:"id",title:'{{t("Exists")}}',operators:[{label:'{{t("exists")}}',value:"$exists",noValue:!0},{label:'{{t("not exists")}}',value:"$notExists",noValue:!0}],schema:{title:'{{t("Exists")}}',type:"string","x-component":"Input"}},{name:"filename",title:`{{t("Filename", { ns: "${e}" })}}`,operators:t.interfacesProperties.operators.string,schema:{title:`{{t("Filename", { ns: "${e}" })}}`,type:"string","x-component":"Input"}}]})}schemaInitialize(o,{block:s,field:c}){o["x-component-props"]||(o["x-component-props"]={}),["Table","Kanban"].includes(s)&&(o["x-component-props"].size="small"),o["x-use-component-props"]="useAttachmentFieldProps"}initialize(o){o.through||(o.through=`t_${S.uid()}`),o.foreignKey||(o.foreignKey=`f_${S.uid()}`),o.otherKey||(o.otherKey=`f_${S.uid()}`),o.sourceKey||(o.sourceKey="id"),o.targetKey||(o.targetKey="id")}}class ae extends t.CollectionTemplate{constructor(){super(...arguments);l(this,"name","file");l(this,"title",`{{t("File collection", { ns: "${e}" })}}`);l(this,"order",3);l(this,"color","blue");l(this,"default",{createdBy:!0,updatedBy:!0,fields:[{interface:"input",type:"string",name:"title",deletable:!1,uiSchema:{type:"string",title:'{{t("Title")}}',"x-component":"Input"}},{interface:"input",type:"string",name:"filename",deletable:!1,uiSchema:{type:"string",title:`{{t("File name", { ns: "${e}" })}}`,"x-component":"Input","x-read-pretty":!0}},{interface:"input",type:"string",name:"extname",deletable:!1,uiSchema:{type:"string",title:`{{t("Extension name", { ns: "${e}" })}}`,"x-component":"Input","x-read-pretty":!0}},{interface:"integer",type:"integer",name:"size",deletable:!1,uiSchema:{type:"number",title:`{{t("Size", { ns: "${e}" })}}`,"x-component":"InputNumber","x-read-pretty":!0,"x-component-props":{stringMode:!0,step:"0"}}},{interface:"input",type:"string",name:"mimetype",deletable:!1,uiSchema:{type:"string",title:`{{t("MIME type", { ns: "${e}" })}}`,"x-component":"Input","x-read-pretty":!0}},{interface:"input",type:"string",name:"path",deletable:!1,uiSchema:{type:"string",title:`{{t("Path", { ns: "${e}" })}}`,"x-component":"Input","x-read-pretty":!0}},{interface:"url",type:"string",name:"url",deletable:!1,uiSchema:{type:"string",title:'{{t("URL")}}',"x-component":"Input.URL","x-read-pretty":!0}},{interface:"url",type:"string",name:"preview",field:"url",deletable:!1,uiSchema:{type:"string",title:`{{t("Preview", { ns: "${e}" })}}`,"x-component":"Preview","x-read-pretty":!0}},{comment:"存储引擎",type:"belongsTo",name:"storage",target:"storages",foreignKey:"storageId",deletable:!1,uiSchema:{type:"string",title:`{{t("Storage", { ns: "${e}" })}}`,"x-component":"Input","x-read-pretty":!0}},{type:"jsonb",name:"meta",deletable:!1,defaultValue:{}}]});l(this,"presetFieldsDisabled",!0);l(this,"configurableProperties",F(A(F(A(F({},t.getConfigurableProperties("title","name")),{inherits:A(F({},t.getConfigurableProperties("inherits").inherits),{"x-reactions":["{{useAsyncDataSource(loadCollections)}}"]})}),t.getConfigurableProperties("category","description")),{storage:{type:"string",name:"storage",title:`{{t("File storage", { ns: "${e}" })}}`,"x-decorator":"FormItem","x-component":"RemoteSelect","x-component-props":{service:{resource:"storages",params:{}},manual:!1,fieldNames:{label:"title",value:"name"}}}}),t.getConfigurableProperties("presetFields")))}}const M=[{value:1,label:"Byte"},{value:1024,label:"KB"},{value:1024*1024,label:"MB"},{value:1024*1024*1024,label:"GB"}];function j(n,i=1024*1024){const o=n||i;for(let s=M.length-1;s>=0;s--){const c=M[s];if(o%c.value===0)return c}return M[0]}function z(n,i,o){return Math.min(Math.max(i,n),o)}function pe(n){var q;const{value:i,defaultUnit:o=1024*1024,min:s=Y,max:c=ee,step:u=1,onChange:y}=n,d=(q=n.defaultValue)!=null?q:B,m=j(d,o),C=d/m.value,f=j(i!=null?i:d,o),x=i==null?i:i/f.value,v=g.useCallback(T=>{y==null||y(z(T==null?T:T*f.value,s,c))},[f.value]),K=g.useCallback(T=>{y==null||y(z(x*T,s,c))},[x]);return r.jsxs(I.Space.Compact,{children:[r.jsx(I.InputNumber,{value:x,onChange:v,defaultValue:`${C}`,step:u}),r.jsx(I.Select,{options:M,value:f.value,onChange:K,className:"auto-width"})]})}class P extends t.Plugin{constructor(){super(...arguments);l(this,"storageTypes",new Map)}load(){return k(this,null,function*(){this.app.dataSourceManager.addFieldInterfaces([se]),this.app.dataSourceManager.addCollectionTemplates([ae]),this.app.use(Z),this.app.pluginSettingsManager.add(e,{title:`{{t("File manager", { ns: "${e}" })}}`,icon:"FileOutlined",Component:Q,aclSnippet:"pm.file-manager.storages"}),Object.values(ie).forEach(s=>{this.registerStorageType(s.name,s)});const o=this.app.schemaInitializerManager.get("table:configureActions");o==null||o.add("enableActions.upload",{title:"{{t('Upload')}}",Component:"UploadActionInitializer",schema:{"x-align":"right","x-decorator":"ACLActionProvider","x-acl-action-props":{skipScopeCheck:!0}},useVisible(){return t.useCollection().template==="file"}}),this.app.addScopes({useAttachmentFieldProps:E,useFileCollectionStorageRules:O}),this.app.addComponents({FileSizeField:pe})})}registerStorageType(o,s){this.storageTypes.set(o,s)}}a.PluginFileManagerClient=P,a.default=P,Object.defineProperties(a,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -8,7 +8,7 @@
8
8
  */
9
9
 
10
10
  module.exports = {
11
- "@nocobase/client": "1.3.33-beta",
11
+ "@nocobase/client": "1.3.34-beta",
12
12
  "react": "18.2.0",
13
13
  "antd": "5.12.8",
14
14
  "@ant-design/icons": "5.2.6",
@@ -18,10 +18,10 @@ module.exports = {
18
18
  "@formily/antd-v5": "1.1.9",
19
19
  "@formily/core": "2.3.0",
20
20
  "@formily/react": "2.3.0",
21
- "@nocobase/database": "1.3.33-beta",
22
- "@nocobase/server": "1.3.33-beta",
23
- "@nocobase/utils": "1.3.33-beta",
24
- "@nocobase/test": "1.3.33-beta",
25
- "@nocobase/actions": "1.3.33-beta",
21
+ "@nocobase/database": "1.3.34-beta",
22
+ "@nocobase/server": "1.3.34-beta",
23
+ "@nocobase/utils": "1.3.34-beta",
24
+ "@nocobase/test": "1.3.34-beta",
25
+ "@nocobase/actions": "1.3.34-beta",
26
26
  "multer": "1.4.4"
27
27
  };
@@ -1 +1 @@
1
- {"name":"@aws-sdk/client-s3","description":"AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native","version":"3.474.0","scripts":{"build":"concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'","build:cjs":"tsc -p tsconfig.cjs.json","build:es":"tsc -p tsconfig.es.json","build:include:deps":"lerna run --scope $npm_package_name --include-dependencies build","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4","clean":"rimraf ./dist-* && rimraf *.tsbuildinfo","extract:docs":"api-extractor run --local","generate:client":"node ../../scripts/generate-clients/single-service --solo s3","test":"yarn test:unit","test:e2e":"yarn test:e2e:node && yarn test:e2e:browser","test:e2e:browser":"ts-mocha test/**/*.browser.ispec.ts && karma start karma.conf.js","test:e2e:node":"jest --c jest.config.e2e.js","test:unit":"ts-mocha test/unit/**/*.spec.ts"},"main":"./dist-cjs/index.js","types":"./dist-types/index.d.ts","module":"./dist-es/index.js","sideEffects":false,"dependencies":{"@aws-crypto/sha1-browser":"3.0.0","@aws-crypto/sha256-browser":"3.0.0","@aws-crypto/sha256-js":"3.0.0","@aws-sdk/client-sts":"3.474.0","@aws-sdk/core":"3.474.0","@aws-sdk/credential-provider-node":"3.474.0","@aws-sdk/middleware-bucket-endpoint":"3.470.0","@aws-sdk/middleware-expect-continue":"3.468.0","@aws-sdk/middleware-flexible-checksums":"3.468.0","@aws-sdk/middleware-host-header":"3.468.0","@aws-sdk/middleware-location-constraint":"3.468.0","@aws-sdk/middleware-logger":"3.468.0","@aws-sdk/middleware-recursion-detection":"3.468.0","@aws-sdk/middleware-sdk-s3":"3.474.0","@aws-sdk/middleware-signing":"3.468.0","@aws-sdk/middleware-ssec":"3.468.0","@aws-sdk/middleware-user-agent":"3.470.0","@aws-sdk/region-config-resolver":"3.470.0","@aws-sdk/signature-v4-multi-region":"3.474.0","@aws-sdk/types":"3.468.0","@aws-sdk/util-endpoints":"3.470.0","@aws-sdk/util-user-agent-browser":"3.468.0","@aws-sdk/util-user-agent-node":"3.470.0","@aws-sdk/xml-builder":"3.472.0","@smithy/config-resolver":"^2.0.21","@smithy/eventstream-serde-browser":"^2.0.15","@smithy/eventstream-serde-config-resolver":"^2.0.15","@smithy/eventstream-serde-node":"^2.0.15","@smithy/fetch-http-handler":"^2.3.1","@smithy/hash-blob-browser":"^2.0.16","@smithy/hash-node":"^2.0.17","@smithy/hash-stream-node":"^2.0.17","@smithy/invalid-dependency":"^2.0.15","@smithy/md5-js":"^2.0.17","@smithy/middleware-content-length":"^2.0.17","@smithy/middleware-endpoint":"^2.2.3","@smithy/middleware-retry":"^2.0.24","@smithy/middleware-serde":"^2.0.15","@smithy/middleware-stack":"^2.0.9","@smithy/node-config-provider":"^2.1.8","@smithy/node-http-handler":"^2.2.1","@smithy/protocol-http":"^3.0.11","@smithy/smithy-client":"^2.1.18","@smithy/types":"^2.7.0","@smithy/url-parser":"^2.0.15","@smithy/util-base64":"^2.0.1","@smithy/util-body-length-browser":"^2.0.1","@smithy/util-body-length-node":"^2.1.0","@smithy/util-defaults-mode-browser":"^2.0.22","@smithy/util-defaults-mode-node":"^2.0.29","@smithy/util-endpoints":"^1.0.7","@smithy/util-retry":"^2.0.8","@smithy/util-stream":"^2.0.23","@smithy/util-utf8":"^2.0.2","@smithy/util-waiter":"^2.0.15","fast-xml-parser":"4.2.5","tslib":"^2.5.0"},"devDependencies":{"@smithy/service-client-documentation-generator":"^2.0.0","@tsconfig/node14":"1.0.3","@types/chai":"^4.2.11","@types/mocha":"^8.0.4","@types/node":"^14.14.31","concurrently":"7.0.0","downlevel-dts":"0.10.1","rimraf":"3.0.2","typescript":"~4.9.5"},"engines":{"node":">=14.0.0"},"typesVersions":{"<4.0":{"dist-types/*":["dist-types/ts3.4/*"]}},"files":["dist-*/**"],"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","browser":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.browser"},"react-native":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.native"},"homepage":"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-s3"},"_lastModified":"2024-10-16T23:36:45.477Z"}
1
+ {"name":"@aws-sdk/client-s3","description":"AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native","version":"3.474.0","scripts":{"build":"concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'","build:cjs":"tsc -p tsconfig.cjs.json","build:es":"tsc -p tsconfig.es.json","build:include:deps":"lerna run --scope $npm_package_name --include-dependencies build","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4","clean":"rimraf ./dist-* && rimraf *.tsbuildinfo","extract:docs":"api-extractor run --local","generate:client":"node ../../scripts/generate-clients/single-service --solo s3","test":"yarn test:unit","test:e2e":"yarn test:e2e:node && yarn test:e2e:browser","test:e2e:browser":"ts-mocha test/**/*.browser.ispec.ts && karma start karma.conf.js","test:e2e:node":"jest --c jest.config.e2e.js","test:unit":"ts-mocha test/unit/**/*.spec.ts"},"main":"./dist-cjs/index.js","types":"./dist-types/index.d.ts","module":"./dist-es/index.js","sideEffects":false,"dependencies":{"@aws-crypto/sha1-browser":"3.0.0","@aws-crypto/sha256-browser":"3.0.0","@aws-crypto/sha256-js":"3.0.0","@aws-sdk/client-sts":"3.474.0","@aws-sdk/core":"3.474.0","@aws-sdk/credential-provider-node":"3.474.0","@aws-sdk/middleware-bucket-endpoint":"3.470.0","@aws-sdk/middleware-expect-continue":"3.468.0","@aws-sdk/middleware-flexible-checksums":"3.468.0","@aws-sdk/middleware-host-header":"3.468.0","@aws-sdk/middleware-location-constraint":"3.468.0","@aws-sdk/middleware-logger":"3.468.0","@aws-sdk/middleware-recursion-detection":"3.468.0","@aws-sdk/middleware-sdk-s3":"3.474.0","@aws-sdk/middleware-signing":"3.468.0","@aws-sdk/middleware-ssec":"3.468.0","@aws-sdk/middleware-user-agent":"3.470.0","@aws-sdk/region-config-resolver":"3.470.0","@aws-sdk/signature-v4-multi-region":"3.474.0","@aws-sdk/types":"3.468.0","@aws-sdk/util-endpoints":"3.470.0","@aws-sdk/util-user-agent-browser":"3.468.0","@aws-sdk/util-user-agent-node":"3.470.0","@aws-sdk/xml-builder":"3.472.0","@smithy/config-resolver":"^2.0.21","@smithy/eventstream-serde-browser":"^2.0.15","@smithy/eventstream-serde-config-resolver":"^2.0.15","@smithy/eventstream-serde-node":"^2.0.15","@smithy/fetch-http-handler":"^2.3.1","@smithy/hash-blob-browser":"^2.0.16","@smithy/hash-node":"^2.0.17","@smithy/hash-stream-node":"^2.0.17","@smithy/invalid-dependency":"^2.0.15","@smithy/md5-js":"^2.0.17","@smithy/middleware-content-length":"^2.0.17","@smithy/middleware-endpoint":"^2.2.3","@smithy/middleware-retry":"^2.0.24","@smithy/middleware-serde":"^2.0.15","@smithy/middleware-stack":"^2.0.9","@smithy/node-config-provider":"^2.1.8","@smithy/node-http-handler":"^2.2.1","@smithy/protocol-http":"^3.0.11","@smithy/smithy-client":"^2.1.18","@smithy/types":"^2.7.0","@smithy/url-parser":"^2.0.15","@smithy/util-base64":"^2.0.1","@smithy/util-body-length-browser":"^2.0.1","@smithy/util-body-length-node":"^2.1.0","@smithy/util-defaults-mode-browser":"^2.0.22","@smithy/util-defaults-mode-node":"^2.0.29","@smithy/util-endpoints":"^1.0.7","@smithy/util-retry":"^2.0.8","@smithy/util-stream":"^2.0.23","@smithy/util-utf8":"^2.0.2","@smithy/util-waiter":"^2.0.15","fast-xml-parser":"4.2.5","tslib":"^2.5.0"},"devDependencies":{"@smithy/service-client-documentation-generator":"^2.0.0","@tsconfig/node14":"1.0.3","@types/chai":"^4.2.11","@types/mocha":"^8.0.4","@types/node":"^14.14.31","concurrently":"7.0.0","downlevel-dts":"0.10.1","rimraf":"3.0.2","typescript":"~4.9.5"},"engines":{"node":">=14.0.0"},"typesVersions":{"<4.0":{"dist-types/*":["dist-types/ts3.4/*"]}},"files":["dist-*/**"],"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","browser":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.browser"},"react-native":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.native"},"homepage":"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-s3"},"_lastModified":"2024-10-21T01:15:18.036Z"}
@@ -1 +1 @@
1
- {"name":"mime-match","version":"1.0.2","description":"A simple function to check whether a mimetype matches the specified mimetype (with wildcard support)","main":"index.js","scripts":{"test":"node test.js","gendocs":"gendocs > README.md"},"repository":{"type":"git","url":"https://github.com/DamonOehlman/mime-match.git"},"keywords":["mime","wildcard"],"author":"Damon Oehlman <damon.oehlman@gmail.com>","license":"ISC","bugs":{"url":"https://github.com/DamonOehlman/mime-match/issues"},"homepage":"https://github.com/DamonOehlman/mime-match","dependencies":{"wildcard":"^1.1.0"},"devDependencies":{"tape":"^4.5.1"},"_lastModified":"2024-10-16T23:36:36.380Z"}
1
+ {"name":"mime-match","version":"1.0.2","description":"A simple function to check whether a mimetype matches the specified mimetype (with wildcard support)","main":"index.js","scripts":{"test":"node test.js","gendocs":"gendocs > README.md"},"repository":{"type":"git","url":"https://github.com/DamonOehlman/mime-match.git"},"keywords":["mime","wildcard"],"author":"Damon Oehlman <damon.oehlman@gmail.com>","license":"ISC","bugs":{"url":"https://github.com/DamonOehlman/mime-match/issues"},"homepage":"https://github.com/DamonOehlman/mime-match","dependencies":{"wildcard":"^1.1.0"},"devDependencies":{"tape":"^4.5.1"},"_lastModified":"2024-10-21T01:15:08.396Z"}
@@ -1 +1 @@
1
- {"name":"mkdirp","description":"Recursively mkdir, like `mkdir -p`","version":"0.5.6","publishConfig":{"tag":"legacy"},"author":"James Halliday <mail@substack.net> (http://substack.net)","main":"index.js","keywords":["mkdir","directory"],"repository":{"type":"git","url":"https://github.com/substack/node-mkdirp.git"},"scripts":{"test":"tap test/*.js"},"dependencies":{"minimist":"^1.2.6"},"devDependencies":{"tap":"^16.0.1"},"bin":"bin/cmd.js","license":"MIT","files":["bin","index.js"],"_lastModified":"2024-10-16T23:36:41.279Z"}
1
+ {"name":"mkdirp","description":"Recursively mkdir, like `mkdir -p`","version":"0.5.6","publishConfig":{"tag":"legacy"},"author":"James Halliday <mail@substack.net> (http://substack.net)","main":"index.js","keywords":["mkdir","directory"],"repository":{"type":"git","url":"https://github.com/substack/node-mkdirp.git"},"scripts":{"test":"tap test/*.js"},"dependencies":{"minimist":"^1.2.6"},"devDependencies":{"tap":"^16.0.1"},"bin":"bin/cmd.js","license":"MIT","files":["bin","index.js"],"_lastModified":"2024-10-21T01:15:13.447Z"}
@@ -1 +1 @@
1
- {"name":"multer-aliyun-oss","version":"2.1.3","description":"Multer Storage for AliYun OSS","main":"index.js","scripts":{},"author":"AngusYoung","license":"ISC","repository":{"type":"git","url":"git+https://github.com/ay86/multer-aliyun-oss.git"},"keywords":["multer","storage","aliyun","oss"],"dependencies":{"ali-oss":"^6.1.0"},"_lastModified":"2024-10-16T23:36:41.207Z"}
1
+ {"name":"multer-aliyun-oss","version":"2.1.3","description":"Multer Storage for AliYun OSS","main":"index.js","scripts":{},"author":"AngusYoung","license":"ISC","repository":{"type":"git","url":"git+https://github.com/ay86/multer-aliyun-oss.git"},"keywords":["multer","storage","aliyun","oss"],"dependencies":{"ali-oss":"^6.1.0"},"_lastModified":"2024-10-21T01:15:13.371Z"}
@@ -1 +1 @@
1
- {"_from":"multer-cos","_id":"multer-cos@1.0.2","_inBundle":false,"_integrity":"sha512-4F8P1VTCSNhiem+BFJFLe3Ixco6cIuAQ6j7U+PBRvdbBJRZgq5Q+vaDMMBWJ1HmPGOOP3AyKS5yk2f0nbFoqqA==","_location":"/multer-cos","_phantomChildren":{},"_requested":{"type":"tag","registry":true,"raw":"multer-cos","name":"multer-cos","escapedName":"multer-cos","rawSpec":"","saveSpec":null,"fetchSpec":"latest"},"_requiredBy":["#USER","/"],"_resolved":"https://registry.npmjs.org/multer-cos/-/multer-cos-1.0.2.tgz","_shasum":"95c7c06cdee1b9311675a895481f9d946de6dcf3","_spec":"multer-cos","_where":"/Users/lanbo/workplace/websocket","author":{"name":"lanbosm"},"bugs":{"url":"https://github.com/lanbosm/multer-COS/issues"},"bundleDependencies":false,"deprecated":false,"description":"Streaming multer storage engine for QCloud COS","devDependencies":{"cos-nodejs-sdk-v5":"^2.2.6","dotenv":"^5.0.1","multer":"^1.3.0"},"engines":{"node":">= 6.10.0"},"homepage":"https://github.com/lanbosm/multer-COS#readme","keywords":["express","multer","COS"],"license":"MIT","main":"index.js","name":"multer-cos","repository":{"type":"git","url":"git+ssh://git@github.com/lanbosm/multer-COS.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"version":"1.0.3","_lastModified":"2024-10-16T23:36:53.234Z"}
1
+ {"_from":"multer-cos","_id":"multer-cos@1.0.2","_inBundle":false,"_integrity":"sha512-4F8P1VTCSNhiem+BFJFLe3Ixco6cIuAQ6j7U+PBRvdbBJRZgq5Q+vaDMMBWJ1HmPGOOP3AyKS5yk2f0nbFoqqA==","_location":"/multer-cos","_phantomChildren":{},"_requested":{"type":"tag","registry":true,"raw":"multer-cos","name":"multer-cos","escapedName":"multer-cos","rawSpec":"","saveSpec":null,"fetchSpec":"latest"},"_requiredBy":["#USER","/"],"_resolved":"https://registry.npmjs.org/multer-cos/-/multer-cos-1.0.2.tgz","_shasum":"95c7c06cdee1b9311675a895481f9d946de6dcf3","_spec":"multer-cos","_where":"/Users/lanbo/workplace/websocket","author":{"name":"lanbosm"},"bugs":{"url":"https://github.com/lanbosm/multer-COS/issues"},"bundleDependencies":false,"deprecated":false,"description":"Streaming multer storage engine for QCloud COS","devDependencies":{"cos-nodejs-sdk-v5":"^2.2.6","dotenv":"^5.0.1","multer":"^1.3.0"},"engines":{"node":">= 6.10.0"},"homepage":"https://github.com/lanbosm/multer-COS#readme","keywords":["express","multer","COS"],"license":"MIT","main":"index.js","name":"multer-cos","repository":{"type":"git","url":"git+ssh://git@github.com/lanbosm/multer-COS.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"version":"1.0.3","_lastModified":"2024-10-21T01:15:25.964Z"}
@@ -1 +1 @@
1
- {"name":"multer-s3","version":"3.0.1","description":"Streaming multer storage engine for AWS S3","main":"index.js","scripts":{"test":"standard && mocha test/basic.js"},"engines":{"node":">= 12.0.0"},"repository":{"type":"git","url":"git+https://github.com/badunk/multer-s3.git"},"keywords":["multer","s3","amazon","aws"],"author":"badunk","license":"MIT","bugs":{"url":"https://github.com/badunk/multer-s3/issues"},"homepage":"https://github.com/badunk/multer-s3#readme","dependencies":{"@aws-sdk/lib-storage":"^3.46.0","file-type":"^3.3.0","html-comment-regex":"^1.1.2","run-parallel":"^1.1.6"},"peerDependencies":{"@aws-sdk/client-s3":"^3.0.0"},"devDependencies":{"express":"^4.13.1","form-data":"^1.0.0-rc3","mocha":"^2.2.5","multer":"^1.1.0","on-finished":"^2.3.0","standard":"^5.4.1","xtend":"^4.0.1"},"_lastModified":"2024-10-16T23:36:49.657Z"}
1
+ {"name":"multer-s3","version":"3.0.1","description":"Streaming multer storage engine for AWS S3","main":"index.js","scripts":{"test":"standard && mocha test/basic.js"},"engines":{"node":">= 12.0.0"},"repository":{"type":"git","url":"git+https://github.com/badunk/multer-s3.git"},"keywords":["multer","s3","amazon","aws"],"author":"badunk","license":"MIT","bugs":{"url":"https://github.com/badunk/multer-s3/issues"},"homepage":"https://github.com/badunk/multer-s3#readme","dependencies":{"@aws-sdk/lib-storage":"^3.46.0","file-type":"^3.3.0","html-comment-regex":"^1.1.2","run-parallel":"^1.1.6"},"peerDependencies":{"@aws-sdk/client-s3":"^3.0.0"},"devDependencies":{"express":"^4.13.1","form-data":"^1.0.0-rc3","mocha":"^2.2.5","multer":"^1.1.0","on-finished":"^2.3.0","standard":"^5.4.1","xtend":"^4.0.1"},"_lastModified":"2024-10-21T01:15:21.972Z"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/plugin-file-manager",
3
- "version": "1.3.33-beta",
3
+ "version": "1.3.34-beta",
4
4
  "displayName": "File manager",
5
5
  "displayName.zh-CN": "文件管理器",
6
6
  "description": "Provides files storage services with files collection template and attachment field.",
@@ -43,5 +43,5 @@
43
43
  "Collections",
44
44
  "Collection fields"
45
45
  ],
46
- "gitHead": "8c027d81bc5815930823af0dee29eb13ce51dbdf"
46
+ "gitHead": "dea91f76df3d5b205a0b74e17a0fef2358a90c14"
47
47
  }