@nocobase/plugin-file-manager 1.5.0-beta.9 → 1.5.1

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,8 +7,5 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  export declare function useStorageRules(storage: any): any;
10
- export declare function useAttachmentFieldProps(): {
11
- rules: any;
12
- action: string;
13
- };
10
+ export declare function useAttachmentFieldProps(): any;
14
11
  export declare function useFileCollectionStorageRules(): any;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ export declare function useStorage(storage: any): any;
10
+ export declare function useStorageCfg(): {
11
+ storage: any;
12
+ storageType: any;
13
+ };
14
+ export declare function useStorageUploadProps(props: any): any;
@@ -6,8 +6,4 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
- export declare const useUploadFiles: () => {
10
- action: string;
11
- onChange(fileList: any): void;
12
- rules: any;
13
- };
9
+ export declare const useUploadFiles: () => any;
@@ -8,8 +8,10 @@
8
8
  */
9
9
  import { Plugin } from '@nocobase/client';
10
10
  export declare class PluginFileManagerClient extends Plugin {
11
+ static buildInStorage: string[];
11
12
  storageTypes: Map<any, any>;
12
13
  load(): Promise<void>;
13
14
  registerStorageType(name: string, options: any): void;
15
+ getStorageType(name: string): any;
14
16
  }
15
17
  export default PluginFileManagerClient;
