diff --git a/products/ASC.Files/Client/src/components/pages/Home/Section/Body/FilesRowContent.js b/products/ASC.Files/Client/src/components/pages/Home/Section/Body/FilesRowContent.js
index 386cfd0543..5987b358f1 100644
--- a/products/ASC.Files/Client/src/components/pages/Home/Section/Body/FilesRowContent.js
+++ b/products/ASC.Files/Client/src/components/pages/Home/Section/Body/FilesRowContent.js
@@ -184,22 +184,23 @@ class FilesRowContent extends React.PureComponent {
.finally(() => setIsLoading(false))
: createFile(item.parentId, `${itemTitle}.${item.fileExst}`)
.then((file) => {
+ //debugger;
if (isPrivacy) {
- setEncryptionAccess(file, (encryptedFile) => {
- if (encryptedFile) {
- replaceFileStream(
- file.id,
- itemTitle,
- encryptedFile,
- true,
- false
- );
- }
+ return setEncryptionAccess(file).then((encryptedFile) => {
+ //debugger;
+ if (!encryptedFile) return Promise.resolve();
+ return replaceFileStream(
+ file.id,
+ encryptedFile,
+ true,
+ false
+ ).then(() => toastr.info(`File ${itemTitle} created`));
});
}
- //openDocEditor(file.id, tab, file.webUrl);
+ return openDocEditor(file.id, tab, file.webUrl);
})
.then(() => this.completeAction(itemId))
+ .catch((err) => toastr.error(err))
.finally(() => setIsLoading(false));
};
diff --git a/products/ASC.Files/Client/src/helpers/desktop.js b/products/ASC.Files/Client/src/helpers/desktop.js
index 131071ea97..f58909e3f3 100644
--- a/products/ASC.Files/Client/src/helpers/desktop.js
+++ b/products/ASC.Files/Client/src/helpers/desktop.js
@@ -29,50 +29,33 @@ export function encryptionUploadDialog(callback) {
});
}
-export function setEncryptionAccess(file, callback) {
- getEncryptionAccess(file.id).then((keys) => {
- console.log(
- "%c%s",
- "color: green; font: 1.1em/1 bold;",
- "Fetch keys: ",
- keys
- );
- window.AscDesktopEditor.cloudCryptoCommand(
- "share",
- {
- "cryptoEngineId": guid,
- "file": [file.viewUrl],
- "keys": [
- {
- "publicKey":
- "-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApEKtEiSlig1Ue3JF6ajv
tlWXEDdd/zcBmKUpkVtgi3gvCbGFB2VnUZRgOBWLQ8Bx+VU5beFlg0+/jUNSIzs1
MwjGFa17CV8CxaZmtwTZjDwkfozWopttwxHfRIaOV8t2ZFB2V2qoGBCC4vxeF2/t
MkNOgAnhVjH8Pq3uy5oOwzlZgU5u93ly12Jpa/bl2xGiXAqJpPH8s7ceSWBe/0Ky
iDRz1DtRMs2elWQ6ag+tZwBk3Ee+j+ffK62d2n/B6ksY9oZ/joyzaHzjgeKI4+3E
xW0Wh4zt/EEuypc6ySVd6+3WafRRqvQm+tXpolX6NL9oeCsyj0YrQGVcg6qm7BXn«QIDAQAB
-----END PUBLIC KEY-----
",
- "userId": "66faa6e4-f133-11ea-b126-00ffeec8b4ef",
- },
- ],
- },
- (obj) => {
- console.log(
- "%c%s",
- "color: green; font: 1.1em/1 bold;",
- "obj item: ",
- obj
- );
- let fileItem = null;
- if (obj.isCrypto !== false) {
- let bytes = obj.bytes;
- let filename = file.title;
- fileItem = new File([bytes], filename);
+export function setEncryptionAccess(file) {
+ return getEncryptionAccess(file.id).then((keys) => {
+ let promise = new Promise((resolve, reject) => {
+ window.AscDesktopEditor.cloudCryptoCommand(
+ "share",
+ {
+ "cryptoEngineId": guid,
+ "file": [file.viewUrl],
+ "keys": [
+ {
+ "publicKey":
+ "-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApEKtEiSlig1Ue3JF6ajv
tlWXEDdd/zcBmKUpkVtgi3gvCbGFB2VnUZRgOBWLQ8Bx+VU5beFlg0+/jUNSIzs1
MwjGFa17CV8CxaZmtwTZjDwkfozWopttwxHfRIaOV8t2ZFB2V2qoGBCC4vxeF2/t
MkNOgAnhVjH8Pq3uy5oOwzlZgU5u93ly12Jpa/bl2xGiXAqJpPH8s7ceSWBe/0Ky
iDRz1DtRMs2elWQ6ag+tZwBk3Ee+j+ffK62d2n/B6ksY9oZ/joyzaHzjgeKI4+3E
xW0Wh4zt/EEuypc6ySVd6+3WafRRqvQm+tXpolX6NL9oeCsyj0YrQGVcg6qm7BXn«QIDAQAB
-----END PUBLIC KEY-----
",
+ "userId": "66faa6e4-f133-11ea-b126-00ffeec8b4ef",
+ },
+ ],
+ },
+ (obj) => {
+ let bytes = [];
+ if (obj.isCrypto) {
+ bytes = obj.bytes;
+ }
+ resolve(bytes);
+ reject((e) => console.log("error: ", e));
}
- console.log(
- "%c%s",
- "color: green; font: 1.1em/1 bold;",
- "File item: ",
- fileItem
- );
- if (typeof callback == "function") {
- callback(fileItem);
- }
- }
- );
+ );
+ });
+ return promise;
});
+ // .catch((e) => console.log(e));
}
diff --git a/products/ASC.Files/Client/yarn.lock b/products/ASC.Files/Client/yarn.lock
index cda7399c67..2635c2a1f8 100644
--- a/products/ASC.Files/Client/yarn.lock
+++ b/products/ASC.Files/Client/yarn.lock
@@ -24,10 +24,10 @@
dependencies:
"@babel/highlight" "^7.10.4"
-"@babel/compat-data@^7.12.1", "@babel/compat-data@^7.12.5", "@babel/compat-data@^7.9.0":
- version "7.12.5"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.5.tgz#f56db0c4bb1bbbf221b4e81345aab4141e7cb0e9"
- integrity sha512-DTsS7cxrsH3by8nqQSpFSyjSfSYl57D6Cf4q8dW3LK83tBKBDCkfcay1nYkXq1nIHXnpX8WMMb/O25HOy3h1zg==
+"@babel/compat-data@^7.12.5", "@babel/compat-data@^7.12.7", "@babel/compat-data@^7.9.0":
+ version "7.12.7"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.7.tgz#9329b4782a7d6bbd7eef57e11addf91ee3ef1e41"
+ integrity sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==
"@babel/core@7.9.0":
version "7.9.0"
@@ -52,18 +52,18 @@
source-map "^0.5.0"
"@babel/core@^7.1.0", "@babel/core@^7.4.5", "@babel/core@^7.8.4":
- version "7.12.3"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.3.tgz#1b436884e1e3bff6fb1328dc02b208759de92ad8"
- integrity sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==
+ version "7.12.9"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.9.tgz#fd450c4ec10cdbb980e2928b7aa7a28484593fc8"
+ integrity sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==
dependencies:
"@babel/code-frame" "^7.10.4"
- "@babel/generator" "^7.12.1"
+ "@babel/generator" "^7.12.5"
"@babel/helper-module-transforms" "^7.12.1"
- "@babel/helpers" "^7.12.1"
- "@babel/parser" "^7.12.3"
- "@babel/template" "^7.10.4"
- "@babel/traverse" "^7.12.1"
- "@babel/types" "^7.12.1"
+ "@babel/helpers" "^7.12.5"
+ "@babel/parser" "^7.12.7"
+ "@babel/template" "^7.12.7"
+ "@babel/traverse" "^7.12.9"
+ "@babel/types" "^7.12.7"
convert-source-map "^1.7.0"
debug "^4.1.0"
gensync "^1.0.0-beta.1"
@@ -73,7 +73,7 @@
semver "^5.4.1"
source-map "^0.5.0"
-"@babel/generator@^7.12.1", "@babel/generator@^7.12.5", "@babel/generator@^7.4.0", "@babel/generator@^7.9.0":
+"@babel/generator@^7.12.5", "@babel/generator@^7.4.0", "@babel/generator@^7.9.0":
version "7.12.5"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.5.tgz#a2c50de5c8b6d708ab95be5e6053936c1884a4de"
integrity sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==
@@ -97,7 +97,7 @@
"@babel/helper-explode-assignable-expression" "^7.10.4"
"@babel/types" "^7.10.4"
-"@babel/helper-builder-react-jsx-experimental@^7.12.1":
+"@babel/helper-builder-react-jsx-experimental@^7.12.4":
version "7.12.4"
resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.12.4.tgz#55fc1ead5242caa0ca2875dcb8eed6d311e50f48"
integrity sha512-AjEa0jrQqNk7eDQOo0pTfUOwQBMF+xVqrausQwT9/rTKy0g04ggFNaJpaE09IQMn9yExluigWMJcj0WC7bq+Og==
@@ -114,7 +114,7 @@
"@babel/helper-annotate-as-pure" "^7.10.4"
"@babel/types" "^7.10.4"
-"@babel/helper-compilation-targets@^7.12.1", "@babel/helper-compilation-targets@^7.8.7":
+"@babel/helper-compilation-targets@^7.12.5", "@babel/helper-compilation-targets@^7.8.7":
version "7.12.5"
resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz#cb470c76198db6a24e9dbc8987275631e5d29831"
integrity sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==
@@ -136,12 +136,11 @@
"@babel/helper-split-export-declaration" "^7.10.4"
"@babel/helper-create-regexp-features-plugin@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.1.tgz#18b1302d4677f9dc4740fe8c9ed96680e29d37e8"
- integrity sha512-rsZ4LGvFTZnzdNZR5HZdmJVuXK8834R5QkF3WvcnBhrlVtF0HSIUC6zbreL9MgjTywhKokn8RIYRiq99+DLAxA==
+ version "7.12.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz#2084172e95443fa0a09214ba1bb328f9aea1278f"
+ integrity sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==
dependencies:
"@babel/helper-annotate-as-pure" "^7.10.4"
- "@babel/helper-regex" "^7.10.4"
regexpu-core "^4.7.1"
"@babel/helper-define-map@^7.10.4":
@@ -184,13 +183,13 @@
"@babel/types" "^7.10.4"
"@babel/helper-member-expression-to-functions@^7.12.1":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz#fba0f2fcff3fba00e6ecb664bb5e6e26e2d6165c"
- integrity sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==
+ version "7.12.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz#aa77bd0396ec8114e5e30787efa78599d874a855"
+ integrity sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==
dependencies:
- "@babel/types" "^7.12.1"
+ "@babel/types" "^7.12.7"
-"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.1", "@babel/helper-module-imports@^7.8.3":
+"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.1", "@babel/helper-module-imports@^7.12.5", "@babel/helper-module-imports@^7.8.3":
version "7.12.5"
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz#1bfc0229f794988f76ed0a4d4e90860850b54dfb"
integrity sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==
@@ -213,24 +212,17 @@
lodash "^4.17.19"
"@babel/helper-optimise-call-expression@^7.10.4":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673"
- integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==
+ version "7.12.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.7.tgz#7f94ae5e08721a49467346aa04fd22f750033b9c"
+ integrity sha512-I5xc9oSJ2h59OwyUqjv95HRyzxj53DAubUERgQMrpcCEYQyToeHA+NEcUEsVWB4j53RDeskeBJ0SgRAYHDBckw==
dependencies:
- "@babel/types" "^7.10.4"
+ "@babel/types" "^7.12.7"
"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375"
integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==
-"@babel/helper-regex@^7.10.4":
- version "7.10.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.5.tgz#32dfbb79899073c415557053a19bd055aae50ae0"
- integrity sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg==
- dependencies:
- lodash "^4.17.19"
-
"@babel/helper-remap-async-to-generator@^7.12.1":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz#8c4dbbf916314f6047dc05e6a2217074238347fd"
@@ -291,7 +283,7 @@
"@babel/traverse" "^7.10.4"
"@babel/types" "^7.10.4"
-"@babel/helpers@^7.12.1", "@babel/helpers@^7.9.0":
+"@babel/helpers@^7.12.5", "@babel/helpers@^7.9.0":
version "7.12.5"
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.5.tgz#1a1ba4a768d9b58310eda516c449913fe647116e"
integrity sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==
@@ -309,10 +301,10 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
-"@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.12.3", "@babel/parser@^7.12.5", "@babel/parser@^7.4.3", "@babel/parser@^7.7.0", "@babel/parser@^7.9.0":
- version "7.12.5"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.5.tgz#b4af32ddd473c0bfa643bd7ff0728b8e71b81ea0"
- integrity sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ==
+"@babel/parser@^7.1.0", "@babel/parser@^7.12.7", "@babel/parser@^7.4.3", "@babel/parser@^7.7.0", "@babel/parser@^7.9.0":
+ version "7.12.7"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.7.tgz#fee7b39fe809d0e73e5b25eecaf5780ef3d73056"
+ integrity sha512-oWR02Ubp4xTLCAqPRiNIuMVgNO5Aif/xpXtabhzW2HWUD47XJsAB4Zd/Rg30+XeQA3juXigV7hlquOTmwqLiwg==
"@babel/plugin-proposal-async-generator-functions@^7.12.1", "@babel/plugin-proposal-async-generator-functions@^7.8.3":
version "7.12.1"
@@ -404,10 +396,10 @@
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-syntax-numeric-separator" "^7.8.3"
-"@babel/plugin-proposal-numeric-separator@^7.12.1", "@babel/plugin-proposal-numeric-separator@^7.8.3":
- version "7.12.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.5.tgz#b1ce757156d40ed79d59d467cb2b154a5c4149ba"
- integrity sha512-UiAnkKuOrCyjZ3sYNHlRlfuZJbBHknMQ9VMwVeX97Ofwx7RpD6gS2HfqTCh8KNUQgcOm8IKt103oR4KIjh7Q8g==
+"@babel/plugin-proposal-numeric-separator@^7.12.7", "@babel/plugin-proposal-numeric-separator@^7.8.3":
+ version "7.12.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz#8bf253de8139099fea193b297d23a9d406ef056b"
+ integrity sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-numeric-separator" "^7.10.4"
@@ -437,10 +429,10 @@
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-syntax-optional-chaining" "^7.8.0"
-"@babel/plugin-proposal-optional-chaining@^7.12.1", "@babel/plugin-proposal-optional-chaining@^7.9.0":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz#cce122203fc8a32794296fc377c6dedaf4363797"
- integrity sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw==
+"@babel/plugin-proposal-optional-chaining@^7.12.7", "@babel/plugin-proposal-optional-chaining@^7.9.0":
+ version "7.12.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz#e02f0ea1b5dc59d401ec16fb824679f683d3303c"
+ integrity sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/helper-skip-transparent-expression-wrappers" "^7.12.1"
@@ -787,12 +779,12 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-react-jsx-development@^7.12.5", "@babel/plugin-transform-react-jsx-development@^7.9.0":
- version "7.12.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.5.tgz#677de5b96da310430d6cfb7fee16a1603afa3d56"
- integrity sha512-1JJusg3iPgsZDthyWiCr3KQiGs31ikU/mSf2N2dSYEAO0GEImmVUbWf0VoSDGDFTAn5Dj4DUiR6SdIXHY7tELA==
+"@babel/plugin-transform-react-jsx-development@^7.12.7", "@babel/plugin-transform-react-jsx-development@^7.9.0":
+ version "7.12.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.7.tgz#4c2a647de79c7e2b16bfe4540677ba3121e82a08"
+ integrity sha512-Rs3ETtMtR3VLXFeYRChle5SsP/P9Jp/6dsewBQfokDSzKJThlsuFcnzLTDRALiUmTC48ej19YD9uN1mupEeEDg==
dependencies:
- "@babel/helper-builder-react-jsx-experimental" "^7.12.1"
+ "@babel/helper-builder-react-jsx-experimental" "^7.12.4"
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-jsx" "^7.12.1"
@@ -810,13 +802,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-react-jsx@^7.12.5", "@babel/plugin-transform-react-jsx@^7.9.1":
- version "7.12.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.5.tgz#39ede0e30159770561b6963be143e40af3bde00c"
- integrity sha512-2xkcPqqrYiOQgSlM/iwto1paPijjsDbUynN13tI6bosDz/jOW3CRzYguIE8wKX32h+msbBM22Dv5fwrFkUOZjQ==
+"@babel/plugin-transform-react-jsx@^7.12.7", "@babel/plugin-transform-react-jsx@^7.9.1":
+ version "7.12.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.7.tgz#8b14d45f6eccd41b7f924bcb65c021e9f0a06f7f"
+ integrity sha512-YFlTi6MEsclFAPIDNZYiCRbneg1MFGao9pPG9uD5htwE0vDbPaMUMeYd6itWjw7K4kro4UbdQf3ljmFl9y48dQ==
dependencies:
"@babel/helper-builder-react-jsx" "^7.10.4"
- "@babel/helper-builder-react-jsx-experimental" "^7.12.1"
+ "@babel/helper-builder-react-jsx-experimental" "^7.12.4"
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-jsx" "^7.12.1"
@@ -867,13 +859,12 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/helper-skip-transparent-expression-wrappers" "^7.12.1"
-"@babel/plugin-transform-sticky-regex@^7.12.1", "@babel/plugin-transform-sticky-regex@^7.8.3":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.1.tgz#5c24cf50de396d30e99afc8d1c700e8bce0f5caf"
- integrity sha512-CiUgKQ3AGVk7kveIaPEET1jNDhZZEl1RPMWdTBE1799bdz++SwqDHStmxfCtDfBhQgCl38YRiSnrMuUMZIWSUQ==
+"@babel/plugin-transform-sticky-regex@^7.12.7", "@babel/plugin-transform-sticky-regex@^7.8.3":
+ version "7.12.7"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz#560224613ab23987453948ed21d0b0b193fa7fad"
+ integrity sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
- "@babel/helper-regex" "^7.10.4"
"@babel/plugin-transform-template-literals@^7.12.1", "@babel/plugin-transform-template-literals@^7.8.3":
version "7.12.1"
@@ -980,13 +971,13 @@
semver "^5.5.0"
"@babel/preset-env@^7.4.5", "@babel/preset-env@^7.8.4":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.1.tgz#9c7e5ca82a19efc865384bb4989148d2ee5d7ac2"
- integrity sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg==
+ version "7.12.7"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.7.tgz#54ea21dbe92caf6f10cb1a0a576adc4ebf094b55"
+ integrity sha512-OnNdfAr1FUQg7ksb7bmbKoby4qFOHw6DKWWUNB9KqnnCldxhxJlP+21dpyaWFmf2h0rTbOkXJtAGevY3XW1eew==
dependencies:
- "@babel/compat-data" "^7.12.1"
- "@babel/helper-compilation-targets" "^7.12.1"
- "@babel/helper-module-imports" "^7.12.1"
+ "@babel/compat-data" "^7.12.7"
+ "@babel/helper-compilation-targets" "^7.12.5"
+ "@babel/helper-module-imports" "^7.12.5"
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/helper-validator-option" "^7.12.1"
"@babel/plugin-proposal-async-generator-functions" "^7.12.1"
@@ -996,10 +987,10 @@
"@babel/plugin-proposal-json-strings" "^7.12.1"
"@babel/plugin-proposal-logical-assignment-operators" "^7.12.1"
"@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1"
- "@babel/plugin-proposal-numeric-separator" "^7.12.1"
+ "@babel/plugin-proposal-numeric-separator" "^7.12.7"
"@babel/plugin-proposal-object-rest-spread" "^7.12.1"
"@babel/plugin-proposal-optional-catch-binding" "^7.12.1"
- "@babel/plugin-proposal-optional-chaining" "^7.12.1"
+ "@babel/plugin-proposal-optional-chaining" "^7.12.7"
"@babel/plugin-proposal-private-methods" "^7.12.1"
"@babel/plugin-proposal-unicode-property-regex" "^7.12.1"
"@babel/plugin-syntax-async-generators" "^7.8.0"
@@ -1041,14 +1032,14 @@
"@babel/plugin-transform-reserved-words" "^7.12.1"
"@babel/plugin-transform-shorthand-properties" "^7.12.1"
"@babel/plugin-transform-spread" "^7.12.1"
- "@babel/plugin-transform-sticky-regex" "^7.12.1"
+ "@babel/plugin-transform-sticky-regex" "^7.12.7"
"@babel/plugin-transform-template-literals" "^7.12.1"
"@babel/plugin-transform-typeof-symbol" "^7.12.1"
"@babel/plugin-transform-unicode-escapes" "^7.12.1"
"@babel/plugin-transform-unicode-regex" "^7.12.1"
"@babel/preset-modules" "^0.1.3"
- "@babel/types" "^7.12.1"
- core-js-compat "^3.6.2"
+ "@babel/types" "^7.12.7"
+ core-js-compat "^3.7.0"
semver "^5.5.0"
"@babel/preset-modules@^0.1.3":
@@ -1075,14 +1066,14 @@
"@babel/plugin-transform-react-jsx-source" "^7.9.0"
"@babel/preset-react@^7.0.0":
- version "7.12.5"
- resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.12.5.tgz#d45625f65d53612078a43867c5c6750e78772c56"
- integrity sha512-jcs++VPrgyFehkMezHtezS2BpnUlR7tQFAyesJn1vGTO9aTFZrgIQrA5YydlTwxbcjMwkFY6i04flCigRRr3GA==
+ version "7.12.7"
+ resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.12.7.tgz#36d61d83223b07b6ac4ec55cf016abb0f70be83b"
+ integrity sha512-wKeTdnGUP5AEYCYQIMeXMMwU7j+2opxrG0WzuZfxuuW9nhKvvALBjl67653CWamZJVefuJGI219G591RSldrqQ==
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-transform-react-display-name" "^7.12.1"
- "@babel/plugin-transform-react-jsx" "^7.12.5"
- "@babel/plugin-transform-react-jsx-development" "^7.12.5"
+ "@babel/plugin-transform-react-jsx" "^7.12.7"
+ "@babel/plugin-transform-react-jsx-development" "^7.12.7"
"@babel/plugin-transform-react-jsx-self" "^7.12.1"
"@babel/plugin-transform-react-jsx-source" "^7.12.1"
"@babel/plugin-transform-react-pure-annotations" "^7.12.1"
@@ -1117,34 +1108,34 @@
dependencies:
regenerator-runtime "^0.13.4"
-"@babel/template@^7.10.4", "@babel/template@^7.4.0", "@babel/template@^7.8.6":
- version "7.10.4"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278"
- integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==
+"@babel/template@^7.10.4", "@babel/template@^7.12.7", "@babel/template@^7.4.0", "@babel/template@^7.8.6":
+ version "7.12.7"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.7.tgz#c817233696018e39fbb6c491d2fb684e05ed43bc"
+ integrity sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==
dependencies:
"@babel/code-frame" "^7.10.4"
- "@babel/parser" "^7.10.4"
- "@babel/types" "^7.10.4"
+ "@babel/parser" "^7.12.7"
+ "@babel/types" "^7.12.7"
-"@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.5", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.0", "@babel/traverse@^7.9.0":
- version "7.12.5"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.5.tgz#78a0c68c8e8a35e4cacfd31db8bb303d5606f095"
- integrity sha512-xa15FbQnias7z9a62LwYAA5SZZPkHIXpd42C6uW68o8uTuua96FHZy1y61Va5P/i83FAAcMpW8+A/QayntzuqA==
+"@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.5", "@babel/traverse@^7.12.9", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.0", "@babel/traverse@^7.9.0":
+ version "7.12.9"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.9.tgz#fad26c972eabbc11350e0b695978de6cc8e8596f"
+ integrity sha512-iX9ajqnLdoU1s1nHt36JDI9KG4k+vmI8WgjK5d+aDTwQbL2fUnzedNedssA645Ede3PM2ma1n8Q4h2ohwXgMXw==
dependencies:
"@babel/code-frame" "^7.10.4"
"@babel/generator" "^7.12.5"
"@babel/helper-function-name" "^7.10.4"
"@babel/helper-split-export-declaration" "^7.11.0"
- "@babel/parser" "^7.12.5"
- "@babel/types" "^7.12.5"
+ "@babel/parser" "^7.12.7"
+ "@babel/types" "^7.12.7"
debug "^4.1.0"
globals "^11.1.0"
lodash "^4.17.19"
-"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.12.5", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.9.0":
- version "7.12.6"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.6.tgz#ae0e55ef1cce1fbc881cd26f8234eb3e657edc96"
- integrity sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==
+"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.12.1", "@babel/types@^7.12.5", "@babel/types@^7.12.7", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.9.0":
+ version "7.12.7"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.7.tgz#6039ff1e242640a29452c9ae572162ec9a8f5d13"
+ integrity sha512-MNyI92qZq6jrQkXvtIiykvl4WtoRrVV9MPn+ZfsoEENjiWcBQ3ZSHrkxnJWgWtLX3XXqX5hrSQ+X69wkmesXuQ==
dependencies:
"@babel/helper-validator-identifier" "^7.10.4"
lodash "^4.17.19"
@@ -1548,17 +1539,17 @@
"@babel/types" "^7.0.0"
"@types/babel__template@*":
- version "7.0.3"
- resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.3.tgz#b8aaeba0a45caca7b56a5de9459872dde3727214"
- integrity sha512-uCoznIPDmnickEi6D0v11SBpW0OuVqHJCa7syXqQHy5uktSCreIlt0iglsCnmvz8yCb38hGcWeseA8cWJSwv5Q==
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be"
+ integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==
dependencies:
"@babel/parser" "^7.1.0"
"@babel/types" "^7.0.0"
"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6":
- version "7.0.15"
- resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.15.tgz#db9e4238931eb69ef8aab0ad6523d4d4caa39d03"
- integrity sha512-Pzh9O3sTK8V6I1olsXpCfj2k/ygO2q1X0vhhnDrEQyYLHZesWz+zMZMVcwXLCYf0U36EtmyYaFGPfXlTtDHe3A==
+ version "7.0.16"
+ resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.16.tgz#0bbbf70c7bc4193210dd27e252c51260a37cd6a7"
+ integrity sha512-S63Dt4CZOkuTmpLGGWtT/mQdVORJOpx6SZWGVaP56dda/0Nx5nEe82K7/LAm8zYr6SfMq+1N2OreIOrHAx656w==
dependencies:
"@babel/types" "^7.3.0"
@@ -1616,9 +1607,9 @@
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
"@types/node@*":
- version "14.14.7"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.7.tgz#8ea1e8f8eae2430cf440564b98c6dfce1ec5945d"
- integrity sha512-Zw1vhUSQZYw+7u5dAwNbIA9TuTotpzY/OF7sJM9FqPOF3SPjKnxrjoTktXDZgUjybf4cWVBP7O8wvKdSaGHweg==
+ version "14.14.10"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.10.tgz#5958a82e41863cfc71f2307b3748e3491ba03785"
+ integrity sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ==
"@types/parse-json@^4.0.0":
version "4.0.0"
@@ -2128,12 +2119,14 @@ array-flatten@^2.1.0:
integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==
array-includes@^3.0.3, array-includes@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348"
- integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.2.tgz#a8db03e0b88c8c6aeddc49cb132f9bcab4ebf9c8"
+ integrity sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw==
dependencies:
+ call-bind "^1.0.0"
define-properties "^1.1.3"
- es-abstract "^1.17.0"
+ es-abstract "^1.18.0-next.1"
+ get-intrinsic "^1.0.1"
is-string "^1.0.5"
array-union@^1.0.1:
@@ -2154,12 +2147,13 @@ array-unique@^0.3.2:
integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
array.prototype.flat@^1.2.1:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b"
- integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123"
+ integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==
dependencies:
+ call-bind "^1.0.0"
define-properties "^1.1.3"
- es-abstract "^1.17.0-next.1"
+ es-abstract "^1.18.0-next.1"
arrify@^1.0.1:
version "1.0.1"
@@ -2172,7 +2166,7 @@ asap@~2.0.6:
integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=
"asc-web-common@file:../../../packages/asc-web-common":
- version "1.0.279"
+ version "1.0.281"
dependencies:
axios "^0.19.1"
history "4.10.1"
@@ -2189,7 +2183,7 @@ asap@~2.0.6:
sjcl "^1.0.8"
"asc-web-components@file:../../../packages/asc-web-components":
- version "1.0.484"
+ version "1.0.488"
dependencies:
email-addresses "^3.1.0"
html-to-react "^1.4.2"
@@ -2428,9 +2422,9 @@ babel-plugin-named-asset-import@^0.3.6:
integrity sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw==
"babel-plugin-styled-components@>= 1":
- version "1.11.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.11.1.tgz#5296a9e557d736c3186be079fff27c6665d63d76"
- integrity sha512-YwrInHyKUk1PU3avIRdiLyCpM++18Rs1NgyMXEAQC33rIXs/vro0A+stf4sT0Gf22Got+xRWB8Cm0tw+qkRzBA==
+ version "1.12.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.12.0.tgz#1dec1676512177de6b827211e9eda5a30db4f9b9"
+ integrity sha512-FEiD7l5ZABdJPpLssKXjBUJMYqzbcNzBowfXDCdJhOpbhWiewapUaY+LZGT8R4Jg2TwOjGjG4RKeyrO5p9sBkA==
dependencies:
"@babel/helper-annotate-as-pure" "^7.0.0"
"@babel/helper-module-imports" "^7.0.0"
@@ -2586,7 +2580,7 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0:
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828"
integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==
-bn.js@^5.1.1:
+bn.js@^5.0.0, bn.js@^5.1.1:
version "5.1.3"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b"
integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==
@@ -2704,11 +2698,11 @@ browserify-des@^1.0.0:
safe-buffer "^5.1.2"
browserify-rsa@^4.0.0, browserify-rsa@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
- integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d"
+ integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==
dependencies:
- bn.js "^4.1.0"
+ bn.js "^5.0.0"
randombytes "^2.0.1"
browserify-sign@^4.0.0:
@@ -2743,7 +2737,7 @@ browserslist@4.10.0:
node-releases "^1.1.52"
pkg-up "^3.1.0"
-browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.14.6, browserslist@^4.6.2, browserslist@^4.6.4, browserslist@^4.9.1:
+browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.14.7, browserslist@^4.6.2, browserslist@^4.6.4, browserslist@^4.9.1:
version "4.14.7"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.7.tgz#c071c1b3622c1c2e790799a37bb09473a4351cb6"
integrity sha512-BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ==
@@ -2949,9 +2943,9 @@ caniuse-api@^3.0.0:
lodash.uniq "^4.5.0"
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001157:
- version "1.0.30001157"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001157.tgz#2d11aaeb239b340bc1aa730eca18a37fdb07a9ab"
- integrity sha512-gOerH9Wz2IRZ2ZPdMfBvyOi3cjaz4O4dgNwPGzx8EhqAs4+2IL/O+fJsbt+znSigujoZG8bVcIAUM/I/E5K3MA==
+ version "1.0.30001162"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001162.tgz#9f83aad1f42539ce9aab58bb177598f2f8e22ec6"
+ integrity sha512-E9FktFxaNnp4ky3ucIGzEXLM+Knzlpuq1oN1sFAU0KeayygabGTmOsndpo8QrL4D9pcThlf4D2pUKaDxPCUmVw==
capture-exit@^2.0.0:
version "2.0.0"
@@ -3418,28 +3412,28 @@ copy-webpack-plugin@^5.1.1:
serialize-javascript "^4.0.0"
webpack-log "^2.0.0"
-core-js-compat@^3.6.2:
- version "3.7.0"
- resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.7.0.tgz#8479c5d3d672d83f1f5ab94cf353e57113e065ed"
- integrity sha512-V8yBI3+ZLDVomoWICO6kq/CD28Y4r1M7CWeO4AGpMdMfseu8bkSubBmUPySMGKRTS+su4XQ07zUkAsiu9FCWTg==
+core-js-compat@^3.6.2, core-js-compat@^3.7.0:
+ version "3.8.0"
+ resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.8.0.tgz#3248c6826f4006793bd637db608bca6e4cd688b1"
+ integrity sha512-o9QKelQSxQMYWHXc/Gc4L8bx/4F7TTraE5rhuN8I7mKBt5dBIUpXpIR3omv70ebr8ST5R3PqbDQr+ZI3+Tt1FQ==
dependencies:
- browserslist "^4.14.6"
+ browserslist "^4.14.7"
semver "7.0.0"
core-js-pure@^3.0.0:
- version "3.7.0"
- resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.7.0.tgz#28a57c861d5698e053f0ff36905f7a3301b4191e"
- integrity sha512-EZD2ckZysv8MMt4J6HSvS9K2GdtlZtdBncKAmF9lr2n0c9dJUaUN88PSTjvgwCgQPWKTkERXITgS6JJRAnljtg==
+ version "3.8.0"
+ resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.8.0.tgz#4cdd2eca37d49cda206b66e26204818dba77884a"
+ integrity sha512-fRjhg3NeouotRoIV0L1FdchA6CK7ZD+lyINyMoz19SyV+ROpC4noS1xItWHFtwZdlqfMfVPJEyEGdfri2bD1pA==
core-js@^2.4.0, core-js@^2.6.4:
- version "2.6.11"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c"
- integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==
+ version "2.6.12"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec"
+ integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==
core-js@^3.5.0:
- version "3.7.0"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.7.0.tgz#b0a761a02488577afbf97179e4681bf49568520f"
- integrity sha512-NwS7fI5M5B85EwpWuIwJN4i/fbisQUwLwiSNUWeXlkAZ0sbBjLEvLvFLf1uzAUV66PcEPt4xCGCmOZSxVf3xzA==
+ version "3.8.0"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.8.0.tgz#0fc2d4941cadf80538b030648bb64d230b4da0ce"
+ integrity sha512-W2VYNB0nwQQE7tKS7HzXd7r2y/y2SVJl4ga6oH/dnaLFzM0o2lB2P3zCkWj5Wc/zyMYjtgd5Hmhk0ObkQFZOIA==
core-util-is@1.0.2, core-util-is@~1.0.0:
version "1.0.2"
@@ -3677,12 +3671,12 @@ css-tree@1.0.0-alpha.37:
mdn-data "2.0.4"
source-map "^0.6.1"
-css-tree@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.1.tgz#7726678dfe2a57993a018d9dce519bf1760e3b6d"
- integrity sha512-WroX+2MvsYcRGP8QA0p+rxzOniT/zpAoQ/DTKDSJzh5T3IQKUkFHeIIfgIapm2uaP178GWY3Mime1qbk8GO/tA==
+css-tree@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.2.tgz#9ae393b5dafd7dae8a622475caec78d3d8fbd7b5"
+ integrity sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==
dependencies:
- mdn-data "2.0.12"
+ mdn-data "2.0.14"
source-map "^0.6.1"
css-what@2.1:
@@ -3789,11 +3783,11 @@ cssnano@^4.1.10:
postcss "^7.0.0"
csso@^4.0.2:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/csso/-/csso-4.1.0.tgz#1d31193efa99b87aa6bad6c0cef155e543d09e8b"
- integrity sha512-h+6w/W1WqXaJA4tb1dk7r5tVbOm97MsKxzwnvOR04UQ6GILroryjMWu3pmCCtL2mLaEStQ0fZgeGiy99mo7iyg==
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529"
+ integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==
dependencies:
- css-tree "^1.0.0"
+ css-tree "^1.1.2"
cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.4:
version "0.3.8"
@@ -3808,9 +3802,9 @@ cssstyle@^1.0.0, cssstyle@^1.1.1:
cssom "0.3.x"
csstype@^3.0.2:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.4.tgz#b156d7be03b84ff425c9a0a4b1e5f4da9c5ca888"
- integrity sha512-xc8DUsCLmjvCfoD7LTGE0ou2MIWLx0K9RCZwSHMOdynqRsP4MtUcLeqh1HcQ2dInwDTqn+3CE0/FZh1et+p4jA==
+ version "3.0.5"
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.5.tgz#7fdec6a28a67ae18647c51668a9ff95bb2fa7bb8"
+ integrity sha512-uVDi8LpBUKQj6sdxNaTetL6FpeCqTjOvAQuQUa/qAqq8oOd4ivkbhgnqayl0dnPal8Tb/yB1tF+gOvCBiicaiQ==
currently-unhandled@^0.4.1:
version "0.4.1"
@@ -3868,16 +3862,16 @@ debug@=3.1.0:
ms "2.0.0"
debug@^3.1.1, debug@^3.2.5:
- version "3.2.6"
- resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
- integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
+ version "3.2.7"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
+ integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
dependencies:
ms "^2.1.1"
debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1"
- integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"
+ integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
dependencies:
ms "2.1.2"
@@ -4241,9 +4235,9 @@ ejs@^2.6.1:
integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==
electron-to-chromium@^1.3.378, electron-to-chromium@^1.3.591:
- version "1.3.593"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.593.tgz#947ccf6dc8e013e2b053d2463ecd1043c164fcef"
- integrity sha512-GvO7G1ZxvffnMvPCr4A7+iQPVuvpyqMrx2VWSERAjG+pHK6tmO9XqYdBfMIq9corRyi4bNImSDEiDvIoDb8HrA==
+ version "1.3.610"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.610.tgz#1254eb394acd220a836ea1f203f8cded4e487052"
+ integrity sha512-eFDC+yVQpEhtlapk4CYDPfV9ajF9cEof5TBcO49L1ETO+aYogrKWDmYpZyxBScMNe8Bo/gJamH4amQ4yyvXg4g==
elliptic@^6.5.3:
version "6.5.3"
@@ -4328,7 +4322,7 @@ error-ex@^1.2.0, error-ex@^1.3.1:
dependencies:
is-arrayish "^0.2.1"
-es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.5:
+es-abstract@^1.17.0-next.1, es-abstract@^1.17.2:
version "1.17.7"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c"
integrity sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==
@@ -4408,7 +4402,7 @@ escape-html@~1.0.3:
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
-escape-string-regexp@2.0.0:
+escape-string-regexp@2.0.0, escape-string-regexp@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
@@ -4913,9 +4907,9 @@ file-loader@4.3.0:
schema-utils "^2.5.0"
file-selector@^0.2.2:
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-0.2.3.tgz#e2958cdd4366f95e59dc618b95c700abe72ed7a6"
- integrity sha512-d+hc9ctodLSVG55V2V5I4/eJBEr2p2na/kDN46Ty7PBhdp/Q5NmeQTXKa1Hx3AcIL1lgSFKZI0ve/v5ZXGCDkQ==
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-0.2.4.tgz#7b98286f9dbb9925f420130ea5ed0a69238d4d80"
+ integrity sha512-ZDsQNbrv6qRi1YTDOEWzf5J2KjZ9KMI1Q2SGeTkCJmNNW25Jg4TW4UMcmoqcg4WrAyKRcpBXdbWRxkfrOzVRbA==
dependencies:
tslib "^2.0.3"
@@ -5248,7 +5242,7 @@ get-caller-file@^2.0.1:
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
-get-intrinsic@^1.0.0:
+get-intrinsic@^1.0.0, get-intrinsic@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.0.1.tgz#94a9768fcbdd0595a1c9273aacf4c89d075631be"
integrity sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==
@@ -6078,9 +6072,9 @@ is-color-stop@^1.0.0:
rgba-regex "^1.0.0"
is-core-module@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.1.0.tgz#a4cc031d9b1aca63eecbd18a650e13cb4eeab946"
- integrity sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a"
+ integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==
dependencies:
has "^1.0.3"
@@ -7219,9 +7213,9 @@ lodash@4.17.19:
integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
loglevel@^1.6.8:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.0.tgz#728166855a740d59d38db01cf46f042caa041bb0"
- integrity sha512-i2sY04nal5jDcagM3FMfG++T69GEEM8CYuOfeOIvmXzOIcwE9a/CJPR0MFM97pYMj/u10lzz7/zd7+qwhrBTqQ==
+ version "1.7.1"
+ resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.1.tgz#005fde2f5e6e47068f935ff28573e125ef72f197"
+ integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==
loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0:
version "1.4.0"
@@ -7320,10 +7314,10 @@ md5.js@^1.3.4:
inherits "^2.0.1"
safe-buffer "^5.1.2"
-mdn-data@2.0.12:
- version "2.0.12"
- resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.12.tgz#bbb658d08b38f574bbb88f7b83703defdcc46844"
- integrity sha512-ULbAlgzVb8IqZ0Hsxm6hHSlQl3Jckst2YEQS7fODu9ilNWy2LvcoSY7TRFIktABP2mdppBioc66va90T+NUs8Q==
+mdn-data@2.0.14:
+ version "2.0.14"
+ resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50"
+ integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==
mdn-data@2.0.4:
version "2.0.4"
@@ -7756,9 +7750,9 @@ node-notifier@^5.4.2:
which "^1.3.0"
node-releases@^1.1.52, node-releases@^1.1.66:
- version "1.1.66"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.66.tgz#609bd0dc069381015cd982300bae51ab4f1b1814"
- integrity sha512-JHEQ1iWPGK+38VLB2H9ef2otU4l8s3yAMt9Xf934r6+ojCYDMHPMqvCc9TnzfeFSP1QEOeU6YZEd3+De0LTCgg==
+ version "1.1.67"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.67.tgz#28ebfcccd0baa6aad8e8d4d8fe4cbc49ae239c12"
+ integrity sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==
node-sass@^4.13.0:
version "4.14.1"
@@ -7901,12 +7895,12 @@ object-inspect@^1.8.0:
integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==
object-is@^1.0.1:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.3.tgz#2e3b9e65560137455ee3bd62aec4d90a2ea1cc81"
- integrity sha512-teyqLvFWzLkq5B9ki8FVWA902UER2qkxmdA4nLf+wjOLAWgxzCWZNCxpDq9MvE8MmhWNr+I8w3BN49Vx36Y6Xg==
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.4.tgz#63d6c83c00a43f4cbc9434eb9757c8a5b8565068"
+ integrity sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==
dependencies:
+ call-bind "^1.0.0"
define-properties "^1.1.3"
- es-abstract "^1.18.0-next.1"
object-keys@^1.0.12, object-keys@^1.1.1:
version "1.1.1"
@@ -7936,31 +7930,33 @@ object.assign@^4.1.0, object.assign@^4.1.1:
object-keys "^1.1.1"
object.entries@^1.1.0, object.entries@^1.1.1:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.2.tgz#bc73f00acb6b6bb16c203434b10f9a7e797d3add"
- integrity sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.3.tgz#c601c7f168b62374541a07ddbd3e2d5e4f7711a6"
+ integrity sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg==
dependencies:
+ call-bind "^1.0.0"
define-properties "^1.1.3"
- es-abstract "^1.17.5"
+ es-abstract "^1.18.0-next.1"
has "^1.0.3"
object.fromentries@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9"
- integrity sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.3.tgz#13cefcffa702dc67750314a3305e8cb3fad1d072"
+ integrity sha512-IDUSMXs6LOSJBWE++L0lzIbSqHl9KDCfff2x/JSEIDtEUavUnyMYC2ZGay/04Zq4UT8lvd4xNhU4/YHKibAOlw==
dependencies:
+ call-bind "^1.0.0"
define-properties "^1.1.3"
- es-abstract "^1.17.0-next.1"
- function-bind "^1.1.1"
+ es-abstract "^1.18.0-next.1"
has "^1.0.3"
object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649"
- integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz#0dfda8d108074d9c563e80490c883b6661091544"
+ integrity sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==
dependencies:
+ call-bind "^1.0.0"
define-properties "^1.1.3"
- es-abstract "^1.17.0-next.1"
+ es-abstract "^1.18.0-next.1"
object.pick@^1.3.0:
version "1.3.0"
@@ -7970,13 +7966,13 @@ object.pick@^1.3.0:
isobject "^3.0.1"
object.values@^1.1.0, object.values@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e"
- integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.2.tgz#7a2015e06fcb0f546bd652486ce8583a4731c731"
+ integrity sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==
dependencies:
+ call-bind "^1.0.0"
define-properties "^1.1.3"
- es-abstract "^1.17.0-next.1"
- function-bind "^1.1.1"
+ es-abstract "^1.18.0-next.1"
has "^1.0.3"
obuf@^1.0.0, obuf@^1.1.2:
@@ -9419,9 +9415,9 @@ rc-util@^4.15.3, rc-util@^4.5.1:
shallowequal "^1.1.0"
re-resizable@^6.7.0:
- version "6.8.0"
- resolved "https://registry.yarnpkg.com/re-resizable/-/re-resizable-6.8.0.tgz#8a99d98a37032276aea62c1c344612f7e8ddc506"
- integrity sha512-MffuegFHq5juSvLTe/lecTikc2DqIsLjrTAAZ44goPcNavjYgiCqwJa5RydGPsDOZ+OUZAZk1DP9S4AEu0Q1fQ==
+ version "6.9.0"
+ resolved "https://registry.yarnpkg.com/re-resizable/-/re-resizable-6.9.0.tgz#9c3059b389ced6ade602234cc5bb1e12d231cd47"
+ integrity sha512-3cUDG81ylyqI0Pdgle/RHwwRYq0ORZzsUaySOCO8IbEtNyaRtrIHYm/jMQ5pjcNiKCxR3vsSymIQZHwJq4gg2Q==
dependencies:
fast-memoize "^2.5.1"
@@ -9672,9 +9668,9 @@ react-scripts@3.4.3:
fsevents "2.1.2"
react-svg@^11.0.9:
- version "11.1.1"
- resolved "https://registry.yarnpkg.com/react-svg/-/react-svg-11.1.1.tgz#0e9b11fbf0efc7df347d8f268e8d77fd9d022a3a"
- integrity sha512-bqj+2C/niy/V519ABD3fUD9+T33DiDUUUuu39d2O9G2RXTXSFHqA7zU7DEjF+yadMXmEbe0+NlNSZimHWN5jew==
+ version "11.1.3"
+ resolved "https://registry.yarnpkg.com/react-svg/-/react-svg-11.1.3.tgz#14c3f1552b0893319e7466e22797cf7f08a3bfb8"
+ integrity sha512-OSrg4mVXgGK+Qypraa0d68bI8e6ubcBGes9lqcaMdSgPjfrzFTe4yaG94UdROwk5JvFVLKTquc4lRuvqOY92KQ==
dependencies:
"@babel/runtime" "^7.12.5"
"@tanem/svg-injector" "^8.1.0"
@@ -10562,7 +10558,7 @@ shellwords@^0.1.1:
resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b"
integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==
-side-channel@^1.0.2:
+side-channel@^1.0.2, side-channel@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.3.tgz#cdc46b057550bbab63706210838df5d4c19519c3"
integrity sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g==
@@ -10752,9 +10748,9 @@ spdx-expression-parse@^3.0.0:
spdx-license-ids "^3.0.0"
spdx-license-ids@^3.0.0:
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz#c80757383c28abf7296744998cbc106ae8b854ce"
- integrity sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==
+ version "3.0.7"
+ resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz#e9c18a410e5ed7e12442a549fbd8afa767038d65"
+ integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==
spdy-transport@^3.0.0:
version "3.0.0"
@@ -10827,9 +10823,11 @@ stable@^0.1.8:
integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==
stack-utils@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8"
- integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.4.tgz#4b600971dcfc6aed0cbdf2a8268177cc916c87c8"
+ integrity sha512-IPDJfugEGbfizBwBZRZ3xpccMdRyP5lqsBWXGQWimVjua/ccLCeMOAVjlc1R7LxFjo5sEDhyNIXd8mo/AiDS9w==
+ dependencies:
+ escape-string-regexp "^2.0.0"
static-extend@^0.1.1:
version "0.1.2"
@@ -10945,32 +10943,33 @@ string-width@^4.1.0:
strip-ansi "^6.0.0"
string.prototype.matchall@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz#48bb510326fb9fdeb6a33ceaa81a6ea04ef7648e"
- integrity sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg==
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.3.tgz#24243399bc31b0a49d19e2b74171a15653ec996a"
+ integrity sha512-OBxYDA2ifZQ2e13cP82dWFMaCV9CGF8GzmN4fljBVw5O5wep0lu4gacm1OL6MjROoUnB8VbkWRThqkV2YFLNxw==
dependencies:
+ call-bind "^1.0.0"
define-properties "^1.1.3"
- es-abstract "^1.17.0"
+ es-abstract "^1.18.0-next.1"
has-symbols "^1.0.1"
internal-slot "^1.0.2"
regexp.prototype.flags "^1.3.0"
- side-channel "^1.0.2"
+ side-channel "^1.0.3"
string.prototype.trimend@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.2.tgz#6ddd9a8796bc714b489a3ae22246a208f37bfa46"
- integrity sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw==
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz#a22bd53cca5c7cf44d7c9d5c732118873d6cd18b"
+ integrity sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==
dependencies:
+ call-bind "^1.0.0"
define-properties "^1.1.3"
- es-abstract "^1.18.0-next.1"
string.prototype.trimstart@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.2.tgz#22d45da81015309cd0cdd79787e8919fc5c613e7"
- integrity sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg==
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz#9b4cb590e123bb36564401d59824298de50fd5aa"
+ integrity sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==
dependencies:
+ call-bind "^1.0.0"
define-properties "^1.1.3"
- es-abstract "^1.18.0-next.1"
string_decoder@^1.0.0, string_decoder@^1.1.1:
version "1.3.0"
diff --git a/products/ASC.Files/Core/Core/Dao/Interfaces/IFileDao.cs b/products/ASC.Files/Core/Core/Dao/Interfaces/IFileDao.cs
index 4052d296b9..c3b96a717b 100644
--- a/products/ASC.Files/Core/Core/Dao/Interfaces/IFileDao.cs
+++ b/products/ASC.Files/Core/Core/Dao/Interfaces/IFileDao.cs
@@ -87,7 +87,7 @@ namespace ASC.Files.Core
///
/// id file
///
- List> GetFiles(T[] fileIds);
+ List> GetFiles(IEnumerable fileIds);
///
/// Gets the file (s) by ID (s) for share
@@ -99,7 +99,7 @@ namespace ASC.Files.Core
///
///
///
- List> GetFilesFiltered(T[] fileIds, FilterType filterType, bool subjectGroup, Guid subjectID, string searchText, bool searchInContent);
+ List> GetFilesFiltered(IEnumerable fileIds, FilterType filterType, bool subjectGroup, Guid subjectID, string searchText, bool searchInContent);
///
///
@@ -280,7 +280,7 @@ namespace ASC.Files.Core
///
///
///
- List> GetFiles(T[] parentIds, FilterType filterType, bool subjectGroup, Guid subjectID, string searchText, bool searchInContent);
+ List> GetFiles(IEnumerable parentIds, FilterType filterType, bool subjectGroup, Guid subjectID, string searchText, bool searchInContent);
///
/// Search the list of files containing text
diff --git a/products/ASC.Files/Core/Core/Dao/Interfaces/IFolderDao.cs b/products/ASC.Files/Core/Core/Dao/Interfaces/IFolderDao.cs
index d8c43b74ce..d1667d8ff4 100644
--- a/products/ASC.Files/Core/Core/Dao/Interfaces/IFolderDao.cs
+++ b/products/ASC.Files/Core/Core/Dao/Interfaces/IFolderDao.cs
@@ -95,7 +95,7 @@ namespace ASC.Files.Core
///
///
///
- List> GetFolders(T[] folderIds, FilterType filterType = FilterType.None, bool subjectGroup = false, Guid? subjectID = null, string searchText = "", bool searchSubfolders = false, bool checkShare = true);
+ List> GetFolders(IEnumerable folderIds, FilterType filterType = FilterType.None, bool subjectGroup = false, Guid? subjectID = null, string searchText = "", bool searchSubfolders = false, bool checkShare = true);
///
/// Get folder, contains folder with id
diff --git a/products/ASC.Files/Core/Core/Dao/TeamlabDao/FileDao.cs b/products/ASC.Files/Core/Core/Dao/TeamlabDao/FileDao.cs
index 2e8b3e4990..070d0adf67 100644
--- a/products/ASC.Files/Core/Core/Dao/TeamlabDao/FileDao.cs
+++ b/products/ASC.Files/Core/Core/Dao/TeamlabDao/FileDao.cs
@@ -170,9 +170,9 @@ namespace ASC.Files.Core.Data
return FromQueryWithShared(query).Select(ToFile).ToList();
}
- public List> GetFiles(int[] fileIds)
+ public List> GetFiles(IEnumerable fileIds)
{
- if (fileIds == null || fileIds.Length == 0) return new List>();
+ if (fileIds == null || !fileIds.Any()) return new List>();
var query = GetFileQuery(r => fileIds.Any(a => a == r.Id) && r.CurrentVersion)
.AsNoTracking();
@@ -180,9 +180,9 @@ namespace ASC.Files.Core.Data
return FromQueryWithShared(query).Select(ToFile).ToList();
}
- public List> GetFilesFiltered(int[] fileIds, FilterType filterType, bool subjectGroup, Guid subjectID, string searchText, bool searchInContent)
+ public List> GetFilesFiltered(IEnumerable fileIds, FilterType filterType, bool subjectGroup, Guid subjectID, string searchText, bool searchInContent)
{
- if (fileIds == null || fileIds.Length == 0 || filterType == FilterType.FoldersOnly) return new List>();
+ if (fileIds == null || !fileIds.Any() || filterType == FilterType.FoldersOnly) return new List>();
var query = GetFileQuery(r => fileIds.Any(a => a == r.Id) && r.CurrentVersion).AsNoTracking();
@@ -190,7 +190,7 @@ namespace ASC.Files.Core.Data
{
var func = GetFuncForSearch(null, null, filterType, subjectGroup, subjectID, searchText, searchInContent, false);
- if (FactoryIndexer.TrySelectIds(s => func(s).In(r => r.Id, fileIds), out var searchIds))
+ if (FactoryIndexer.TrySelectIds(s => func(s).In(r => r.Id, fileIds.ToArray()), out var searchIds))
{
query = query.Where(r => searchIds.Any(b => b == r.Id));
}
@@ -1037,9 +1037,9 @@ namespace ASC.Files.Core.Data
FilesDbContext.SaveChanges();
}
- public List> GetFiles(int[] parentIds, FilterType filterType, bool subjectGroup, Guid subjectID, string searchText, bool searchInContent)
+ public List> GetFiles(IEnumerable parentIds, FilterType filterType, bool subjectGroup, Guid subjectID, string searchText, bool searchInContent)
{
- if (parentIds == null || parentIds.Length == 0 || filterType == FilterType.FoldersOnly) return new List>();
+ if (parentIds == null || !parentIds.Any() || filterType == FilterType.FoldersOnly) return new List>();
var q = GetFileQuery(r => r.CurrentVersion)
.AsNoTracking()
diff --git a/products/ASC.Files/Core/Core/Dao/TeamlabDao/FolderDao.cs b/products/ASC.Files/Core/Core/Dao/TeamlabDao/FolderDao.cs
index 85774565b2..843e3ca098 100644
--- a/products/ASC.Files/Core/Core/Dao/TeamlabDao/FolderDao.cs
+++ b/products/ASC.Files/Core/Core/Dao/TeamlabDao/FolderDao.cs
@@ -219,7 +219,7 @@ namespace ASC.Files.Core.Data
return FromQueryWithShared(q).Select(ToFolder).ToList();
}
- public List> GetFolders(int[] folderIds, FilterType filterType = FilterType.None, bool subjectGroup = false, Guid? subjectID = null, string searchText = "", bool searchSubfolders = false, bool checkShare = true)
+ public List> GetFolders(IEnumerable folderIds, FilterType filterType = FilterType.None, bool subjectGroup = false, Guid? subjectID = null, string searchText = "", bool searchSubfolders = false, bool checkShare = true)
{
if (filterType == FilterType.FilesOnly || filterType == FilterType.ByExtension
|| filterType == FilterType.DocumentsOnly || filterType == FilterType.ImagesOnly
@@ -243,7 +243,7 @@ namespace ASC.Files.Core.Data
if (FactoryIndexer.TrySelectIds(s =>
searchSubfolders
? s.MatchAll(searchText)
- : s.MatchAll(searchText).In(r => r.Id, folderIds),
+ : s.MatchAll(searchText).In(r => r.Id, folderIds.ToArray()),
out var searchIds))
{
q = q.Where(r => searchIds.Any(a => a == r.Id));
@@ -325,7 +325,7 @@ namespace ASC.Files.Core.Data
var newFolder = new DbFolder
{
Id = 0,
- ParentId = folder.ParentFolderID,
+ ParentId = folder.FolderID,
Title = folder.Title,
CreateOn = TenantUtil.DateTimeToUtc(folder.CreateOn),
CreateBy = folder.CreateBy,
@@ -353,7 +353,7 @@ namespace ASC.Files.Core.Data
//full path to root
var oldTree = FilesDbContext.Tree
- .Where(r => r.FolderId == folder.ParentFolderID);
+ .Where(r => r.FolderId == folder.FolderID);
foreach (var o in oldTree)
{
@@ -569,7 +569,7 @@ namespace ASC.Files.Core.Data
folder.FolderType = FolderType.DEFAULT;
var copy = ServiceProvider.GetService>();
- copy.ParentFolderID = toFolderId;
+ copy.FolderID = toFolderId;
copy.RootFolderId = toFolder.RootFolderId;
copy.RootFolderCreator = toFolder.RootFolderCreator;
copy.RootFolderType = toFolder.RootFolderType;
@@ -912,7 +912,7 @@ namespace ASC.Files.Core.Data
if (createIfNotExists)
{
var folder = ServiceProvider.GetService>();
- folder.ParentFolderID = 0;
+ folder.FolderID = 0;
switch (bunch)
{
case my:
@@ -1080,7 +1080,7 @@ namespace ASC.Files.Core.Data
if (r == null) return null;
var result = ServiceProvider.GetService>();
result.ID = r.Folder.Id;
- result.ParentFolderID = r.Folder.ParentId;
+ result.FolderID = r.Folder.ParentId;
result.Title = r.Folder.Title;
result.CreateOn = TenantUtil.DateTimeFromUtc(r.Folder.CreateOn);
result.CreateBy = r.Folder.CreateBy;
@@ -1132,7 +1132,7 @@ namespace ASC.Files.Core.Data
break;
}
- if (result.FolderType != FolderType.DEFAULT && 0.Equals(result.ParentFolderID)) result.RootFolderType = result.FolderType;
+ if (result.FolderType != FolderType.DEFAULT && 0.Equals(result.FolderID)) result.RootFolderType = result.FolderType;
if (result.FolderType != FolderType.DEFAULT && result.RootFolderCreator == default) result.RootFolderCreator = result.CreateBy;
if (result.FolderType != FolderType.DEFAULT && 0.Equals(result.RootFolderId)) result.RootFolderId = result.ID;
diff --git a/products/ASC.Files/Core/Core/Entries/EncryptionKeyPair.cs b/products/ASC.Files/Core/Core/Entries/EncryptionKeyPair.cs
index 9e754f2fb0..84e138f0d1 100644
--- a/products/ASC.Files/Core/Core/Entries/EncryptionKeyPair.cs
+++ b/products/ASC.Files/Core/Core/Entries/EncryptionKeyPair.cs
@@ -110,7 +110,7 @@ namespace ASC.Web.Files.Core.Entries
if (!FileSecurity.CanEdit(file)) throw new System.Security.SecurityException(FilesCommonResource.ErrorMassage_SecurityException_EditFile);
if (file.RootFolderType != FolderType.Privacy) throw new NotSupportedException();
- var fileShares = FileStorageService.GetSharedInfo(new ItemList { string.Format("file_{0}", fileId) }).ToList();
+ var fileShares = FileStorageService.GetSharedInfo(new List { fileId }, new List { }).ToList();
fileShares = fileShares.Where(share => !share.SubjectGroup
&& !share.SubjectId.Equals(FileConstant.ShareLinkId)
&& share.Share == FileShare.ReadWrite).ToList();
diff --git a/products/ASC.Files/Core/Core/Entries/File.cs b/products/ASC.Files/Core/Core/Entries/File.cs
index eec26b2c87..6b7e42fd3a 100644
--- a/products/ASC.Files/Core/Core/Entries/File.cs
+++ b/products/ASC.Files/Core/Core/Entries/File.cs
@@ -77,8 +77,6 @@ namespace ASC.Files.Core
FileConverter = fileConverter;
}
- public T FolderID { get; set; }
-
public int Version { get; set; }
[JsonPropertyName("version_group")]
@@ -242,19 +240,5 @@ namespace ASC.Files.Core
[NonSerialized]
private readonly FileConverter FileConverter;
-
- private T _folderIdDisplay;
-
- [JsonPropertyName("folder_id")]
- public override T FolderIdDisplay
- {
- get
- {
- if (_folderIdDisplay != null) return _folderIdDisplay;
-
- return FolderID;
- }
- set { _folderIdDisplay = value; }
- }
}
}
\ No newline at end of file
diff --git a/products/ASC.Files/Core/Core/Entries/FileEntry.cs b/products/ASC.Files/Core/Core/Entries/FileEntry.cs
index 0c260bd9c3..920af3968b 100644
--- a/products/ASC.Files/Core/Core/Entries/FileEntry.cs
+++ b/products/ASC.Files/Core/Core/Entries/FileEntry.cs
@@ -129,13 +129,22 @@ namespace ASC.Files.Core
{
}
- public T ID { get; set; }
+ public T ID { get; set; }
+
+ public T FolderID { get; set; }
+
+ private T _folderIdDisplay;
[JsonPropertyName("folder_id")]
- public abstract T FolderIdDisplay
+ public T FolderIdDisplay
{
- get;
- set;
+ get
+ {
+ if (_folderIdDisplay != null) return _folderIdDisplay;
+
+ return FolderID;
+ }
+ set { _folderIdDisplay = value; }
}
public T RootFolderId { get; set; }
diff --git a/products/ASC.Files/Core/Core/Entries/Folder.cs b/products/ASC.Files/Core/Core/Entries/Folder.cs
index 542e31f511..5927a8a0d9 100644
--- a/products/ASC.Files/Core/Core/Entries/Folder.cs
+++ b/products/ASC.Files/Core/Core/Entries/Folder.cs
@@ -68,8 +68,6 @@ namespace ASC.Files.Core
{
public FolderType FolderType { get; set; }
- public T ParentFolderID { get; set; }
-
public int TotalFiles { get; set; }
public int TotalSubFolders { get; set; }
@@ -86,19 +84,6 @@ namespace ASC.Files.Core
set { NewForMe = Convert.ToInt32(value); }
}
- private T _folderIdDisplay;
-
- public override T FolderIdDisplay
- {
- get
- {
- if (_folderIdDisplay != null) return _folderIdDisplay;
-
- return ParentFolderID;
- }
- set { _folderIdDisplay = value; }
- }
-
public Folder(Global global)
: base(global)
{
diff --git a/products/ASC.Files/Core/Core/FileStorageService.cs b/products/ASC.Files/Core/Core/FileStorageService.cs
index 334fc349c0..444b32945b 100644
--- a/products/ASC.Files/Core/Core/FileStorageService.cs
+++ b/products/ASC.Files/Core/Core/FileStorageService.cs
@@ -26,7 +26,6 @@
using System;
using System.Collections.Generic;
-using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Linq;
@@ -300,8 +299,8 @@ namespace ASC.Web.Files.Services.WCFService
var prevVisible = breadCrumbs.ElementAtOrDefault(breadCrumbs.Count() - 2);
if (prevVisible != null)
{
- if (prevVisible is Folder f1) parent.ParentFolderID = (T)Convert.ChangeType(f1.ID, typeof(T));
- if (prevVisible is Folder f2) parent.ParentFolderID = (T)Convert.ChangeType(f2.ID, typeof(T));
+ if (prevVisible is Folder f1) parent.FolderID = (T)Convert.ChangeType(f1.ID, typeof(T));
+ if (prevVisible is Folder f2) parent.FolderID = (T)Convert.ChangeType(f2.ID, typeof(T));
}
parent.Shareable = FileSharing.CanSetAccess(parent)
@@ -348,11 +347,11 @@ namespace ASC.Web.Files.Services.WCFService
var folderDao = DaoFactory.GetFolderDao();
var fileDao = DaoFactory.GetFileDao();
- var folders = folderDao.GetFolders(foldersId.ToArray());
+ var folders = folderDao.GetFolders(foldersId);
folders = FileSecurity.FilterRead(folders).ToList();
entries = entries.Concat(folders);
- var files = fileDao.GetFiles(filesId.ToArray());
+ var files = fileDao.GetFiles(filesId);
files = FileSecurity.FilterRead(files).ToList();
entries = entries.Concat(files);
@@ -398,7 +397,7 @@ namespace ASC.Web.Files.Services.WCFService
{
var newFolder = ServiceProvider.GetService>();
newFolder.Title = title;
- newFolder.ParentFolderID = parent.ID;
+ newFolder.FolderID = parent.ID;
var folderId = folderDao.SaveFolder(newFolder);
var folder = folderDao.GetFolder(folderId);
@@ -446,7 +445,7 @@ namespace ASC.Web.Files.Services.WCFService
if (folder.RootFolderType == FolderType.USER
&& !Equals(folder.RootFolderCreator, AuthContext.CurrentAccount.ID)
- && !FileSecurity.CanRead(folderDao.GetFolder(folder.ParentFolderID)))
+ && !FileSecurity.CanRead(folderDao.GetFolder(folder.FolderID)))
{
folder.FolderIdDisplay = GlobalFolderHelper.GetFolderShare();
}
@@ -676,7 +675,7 @@ namespace ASC.Web.Files.Services.WCFService
var result = new ItemDictionary();
var fileDao = GetFileDao();
- var ids = filesId.Where(FileTracker.IsEditing).Select(id => id).ToArray();
+ var ids = filesId.Where(FileTracker.IsEditing).Select(id => id).ToList();
foreach (var file in fileDao.GetFiles(ids))
{
@@ -1394,7 +1393,7 @@ namespace ASC.Web.Files.Services.WCFService
}
}
- var folders = folderDao.GetFolders(foldersId.ToArray());
+ var folders = folderDao.GetFolders(foldersId);
var foldersProject = folders.Where(folder => folder.FolderType == FolderType.BUNCH).ToList();
if (foldersProject.Any())
{
@@ -1556,7 +1555,7 @@ namespace ASC.Web.Files.Services.WCFService
var folderIdToMy = folderDao.GetFolderIDUser(true, userTo.ID);
var newFolder = ServiceProvider.GetService>();
newFolder.Title = string.Format(CustomNamingPeople.Substitute("TitleDeletedUserFolder"), userFrom.DisplayUserName(false, DisplayUserSettingsHelper));
- newFolder.ParentFolderID = folderIdToMy;
+ newFolder.FolderID = folderIdToMy;
var newFolderTo = folderDao.SaveFolder(newFolder);
@@ -1608,7 +1607,7 @@ namespace ASC.Web.Files.Services.WCFService
rootFoldersId.Add(folderIdFromMy);
}
- var rootFolders = folderDao.GetFolders(rootFoldersId.ToArray());
+ var rootFolders = folderDao.GetFolders(rootFoldersId);
foreach (var rootFolder in rootFolders)
{
FileMarker.RemoveMarkAsNew(rootFolder, userId);
@@ -1646,11 +1645,11 @@ namespace ASC.Web.Files.Services.WCFService
var folderDao = GetFolderDao();
var entries = Enumerable.Empty>();
- var files = fileDao.GetFiles(filesId.ToArray());
+ var files = fileDao.GetFiles(filesId);
files = FileSecurity.FilterRead(files).ToList();
entries = entries.Concat(files);
- var folders = folderDao.GetFolders(foldersId.ToArray());
+ var folders = folderDao.GetFolders(foldersId);
folders = FileSecurity.FilterRead(folders).ToList();
entries = entries.Concat(folders);
@@ -1668,11 +1667,11 @@ namespace ASC.Web.Files.Services.WCFService
var folderDao = GetFolderDao();
var entries = Enumerable.Empty>();
- var files = fileDao.GetFiles(filesId.ToArray());
+ var files = fileDao.GetFiles(filesId);
files = FileSecurity.FilterRead(files).ToList();
entries = entries.Concat(files);
- var folders = folderDao.GetFolders(foldersId.ToArray());
+ var folders = folderDao.GetFolders(foldersId);
folders = FileSecurity.FilterRead(folders).ToList();
entries = entries.Concat(folders);
@@ -1693,7 +1692,7 @@ namespace ASC.Web.Files.Services.WCFService
var tagDao = GetTagDao();
var fileDao = GetFileDao();
- var files = fileDao.GetFiles(filesId.ToArray());
+ var files = fileDao.GetFiles(filesId);
files = FileSecurity.FilterRead(files)
.Where(file => FileUtility.ExtsWebTemplate.Contains(FileUtility.GetFileExtension(file.Title), StringComparer.CurrentCultureIgnoreCase))
@@ -1710,7 +1709,7 @@ namespace ASC.Web.Files.Services.WCFService
{
var tagDao = GetTagDao();
var fileDao = GetFileDao();
- var files = fileDao.GetFiles(filesId.ToArray());
+ var files = fileDao.GetFiles(filesId);
files = FileSecurity.FilterRead(files).ToList();
@@ -1745,37 +1744,40 @@ namespace ASC.Web.Files.Services.WCFService
#endregion
- public ItemList GetSharedInfo(ItemList objectIds)
+ public ItemList GetSharedInfo(IEnumerable fileIds, IEnumerable folderIds)
{
- return FileSharing.GetSharedInfo(objectIds);
+ return FileSharing.GetSharedInfo(fileIds, folderIds);
}
- public ItemList GetSharedInfoShort(string objectId)
+ public ItemList GetSharedInfoShortFile(T fileId)
{
- return FileSharing.GetSharedInfoShort(objectId);
+ return FileSharing.GetSharedInfoShortFile(fileId);
}
- public ItemList SetAceObject(AceCollection aceCollection, bool notify)
+ public ItemList GetSharedInfoShortFolder(T folderId)
+ {
+ return FileSharing.GetSharedInfoShortFolder(folderId);
+ }
+
+ public List SetAceObject(AceCollection aceCollection, bool notify)
{
var fileDao = GetFileDao();
var folderDao = GetFolderDao();
- var result = new ItemList();
- foreach (var objectId in aceCollection.Entries)
- {
- Debug.Assert(objectId != null, "objectId != null");
- var entryType = objectId.StartsWith("file_") ? FileEntryType.File : FileEntryType.Folder;
- var entryId = (T)Convert.ChangeType(objectId.Substring((entryType == FileEntryType.File ? "file_" : "folder_").Length), typeof(T));
- var entry = entryType == FileEntryType.File
- ? fileDao.GetFile(entryId)
- : (FileEntry)folderDao.GetFolder(entryId);
+ var result = new List();
+ var entries = new List>();
+ entries.AddRange(aceCollection.Files.Select(fileId => fileDao.GetFile(fileId)));
+ entries.AddRange(aceCollection.Folders.Select(folderDao.GetFolder));
+
+ foreach (var entry in entries)
+ {
try
{
var changed = FileSharingAceHelper.SetAceObject(aceCollection.Aces, entry, notify, aceCollection.Message);
if (changed)
{
FilesMessageService.Send(entry, GetHttpHeaders(),
- entryType == FileEntryType.Folder ? MessageAction.FolderUpdatedAccess : MessageAction.FileUpdatedAccess,
+ entry.FileEntryType == FileEntryType.Folder ? MessageAction.FolderUpdatedAccess : MessageAction.FileUpdatedAccess,
entry.Title);
}
}
@@ -1785,9 +1787,9 @@ namespace ASC.Web.Files.Services.WCFService
}
var securityDao = GetSecurityDao();
- if (securityDao.IsShared(entry.ID, entryType))
+ if (securityDao.IsShared(entry.ID, entry.FileEntryType))
{
- result.Add(objectId);
+ result.Add(entry.ID);
}
}
return result;
@@ -1987,7 +1989,7 @@ namespace ASC.Web.Files.Services.WCFService
NotifyClient.SendEditorMentions(file, fileLink, recipients, message);
- return showSharingSettings ? GetSharedInfoShort("file_" + fileId) : null;
+ return showSharingSettings ? GetSharedInfoShortFile(fileId) : null;
}
public ItemList GetEncryptionAccess(T fileId)
@@ -2027,17 +2029,15 @@ namespace ASC.Web.Files.Services.WCFService
//return new ItemList(accounts);
}
- public ItemList> ChangeOwner(ItemList items, Guid userId)
+ public IEnumerable ChangeOwner(IEnumerable foldersId, IEnumerable filesId, Guid userId)
{
var userInfo = UserManager.GetUsers(userId);
ErrorIf(Equals(userInfo, Constants.LostUser) || userInfo.IsVisitor(UserManager), FilesCommonResource.ErrorMassage_ChangeOwner);
- ParseArrayItems(items, out var foldersId, out var filesId);
-
- var entries = new List>();
+ var entries = new List();
var folderDao = GetFolderDao();
- var folders = folderDao.GetFolders(foldersId.ToArray());
+ var folders = folderDao.GetFolders(foldersId);
foreach (var folder in folders)
{
@@ -2062,7 +2062,7 @@ namespace ASC.Web.Files.Services.WCFService
}
var fileDao = GetFileDao();
- var files = fileDao.GetFiles(filesId.ToArray());
+ var files = fileDao.GetFiles(filesId);
foreach (var file in files)
{
@@ -2103,7 +2103,7 @@ namespace ASC.Web.Files.Services.WCFService
entries.Add(newFile);
}
- return new ItemList>(entries);
+ return entries;
}
public bool StoreOriginal(bool set)
@@ -2224,18 +2224,6 @@ namespace ASC.Web.Files.Services.WCFService
return DaoFactory.GetSecurityDao();
}
- private static void ParseArrayItems(IEnumerable data, out List foldersId, out List filesId)
- {
- //TODO:!!!!Fix
- foldersId = new List();
- filesId = new List();
- foreach (var id in data)
- {
- if (id.StartsWith("file_")) filesId.Add((T)Convert.ChangeType(id.Substring("file_".Length), typeof(T)));
- if (id.StartsWith("folder_")) foldersId.Add((T)Convert.ChangeType(id.Substring("folder_".Length), typeof(T)));
- }
- }
-
private static void ErrorIf(bool condition, string errorMessage)
{
if (condition) throw new InvalidOperationException(errorMessage);
diff --git a/products/ASC.Files/Core/Core/Security/FileSecurity.cs b/products/ASC.Files/Core/Core/Security/FileSecurity.cs
index eb8206c758..b699f28a05 100644
--- a/products/ASC.Files/Core/Core/Security/FileSecurity.cs
+++ b/products/ASC.Files/Core/Core/Security/FileSecurity.cs
@@ -110,6 +110,11 @@ namespace ASC.Files.Core.Security
public List, bool>> CanRead(IEnumerable> entry, Guid userId)
{
return Can(entry, userId, FilesSecurityActions.Read);
+ }
+
+ public List, bool>> CanRead(IEnumerable> entry)
+ {
+ return Can(entry, AuthContext.CurrentAccount.ID, FilesSecurityActions.Read);
}
public bool CanRead(FileEntry entry, Guid userId)
@@ -574,8 +579,8 @@ namespace ASC.Files.Core.Security
var folderDao = daoFactory.GetFolderDao();
var filteredEntries = entries.Where(filter).ToList();
var roots = filteredEntries
- .Select(r => r.RootFolderId)
- .ToArray();
+ .Select(r => r.RootFolderId)
+ .ToList();
var rootsFolders = folderDao.GetFolders(roots);
var bunches = folderDao.GetBunchObjectIDs(rootsFolders.Select(r => r.ID).ToList());
@@ -756,7 +761,7 @@ namespace ASC.Files.Core.Security
if (filterType == FilterType.None || filterType == FilterType.FoldersOnly)
{
- var folders = folderDao.GetFolders(folderIds.Keys.ToArray(), filterType, subjectGroup, subjectID, searchText, withSubfolders, false);
+ var folders = folderDao.GetFolders(folderIds.Keys, filterType, subjectGroup, subjectID, searchText, withSubfolders, false);
if (withSubfolders)
{
@@ -776,7 +781,7 @@ namespace ASC.Files.Core.Security
if (filterType != FilterType.FoldersOnly && withSubfolders)
{
- var filesInSharedFolders = fileDao.GetFiles(folderIds.Keys.ToArray(), filterType, subjectGroup, subjectID, searchText, searchInContent);
+ var filesInSharedFolders = fileDao.GetFiles(folderIds.Keys, filterType, subjectGroup, subjectID, searchText, searchInContent);
filesInSharedFolders = FilterRead(filesInSharedFolders).ToList();
entries.AddRange(filesInSharedFolders);
entries = entries.Distinct().ToList();
@@ -875,7 +880,7 @@ namespace ASC.Files.Core.Security
if (filterType == FilterType.None || filterType == FilterType.FoldersOnly)
{
- var folders = folderDao.GetFolders(folderIds.Keys.ToArray(), filterType, subjectGroup, subjectID, searchText, withSubfolders, false);
+ var folders = folderDao.GetFolders(folderIds.Keys, filterType, subjectGroup, subjectID, searchText, withSubfolders, false);
if (withSubfolders)
{
@@ -895,7 +900,7 @@ namespace ASC.Files.Core.Security
if (filterType != FilterType.FoldersOnly && withSubfolders)
{
- var filesInSharedFolders = fileDao.GetFiles(folderIds.Keys.ToArray(), filterType, subjectGroup, subjectID, searchText, searchInContent);
+ var filesInSharedFolders = fileDao.GetFiles(folderIds.Keys, filterType, subjectGroup, subjectID, searchText, searchInContent);
filesInSharedFolders = FilterRead(filesInSharedFolders).ToList();
entries.AddRange(filesInSharedFolders);
entries = entries.Distinct().ToList();
diff --git a/products/ASC.Files/Core/Core/Thirdparty/Box/BoxDaoBase.cs b/products/ASC.Files/Core/Core/Thirdparty/Box/BoxDaoBase.cs
index a0f6412895..d812b62f92 100644
--- a/products/ASC.Files/Core/Core/Thirdparty/Box/BoxDaoBase.cs
+++ b/products/ASC.Files/Core/Core/Thirdparty/Box/BoxDaoBase.cs
@@ -128,7 +128,7 @@ namespace ASC.Files.Thirdparty.Box
var folder = GetFolder();
folder.ID = MakeId(boxFolder.Id);
- folder.ParentFolderID = isRoot ? null : MakeId(GetParentFolderId(boxFolder));
+ folder.FolderID = isRoot ? null : MakeId(GetParentFolderId(boxFolder));
folder.CreateOn = isRoot ? ProviderInfo.CreateOn : (boxFolder.CreatedAt ?? default);
folder.ModifiedOn = isRoot ? ProviderInfo.CreateOn : (boxFolder.ModifiedAt ?? default);
diff --git a/products/ASC.Files/Core/Core/Thirdparty/Box/BoxFileDao.cs b/products/ASC.Files/Core/Core/Thirdparty/Box/BoxFileDao.cs
index 34ec441a58..8e468b1a73 100644
--- a/products/ASC.Files/Core/Core/Thirdparty/Box/BoxFileDao.cs
+++ b/products/ASC.Files/Core/Core/Thirdparty/Box/BoxFileDao.cs
@@ -108,15 +108,15 @@ namespace ASC.Files.Thirdparty.Box
return new List> { GetFile(fileId) };
}
- public List> GetFiles(string[] fileIds)
+ public List> GetFiles(IEnumerable fileIds)
{
- if (fileIds == null || fileIds.Length == 0) return new List>();
+ if (fileIds == null || !fileIds.Any()) return new List>();
return fileIds.Select(GetBoxFile).Select(ToFile).ToList();
}
- public List> GetFilesFiltered(string[] fileIds, FilterType filterType, bool subjectGroup, Guid subjectID, string searchText, bool searchInContent)
+ public List> GetFilesFiltered(IEnumerable fileIds, FilterType filterType, bool subjectGroup, Guid subjectID, string searchText, bool searchInContent)
{
- if (fileIds == null || fileIds.Length == 0 || filterType == FilterType.FoldersOnly) return new List>();
+ if (fileIds == null || !fileIds.Any() || filterType == FilterType.FoldersOnly) return new List>();
var files = GetFiles(fileIds).AsEnumerable();
diff --git a/products/ASC.Files/Core/Core/Thirdparty/Box/BoxFolderDao.cs b/products/ASC.Files/Core/Core/Thirdparty/Box/BoxFolderDao.cs
index 5cc078257e..4eeee4a482 100644
--- a/products/ASC.Files/Core/Core/Thirdparty/Box/BoxFolderDao.cs
+++ b/products/ASC.Files/Core/Core/Thirdparty/Box/BoxFolderDao.cs
@@ -130,7 +130,7 @@ namespace ASC.Files.Thirdparty.Box
return folders.ToList();
}
- public List> GetFolders(string[] folderIds, FilterType filterType = FilterType.None, bool subjectGroup = false, Guid? subjectID = null, string searchText = "", bool searchSubfolders = false, bool checkShare = true)
+ public List> GetFolders(IEnumerable folderIds, FilterType filterType = FilterType.None, bool subjectGroup = false, Guid? subjectID = null, string searchText = "", bool searchSubfolders = false, bool checkShare = true)
{
if (filterType == FilterType.FilesOnly || filterType == FilterType.ByExtension
|| filterType == FilterType.DocumentsOnly || filterType == FilterType.ImagesOnly
@@ -184,9 +184,9 @@ namespace ASC.Files.Thirdparty.Box
return RenameFolder(folder, folder.Title);
}
- if (folder.ParentFolderID != null)
+ if (folder.FolderID != null)
{
- var boxFolderId = MakeBoxId(folder.ParentFolderID);
+ var boxFolderId = MakeBoxId(folder.FolderID);
folder.Title = GetAvailableTitle(folder.Title, boxFolderId, IsExist);
diff --git a/products/ASC.Files/Core/Core/Thirdparty/CrossDao.cs b/products/ASC.Files/Core/Core/Thirdparty/CrossDao.cs
index ba9db453b6..446ddf5f8a 100644
--- a/products/ASC.Files/Core/Core/Thirdparty/CrossDao.cs
+++ b/products/ASC.Files/Core/Core/Thirdparty/CrossDao.cs
@@ -111,7 +111,7 @@ namespace ASC.Files.Core.Thirdparty
var toFolder1 = ServiceProvider.GetService>();
toFolder1.Title = fromFolder.Title;
- toFolder1.ParentFolderID = toConverter(toRootFolderId);
+ toFolder1.FolderID = toConverter(toRootFolderId);
var toFolder = toFolderDao.GetFolder(fromFolder.Title, toConverter(toRootFolderId));
var toFolderId = toFolder != null
diff --git a/products/ASC.Files/Core/Core/Thirdparty/Dropbox/DropboxDaoBase.cs b/products/ASC.Files/Core/Core/Thirdparty/Dropbox/DropboxDaoBase.cs
index e8f0b430ec..75734c7826 100644
--- a/products/ASC.Files/Core/Core/Thirdparty/Dropbox/DropboxDaoBase.cs
+++ b/products/ASC.Files/Core/Core/Thirdparty/Dropbox/DropboxDaoBase.cs
@@ -123,7 +123,7 @@ namespace ASC.Files.Thirdparty.Dropbox
var folder = GetFolder();
folder.ID = MakeId(dropboxFolder);
- folder.ParentFolderID = isRoot ? null : MakeId(GetParentFolderPath(dropboxFolder));
+ folder.FolderID = isRoot ? null : MakeId(GetParentFolderPath(dropboxFolder));
folder.CreateOn = isRoot ? ProviderInfo.CreateOn : default;
folder.ModifiedOn = isRoot ? ProviderInfo.CreateOn : default;
folder.Title = MakeFolderTitle(dropboxFolder);
diff --git a/products/ASC.Files/Core/Core/Thirdparty/Dropbox/DropboxFileDao.cs b/products/ASC.Files/Core/Core/Thirdparty/Dropbox/DropboxFileDao.cs
index 250564b8e7..f5c73c7dd5 100644
--- a/products/ASC.Files/Core/Core/Thirdparty/Dropbox/DropboxFileDao.cs
+++ b/products/ASC.Files/Core/Core/Thirdparty/Dropbox/DropboxFileDao.cs
@@ -112,15 +112,15 @@ namespace ASC.Files.Thirdparty.Dropbox
return new List> { GetFile(fileId) };
}
- public List> GetFiles(string[] fileIds)
+ public List> GetFiles(IEnumerable fileIds)
{
- if (fileIds == null || fileIds.Length == 0) return new List>();
+ if (fileIds == null || !fileIds.Any()) return new List>();
return fileIds.Select(GetDropboxFile).Select(ToFile).ToList();
}
- public List> GetFilesFiltered(string[] fileIds, FilterType filterType, bool subjectGroup, Guid subjectID, string searchText, bool searchInContent)
+ public List> GetFilesFiltered(IEnumerable fileIds, FilterType filterType, bool subjectGroup, Guid subjectID, string searchText, bool searchInContent)
{
- if (fileIds == null || fileIds.Length == 0 || filterType == FilterType.FoldersOnly) return new List>();
+ if (fileIds == null || !fileIds.Any() || filterType == FilterType.FoldersOnly) return new List>();
var files = GetFiles(fileIds).AsEnumerable();
diff --git a/products/ASC.Files/Core/Core/Thirdparty/Dropbox/DropboxFolderDao.cs b/products/ASC.Files/Core/Core/Thirdparty/Dropbox/DropboxFolderDao.cs
index e3b50b8e72..b8bcf37dc8 100644
--- a/products/ASC.Files/Core/Core/Thirdparty/Dropbox/DropboxFolderDao.cs
+++ b/products/ASC.Files/Core/Core/Thirdparty/Dropbox/DropboxFolderDao.cs
@@ -131,7 +131,7 @@ namespace ASC.Files.Thirdparty.Dropbox
return folders.ToList();
}
- public List> GetFolders(string[] folderIds, FilterType filterType = FilterType.None, bool subjectGroup = false, Guid? subjectID = null, string searchText = "", bool searchSubfolders = false, bool checkShare = true)
+ public List> GetFolders(IEnumerable folderIds, FilterType filterType = FilterType.None, bool subjectGroup = false, Guid? subjectID = null, string searchText = "", bool searchSubfolders = false, bool checkShare = true)
{
if (filterType == FilterType.FilesOnly || filterType == FilterType.ByExtension
|| filterType == FilterType.DocumentsOnly || filterType == FilterType.ImagesOnly
@@ -185,9 +185,9 @@ namespace ASC.Files.Thirdparty.Dropbox
return RenameFolder(folder, folder.Title);
}
- if (folder.ParentFolderID != null)
+ if (folder.FolderID != null)
{
- var dropboxFolderPath = MakeDropboxPath(folder.ParentFolderID);
+ var dropboxFolderPath = MakeDropboxPath(folder.FolderID);
folder.Title = GetAvailableTitle(folder.Title, dropboxFolderPath, IsExist);
diff --git a/products/ASC.Files/Core/Core/Thirdparty/GoogleDrive/GoogleDriveDaoBase.cs b/products/ASC.Files/Core/Core/Thirdparty/GoogleDrive/GoogleDriveDaoBase.cs
index 0e75c4e9d7..49a45297d5 100644
--- a/products/ASC.Files/Core/Core/Thirdparty/GoogleDrive/GoogleDriveDaoBase.cs
+++ b/products/ASC.Files/Core/Core/Thirdparty/GoogleDrive/GoogleDriveDaoBase.cs
@@ -137,7 +137,7 @@ namespace ASC.Files.Thirdparty.GoogleDrive
var folder = GetFolder();
folder.ID = MakeId(driveEntry);
- folder.ParentFolderID = isRoot ? null : MakeId(GetParentDriveId(driveEntry));
+ folder.FolderID = isRoot ? null : MakeId(GetParentDriveId(driveEntry));
folder.CreateOn = isRoot ? ProviderInfo.CreateOn : (driveEntry.CreatedTime ?? default);
folder.ModifiedOn = isRoot ? ProviderInfo.CreateOn : (driveEntry.ModifiedTime ?? default);
diff --git a/products/ASC.Files/Core/Core/Thirdparty/GoogleDrive/GoogleDriveFileDao.cs b/products/ASC.Files/Core/Core/Thirdparty/GoogleDrive/GoogleDriveFileDao.cs
index 9782518499..628c0481ad 100644
--- a/products/ASC.Files/Core/Core/Thirdparty/GoogleDrive/GoogleDriveFileDao.cs
+++ b/products/ASC.Files/Core/Core/Thirdparty/GoogleDrive/GoogleDriveFileDao.cs
@@ -109,15 +109,15 @@ namespace ASC.Files.Thirdparty.GoogleDrive
return new List> { GetFile(fileId) };
}
- public List> GetFiles(string[] fileIds)
+ public List> GetFiles(IEnumerable fileIds)
{
- if (fileIds == null || fileIds.Length == 0) return new List>();
+ if (fileIds == null || !fileIds.Any()) return new List>();
return fileIds.Select(GetDriveEntry).Select(ToFile).ToList();
}
- public List> GetFilesFiltered(string[] fileIds, FilterType filterType, bool subjectGroup, Guid subjectID, string searchText, bool searchInContent)
+ public List> GetFilesFiltered(IEnumerable fileIds, FilterType filterType, bool subjectGroup, Guid subjectID, string searchText, bool searchInContent)
{
- if (fileIds == null || fileIds.Length == 0 || filterType == FilterType.FoldersOnly) return new List>();
+ if (fileIds == null || !fileIds.Any() || filterType == FilterType.FoldersOnly) return new List>();
var files = GetFiles(fileIds).AsEnumerable();
diff --git a/products/ASC.Files/Core/Core/Thirdparty/GoogleDrive/GoogleDriveFolderDao.cs b/products/ASC.Files/Core/Core/Thirdparty/GoogleDrive/GoogleDriveFolderDao.cs
index 7fa83abcd2..df8851d529 100644
--- a/products/ASC.Files/Core/Core/Thirdparty/GoogleDrive/GoogleDriveFolderDao.cs
+++ b/products/ASC.Files/Core/Core/Thirdparty/GoogleDrive/GoogleDriveFolderDao.cs
@@ -127,7 +127,7 @@ namespace ASC.Files.Thirdparty.GoogleDrive
return folders.ToList();
}
- public List> GetFolders(string[] folderIds, FilterType filterType = FilterType.None, bool subjectGroup = false, Guid? subjectID = null, string searchText = "", bool searchSubfolders = false, bool checkShare = true)
+ public List> GetFolders(IEnumerable folderIds, FilterType filterType = FilterType.None, bool subjectGroup = false, Guid? subjectID = null, string searchText = "", bool searchSubfolders = false, bool checkShare = true)
{
if (filterType == FilterType.FilesOnly || filterType == FilterType.ByExtension
|| filterType == FilterType.DocumentsOnly || filterType == FilterType.ImagesOnly
@@ -181,9 +181,9 @@ namespace ASC.Files.Thirdparty.GoogleDrive
return RenameFolder(folder, folder.Title);
}
- if (folder.ParentFolderID != null)
+ if (folder.FolderID != null)
{
- var driveFolderId = MakeDriveId(folder.ParentFolderID);
+ var driveFolderId = MakeDriveId(folder.FolderID);
var driveFolder = ProviderInfo.Storage.InsertEntry(null, folder.Title, driveFolderId, true);
diff --git a/products/ASC.Files/Core/Core/Thirdparty/IThirdPartyProviderDao.cs b/products/ASC.Files/Core/Core/Thirdparty/IThirdPartyProviderDao.cs
index 942399e478..040fd81db2 100644
--- a/products/ASC.Files/Core/Core/Thirdparty/IThirdPartyProviderDao.cs
+++ b/products/ASC.Files/Core/Core/Thirdparty/IThirdPartyProviderDao.cs
@@ -34,7 +34,7 @@ namespace ASC.Files.Thirdparty
{
}
- public List> GetFiles(string[] parentIds, FilterType filterType, bool subjectGroup, Guid subjectID, string searchText, bool searchInContent)
+ public List> GetFiles(IEnumerable parentIds, FilterType filterType, bool subjectGroup, Guid subjectID, string searchText, bool searchInContent)
{
return new List>();
}
@@ -280,7 +280,7 @@ namespace ASC.Files.Thirdparty
InitFileEntryError(folder, entry);
- folder.ParentFolderID = null;
+ folder.FolderID = null;
return folder;
}
diff --git a/products/ASC.Files/Core/Core/Thirdparty/OneDrive/OneDriveDaoBase.cs b/products/ASC.Files/Core/Core/Thirdparty/OneDrive/OneDriveDaoBase.cs
index aefab62c21..c2384647a1 100644
--- a/products/ASC.Files/Core/Core/Thirdparty/OneDrive/OneDriveDaoBase.cs
+++ b/products/ASC.Files/Core/Core/Thirdparty/OneDrive/OneDriveDaoBase.cs
@@ -123,7 +123,7 @@ namespace ASC.Files.Thirdparty.OneDrive
var folder = GetFolder();
folder.ID = MakeId(isRoot ? string.Empty : onedriveFolder.Id);
- folder.ParentFolderID = isRoot ? null : MakeId(GetParentFolderId(onedriveFolder));
+ folder.FolderID = isRoot ? null : MakeId(GetParentFolderId(onedriveFolder));
folder.CreateOn = isRoot ? ProviderInfo.CreateOn : (onedriveFolder.CreatedDateTime.HasValue ? TenantUtil.DateTimeFromUtc(onedriveFolder.CreatedDateTime.Value.DateTime) : default);
folder.ModifiedOn = isRoot ? ProviderInfo.CreateOn : (onedriveFolder.LastModifiedDateTime.HasValue ? TenantUtil.DateTimeFromUtc(onedriveFolder.LastModifiedDateTime.Value.DateTime) : default);
diff --git a/products/ASC.Files/Core/Core/Thirdparty/OneDrive/OneDriveFileDao.cs b/products/ASC.Files/Core/Core/Thirdparty/OneDrive/OneDriveFileDao.cs
index cf7516ce4f..b7c979928c 100644
--- a/products/ASC.Files/Core/Core/Thirdparty/OneDrive/OneDriveFileDao.cs
+++ b/products/ASC.Files/Core/Core/Thirdparty/OneDrive/OneDriveFileDao.cs
@@ -108,15 +108,15 @@ namespace ASC.Files.Thirdparty.OneDrive
return new List> { GetFile(fileId) };
}
- public List> GetFiles(string[] fileIds)
+ public List> GetFiles(IEnumerable fileIds)
{
- if (fileIds == null || fileIds.Length == 0) return new List>();
+ if (fileIds == null || !fileIds.Any()) return new List>();
return fileIds.Select(GetOneDriveItem).Select(ToFile).ToList();
}
- public List> GetFilesFiltered(string[] fileIds, FilterType filterType, bool subjectGroup, Guid subjectID, string searchText, bool searchInContent)
+ public List> GetFilesFiltered(IEnumerable fileIds, FilterType filterType, bool subjectGroup, Guid subjectID, string searchText, bool searchInContent)
{
- if (fileIds == null || fileIds.Length == 0 || filterType == FilterType.FoldersOnly) return new List>();
+ if (fileIds == null || !fileIds.Any() || filterType == FilterType.FoldersOnly) return new List>();
var files = GetFiles(fileIds).AsEnumerable();
diff --git a/products/ASC.Files/Core/Core/Thirdparty/OneDrive/OneDriveFolderDao.cs b/products/ASC.Files/Core/Core/Thirdparty/OneDrive/OneDriveFolderDao.cs
index 4a9ac2c480..70f2edc664 100644
--- a/products/ASC.Files/Core/Core/Thirdparty/OneDrive/OneDriveFolderDao.cs
+++ b/products/ASC.Files/Core/Core/Thirdparty/OneDrive/OneDriveFolderDao.cs
@@ -127,7 +127,7 @@ namespace ASC.Files.Thirdparty.OneDrive
return folders.ToList();
}
- public List> GetFolders(string[] folderIds, FilterType filterType = FilterType.None, bool subjectGroup = false, Guid? subjectID = null, string searchText = "", bool searchSubfolders = false, bool checkShare = true)
+ public List> GetFolders(IEnumerable folderIds, FilterType filterType = FilterType.None, bool subjectGroup = false, Guid? subjectID = null, string searchText = "", bool searchSubfolders = false, bool checkShare = true)
{
if (filterType == FilterType.FilesOnly || filterType == FilterType.ByExtension
|| filterType == FilterType.DocumentsOnly || filterType == FilterType.ImagesOnly
@@ -181,9 +181,9 @@ namespace ASC.Files.Thirdparty.OneDrive
return RenameFolder(folder, folder.Title);
}
- if (folder.ParentFolderID != null)
+ if (folder.FolderID != null)
{
- var onedriveFolderId = MakeOneDriveId(folder.ParentFolderID);
+ var onedriveFolderId = MakeOneDriveId(folder.FolderID);
folder.Title = GetAvailableTitle(folder.Title, onedriveFolderId, IsExist);
diff --git a/products/ASC.Files/Core/Core/Thirdparty/ProviderDao/ProviderFileDao.cs b/products/ASC.Files/Core/Core/Thirdparty/ProviderDao/ProviderFileDao.cs
index 61db2a9c23..1ea22e35a1 100644
--- a/products/ASC.Files/Core/Core/Thirdparty/ProviderDao/ProviderFileDao.cs
+++ b/products/ASC.Files/Core/Core/Thirdparty/ProviderDao/ProviderFileDao.cs
@@ -124,7 +124,7 @@ namespace ASC.Files.Thirdparty.ProviderDao
return fileDao.GetFileHistory(selector.ConvertId(fileId));
}
- public List> GetFiles(string[] fileIds)
+ public List> GetFiles(IEnumerable fileIds)
{
var result = Enumerable.Empty>();
@@ -139,7 +139,7 @@ namespace ASC.Files.Thirdparty.ProviderDao
.SelectMany(matchedId =>
{
var fileDao = selectorLocal.GetFileDao(matchedId.FirstOrDefault());
- return fileDao.GetFiles(matchedId.Select(selectorLocal.ConvertId).ToArray());
+ return fileDao.GetFiles(matchedId.Select(selectorLocal.ConvertId).ToList());
}
)
.Where(r => r != null));
@@ -148,7 +148,7 @@ namespace ASC.Files.Thirdparty.ProviderDao
return result.ToList();
}
- public List> GetFilesFiltered(string[] fileIds, FilterType filterType, bool subjectGroup, Guid subjectID, string searchText, bool searchInContent)
+ public List> GetFilesFiltered(IEnumerable fileIds, FilterType filterType, bool subjectGroup, Guid subjectID, string searchText, bool searchInContent)
{
var result = Enumerable.Empty>();
diff --git a/products/ASC.Files/Core/Core/Thirdparty/ProviderDao/ProviderFolderDao.cs b/products/ASC.Files/Core/Core/Thirdparty/ProviderDao/ProviderFolderDao.cs
index 665e53651d..0e6a04e9da 100644
--- a/products/ASC.Files/Core/Core/Thirdparty/ProviderDao/ProviderFolderDao.cs
+++ b/products/ASC.Files/Core/Core/Thirdparty/ProviderDao/ProviderFolderDao.cs
@@ -110,7 +110,7 @@ namespace ASC.Files.Thirdparty.ProviderDao
return result;
}
- public List> GetFolders(string[] folderIds, FilterType filterType = FilterType.None, bool subjectGroup = false, Guid? subjectID = null, string searchText = "", bool searchSubfolders = false, bool checkShare = true)
+ public List> GetFolders(IEnumerable folderIds, FilterType filterType = FilterType.None, bool subjectGroup = false, Guid? subjectID = null, string searchText = "", bool searchSubfolders = false, bool checkShare = true)
{
var result = Enumerable.Empty>();
@@ -126,7 +126,7 @@ namespace ASC.Files.Thirdparty.ProviderDao
{
var folderDao = selectorLocal.GetFolderDao(matchedId.FirstOrDefault());
return folderDao
-.GetFolders(matchedId.Select(selectorLocal.ConvertId).ToArray(),
+.GetFolders(matchedId.Select(selectorLocal.ConvertId).ToList(),
filterType, subjectGroup, subjectID, searchText, searchSubfolders, checkShare);
})
.Where(r => r != null));
@@ -156,14 +156,14 @@ filterType, subjectGroup, subjectID, searchText, searchSubfolders, checkShare);
folder.ID = folderId;
return newFolderId;
}
- if (folder.ParentFolderID != null)
+ if (folder.FolderID != null)
{
- var folderId = folder.ParentFolderID;
+ var folderId = folder.FolderID;
var selector = GetSelector(folderId);
- folder.ParentFolderID = selector.ConvertId(folderId);
+ folder.FolderID = selector.ConvertId(folderId);
var folderDao = selector.GetFolderDao(folderId);
var newFolderId = folderDao.SaveFolder(folder);
- folder.ParentFolderID = folderId;
+ folder.FolderID = folderId;
return newFolderId;
}
@@ -277,7 +277,7 @@ filterType, subjectGroup, subjectID, searchText, searchSubfolders, checkShare);
var folderId = folder.ID;
var selector = GetSelector(folderId);
folder.ID = selector.ConvertId(folderId);
- folder.ParentFolderID = selector.ConvertId(folder.ParentFolderID);
+ folder.FolderID = selector.ConvertId(folder.FolderID);
var folderDao = selector.GetFolderDao(folderId);
return folderDao.RenameFolder(folder, newTitle);
}
diff --git a/products/ASC.Files/Core/Core/Thirdparty/SharePoint/SharePointFileDao.cs b/products/ASC.Files/Core/Core/Thirdparty/SharePoint/SharePointFileDao.cs
index ec5b2dd408..f187e5aff5 100644
--- a/products/ASC.Files/Core/Core/Thirdparty/SharePoint/SharePointFileDao.cs
+++ b/products/ASC.Files/Core/Core/Thirdparty/SharePoint/SharePointFileDao.cs
@@ -101,14 +101,14 @@ namespace ASC.Files.Thirdparty.SharePoint
return new List> { GetFile(fileId) };
}
- public List> GetFiles(string[] fileIds)
+ public List> GetFiles(IEnumerable fileIds)
{
return fileIds.Select(fileId => ProviderInfo.ToFile(ProviderInfo.GetFileById(fileId))).ToList();
}
- public List> GetFilesFiltered(string[] fileIds, FilterType filterType, bool subjectGroup, Guid subjectID, string searchText, bool searchInContent)
+ public List> GetFilesFiltered(IEnumerable fileIds, FilterType filterType, bool subjectGroup, Guid subjectID, string searchText, bool searchInContent)
{
- if (fileIds == null || fileIds.Length == 0 || filterType == FilterType.FoldersOnly) return new List>();
+ if (fileIds == null || !fileIds.Any() || filterType == FilterType.FoldersOnly) return new List>();
var files = GetFiles(fileIds).AsEnumerable();
diff --git a/products/ASC.Files/Core/Core/Thirdparty/SharePoint/SharePointFolderDao.cs b/products/ASC.Files/Core/Core/Thirdparty/SharePoint/SharePointFolderDao.cs
index aab9293251..92478932a8 100644
--- a/products/ASC.Files/Core/Core/Thirdparty/SharePoint/SharePointFolderDao.cs
+++ b/products/ASC.Files/Core/Core/Thirdparty/SharePoint/SharePointFolderDao.cs
@@ -135,7 +135,7 @@ namespace ASC.Files.Thirdparty.SharePoint
return folders.ToList();
}
- public List> GetFolders(string[] folderIds, FilterType filterType = FilterType.None, bool subjectGroup = false, Guid? subjectID = null, string searchText = "", bool searchSubfolders = false, bool checkShare = true)
+ public List> GetFolders(IEnumerable folderIds, FilterType filterType = FilterType.None, bool subjectGroup = false, Guid? subjectID = null, string searchText = "", bool searchSubfolders = false, bool checkShare = true)
{
if (filterType == FilterType.FilesOnly || filterType == FilterType.ByExtension
|| filterType == FilterType.DocumentsOnly || filterType == FilterType.ImagesOnly
@@ -183,9 +183,9 @@ namespace ASC.Files.Thirdparty.SharePoint
return ProviderInfo.ToFolder(savedfolder).ID;
}
- if (folder.ParentFolderID != null)
+ if (folder.FolderID != null)
{
- var parentFolder = ProviderInfo.GetFolderById(folder.ParentFolderID);
+ var parentFolder = ProviderInfo.GetFolderById(folder.FolderID);
folder.Title = GetAvailableTitle(folder.Title, parentFolder, IsExist);
diff --git a/products/ASC.Files/Core/Core/Thirdparty/SharePoint/SharePointProviderInfo.cs b/products/ASC.Files/Core/Core/Thirdparty/SharePoint/SharePointProviderInfo.cs
index 3c2b072e16..2665cd06fd 100644
--- a/products/ASC.Files/Core/Core/Thirdparty/SharePoint/SharePointProviderInfo.cs
+++ b/products/ASC.Files/Core/Core/Thirdparty/SharePoint/SharePointProviderInfo.cs
@@ -500,7 +500,7 @@ namespace ASC.Files.Thirdparty.SharePoint
if (folder is SharePointFolderErrorEntry errorFolder)
{
result.ID = MakeId(errorFolder.ID);
- result.ParentFolderID = null;
+ result.FolderID = null;
result.CreateBy = Owner;
result.CreateOn = DateTime.UtcNow;
result.FolderType = FolderType.DEFAULT;
@@ -523,7 +523,7 @@ namespace ASC.Files.Thirdparty.SharePoint
var isRoot = folder.ServerRelativeUrl == SpRootFolderId;
result.ID = MakeId(isRoot ? "" : folder.ServerRelativeUrl);
- result.ParentFolderID = isRoot ? null : MakeId(GetParentFolderId(folder.ServerRelativeUrl));
+ result.FolderID = isRoot ? null : MakeId(GetParentFolderId(folder.ServerRelativeUrl));
result.CreateBy = Owner;
result.CreateOn = CreateOn;
result.FolderType = FolderType.DEFAULT;
diff --git a/products/ASC.Files/Core/Core/Thirdparty/Sharpbox/SharpBoxDaoBase.cs b/products/ASC.Files/Core/Core/Thirdparty/Sharpbox/SharpBoxDaoBase.cs
index dbb932b29d..4139bbc201 100644
--- a/products/ASC.Files/Core/Core/Thirdparty/Sharpbox/SharpBoxDaoBase.cs
+++ b/products/ASC.Files/Core/Core/Thirdparty/Sharpbox/SharpBoxDaoBase.cs
@@ -281,7 +281,7 @@ namespace ASC.Files.Thirdparty.Sharpbox
var folder = GetFolder();
folder.ID = MakeId(fsEntry);
- folder.ParentFolderID = isRoot ? null : MakeId(fsEntry.Parent);
+ folder.FolderID = isRoot ? null : MakeId(fsEntry.Parent);
folder.CreateOn = isRoot ? ProviderInfo.CreateOn : fsEntry.Modified;
folder.ModifiedOn = isRoot ? ProviderInfo.CreateOn : fsEntry.Modified;
folder.RootFolderId = MakeId(RootFolder());
diff --git a/products/ASC.Files/Core/Core/Thirdparty/Sharpbox/SharpBoxFileDao.cs b/products/ASC.Files/Core/Core/Thirdparty/Sharpbox/SharpBoxFileDao.cs
index 4b0f303cbd..5e909e6546 100644
--- a/products/ASC.Files/Core/Core/Thirdparty/Sharpbox/SharpBoxFileDao.cs
+++ b/products/ASC.Files/Core/Core/Thirdparty/Sharpbox/SharpBoxFileDao.cs
@@ -106,14 +106,14 @@ namespace ASC.Files.Thirdparty.Sharpbox
return new List> { GetFile(fileId) };
}
- public List> GetFiles(string[] fileIds)
+ public List> GetFiles(IEnumerable fileIds)
{
return fileIds.Select(fileId => ToFile(GetFileById(fileId))).ToList();
}
- public List> GetFilesFiltered(string[] fileIds, FilterType filterType, bool subjectGroup, Guid subjectID, string searchText, bool searchInContent)
+ public List> GetFilesFiltered(IEnumerable fileIds, FilterType filterType, bool subjectGroup, Guid subjectID, string searchText, bool searchInContent)
{
- if (fileIds == null || fileIds.Length == 0 || filterType == FilterType.FoldersOnly) return new List>();
+ if (fileIds == null || !fileIds.Any() || filterType == FilterType.FoldersOnly) return new List>();
var files = GetFiles(fileIds).AsEnumerable();
diff --git a/products/ASC.Files/Core/Core/Thirdparty/Sharpbox/SharpBoxFolderDao.cs b/products/ASC.Files/Core/Core/Thirdparty/Sharpbox/SharpBoxFolderDao.cs
index fedc0ce2a2..af51227f02 100644
--- a/products/ASC.Files/Core/Core/Thirdparty/Sharpbox/SharpBoxFolderDao.cs
+++ b/products/ASC.Files/Core/Core/Thirdparty/Sharpbox/SharpBoxFolderDao.cs
@@ -138,7 +138,7 @@ namespace ASC.Files.Thirdparty.Sharpbox
return folders.ToList();
}
- public List> GetFolders(string[] folderIds, FilterType filterType = FilterType.None, bool subjectGroup = false, Guid? subjectID = null, string searchText = "", bool searchSubfolders = false, bool checkShare = true)
+ public List> GetFolders(IEnumerable folderIds, FilterType filterType = FilterType.None, bool subjectGroup = false, Guid? subjectID = null, string searchText = "", bool searchSubfolders = false, bool checkShare = true)
{
if (filterType == FilterType.FilesOnly || filterType == FilterType.ByExtension
|| filterType == FilterType.DocumentsOnly || filterType == FilterType.ImagesOnly
@@ -186,9 +186,9 @@ namespace ASC.Files.Thirdparty.Sharpbox
var savedfolder = ProviderInfo.Storage.CreateFolder(MakePath(folder.ID));
return MakeId(savedfolder);
}
- if (folder.ParentFolderID != null)
+ if (folder.FolderID != null)
{
- var parentFolder = GetFolderById(folder.ParentFolderID);
+ var parentFolder = GetFolderById(folder.FolderID);
folder.Title = GetAvailableTitle(folder.Title, parentFolder, IsExist);
@@ -390,7 +390,7 @@ namespace ASC.Files.Thirdparty.Sharpbox
}
else
{
- var parentFolder = GetFolderById(folder.ParentFolderID);
+ var parentFolder = GetFolderById(folder.FolderID);
newTitle = GetAvailableTitle(newTitle, parentFolder, IsExist);
//rename folder
diff --git a/products/ASC.Files/Core/Helpers/Global.cs b/products/ASC.Files/Core/Helpers/Global.cs
index 47f3d64350..dc51782511 100644
--- a/products/ASC.Files/Core/Helpers/Global.cs
+++ b/products/ASC.Files/Core/Helpers/Global.cs
@@ -566,7 +566,7 @@ namespace ASC.Web.Files.Classes
{
var folder = ServiceProvider.GetService>();
folder.Title = folderName;
- folder.ParentFolderID = folderId;
+ folder.FolderID = folderId;
var subFolderId = folderDao.SaveFolder(folder);
diff --git a/products/ASC.Files/Core/Model/ChangeOwnerModel.cs b/products/ASC.Files/Core/Model/ChangeOwnerModel.cs
new file mode 100644
index 0000000000..5c22d18003
--- /dev/null
+++ b/products/ASC.Files/Core/Model/ChangeOwnerModel.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Text.Json;
+
+using ASC.Files.Model;
+
+namespace ASC.Files.Core.Model
+{
+ public class ChangeOwnerModel: BaseBatchModel
+ {
+ public Guid UserId { get; set; }
+ }
+}
diff --git a/products/ASC.Files/Core/Model/FileOperationWraper.cs b/products/ASC.Files/Core/Model/FileOperationWraper.cs
index a61fc76423..f13ce15421 100644
--- a/products/ASC.Files/Core/Model/FileOperationWraper.cs
+++ b/products/ASC.Files/Core/Model/FileOperationWraper.cs
@@ -198,16 +198,16 @@ namespace ASC.Api.Documents
IEnumerable GetFolders(IEnumerable folders)
{
var folderDao = DaoFactory.GetFolderDao();
- return folderDao.GetFolders(folders.ToArray())
- .Select(FolderWrapperHelper.Get)
+ return folderDao.GetFolders(folders)
+ .Select(r => FolderWrapperHelper.Get(r))
.Cast();
}
IEnumerable GetFiles(IEnumerable files)
{
var fileDao = DaoFactory.GetFileDao();
- return fileDao.GetFiles(files.ToArray())
- .Select(FilesWrapperHelper.Get)
+ return fileDao.GetFiles(files)
+ .Select(r => FilesWrapperHelper.Get(r))
.Cast();
}
}
diff --git a/products/ASC.Files/Core/Model/FileWrapper.cs b/products/ASC.Files/Core/Model/FileWrapper.cs
index c159fe4768..51db2954a2 100644
--- a/products/ASC.Files/Core/Model/FileWrapper.cs
+++ b/products/ASC.Files/Core/Model/FileWrapper.cs
@@ -25,8 +25,10 @@
using System;
+using System.Collections.Generic;
using System.Globalization;
-
+using System.Linq;
+
using ASC.Api.Core;
using ASC.Api.Utils;
using ASC.Common;
@@ -171,47 +173,68 @@ namespace ASC.Api.Documents
FileUtility = fileUtility;
}
- public FileWrapper Get(File file)
+ public FileWrapper Get(File file, List, bool>> folders = null)
{
- var result = Get, T>(file);
+ var result = GetFileWrapper(file);
+
result.FolderId = file.FolderID;
if (file.RootFolderType == FolderType.USER
&& !Equals(file.RootFolderCreator, AuthContext.CurrentAccount.ID))
{
result.RootFolderType = FolderType.SHARE;
- var folderDao = DaoFactory.GetFolderDao();
- var parentFolder = folderDao.GetFolder(file.FolderID);
- if (!FileSecurity.CanRead(parentFolder))
- {
- result.FolderId = GlobalFolderHelper.GetFolderShare();
+ var folderDao = DaoFactory.GetFolderDao();
+ FileEntry parentFolder;
+
+ if(folders != null)
+ {
+ var folderWithRight = folders.FirstOrDefault(f => f.Item1.ID.Equals(file.FolderID));
+ if (folderWithRight == null || !folderWithRight.Item2)
+ {
+ result.FolderId = GlobalFolderHelper.GetFolderShare();
+ }
+ }
+ else
+ {
+ parentFolder = folderDao.GetFolder(file.FolderID);
+ if (!FileSecurity.CanRead(parentFolder))
+ {
+ result.FolderId = GlobalFolderHelper.GetFolderShare();
+ }
}
- }
+ }
+
- result.FileExst = FileUtility.GetFileExtension(file.Title);
- result.FileType = FileUtility.GetFileTypeByExtention(result.FileExst);
-
- result.Version = file.Version;
- result.VersionGroup = file.VersionGroup;
- result.ContentLength = file.ContentLengthString;
- result.FileStatus = file.FileStatus;
- result.PureContentLength = file.ContentLength.NullIfDefault();
- result.Comment = file.Comment;
+ return result;
+ }
+
+ private FileWrapper GetFileWrapper(File file)
+ {
+ var result = Get, T>(file);
+
+ result.FileExst = FileUtility.GetFileExtension(file.Title);
+ result.FileType = FileUtility.GetFileTypeByExtention(result.FileExst);
+ result.Version = file.Version;
+ result.VersionGroup = file.VersionGroup;
+ result.ContentLength = file.ContentLengthString;
+ result.FileStatus = file.FileStatus;
+ result.PureContentLength = file.ContentLength.NullIfDefault();
+ result.Comment = file.Comment;
result.Encrypted = file.Encrypted.NullIfDefault();
result.Locked = file.Locked.NullIfDefault();
result.LockedBy = file.LockedBy;
-
- try
- {
- result.ViewUrl = CommonLinkUtility.GetFullAbsolutePath(file.DownloadUrl);
-
- result.WebUrl = CommonLinkUtility.GetFullAbsolutePath(FilesLinkUtility.GetFileWebPreviewUrl(FileUtility, file.Title, file.ID));
- }
- catch (Exception)
- {
- //Don't catch anything here because of httpcontext
- }
-
- return result;
+
+ try
+ {
+ result.ViewUrl = CommonLinkUtility.GetFullAbsolutePath(file.DownloadUrl);
+
+ result.WebUrl = CommonLinkUtility.GetFullAbsolutePath(FilesLinkUtility.GetFileWebPreviewUrl(FileUtility, file.Title, file.ID));
+ }
+ catch (Exception)
+ {
+ //Don't catch anything here because of httpcontext
+ }
+
+ return result;
}
}
}
\ No newline at end of file
diff --git a/products/ASC.Files/Core/Model/FolderContentWrapper.cs b/products/ASC.Files/Core/Model/FolderContentWrapper.cs
index 8ee26e9bb1..b790a2d145 100644
--- a/products/ASC.Files/Core/Model/FolderContentWrapper.cs
+++ b/products/ASC.Files/Core/Model/FolderContentWrapper.cs
@@ -32,6 +32,7 @@ using System.Text.Json.Serialization;
using ASC.Common;
using ASC.Files.Core;
+using ASC.Files.Core.Security;
using ASC.Web.Files.Services.WCFService;
namespace ASC.Api.Documents
@@ -104,20 +105,29 @@ namespace ASC.Api.Documents
[Scope]
public class FolderContentWrapperHelper
- {
+ {
+ private FileSecurity FileSecurity { get; }
+ private IDaoFactory DaoFactory { get; }
private FileWrapperHelper FileWrapperHelper { get; }
private FolderWrapperHelper FolderWrapperHelper { get; }
- public FolderContentWrapperHelper(
+ public FolderContentWrapperHelper(
+ FileSecurity fileSecurity,
+ IDaoFactory daoFactory,
FileWrapperHelper fileWrapperHelper,
FolderWrapperHelper folderWrapperHelper)
- {
+ {
+ FileSecurity = fileSecurity;
+ DaoFactory = daoFactory;
FileWrapperHelper = fileWrapperHelper;
FolderWrapperHelper = folderWrapperHelper;
}
public FolderContentWrapper Get(DataWrapper folderItems, int startIndex)
- {
+ {
+ var foldersIntWithRights = GetFoldersIntWithRights();
+ var foldersStringWithRights = GetFoldersIntWithRights();
+
var result = new FolderContentWrapper
{
Files = folderItems.Entries
@@ -127,11 +137,11 @@ namespace ASC.Api.Documents
FileEntryWrapper wrapper = null;
if (r is File fol1)
{
- wrapper = FileWrapperHelper.Get(fol1);
+ wrapper = FileWrapperHelper.Get(fol1, foldersIntWithRights);
}
if (r is File fol2)
{
- wrapper = FileWrapperHelper.Get(fol2);
+ wrapper = FileWrapperHelper.Get(fol2, foldersStringWithRights);
}
return wrapper;
@@ -145,11 +155,11 @@ namespace ASC.Api.Documents
FileEntryWrapper wrapper = null;
if (r is Folder fol1)
{
- wrapper = FolderWrapperHelper.Get(fol1);
+ wrapper = FolderWrapperHelper.Get(fol1, foldersIntWithRights);
}
if (r is Folder fol2)
{
- wrapper = FolderWrapperHelper.Get(fol2);
+ wrapper = FolderWrapperHelper.Get(fol2, foldersStringWithRights);
}
return wrapper;
@@ -164,7 +174,15 @@ namespace ASC.Api.Documents
result.Total = folderItems.Total;
result.New = folderItems.New;
- return result;
+ return result;
+
+
+ List, bool>> GetFoldersIntWithRights()
+ {
+ var folderDao = DaoFactory.GetFolderDao();
+ var folders = folderDao.GetFolders(folderItems.Entries.OfType>().Select(r => r.FolderID).ToList());
+ return FileSecurity.CanRead(folders);
+ }
}
}
diff --git a/products/ASC.Files/Core/Model/FolderWrapper.cs b/products/ASC.Files/Core/Model/FolderWrapper.cs
index c0080d17a8..dadcfc6656 100644
--- a/products/ASC.Files/Core/Model/FolderWrapper.cs
+++ b/products/ASC.Files/Core/Model/FolderWrapper.cs
@@ -25,7 +25,9 @@
using System;
-
+using System.Collections.Generic;
+using System.Linq;
+
using ASC.Api.Core;
using ASC.Api.Utils;
using ASC.Common;
@@ -113,27 +115,49 @@ namespace ASC.Api.Documents
GlobalFolderHelper = globalFolderHelper;
}
- public FolderWrapper Get(Folder folder)
+ public FolderWrapper Get(Folder folder, List, bool>> folders = null)
{
- var result = Get, T>(folder);
- result.ParentId = folder.ParentFolderID;
+ var result = GetFolderWrapper(folder);
+
+ result.ParentId = folder.FolderID;
+
if (folder.RootFolderType == FolderType.USER
&& !Equals(folder.RootFolderCreator, AuthContext.CurrentAccount.ID))
{
result.RootFolderType = FolderType.SHARE;
- var folderDao = DaoFactory.GetFolderDao();
- var parentFolder = folderDao.GetFolder(folder.ParentFolderID);
- if (!FileSecurity.CanRead(parentFolder))
- result.ParentId = GlobalFolderHelper.GetFolderShare();
+ var folderDao = DaoFactory.GetFolderDao();
+ FileEntry parentFolder;
+
+ if (folders != null)
+ {
+ var folderWithRight = folders.FirstOrDefault(f => f.Item1.ID.Equals(folder.FolderID));
+ if (folderWithRight == null || !folderWithRight.Item2)
+ {
+ result.ParentId = GlobalFolderHelper.GetFolderShare();
+ }
+ }
+ else
+ {
+ parentFolder = folderDao.GetFolder(folder.FolderID);
+ if (!FileSecurity.CanRead(parentFolder))
+ {
+ result.ParentId = GlobalFolderHelper.GetFolderShare();
+ }
+ }
}
+ return result;
+ }
+
+ private FolderWrapper GetFolderWrapper(Folder folder)
+ {
+ var result = Get, T>(folder);
result.FilesCount = folder.TotalFiles;
result.FoldersCount = folder.TotalSubFolders;
result.IsShareable = folder.Shareable.NullIfDefault();
- result.New = folder.NewForMe;
-
- return result;
+ result.New = folder.NewForMe;
+ return result;
}
}
}
\ No newline at end of file
diff --git a/products/ASC.Files/Core/Services/DocumentService/Configuration.cs b/products/ASC.Files/Core/Services/DocumentService/Configuration.cs
index c00070f834..847c5ec5ad 100644
--- a/products/ASC.Files/Core/Services/DocumentService/Configuration.cs
+++ b/products/ASC.Files/Core/Services/DocumentService/Configuration.cs
@@ -266,7 +266,7 @@ namespace ASC.Web.Files.Services.DocumentService
try
{
- return FileSharing.GetSharedInfoShort