@@ -7,4 +7,4 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@nocobase/client"),require("@formily/react"),require("@ant-design/icons"),require("react"),require("react-i18next"),require("@formily/shared"),require("lodash"),require("antd")):"function"==typeof define&&define.amd?define("@nocobase/plugin-file-manager",["@nocobase/client","@formily/react","@ant-design/icons","react","react-i18next","@formily/shared","lodash","antd"],t):"object"==typeof exports?exports["@nocobase/plugin-file-manager"]=t(require("@nocobase/client"),require("@formily/react"),require("@ant-design/icons"),require("react"),require("react-i18next"),require("@formily/shared"),require("lodash"),require("antd")):e["@nocobase/plugin-file-manager"]=t(e["@nocobase/client"],e["@formily/react"],e["@ant-design/icons"],e.react,e["react-i18next"],e["@formily/shared"],e.lodash,e.antd)}(self,function(e,t,n,o,r,i,a,c){return function(){"use strict";var l,u,p,s={482:function(e){e.exports=n},505:function(e){e.exports=t},875:function(e){e.exports=i},772:function(t){t.exports=e},721:function(e){e.exports=c},467:function(e){e.exports=a},156:function(e){e.exports=o},238:function(e){e.exports=r}},m={};function f(e){var t=m[e];if(void 0!==t)return t.exports;var n=m[e]={exports:{}};return s[e](n,n.exports,f),n.exports}f.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(t,{a:t}),t},f.d=function(e,t){for(var n in t)f.o(t,n)&&!f.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},f.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},f.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var d={};f.r(d),f.d(d,{default:function(){return ej},PluginFileManagerClient:function(){return eS}});var y={};f.r(y),f.d(y,{useAttachmentFieldProps:function(){return O},useFileCollectionStorageRules:function(){return S},useStorageRules:function(){return v},useUploadFiles:function(){return I}});var b=f("772"),g=f("156"),x=f.n(g),h=f("505");function v(e){var t=null!=e?e:"";(0,b.useAPIClient)();var n=(0,h.useField)(),o=(0,b.useRequest)({url:"storages:getRules/".concat(t)},{manual:!0,refreshDeps:[t],cacheKey:t}),r=o.loading,i=o.data,a=o.run;return(0,g.useEffect)(function(){if("editable"===n.pattern)a()},[n.pattern,a]),!r&&(null==i?void 0:i.data)||null}function O(){var e=(0,b.useCollectionField)();return{rules:v(null==e?void 0:e.storage),action:"".concat(e.target,":create").concat(e.storage?"?attachmentField=".concat(e.collectionName,".").concat(e.name):"")}}function S(){var e=(0,b.useCollectionField)(),t=(0,b.useCollectionManager)().getCollection(null==e?void 0:e.target);return v(null==t?void 0:t.getOption("storage"))}function j(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n<t;n++)o[n]=e[n];return o}function w(e){return function(e){if(Array.isArray(e))return j(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||P(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function P(e,t){if(e){if("string"==typeof e)return j(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return j(e,t)}}var I=function(){var e=(0,b.useDataBlockRequestGetter)().getDataBlockRequest,t=(0,b.useDataBlockProps)().association,n=(0,b.useActionContext)().setVisible,o=(0,b.useCollection)(),r=(0,b.useSourceId)(),i=v(null==o?void 0:o.getOption("storage")),a=(0,g.useMemo)(function(){var e="".concat(o.name,":create");if(t){var n,i,a=(n=t.split("."),i=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n,o,r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var i=[],a=!0,c=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(e){c=!0,o=e}finally{try{!a&&null!=r.return&&r.return()}finally{if(c)throw o}}return i}}(n,2)||P(n,i)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),c=a[0],l=a[1];e="".concat(c,"/").concat(r,"/").concat(l,":create")}return e},[o.name,t,r]),c=((0,g.useContext)(b.RecordPickerContext)||{}).setSelectedRows,l={},u=0;return{action:a,onChange:function(t){t.forEach(function(n){if("uploading"===n.status&&!l[n.uid]&&(u++,l[n.uid]=!0),"uploading"!==n.status&&l[n.uid]&&(delete l[n.uid],0==--u)){var o,r;null===(r=e())||void 0===r||null===(o=r.refresh)||void 0===o||o.call(r),null==c||c(function(e){return w(e).concat(w(t.filter(function(e){return"done"===e.status}).map(function(e){return e.response.data})))})}}),t.every(function(e){return"done"===e.status})&&n(!1)},rules:i}},A=function(e){var t,n;return x().createElement(b.ActionInitializerItem,(t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),o.forEach(function(t){var o,r,i;o=e,r=t,i=n[t],r in o?Object.defineProperty(o,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):o[r]=i})}return e}({},e),n=(n={schema:{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"}}}}}}},n),Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n.push.apply(n,o)}return n})(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t))},C=function(e){return x().createElement(b.SchemaComponentOptions,{scope:y,components:{UploadActionInitializer:A}},e.children)},F=f("482"),E=f("875"),D=f("721"),T=f("467"),k=f.n(T),R=f("238"),q="file-manager",_={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: "'.concat(q,'" })}}'),descriptions:'{{t("Will be used for API", { ns: "'.concat(q,'" })}}'),type:"string","x-component":"Input"}},{type:"string",name:"type",interface:"select",uiSchema:{title:'{{t("Storage type", { ns: "'.concat(q,'" })}}'),type:"string","x-component":"Select",required:!0,enum:"{{ storageTypeOptions }}"}},{type:"string",name:"baseUrl",interface:"input",uiSchema:{title:'{{t("Access base URL", { ns: "'.concat(q,'" })}}'),type:"string","x-component":"Input",required:!0}},{type:"string",name:"path",interface:"input",uiSchema:{title:'{{t("Path", { ns: "'.concat(q,'" })}}'),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"}}]};var M={type:"object",properties:(l={},u=(0,E.uid)(),p={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: "'.concat(q,'" })}}'),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}}"}}}}}}}}}},u in l?Object.defineProperty(l,u,{value:p,enumerable:!0,configurable:!0,writable:!0}):l[u]=p,l)},U={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: "'.concat(q,'" })}}')},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: "'.concat(q,'" })}}')},rules:{type:"object","x-component":"fieldset",properties:{size:{type:"number",title:'{{t("File size limit", { ns: "'.concat(q,'" })}}'),description:'{{t("Minimum from 1 byte, maximum up to 1GB.", { ns: "'.concat(q,'" })}}'),"x-decorator":"FormItem","x-component":"FileSizeField",required:!0,default:0x1400000},mimetype:{type:"string",title:'{{t("File type (in MIME type format)", { ns: "'.concat(q,'" })}}'),description:'{{t(\'Multi-types seperated with comma, for example: "image/*", "image/png", "image/*, application/pdf" etc.\', { ns: "'.concat(q,'" })}}'),"x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:"*"}}}},default:{"x-component":"CollectionField","x-decorator":"FormItem","x-content":'{{t("Default storage", { ns: "'.concat(q,'" })}}')},paranoid:{"x-component":"CollectionField","x-decorator":"FormItem","x-content":'{{t("Keep file in storage when destroy record", { ns: "'.concat(q,'" })}}')}},B={title:'{{t("Aliyun OSS", { ns: "'.concat(q,'" })}}'),name:"ali-oss",fieldset:{title:U.title,name:U.name,baseUrl:U.baseUrl,options:{type:"object","x-component":"fieldset",properties:{region:{title:'{{t("Region", { ns: "'.concat(q,'" })}}'),type:"string","x-decorator":"FormItem","x-component":"Input",description:'{{t(\'Aliyun OSS region part of the bucket. For example: "oss-cn-beijing".\', { ns: "'.concat(q,'" })}}'),required:!0},accessKeyId:{title:'{{t("AccessKey ID", { ns: "'.concat(q,'" })}}'),type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},accessKeySecret:{title:'{{t("AccessKey Secret", { ns: "'.concat(q,'" })}}'),type:"string","x-decorator":"FormItem","x-component":"Password",required:!0},bucket:{title:'{{t("Bucket", { ns: "'.concat(q,'" })}}'),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:'{{ renderThumbnailRuleDesc("ali-oss") }}'}}},path:U.path,rules:U.rules,default:U.default,paranoid:U.paranoid},thumbnailRuleLink:"https://help.aliyun.com/zh/oss/user-guide/resize-images-4"},K={local:{title:'{{t("Local storage", { ns: "'.concat(q,'" })}}'),name:"local",fieldset:{title:U.title,name:U.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: "'.concat(q,'" })}}'),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:U.rules,default:U.default,paranoid:U.paranoid}},"ali-oss":B,s3:{title:'{{t("Amazon S3", { ns: "'.concat(q,'" })}}'),name:"s3",fieldset:{title:U.title,name:U.name,baseUrl:U.baseUrl,options:{type:"object","x-component":"fieldset",properties:{region:{title:'{{t("Region", { ns: "'.concat(q,'" })}}'),type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},accessKeyId:{title:'{{t("AccessKey ID", { ns: "'.concat(q,'" })}}'),type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},secretAccessKey:{title:'{{t("AccessKey Secret", { ns: "'.concat(q,'" })}}'),type:"string","x-decorator":"FormItem","x-component":"Password",required:!0},bucket:{title:'{{t("Bucket", { ns: "'.concat(q,'" })}}'),type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},endpoint:{title:'{{t("Endpoint", { ns: "'.concat(q,'" })}}'),type:"string","x-decorator":"FormItem","x-component":"Input"}}},path:U.path,rules:U.rules,default:U.default,paranoid:U.paranoid}},"tx-cos":{title:'{{t("Tencent COS", { ns: "'.concat(q,'" })}}'),name:"tx-cos",fieldset:{title:U.title,name:U.name,baseUrl:U.baseUrl,options:{type:"object","x-component":"fieldset",properties:{Region:{title:'{{t("Region", { ns: "'.concat(q,'" })}}'),type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},SecretId:{title:'{{t("SecretId", { ns: "'.concat(q,'" })}}'),type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},SecretKey:{title:'{{t("SecretKey", { ns: "'.concat(q,'" })}}'),type:"string","x-decorator":"FormItem","x-component":"Password",required:!0},Bucket:{title:'{{t("Bucket", { ns: "'.concat(q,'" })}}'),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:"?imageMogr2/thumbnail/!50p"},description:'{{ renderThumbnailRuleDesc("tx-cos") }}'}}},path:U.path,rules:U.rules,default:U.default,paranoid:U.paranoid},thumbnailRuleLink:"https://cloud.tencent.com/document/product/436/42214"}};function z(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n<t;n++)o[n]=e[n];return o}function V(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function L(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),o.forEach(function(t){V(e,t,n[t])})}return e}function N(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n.push.apply(n,o)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function G(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,o,r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var i=[],a=!0,c=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(e){c=!0,o=e}finally{try{!a&&null!=r.return&&r.return()}finally{if(c)throw o}}return i}}(e,t)||W(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $(e){return function(e){if(Array.isArray(e))return z(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||W(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function W(e,t){if(e){if("string"==typeof e)return z(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return z(e,t)}}var H=function(){var e=G((0,g.useState)({}),2),t=e[0],n=e[1],o=(0,b.usePlugin)(ej),r=(0,b.useCompile)(),i=G((0,g.useState)(!1),2),a=i[0],c=i[1],l=(0,R.useTranslation)().t;return x().createElement("div",null,x().createElement(b.ActionContext.Provider,{value:{visible:a,setVisible:c}},x().createElement(D.Dropdown,{menu:{onClick:function(e){var t=o.storageTypes.get(e.key);c(!0),n({type:"object",properties:V({},(0,E.uid)(),{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{initialValue:{type:t.name}},title:r("{{t('Add new')}}")+" - "+r(t.title),properties:N(L({},k().cloneDeep(t.fieldset)),{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(function(e){return{key:e.name,label:r(e.title)}})}},x().createElement(D.Button,{type:"primary",icon:x().createElement(F.PlusOutlined,null)},l("Add new")," ",x().createElement(F.DownOutlined,null))),x().createElement(b.SchemaComponent,{scope:{createOnly:!0},schema:t})))},J=function(){var e=(0,b.useRecord)(),t=G((0,g.useState)({}),2),n=t[0],o=t[1],r=(0,b.usePlugin)(ej),i=(0,b.useCompile)(),a=G((0,g.useState)(!1),2),c=a[0],l=a[1],u=(0,R.useTranslation)().t;return x().createElement("div",null,x().createElement(b.ActionContext.Provider,{value:{visible:c,setVisible:l}},x().createElement("a",{onClick:function(){l(!0);var t=r.storageTypes.get(e.type);t.fieldset.default&&(t.fieldset.default["x-reactions"]=function(e){e.initialValue?e.disabled=!0:e.disabled=!1}),o({type:"object",properties:V({},(0,E.uid)(),{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{initialValue:L({},e)},title:i("{{t('Edit')}}")+" - "+i(t.title),properties:N(L({},k().cloneDeep(t.fieldset)),{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 }}"}}}}})})})}},u("Edit")),x().createElement(b.SchemaComponent,{scope:{createOnly:!1},schema:n})))};function Q(e){var t=K[e];return(null==t?void 0:t.thumbnailRule)?x().createElement("div",null,x().createElement("a",{target:"_blank",href:t.thumbnailRuleLink,rel:"noreferrer"},b.i18n.t("See more"))):null}var X=function(){var e=(0,b.useCompile)(),t=$((0,b.usePlugin)(ej).storageTypes.values()).map(function(t){return{value:t.name,label:e(t.title)}});return x().createElement(D.Card,{bordered:!1},x().createElement(b.SchemaComponent,{components:{CreateStorage:H,EditStorage:J},scope:{useNewId:function(e){return"".concat(e).concat((0,E.uid)())},storageTypeOptions:t,renderThumbnailRuleDesc:Q},schema:M}))};function Y(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function Z(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ee(e){return(ee=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function et(e,t){return(et=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function en(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(en=function(){return!!e})()}var eo=function(e){var t,n,o;function r(){var e,t,n,o,i,a;return!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,r),t=this,n=r,o=arguments,n=ee(n),Z(e=function(e,t){return t&&("object"===function(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}(t)||"function"==typeof t)?t:function(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(t,en()?Reflect.construct(n,o||[],ee(t).constructor):n.apply(t,o)),"name","attachment"),Z(e,"type","object"),Z(e,"group","media"),Z(e,"title",'{{t("Attachment", { ns: "'.concat(q,'" })}}')),Z(e,"isAssociation",!0),Z(e,"default",{type:"belongsToMany",target:"attachments",uiSchema:{type:"array","x-component":"Upload.Attachment","x-use-component-props":"useAttachmentFieldProps"}}),Z(e,"availableTypes",["belongsToMany"]),Z(e,"properties",(i=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),o.forEach(function(t){Z(e,t,n[t])})}return e}({},b.interfacesProperties.defaultProps),a=(a={"uiSchema.x-component-props.accept":{type:"string",title:'{{t("MIME type", { ns: "'.concat(q,'" })}}'),"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: \"".concat(q,'" })}}'),"x-decorator":"FormItem","x-component":"Checkbox",default:!0},storage:{type:"string",title:'{{t("Storage", { ns: "'.concat(q,'" })}}'),description:"{{t('Default storage will be used when not selected', { ns: \"".concat(q,'" })}}'),"x-decorator":"FormItem","x-component":"RemoteSelect","x-component-props":{service:{resource:"storages",params:{}},manual:!1,fieldNames:{label:"title",value:"name"}}}},a),Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(a)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n.push.apply(n,o)}return n})(Object(a)).forEach(function(e){Object.defineProperty(i,e,Object.getOwnPropertyDescriptor(a,e))}),i)),Z(e,"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: "'.concat(q,'" })}}'),operators:b.interfacesProperties.operators.string,schema:{title:'{{t("Filename", { ns: "'.concat(q,'" })}}'),type:"string","x-component":"Input"}}]}),e}return!function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&et(e,t)}(r,e),t=r,n=[{key:"schemaInitialize",value:function(e,t){var n=t.block;t.field,!e["x-component-props"]&&(e["x-component-props"]={}),["Table","Kanban"].includes(n)&&(e["x-component-props"].size="small"),e["x-use-component-props"]="useAttachmentFieldProps"}},{key:"initialize",value:function(e){!e.through&&(e.through="t_".concat((0,E.uid)())),!e.foreignKey&&(e.foreignKey="f_".concat((0,E.uid)())),!e.otherKey&&(e.otherKey="f_".concat((0,E.uid)())),!e.sourceKey&&(e.sourceKey="id"),!e.targetKey&&(e.targetKey="id")}}],Y(t.prototype,n),r}(b.CollectionFieldInterface);function er(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ei(e){return(ei=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ea(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),o.forEach(function(t){er(e,t,n[t])})}return e}function ec(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n.push.apply(n,o)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function el(e,t){return(el=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function eu(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(eu=function(){return!!e})()}var ep=function(e){function t(){var e,n,o,r;return!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,t),n=this,o=t,r=arguments,o=ei(o),er(e=function(e,t){return t&&("object"===function(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}(t)||"function"==typeof t)?t:function(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(n,eu()?Reflect.construct(o,r||[],ei(n).constructor):o.apply(n,r)),"name","file"),er(e,"title",'{{t("File collection", { ns: "'.concat(q,'" })}}')),er(e,"order",3),er(e,"color","blue"),er(e,"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: "'.concat(q,'" })}}'),"x-component":"Input","x-read-pretty":!0}},{interface:"input",type:"string",name:"extname",deletable:!1,uiSchema:{type:"string",title:'{{t("Extension name", { ns: "'.concat(q,'" })}}'),"x-component":"Input","x-read-pretty":!0}},{interface:"integer",type:"integer",name:"size",deletable:!1,uiSchema:{type:"number",title:'{{t("Size", { ns: "'.concat(q,'" })}}'),"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: "'.concat(q,'" })}}'),"x-component":"Input","x-read-pretty":!0}},{interface:"input",type:"string",name:"path",deletable:!1,uiSchema:{type:"string",title:'{{t("Path", { ns: "'.concat(q,'" })}}'),"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: "'.concat(q,'" })}}'),"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: "'.concat(q,'" })}}'),"x-component":"Input","x-read-pretty":!0}},{type:"jsonb",name:"meta",deletable:!1,defaultValue:{}}]}),er(e,"presetFieldsDisabled",!0),er(e,"configurableProperties",ea(ec(ea(ec(ea({},(0,b.getConfigurableProperties)("title","name")),{inherits:ec(ea({},(0,b.getConfigurableProperties)("inherits").inherits),{"x-reactions":["{{useAsyncDataSource(loadCollections)}}"]})}),(0,b.getConfigurableProperties)("category","description")),{storage:{type:"string",name:"storage",title:'{{t("File storage", { ns: "'.concat(q,'" })}}'),"x-decorator":"FormItem","x-component":"RemoteSelect","x-component-props":{service:{resource:"storages",params:{}},manual:!1,fieldNames:{label:"title",value:"name"}}}}),(0,b.getConfigurableProperties)("presetFields"))),e}return!function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&el(e,t)}(t,e),t}(b.CollectionTemplate),es=[{value:1,label:"Byte"},{value:1024,label:"KB"},{value:1048576,label:"MB"},{value:0x40000000,label:"GB"}];function em(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1048576,n=e||t,o=es.length-1;o>=0;o--){var r=es[o];if(n%r.value==0)return r}return es[0]}function ef(e,t,n){return Math.min(Math.max(t,e),n)}function ed(e){var t,n=e.value,o=e.defaultUnit,r=void 0===o?1048576:o,i=e.min,a=void 0===i?1:i,c=e.max,l=void 0===c?0x40000000:c,u=e.step,p=e.onChange,s=null!==(t=e.defaultValue)&&void 0!==t?t:0x1400000,m=em(s,r),f=s/m.value,d=em(null!=n?n:s,r),y=null==n?n:n/d.value,b=(0,g.useCallback)(function(e){null==p||p(ef(null==e?e:e*d.value,a,l))},[d.value]),h=(0,g.useCallback)(function(e){null==p||p(ef(y*e,a,l))},[y]);return x().createElement(D.Space.Compact,null,x().createElement(D.InputNumber,{value:y,onChange:b,defaultValue:"".concat(f),step:void 0===u?1:u}),x().createElement(D.Select,{options:es,value:d.value,onChange:h,className:"auto-width"}))}function ey(e,t,n,o,r,i,a){try{var c=e[i](a),l=c.value}catch(e){n(e);return}c.done?t(l):Promise.resolve(l).then(o,r)}function eb(e,t,n){return(eb=eO()?Reflect.construct:function(e,t,n){var o=[null];o.push.apply(o,t);var r=new(Function.bind.apply(e,o));return n&&eh(r,n.prototype),r}).apply(null,arguments)}function eg(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function ex(e){return(ex=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function eh(e,t){return(eh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ev(e){var t="function"==typeof Map?new Map:void 0;return(ev=function(e){var n;if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,o)}function o(){return eb(e,arguments,ex(this).constructor)}return o.prototype=Object.create(e.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),eh(o,e)})(e)}function eO(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(eO=function(){return!!e})()}var eS=function(e){var t,n,o;function r(){var e,t,n,o,i,a,c;return!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,r),t=this,n=r,o=arguments,n=ex(n),i=e=function(e,t){return t&&("object"===function(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}(t)||"function"==typeof t)?t:function(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(t,eO()?Reflect.construct(n,o||[],ex(t).constructor):n.apply(t,o)),a="storageTypes",c=new Map,a in i?Object.defineProperty(i,a,{value:c,enumerable:!0,configurable:!0,writable:!0}):i[a]=c,e}return!function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&eh(e,t)}(r,e),t=r,n=[{key:"load",value:function(){var e,t=this;return(e=function(){var e;return function(e,t){var n,o,r,i,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(i){return function(c){return function(i){if(n)throw TypeError("Generator is already executing.");for(;a;)try{if(n=1,o&&(r=2&i[0]?o.return:i[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,i[1])).done)return r;switch(o=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,o=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(r=(r=a.trys).length>0&&r[r.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]<r[3])){a.label=i[1];break}if(6===i[0]&&a.label<r[1]){a.label=r[1],r=i;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(i);break}r[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],o=0}finally{n=r=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,c])}}}(this,function(n){return t.app.dataSourceManager.addFieldInterfaces([eo]),t.app.dataSourceManager.addCollectionTemplates([ep]),t.app.use(C),t.app.pluginSettingsManager.add(q,{title:'{{t("File manager", { ns: "'.concat(q,'" })}}'),icon:"FileOutlined",Component:X,aclSnippet:"pm.file-manager.storages"}),Object.values(K).forEach(function(e){t.registerStorageType(e.name,e)}),null==(e=t.app.schemaInitializerManager.get("table:configureActions"))||e.add("enableActions.upload",{title:"{{t('Upload')}}",Component:"UploadActionInitializer",schema:{"x-align":"right","x-decorator":"ACLActionProvider","x-acl-action-props":{skipScopeCheck:!0}},useVisible:function(){return"file"===(0,b.useCollection)().template}}),t.app.addScopes({useAttachmentFieldProps:O,useFileCollectionStorageRules:S}),t.app.addComponents({FileSizeField:ed}),[2]})},function(){var t=this,n=arguments;return new Promise(function(o,r){var i=e.apply(t,n);function a(e){ey(i,o,r,a,c,"next",e)}function c(e){ey(i,o,r,a,c,"throw",e)}a(void 0)})})()}},{key:"registerStorageType",value:function(e,t){this.storageTypes.set(e,t)}}],eg(t.prototype,n),r}(ev(b.Plugin)),ej=eS;return d}()});
10
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@nocobase/client"),require("@formily/react"),require("@ant-design/icons"),require("react"),require("react-i18next"),require("@formily/shared"),require("lodash"),require("antd")):"function"==typeof define&&define.amd?define("@nocobase/plugin-file-manager",["@nocobase/client","@formily/react","@ant-design/icons","react","react-i18next","@formily/shared","lodash","antd"],t):"object"==typeof exports?exports["@nocobase/plugin-file-manager"]=t(require("@nocobase/client"),require("@formily/react"),require("@ant-design/icons"),require("react"),require("react-i18next"),require("@formily/shared"),require("lodash"),require("antd")):e["@nocobase/plugin-file-manager"]=t(e["@nocobase/client"],e["@formily/react"],e["@ant-design/icons"],e.react,e["react-i18next"],e["@formily/shared"],e.lodash,e.antd)}(self,function(e,t,n,o,r,i,a,c){return function(){"use strict";var l,u,p,s={482:function(e){e.exports=n},505:function(e){e.exports=t},875:function(e){e.exports=i},772:function(t){t.exports=e},721:function(e){e.exports=c},467:function(e){e.exports=a},156:function(e){e.exports=o},238:function(e){e.exports=r}},m={};function f(e){var t=m[e];if(void 0!==t)return t.exports;var n=m[e]={exports:{}};return s[e](n,n.exports,f),n.exports}f.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(t,{a:t}),t},f.d=function(e,t){for(var n in t)f.o(t,n)&&!f.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},f.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},f.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var d={};f.r(d),f.d(d,{default:function(){return eI},PluginFileManagerClient:function(){return eP}});var y={};f.r(y),f.d(y,{useAttachmentFieldProps:function(){return C},useFileCollectionStorageRules:function(){return A},useStorageRules:function(){return I},useUploadFiles:function(){return w}});var b=f("772"),g=f("156"),x=f.n(g);function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),o.forEach(function(t){var o,r,i;o=e,r=t,i=n[t],r in o?Object.defineProperty(o,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):o[r]=i})}return e}function v(e){var t,n,o,r,i,a,c,l,u,p,s,m,f,d=(t=(0,b.useCollectionField)(),n=(0,b.useCollectionManager)().getCollection(null==t?void 0:t.target),o=(0,b.useCollection)(),r=(0,b.usePlugin)(eI),m=(a=null!=(i=(null==t?void 0:t.storage)||(null==o?void 0:o.getOption("storage"))||(null==n?void 0:n.getOption("storage")))?i:"",c="storages:getBasicInfo/".concat(a),u=(l=(0,b.useRequest)({url:c},{manual:!0,refreshDeps:[a],cacheKey:c})).loading,p=l.data,s=l.run,(0,g.useEffect)(function(){s()},[s]),!u&&(null==p?void 0:p.data)||null),f=r.getStorageType(null==m?void 0:m.type),{storage:m,storageType:f}),y=d.storage,x=d.storageType,v=null==x?void 0:x.useUploadProps,O=(null==v?void 0:v(h({storage:y,rules:y.rules},e)))||{};return h({rules:null==y?void 0:y.rules},O)}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n<t;n++)o[n]=e[n];return o}function S(e){return function(e){if(Array.isArray(e))return O(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||j(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function j(e,t){if(e){if("string"==typeof e)return O(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return O(e,t)}}var w=function(){var e=(0,b.useDataBlockRequestGetter)().getDataBlockRequest,t=(0,b.useDataBlockProps)().association,n=(0,b.useActionContext)().setVisible,o=(0,b.useCollection)(),r=(0,b.useSourceId)(),i=(0,g.useMemo)(function(){var e="".concat(o.name,":create");if(t){var n,i,a=(n=t.split("."),i=2,function(e){if(Array.isArray(e))return e}(n)||function(e,t){var n,o,r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var i=[],a=!0,c=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(e){c=!0,o=e}finally{try{!a&&null!=r.return&&r.return()}finally{if(c)throw o}}return i}}(n,2)||j(n,i)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),c=a[0],l=a[1];e="".concat(c,"/").concat(r,"/").concat(l,":create")}return e},[o.name,t,r]),a=((0,g.useContext)(b.RecordPickerContext)||{}).setSelectedRows,c={},l=0,u={action:i,onChange:function(t){t.forEach(function(n){if("uploading"===n.status&&!c[n.uid]&&(l++,c[n.uid]=!0),"uploading"!==n.status&&c[n.uid]&&(delete c[n.uid],0==--l)){var o,r;null===(r=e())||void 0===r||null===(o=r.refresh)||void 0===o||o.call(r),null==a||a(function(e){return S(e).concat(S(t.filter(function(e){return"done"===e.status}).map(function(e){return e.response.data})))})}}),t.every(function(e){return"done"===e.status})&&n(!1)}},p=v(u);return function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),o.forEach(function(t){var o,r,i;o=e,r=t,i=n[t],r in o?Object.defineProperty(o,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):o[r]=i})}return e}({},u,p)},P=f("505");function I(e){var t,n=null!=e?e:"";(0,b.useAPIClient)();var o=(0,P.useField)(),r=(0,b.useRequest)({url:"storages:getBasicInfo/".concat(n)},{manual:!0,refreshDeps:[n],cacheKey:n}),i=r.loading,a=r.data,c=r.run;return(0,g.useEffect)(function(){if("editable"===o.pattern)c()},[o.pattern,c]),!i&&(null==a?void 0:null===(t=a.data)||void 0===t?void 0:t.rules)||null}function C(){var e=(0,b.useCollectionField)(),t="".concat(e.target,":create").concat(e.storage?"?attachmentField=".concat(e.collectionName,".").concat(e.name):""),n=v({action:t});return function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),o.forEach(function(t){var o,r,i;o=e,r=t,i=n[t],r in o?Object.defineProperty(o,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):o[r]=i})}return e}({action:t},n)}function A(){var e=(0,b.useCollectionField)(),t=(0,b.useCollectionManager)().getCollection(null==e?void 0:e.target);return I(null==t?void 0:t.getOption("storage"))}var F=function(e){var t,n;return x().createElement(b.ActionInitializerItem,(t=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),o.forEach(function(t){var o,r,i;o=e,r=t,i=n[t],r in o?Object.defineProperty(o,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):o[r]=i})}return e}({},e),n=(n={schema:{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"}}}}}}},n),Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n.push.apply(n,o)}return n})(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t))},E=function(e){return x().createElement(b.SchemaComponentOptions,{scope:y,components:{UploadActionInitializer:F}},e.children)},D=f("482"),T=f("875"),k=f("721"),R=f("467"),q=f.n(R),_=f("238"),M="file-manager",U={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: "'.concat(M,'" })}}'),descriptions:'{{t("Will be used for API", { ns: "'.concat(M,'" })}}'),type:"string","x-component":"Input"}},{type:"string",name:"type",interface:"select",uiSchema:{title:'{{t("Storage type", { ns: "'.concat(M,'" })}}'),type:"string","x-component":"Select",required:!0,enum:"{{ storageTypeOptions }}"}},{type:"string",name:"baseUrl",interface:"input",uiSchema:{title:'{{t("Access base URL", { ns: "'.concat(M,'" })}}'),type:"string","x-component":"Input",required:!0}},{type:"string",name:"path",interface:"input",uiSchema:{title:'{{t("Path", { ns: "'.concat(M,'" })}}'),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"}}]};var B={type:"object",properties:(l={},u=(0,T.uid)(),p={type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:U,resourceName:"storages",request:{resource:"storages",action:"list",params:{pageSize:50,sort:["id"],appends:[]}}},"x-component":"CollectionProvider_deprecated","x-component-props":{collection:U},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: "'.concat(M,'" })}}'),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}}"}}}}}}}}}},u in l?Object.defineProperty(l,u,{value:p,enumerable:!0,configurable:!0,writable:!0}):l[u]=p,l)},K={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: "'.concat(M,'" })}}')},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: "'.concat(M,'" })}}')},rules:{type:"object","x-component":"fieldset",properties:{size:{type:"number",title:'{{t("File size limit", { ns: "'.concat(M,'" })}}'),description:'{{t("Minimum from 1 byte, maximum up to 1GB.", { ns: "'.concat(M,'" })}}'),"x-decorator":"FormItem","x-component":"FileSizeField",required:!0,default:0x1400000},mimetype:{type:"string",title:'{{t("File type (in MIME type format)", { ns: "'.concat(M,'" })}}'),description:'{{t(\'Multi-types seperated with comma, for example: "image/*", "image/png", "image/*, application/pdf" etc.\', { ns: "'.concat(M,'" })}}'),"x-decorator":"FormItem","x-component":"Input","x-component-props":{placeholder:"*"}}}},default:{"x-component":"CollectionField","x-decorator":"FormItem","x-content":'{{t("Default storage", { ns: "'.concat(M,'" })}}')},paranoid:{"x-component":"CollectionField","x-decorator":"FormItem","x-content":'{{t("Keep file in storage when destroy record", { ns: "'.concat(M,'" })}}')}},z={title:'{{t("Aliyun OSS", { ns: "'.concat(M,'" })}}'),name:"ali-oss",fieldset:{title:K.title,name:K.name,baseUrl:K.baseUrl,options:{type:"object","x-component":"fieldset",properties:{region:{title:'{{t("Region", { ns: "'.concat(M,'" })}}'),type:"string","x-decorator":"FormItem","x-component":"Input",description:'{{t(\'Aliyun OSS region part of the bucket. For example: "oss-cn-beijing".\', { ns: "'.concat(M,'" })}}'),required:!0},accessKeyId:{title:'{{t("AccessKey ID", { ns: "'.concat(M,'" })}}'),type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},accessKeySecret:{title:'{{t("AccessKey Secret", { ns: "'.concat(M,'" })}}'),type:"string","x-decorator":"FormItem","x-component":"Password",required:!0},bucket:{title:'{{t("Bucket", { ns: "'.concat(M,'" })}}'),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:'{{ renderThumbnailRuleDesc("ali-oss") }}'}}},path:K.path,rules:K.rules,default:K.default,paranoid:K.paranoid},thumbnailRuleLink:"https://help.aliyun.com/zh/oss/user-guide/resize-images-4"},V={local:{title:'{{t("Local storage", { ns: "'.concat(M,'" })}}'),name:"local",fieldset:{title:K.title,name:K.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: "'.concat(M,'" })}}'),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:K.rules,default:K.default,paranoid:K.paranoid}},"ali-oss":z,s3:{title:'{{t("Amazon S3", { ns: "'.concat(M,'" })}}'),name:"s3",fieldset:{title:K.title,name:K.name,baseUrl:K.baseUrl,options:{type:"object","x-component":"fieldset",properties:{region:{title:'{{t("Region", { ns: "'.concat(M,'" })}}'),type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},accessKeyId:{title:'{{t("AccessKey ID", { ns: "'.concat(M,'" })}}'),type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},secretAccessKey:{title:'{{t("AccessKey Secret", { ns: "'.concat(M,'" })}}'),type:"string","x-decorator":"FormItem","x-component":"Password",required:!0},bucket:{title:'{{t("Bucket", { ns: "'.concat(M,'" })}}'),type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},endpoint:{title:'{{t("Endpoint", { ns: "'.concat(M,'" })}}'),type:"string","x-decorator":"FormItem","x-component":"Input"}}},path:K.path,rules:K.rules,default:K.default,paranoid:K.paranoid}},"tx-cos":{title:'{{t("Tencent COS", { ns: "'.concat(M,'" })}}'),name:"tx-cos",fieldset:{title:K.title,name:K.name,baseUrl:K.baseUrl,options:{type:"object","x-component":"fieldset",properties:{Region:{title:'{{t("Region", { ns: "'.concat(M,'" })}}'),type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},SecretId:{title:'{{t("SecretId", { ns: "'.concat(M,'" })}}'),type:"string","x-decorator":"FormItem","x-component":"Input",required:!0},SecretKey:{title:'{{t("SecretKey", { ns: "'.concat(M,'" })}}'),type:"string","x-decorator":"FormItem","x-component":"Password",required:!0},Bucket:{title:'{{t("Bucket", { ns: "'.concat(M,'" })}}'),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:"?imageMogr2/thumbnail/!50p"},description:'{{ renderThumbnailRuleDesc("tx-cos") }}'}}},path:K.path,rules:K.rules,default:K.default,paranoid:K.paranoid},thumbnailRuleLink:"https://cloud.tencent.com/document/product/436/42214"}};function L(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n<t;n++)o[n]=e[n];return o}function N(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function G(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),o.forEach(function(t){N(e,t,n[t])})}return e}function $(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n.push.apply(n,o)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function W(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,o,r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var i=[],a=!0,c=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(e){c=!0,o=e}finally{try{!a&&null!=r.return&&r.return()}finally{if(c)throw o}}return i}}(e,t)||J(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function H(e){return function(e){if(Array.isArray(e))return L(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||J(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function J(e,t){if(e){if("string"==typeof e)return L(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return L(e,t)}}var Q=function(){var e=W((0,g.useState)({}),2),t=e[0],n=e[1],o=(0,b.usePlugin)(eI),r=(0,b.useCompile)(),i=W((0,g.useState)(!1),2),a=i[0],c=i[1],l=(0,_.useTranslation)().t;return x().createElement("div",null,x().createElement(b.ActionContext.Provider,{value:{visible:a,setVisible:c}},x().createElement(k.Dropdown,{menu:{onClick:function(e){var t=o.storageTypes.get(e.key);c(!0),n({type:"object",properties:N({},(0,T.uid)(),{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{initialValue:{type:t.name}},title:r("{{t('Add new')}}")+" - "+r(t.title),properties:$(G({},q().cloneDeep(t.fieldset)),{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:H(o.storageTypes.values()).map(function(e){return{key:e.name,label:r(e.title)}})}},x().createElement(k.Button,{type:"primary",icon:x().createElement(D.PlusOutlined,null)},l("Add new")," ",x().createElement(D.DownOutlined,null))),x().createElement(b.SchemaComponent,{scope:{createOnly:!0},schema:t})))},X=function(){var e=(0,b.useRecord)(),t=W((0,g.useState)({}),2),n=t[0],o=t[1],r=(0,b.usePlugin)(eI),i=(0,b.useCompile)(),a=W((0,g.useState)(!1),2),c=a[0],l=a[1],u=(0,_.useTranslation)().t;return x().createElement("div",null,x().createElement(b.ActionContext.Provider,{value:{visible:c,setVisible:l}},x().createElement("a",{onClick:function(){l(!0);var t=r.storageTypes.get(e.type);t.fieldset.default&&(t.fieldset.default["x-reactions"]=function(e){e.initialValue?e.disabled=!0:e.disabled=!1}),o({type:"object",properties:N({},(0,T.uid)(),{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{initialValue:G({},e)},title:i("{{t('Edit')}}")+" - "+i(t.title),properties:$(G({},q().cloneDeep(t.fieldset)),{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 }}"}}}}})})})}},u("Edit")),x().createElement(b.SchemaComponent,{scope:{createOnly:!1},schema:n})))};function Y(e){var t=V[e];return(null==t?void 0:t.thumbnailRule)?x().createElement("div",null,x().createElement("a",{target:"_blank",href:t.thumbnailRuleLink,rel:"noreferrer"},b.i18n.t("See more"))):null}var Z=function(){var e=(0,b.useCompile)(),t=H((0,b.usePlugin)(eI).storageTypes.values()).map(function(t){return{value:t.name,label:e(t.title)}});return x().createElement(k.Card,{bordered:!1},x().createElement(b.SchemaComponent,{components:{CreateStorage:Q,EditStorage:X},scope:{useNewId:function(e){return"".concat(e).concat((0,T.uid)())},storageTypeOptions:t,renderThumbnailRuleDesc:Y},schema:B}))};function ee(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function et(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function en(e){return(en=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function eo(e,t){return(eo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function er(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(er=function(){return!!e})()}var ei=function(e){var t,n,o;function r(){var e,t,n,o,i,a;return!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,r),t=this,n=r,o=arguments,n=en(n),et(e=function(e,t){return t&&("object"===function(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}(t)||"function"==typeof t)?t:function(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(t,er()?Reflect.construct(n,o||[],en(t).constructor):n.apply(t,o)),"name","attachment"),et(e,"type","object"),et(e,"group","media"),et(e,"title",'{{t("Attachment", { ns: "'.concat(M,'" })}}')),et(e,"isAssociation",!0),et(e,"default",{type:"belongsToMany",target:"attachments",uiSchema:{type:"array","x-component":"Upload.Attachment","x-use-component-props":"useAttachmentFieldProps"}}),et(e,"availableTypes",["belongsToMany"]),et(e,"properties",(i=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),o.forEach(function(t){et(e,t,n[t])})}return e}({},b.interfacesProperties.defaultProps),a=(a={"uiSchema.x-component-props.accept":{type:"string",title:'{{t("MIME type", { ns: "'.concat(M,'" })}}'),"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: \"".concat(M,'" })}}'),"x-decorator":"FormItem","x-component":"Checkbox",default:!0},storage:{type:"string",title:'{{t("Storage", { ns: "'.concat(M,'" })}}'),description:"{{t('Default storage will be used when not selected', { ns: \"".concat(M,'" })}}'),"x-decorator":"FormItem","x-component":"RemoteSelect","x-component-props":{service:{resource:"storages",params:{}},manual:!1,fieldNames:{label:"title",value:"name"}}}},a),Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(a)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n.push.apply(n,o)}return n})(Object(a)).forEach(function(e){Object.defineProperty(i,e,Object.getOwnPropertyDescriptor(a,e))}),i)),et(e,"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: "'.concat(M,'" })}}'),operators:b.interfacesProperties.operators.string,schema:{title:'{{t("Filename", { ns: "'.concat(M,'" })}}'),type:"string","x-component":"Input"}}]}),e}return!function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&eo(e,t)}(r,e),t=r,n=[{key:"schemaInitialize",value:function(e,t){var n=t.block;t.field,!e["x-component-props"]&&(e["x-component-props"]={}),["Table","Kanban"].includes(n)&&(e["x-component-props"].size="small"),e["x-use-component-props"]="useAttachmentFieldProps"}},{key:"initialize",value:function(e){!e.through&&(e.through="t_".concat((0,T.uid)())),!e.foreignKey&&(e.foreignKey="f_".concat((0,T.uid)())),!e.otherKey&&(e.otherKey="f_".concat((0,T.uid)())),!e.sourceKey&&(e.sourceKey="id"),!e.targetKey&&(e.targetKey="id")}}],ee(t.prototype,n),r}(b.CollectionFieldInterface);function ea(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ec(e){return(ec=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function el(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),o.forEach(function(t){ea(e,t,n[t])})}return e}function eu(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n.push.apply(n,o)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function ep(e,t){return(ep=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function es(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(es=function(){return!!e})()}var em=function(e){function t(){var e,n,o,r;return!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,t),n=this,o=t,r=arguments,o=ec(o),ea(e=function(e,t){return t&&("object"===function(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}(t)||"function"==typeof t)?t:function(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(n,es()?Reflect.construct(o,r||[],ec(n).constructor):o.apply(n,r)),"name","file"),ea(e,"title",'{{t("File collection", { ns: "'.concat(M,'" })}}')),ea(e,"order",3),ea(e,"color","blue"),ea(e,"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: "'.concat(M,'" })}}'),"x-component":"Input","x-read-pretty":!0}},{interface:"input",type:"string",name:"extname",deletable:!1,uiSchema:{type:"string",title:'{{t("Extension name", { ns: "'.concat(M,'" })}}'),"x-component":"Input","x-read-pretty":!0}},{interface:"integer",type:"integer",name:"size",deletable:!1,uiSchema:{type:"number",title:'{{t("Size", { ns: "'.concat(M,'" })}}'),"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: "'.concat(M,'" })}}'),"x-component":"Input","x-read-pretty":!0}},{interface:"input",type:"string",name:"path",deletable:!1,uiSchema:{type:"string",title:'{{t("Path", { ns: "'.concat(M,'" })}}'),"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: "'.concat(M,'" })}}'),"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: "'.concat(M,'" })}}'),"x-component":"Input","x-read-pretty":!0}},{type:"jsonb",name:"meta",deletable:!1,defaultValue:{}}]}),ea(e,"presetFieldsDisabled",!0),ea(e,"configurableProperties",el(eu(el(eu(el({},(0,b.getConfigurableProperties)("title","name")),{inherits:eu(el({},(0,b.getConfigurableProperties)("inherits").inherits),{"x-reactions":["{{useAsyncDataSource(loadCollections)}}"]})}),(0,b.getConfigurableProperties)("category","description")),{storage:{type:"string",name:"storage",title:'{{t("File storage", { ns: "'.concat(M,'" })}}'),"x-decorator":"FormItem","x-component":"RemoteSelect","x-component-props":{service:{resource:"storages",params:{}},manual:!1,fieldNames:{label:"title",value:"name"}}}}),(0,b.getConfigurableProperties)("presetFields"))),e}return!function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ep(e,t)}(t,e),t}(b.CollectionTemplate),ef=[{value:1,label:"Byte"},{value:1024,label:"KB"},{value:1048576,label:"MB"},{value:0x40000000,label:"GB"}];function ed(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1048576,n=e||t,o=ef.length-1;o>=0;o--){var r=ef[o];if(n%r.value==0)return r}return ef[0]}function ey(e,t,n){return Math.min(Math.max(t,e),n)}function eb(e){var t,n=e.value,o=e.defaultUnit,r=void 0===o?1048576:o,i=e.min,a=void 0===i?1:i,c=e.max,l=void 0===c?0x40000000:c,u=e.step,p=e.onChange,s=null!==(t=e.defaultValue)&&void 0!==t?t:0x1400000,m=ed(s,r),f=s/m.value,d=ed(null!=n?n:s,r),y=null==n?n:n/d.value,b=(0,g.useCallback)(function(e){null==p||p(ey(null==e?e:e*d.value,a,l))},[d.value]),h=(0,g.useCallback)(function(e){null==p||p(ey(y*e,a,l))},[y]);return x().createElement(k.Space.Compact,null,x().createElement(k.InputNumber,{value:y,onChange:b,defaultValue:"".concat(f),step:void 0===u?1:u}),x().createElement(k.Select,{options:ef,value:d.value,onChange:h,className:"auto-width"}))}function eg(e,t,n,o,r,i,a){try{var c=e[i](a),l=c.value}catch(e){n(e);return}c.done?t(l):Promise.resolve(l).then(o,r)}function ex(e,t,n){return(ex=ew()?Reflect.construct:function(e,t,n){var o=[null];o.push.apply(o,t);var r=new(Function.bind.apply(e,o));return n&&eS(r,n.prototype),r}).apply(null,arguments)}function eh(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function ev(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function eO(e){return(eO=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function eS(e,t){return(eS=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ej(e){var t="function"==typeof Map?new Map:void 0;return(ej=function(e){var n;if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,o)}function o(){return ex(e,arguments,eO(this).constructor)}return o.prototype=Object.create(e.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),eS(o,e)})(e)}function ew(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ew=function(){return!!e})()}var eP=function(e){var t,n,o;function r(){var e,t,n,o;return!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,r),t=this,n=r,o=arguments,n=eO(n),ev(e=function(e,t){return t&&("object"===function(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}(t)||"function"==typeof t)?t:function(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(t,ew()?Reflect.construct(n,o||[],eO(t).constructor):n.apply(t,o)),"storageTypes",new Map),e}return!function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&eS(e,t)}(r,e),t=r,n=[{key:"load",value:function(){var e,t=this;return(e=function(){var e;return function(e,t){var n,o,r,i,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(i){return function(c){return function(i){if(n)throw TypeError("Generator is already executing.");for(;a;)try{if(n=1,o&&(r=2&i[0]?o.return:i[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,i[1])).done)return r;switch(o=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,o=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(r=(r=a.trys).length>0&&r[r.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]<r[3])){a.label=i[1];break}if(6===i[0]&&a.label<r[1]){a.label=r[1],r=i;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(i);break}r[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],o=0}finally{n=r=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,c])}}}(this,function(n){return t.app.dataSourceManager.addFieldInterfaces([ei]),t.app.dataSourceManager.addCollectionTemplates([em]),t.app.use(E),t.app.pluginSettingsManager.add(M,{title:'{{t("File manager", { ns: "'.concat(M,'" })}}'),icon:"FileOutlined",Component:Z,aclSnippet:"pm.file-manager.storages"}),Object.values(V).forEach(function(e){t.registerStorageType(e.name,e)}),null==(e=t.app.schemaInitializerManager.get("table:configureActions"))||e.add("enableActions.upload",{title:"{{t('Upload')}}",Component:"UploadActionInitializer",schema:{"x-align":"right","x-decorator":"ACLActionProvider","x-acl-action-props":{skipScopeCheck:!0}},useVisible:function(){return"file"===(0,b.useCollection)().template}}),t.app.addScopes({useAttachmentFieldProps:C,useFileCollectionStorageRules:A}),t.app.addComponents({FileSizeField:eb}),[2]})},function(){var t=this,n=arguments;return new Promise(function(o,r){var i=e.apply(t,n);function a(e){eg(i,o,r,a,c,"next",e)}function c(e){eg(i,o,r,a,c,"throw",e)}a(void 0)})})()}},{key:"registerStorageType",value:function(e,t){this.storageTypes.set(e,t)}},{key:"getStorageType",value:function(e){return this.storageTypes.get(e)}}],eh(t.prototype,n),r}(ej(b.Plugin));ev(eP,"buildInStorage",["local","ali-oss","s3","tx-cos"]);var eI=eP;return d}()});
@@ -122,13 +122,13 @@ export declare class FileCollectionTemplate extends CollectionTemplate {
122
122
  createdAt: any;
123
123
  updatedAt: any;
124
124
  title: any;
125
- inherits: any;
126
- sortable: any;
127
- autoGenId: any;
128
125
  description: any;
126
+ inherits: any;
129
127
  category: any;
128
+ autoGenId: any;
130
129
  createdBy: any;
131
130
  updatedBy: any;
131
+ sortable: any;
132
132
  simplePaginate: any;
133
133
  presetFields: any;
134
134
  storage: {
@@ -8,7 +8,7 @@
8
8
  */
9
9
 
10
10
  module.exports = {
11
- "@nocobase/client": "1.5.0-beta.9",
11
+ "@nocobase/client": "1.5.1",
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.5.0-beta.9",
22
- "@nocobase/server": "1.5.0-beta.9",
23
- "@nocobase/utils": "1.5.0-beta.9",
24
- "@nocobase/test": "1.5.0-beta.9",
25
- "@nocobase/actions": "1.5.0-beta.9",
26
- "multer": "1.4.4"
21
+ "@nocobase/database": "1.5.1",
22
+ "multer": "1.4.4",
23
+ "@nocobase/server": "1.5.1",
24
+ "@nocobase/utils": "1.5.1",
25
+ "@nocobase/test": "1.5.1",
26
+ "@nocobase/actions": "1.5.1"
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-12-15T11:57:11.842Z"}
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":"2025-02-06T03:46:05.619Z"}
@@ -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-12-15T11:57:01.894Z"}
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":"2025-02-06T03:45:55.824Z"}
@@ -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-12-15T11:57:07.177Z"}
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":"2025-02-06T03:46:01.030Z"}
@@ -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-12-15T11:57:07.085Z"}
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":"2025-02-06T03:46:00.936Z"}
@@ -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-12-15T11:57:20.436Z"}
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":"2025-02-06T03:46:14.046Z"}
@@ -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-12-15T11:57:16.480Z"}
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":"2025-02-06T03:46:10.226Z"}
@@ -9,4 +9,3 @@
9
9
  import { Context, Next } from '@nocobase/actions';
10
10
  export declare function getFileData(ctx: Context): any;
11
11
  export declare function createMiddleware(ctx: Context, next: Next): Promise<any>;
12
- export declare function destroyMiddleware(ctx: Context, next: Next): Promise<any>;
@@ -37,7 +37,6 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
37
37
  var attachments_exports = {};
38
38
  __export(attachments_exports, {
39
39
  createMiddleware: () => createMiddleware,
40
- destroyMiddleware: () => destroyMiddleware,
41
40
  getFileData: () => getFileData
42
41
  });
43
42
  module.exports = __toCommonJS(attachments_exports);
@@ -134,66 +133,14 @@ async function createMiddleware(ctx, next) {
134
133
  const StorageRepo = ctx.db.getRepository("storages");
135
134
  const storage = await StorageRepo.findOne({ filter: storageName ? { name: storageName } : { default: true } });
136
135
  ctx.storage = storage;
137
- await multipart(ctx, next);
138
- }
139
- async function destroyMiddleware(ctx, next) {
140
- var _a;
141
- const { resourceName, actionName, sourceId } = ctx.action;
142
- const collection = ctx.db.getCollection(resourceName);
143
- if (((_a = collection == null ? void 0 : collection.options) == null ? void 0 : _a.template) !== "file" || actionName !== "destroy") {
144
- return next();
136
+ if (ctx == null ? void 0 : ctx.request.is("multipart/*")) {
137
+ await multipart(ctx, next);
138
+ } else {
139
+ await next();
145
140
  }
146
- const repository = ctx.db.getRepository(resourceName, sourceId);
147
- const { filterByTk, filter } = ctx.action.params;
148
- const records = await repository.find({
149
- filterByTk,
150
- filter,
151
- context: ctx
152
- });
153
- const storageIds = new Set(records.map((record) => record.storageId));
154
- const storageGroupedRecords = records.reduce((result, record) => {
155
- const storageId = record.storageId;
156
- if (!result[storageId]) {
157
- result[storageId] = [];
158
- }
159
- result[storageId].push(record);
160
- return result;
161
- }, {});
162
- const storages = await ctx.db.getRepository("storages").find({
163
- filter: {
164
- id: [...storageIds],
165
- paranoid: {
166
- $ne: true
167
- }
168
- }
169
- });
170
- let count = 0;
171
- const undeleted = [];
172
- await storages.reduce(
173
- (promise, storage) => promise.then(async () => {
174
- const storageConfig = ctx.app.pm.get(import__.default).storageTypes.get(storage.type);
175
- const result = await storageConfig.delete(storage, storageGroupedRecords[storage.id]);
176
- count += result[0];
177
- undeleted.push(...result[1]);
178
- }),
179
- Promise.resolve()
180
- );
181
- if (undeleted.length) {
182
- const ids = undeleted.map((record) => record.id);
183
- ctx.action.mergeParams({
184
- filter: {
185
- id: {
186
- $notIn: ids
187
- }
188
- }
189
- });
190
- ctx.logger.error("[file-manager] some of attachment files are not successfully deleted: ", { ids });
191
- }
192
- await next();
193
141
  }
194
142
  // Annotate the CommonJS export names for ESM import in node:
195
143
  0 && (module.exports = {
196
144
  createMiddleware,
197
- destroyMiddleware,
198
145
  getFileData
199
146
  });
@@ -49,5 +49,4 @@ function actions_default({ app }) {
49
49
  });
50
50
  app.resourcer.use(import_attachments.createMiddleware, { tag: "createMiddleware", after: "auth" });
51
51
  app.resourcer.registerActionHandler("upload", import_actions.default.create);
52
- app.resourcer.use(import_attachments.destroyMiddleware);
53
52
  }
@@ -1 +1,9 @@
1
- export declare function getRules(context: any, next: any): Promise<any>;
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ export declare function getBasicInfo(context: any, next: any): Promise<any>;
@@ -36,11 +36,11 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
36
36
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
37
37
  var storages_exports = {};
38
38
  __export(storages_exports, {
39
- getRules: () => getRules
39
+ getBasicInfo: () => getBasicInfo
40
40
  });
41
41
  module.exports = __toCommonJS(storages_exports);
42
42
  var import__ = __toESM(require(".."));
43
- async function getRules(context, next) {
43
+ async function getBasicInfo(context, next) {
44
44
  const { storagesCache } = context.app.pm.get(import__.default);
45
45
  let result;
46
46
  const { filterByTk } = context.action.params;
@@ -53,10 +53,16 @@ async function getRules(context, next) {
53
53
  if (!result) {
54
54
  return context.throw(404);
55
55
  }
56
- context.body = result.rules;
56
+ context.body = {
57
+ id: result.id,
58
+ title: result.title,
59
+ name: result.name,
60
+ type: result.type,
61
+ rules: result.rules
62
+ };
57
63
  next();
58
64
  }
59
65
  // Annotate the CommonJS export names for ESM import in node:
60
66
  0 && (module.exports = {
61
- getRules
67
+ getBasicInfo
62
68
  });
@@ -6,5 +6,8 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
+ import { StorageEngine } from 'multer';
9
10
  export * from '../constants';
10
- export { default } from './server';
11
+ export { AttachmentModel, default, IStorage, PluginFileManagerServer, StorageModel } from './server';
12
+ export { StorageType } from './storages';
13
+ export { StorageEngine };
@@ -37,12 +37,26 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
37
37
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
38
38
  var server_exports = {};
39
39
  __export(server_exports, {
40
+ AttachmentModel: () => import_server.AttachmentModel,
41
+ IStorage: () => import_server.IStorage,
42
+ PluginFileManagerServer: () => import_server.PluginFileManagerServer,
43
+ StorageEngine: () => import_multer.StorageEngine,
44
+ StorageModel: () => import_server.StorageModel,
45
+ StorageType: () => import_storages.StorageType,
40
46
  default: () => import_server.default
41
47
  });
42
48
  module.exports = __toCommonJS(server_exports);
49
+ var import_multer = require("multer");
43
50
  __reExport(server_exports, require("../constants"), module.exports);
44
51
  var import_server = __toESM(require("./server"));
52
+ var import_storages = require("./storages");
45
53
  // Annotate the CommonJS export names for ESM import in node:
46
54
  0 && (module.exports = {
55
+ AttachmentModel,
56
+ IStorage,
57
+ PluginFileManagerServer,
58
+ StorageEngine,
59
+ StorageModel,
60
+ StorageType,
47
61
  ...require("../constants")
48
62
  });
@@ -8,7 +8,7 @@
8
8
  */
9
9
  import { Plugin } from '@nocobase/server';
10
10
  import { Registry } from '@nocobase/utils';
11
- import { Transactionable } from '@nocobase/database';
11
+ import { Model, Transactionable } from '@nocobase/database';
12
12
  import { IStorage, StorageModel } from './storages';
13
13
  export type * from './storages';
14
14
  export type FileRecordOptions = {
@@ -22,9 +22,11 @@ export type UploadFileOptions = {
22
22
  storageName?: string;
23
23
  documentRoot?: string;
24
24
  };
25
- export default class PluginFileManagerServer extends Plugin {
25
+ export declare class PluginFileManagerServer extends Plugin {
26
26
  storageTypes: Registry<IStorage>;
27
27
  storagesCache: Map<number, StorageModel>;
28
+ afterDestroy: (record: Model, options: any) => Promise<void>;
29
+ registerStorageType(type: string, options: IStorage): void;
28
30
  createFileRecord(options: FileRecordOptions): Promise<any>;
29
31
  uploadFile(options: UploadFileOptions): Promise<any>;
30
32
  loadStorages(options?: {
@@ -35,3 +37,4 @@ export default class PluginFileManagerServer extends Plugin {
35
37
  beforeLoad(): Promise<void>;
36
38
  load(): Promise<void>;
37
39
  }
40
+ export default PluginFileManagerServer;
@@ -36,7 +36,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
36
36
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
37
37
  var server_exports = {};
38
38
  __export(server_exports, {
39
- default: () => PluginFileManagerServer
39
+ PluginFileManagerServer: () => PluginFileManagerServer,
40
+ default: () => server_default
40
41
  });
41
42
  module.exports = __toCommonJS(server_exports);
42
43
  var import_server = require("@nocobase/server");
@@ -53,9 +54,36 @@ var import_local = __toESM(require("./storages/local"));
53
54
  var import_s3 = __toESM(require("./storages/s3"));
54
55
  var import_tx_cos = __toESM(require("./storages/tx-cos"));
55
56
  const DEFAULT_STORAGE_TYPE = import_constants.STORAGE_TYPE_LOCAL;
57
+ class FileDeleteError extends Error {
58
+ data;
59
+ constructor(message, data) {
60
+ super(message);
61
+ this.name = "FileDeleteError";
62
+ this.data = data;
63
+ }
64
+ }
56
65
  class PluginFileManagerServer extends import_server.Plugin {
57
66
  storageTypes = new import_utils.Registry();
58
67
  storagesCache = /* @__PURE__ */ new Map();
68
+ afterDestroy = async (record, options) => {
69
+ var _a;
70
+ const { collection } = record.constructor;
71
+ if (((_a = collection == null ? void 0 : collection.options) == null ? void 0 : _a.template) !== "file" && collection.name !== "attachments") {
72
+ return;
73
+ }
74
+ const storage = this.storagesCache.get(record.get("storageId"));
75
+ if (storage == null ? void 0 : storage.paranoid) {
76
+ return;
77
+ }
78
+ const storageConfig = this.storageTypes.get(storage.type);
79
+ const result = await storageConfig.delete(storage, [record]);
80
+ if (!result[0]) {
81
+ throw new FileDeleteError("Failed to delete file", record);
82
+ }
83
+ };
84
+ registerStorageType(type, options) {
85
+ this.storageTypes.register(type, options);
86
+ }
59
87
  async createFileRecord(options) {
60
88
  const { values, storageName, collectionName, filePath, transaction } = options;
61
89
  const collection = this.db.getCollection(collectionName);
@@ -170,6 +198,7 @@ class PluginFileManagerServer extends import_server.Plugin {
170
198
  });
171
199
  }
172
200
  async load() {
201
+ this.db.on("afterDestroy", this.afterDestroy);
173
202
  this.storageTypes.register(import_constants.STORAGE_TYPE_LOCAL, new import_local.default());
174
203
  this.storageTypes.register(import_constants.STORAGE_TYPE_ALI_OSS, new import_ali_oss.default());
175
204
  this.storageTypes.register(import_constants.STORAGE_TYPE_S3, new import_s3.default());
@@ -210,9 +239,9 @@ class PluginFileManagerServer extends import_server.Plugin {
210
239
  }
211
240
  });
212
241
  (0, import_actions.default)(this);
213
- this.app.acl.allow("attachments", "upload", "loggedIn");
214
- this.app.acl.allow("attachments", "create", "loggedIn");
215
- this.app.acl.allow("storages", "getRules", "loggedIn");
242
+ this.app.acl.allow("attachments", ["upload", "create"], "loggedIn");
243
+ this.app.acl.allow("storages", "getBasicInfo", "loggedIn");
244
+ this.app.acl.appendStrategyResource("attachments");
216
245
  const defaultStorageName = this.storageTypes.get(DEFAULT_STORAGE_TYPE).defaults().name;
217
246
  this.app.acl.addFixedParams("storages", "destroy", () => {
218
247
  return {
@@ -232,3 +261,8 @@ class PluginFileManagerServer extends import_server.Plugin {
232
261
  this.app.db.interfaceManager.registerInterfaceType("attachment", import_attachment_interface.AttachmentInterface);
233
262
  }
234
263
  }
264
+ var server_default = PluginFileManagerServer;
265
+ // Annotate the CommonJS export names for ESM import in node:
266
+ 0 && (module.exports = {
267
+ PluginFileManagerServer
268
+ });
@@ -6,8 +6,8 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
- import { StorageEngine } from 'multer';
10
9
  import Application from '@nocobase/server';
10
+ import { StorageEngine } from 'multer';
11
11
  export interface StorageModel {
12
12
  id?: number;
13
13
  title: string;
@@ -39,6 +39,6 @@ export interface IStorage {
39
39
  }
40
40
  export declare abstract class StorageType implements IStorage {
41
41
  abstract make(storage: StorageModel): StorageEngine;
42
- abstract defaults(): StorageModel;
43
42
  abstract delete(storage: StorageModel, records: AttachmentModel[]): Promise<[number, AttachmentModel[]]>;
43
+ defaults(): StorageModel;
44
44
  }
@@ -30,6 +30,9 @@ __export(storages_exports, {
30
30
  });
31
31
  module.exports = __toCommonJS(storages_exports);
32
32
  class StorageType {
33
+ defaults() {
34
+ return {};
35
+ }
33
36
  }
34
37
  // Annotate the CommonJS export names for ESM import in node:
35
38
  0 && (module.exports = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/plugin-file-manager",
3
- "version": "1.5.0-beta.9",
3
+ "version": "1.5.1",
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": "fef0bcb5f95705cd83607f03a6c911550016281b"
46
+ "gitHead": "b16a0ff226482d0de847656ea26fd621b1d685cf"
47
47
  }