From 717f28608f2884663b6184b20f1538baa3f7255e Mon Sep 17 00:00:00 2001 From: Milos Holba Date: Tue, 10 Aug 2021 17:50:08 +0200 Subject: [PATCH 1/7] folder upload --- public/mix-manifest.json | 387 +++++------------- resources/js/helpers.js | 72 +++- src/Domain/Files/Actions/UploadFileAction.php | 92 ++++- src/Domain/Files/Requests/UploadRequest.php | 1 + 4 files changed, 252 insertions(+), 300 deletions(-) diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 94879066..0a481b87 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,300 +1,99 @@ { "/js/main.js": "/js/main.js", "/css/app.css": "/css/app.css", - "/chunks/admin.js": "/chunks/admin.js?id=f48be89654bdd5857619", - "/chunks/admin-account.js": "/chunks/admin-account.js?id=e96160a07e0045280e2c", - "/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~c7a13fb0.js": "/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~c7a13fb0.js?id=91adf6625e49f0b93731", - "/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~a7b1c983.js": "/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~a7b1c983.js?id=66c2c205086f658115d7", - "/chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/~eeab5771.js": "/chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/~eeab5771.js?id=1afc2a786d4a7222405e", - "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.js?id=5b0057f770c45f0ffd92", - "/chunks/admin~chunks/files~chunks/settings~chunks/shared/file-browser.js": "/chunks/admin~chunks/files~chunks/settings~chunks/shared/file-browser.js?id=d5c9e6104890d4a17143", - "/chunks/admin~chunks/platform.js": "/chunks/admin~chunks/platform.js?id=2f834ba9277e999fee7a", - "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js?id=00b5d7aaaf17b263c7fe", - "/chunks/admin~chunks/platform~chunks/shared.js": "/chunks/admin~chunks/platform~chunks/shared.js?id=05abca56520b94ee2c21", - "/chunks/app-appearance.js": "/chunks/app-appearance.js?id=fafa9f673208f0b861d6", - "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js?id=075ff381293e1a20d167", - "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js?id=fd6936cca8f3b8b4de9a", - "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~b9e5655a.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~b9e5655a.js?id=44b987551c03b18b4ca7", - "/chunks/app-billings.js": "/chunks/app-billings.js?id=2aaaa47239358f21ae3b", - "/chunks/app-email.js": "/chunks/app-email.js?id=fb4895bc3cb1147a009f", - "/chunks/app-index.js": "/chunks/app-index.js?id=934f0c4e3afa1d6085e2", - "/chunks/app-language.js": "/chunks/app-language.js?id=91689fc67cbc81b3701b", - "/chunks/app-language~chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pag~824d674f.js": "/chunks/app-language~chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pag~824d674f.js?id=1c3fefab1daa3f807f15", - "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~0d12a0aa.js": "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~0d12a0aa.js?id=4b583e0677bf48a81557", - "/chunks/app-others.js": "/chunks/app-others.js?id=ad84d8d637cedb14ce81", - "/chunks/app-payments.js": "/chunks/app-payments.js?id=c9e8129dade16a2a347c", - "/chunks/app-settings.js": "/chunks/app-settings.js?id=049741bb0d8712c772dd", - "/chunks/app-setup.js": "/chunks/app-setup.js?id=acdf614f7eab3d58419b", - "/chunks/billings-detail.js": "/chunks/billings-detail.js?id=de9c6ee5c8a56666b164", - "/chunks/contact-us.js": "/chunks/contact-us.js?id=391de80c15895ae56421", - "/chunks/contact-us~chunks/dynamic-page~chunks/homepage.js": "/chunks/contact-us~chunks/dynamic-page~chunks/homepage.js?id=a964545445eef7615f9f", - "/chunks/create-new-password.js": "/chunks/create-new-password.js?id=9257ac3b9281c38c469f", - "/chunks/dashboard.js": "/chunks/dashboard.js?id=941a981972a5f13723f6", - "/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plan-subscribers~chunks/plans~chunks/settings-i~0e2a0654.js": "/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plan-subscribers~chunks/plans~chunks/settings-i~0e2a0654.js?id=55b9119cb98263cc3677", - "/chunks/database.js": "/chunks/database.js?id=8375359353f7c565bab6", - "/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=1141f8e183483da82e8a", - "/chunks/email-verified.js": "/chunks/email-verified.js?id=b80cafb3a468e55c45eb", - "/chunks/environment-setup.js": "/chunks/environment-setup.js?id=9290f1443c67945fb50d", - "/chunks/files.js": "/chunks/files.js?id=54c6dddb471986e202f3", - "/chunks/files~chunks/platform~chunks/shared/file-browser.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.js?id=9309e2d3ab4df7612d1a", - "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.js": "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.js?id=8a06b7d864acff647f8c", - "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.js": "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.js?id=0de0b81edf0bb5d4617d", - "/chunks/files~chunks/settings-subscription~chunks/shared/file-browser~chunks/user-subscription.js": "/chunks/files~chunks/settings-subscription~chunks/shared/file-browser~chunks/user-subscription.js?id=c5ec9502bcfad35c502e", - "/chunks/files~chunks/shared/file-browser.js": "/chunks/files~chunks/shared/file-browser.js?id=5c31a056cb557ade51c2", - "/chunks/files~chunks/shared/file-browser~chunks/shared/single-file.js": "/chunks/files~chunks/shared/file-browser~chunks/shared/single-file.js?id=ad09e3f973e4db0411f1", - "/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=8871529af0da8193d3a3", - "/chunks/homepage.js": "/chunks/homepage.js?id=d29b9f09d08d673dff75", - "/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js?id=59767b46f2e2f5de7a06", - "/chunks/invoices.js": "/chunks/invoices.js?id=35644a6bac5a727163fa", - "/chunks/not-found.js": "/chunks/not-found.js?id=a45c8ddab87d7bce723a", - "/chunks/page-edit.js": "/chunks/page-edit.js?id=420790a0c44680471a6f", - "/chunks/pages.js": "/chunks/pages.js?id=e9f065a730c290bbc466", - "/chunks/plan.js": "/chunks/plan.js?id=b4cfa98dcd72d0daf2b1", - "/chunks/plan-create.js": "/chunks/plan-create.js?id=9e9f90ad223f83921e16", - "/chunks/plan-delete.js": "/chunks/plan-delete.js?id=df66472f7a9121f95e71", - "/chunks/plan-settings.js": "/chunks/plan-settings.js?id=146515010333316075d6", - "/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js?id=320263fdc9aef3a3be60", - "/chunks/plans.js": "/chunks/plans.js?id=0533e61243eeb87b3e8e", - "/chunks/platform.js": "/chunks/platform.js?id=721cb528aaff1d69d58f", - "/chunks/platform~chunks/shared.js": "/chunks/platform~chunks/shared.js?id=e5dcf772403613fce36c", - "/chunks/profile.js": "/chunks/profile.js?id=7186e04a6f0f5b6bf470", - "/chunks/profile~chunks/settings-password.js": "/chunks/profile~chunks/settings-password.js?id=ddb7be518c092ed392ca", - "/chunks/purchase-code.js": "/chunks/purchase-code.js?id=85217c42d79948008ed1", - "/chunks/settings.js": "/chunks/settings.js?id=f7a9fd53ae30638964c2", - "/chunks/settings-create-payment-methods.js": "/chunks/settings-create-payment-methods.js?id=8d9c0e1f7c851ba47162", - "/chunks/settings-invoices.js": "/chunks/settings-invoices.js?id=85aebd3caecf9e1fa467", - "/chunks/settings-password.js": "/chunks/settings-password.js?id=5df9d33dca4d54165b4f", - "/chunks/settings-payment-methods.js": "/chunks/settings-payment-methods.js?id=9f4049d97664766feccb", - "/chunks/settings-storage.js": "/chunks/settings-storage.js?id=b8b143cad82b81253e4f", - "/chunks/settings-subscription.js": "/chunks/settings-subscription.js?id=11827a0027b9b7d8462a", - "/chunks/settings~chunks/settings-password.js": "/chunks/settings~chunks/settings-password.js?id=680f99e2021f19ff1af8", - "/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=8a499266af9527039582", - "/chunks/shared.js": "/chunks/shared.js?id=7524b7a783d4aed23794", - "/chunks/shared/authenticate.js": "/chunks/shared/authenticate.js?id=888919dfd3b48bf68608", - "/chunks/shared/file-browser.js": "/chunks/shared/file-browser.js?id=0f6c34512740fca7e007", - "/chunks/shared/single-file.js": "/chunks/shared/single-file.js?id=7886247bb35deada28a2", - "/chunks/sign-in.js": "/chunks/sign-in.js?id=6e5c9d01fd2214d21de2", - "/chunks/sign-up.js": "/chunks/sign-up.js?id=0838eae8d5c33f41789c", - "/chunks/stripe-credentials.js": "/chunks/stripe-credentials.js?id=fc62992171c9d72c3f4c", - "/chunks/subscription-plans.js": "/chunks/subscription-plans.js?id=1f3df9ae55ca315928d4", - "/chunks/subscription-service.js": "/chunks/subscription-service.js?id=1abfefb47d2e34107b64", - "/chunks/upgrade-billing.js": "/chunks/upgrade-billing.js?id=5a2a439ba83326bf66d4", - "/chunks/upgrade-billing~chunks/upgrade-plan.js": "/chunks/upgrade-billing~chunks/upgrade-plan.js?id=a1b8f21b2af3ac5972cb", - "/chunks/upgrade-plan.js": "/chunks/upgrade-plan.js?id=8cb10fc2721ecdcb4cf7", - "/chunks/user.js": "/chunks/user.js?id=fcaa01ba6ce8844132f0", - "/chunks/user-create.js": "/chunks/user-create.js?id=8bde87c67f5d0012dc34", - "/chunks/user-delete.js": "/chunks/user-delete.js?id=d71abbc37b8eef88fe0a", - "/chunks/user-detail.js": "/chunks/user-detail.js?id=dd8e5ca087058f9cec96", - "/chunks/user-invoices.js": "/chunks/user-invoices.js?id=eb7559b64aa9b3eef405", - "/chunks/user-password.js": "/chunks/user-password.js?id=0b6aedd9265f71ba2c8e", - "/chunks/user-storage.js": "/chunks/user-storage.js?id=2ec04730d677842c8d10", - "/chunks/user-subscription.js": "/chunks/user-subscription.js?id=fc7ddaca95c26ec5c217", - "/chunks/users.js": "/chunks/users.js?id=720f418eef0585bdb419", - "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~6c99cc74.js": "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~6c99cc74.js?id=0a6998f62a162c08a48f", - "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~cfac0ed6.js": "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~cfac0ed6.js?id=f66c7653a087fe1f3320", - "/vendors~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.js": "/vendors~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.js?id=9d10953d3b088324dfe3", - "/vendors~chunks/platform~chunks/shared.js": "/vendors~chunks/platform~chunks/shared.js?id=7d09e0b0658e140a7ffa", - "/chunks/platform.2fb97113768ec6ac8cf4.hot-update.js": "/chunks/platform.2fb97113768ec6ac8cf4.hot-update.js", - "/chunks/platform.269c296529f1e0bebfbc.hot-update.js": "/chunks/platform.269c296529f1e0bebfbc.hot-update.js", - "/js/main.fbb839974ed1b2dceb01.hot-update.js": "/js/main.fbb839974ed1b2dceb01.hot-update.js", - "/js/main.a16169bc4e06eb7f5dc9.hot-update.js": "/js/main.a16169bc4e06eb7f5dc9.hot-update.js", - "/js/main.fb460478cb691bafeaf9.hot-update.js": "/js/main.fb460478cb691bafeaf9.hot-update.js", - "/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~39825672.js": "/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~39825672.js?id=6c16b40191c43d6bd8ee", - "/chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/~3e4fdd8b.js": "/chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/~3e4fdd8b.js?id=f580c1668c202a4542d2", - "/chunks/status-check.js": "/chunks/status-check.js?id=635d75468141b45bf14c", + "/chunks/admin.js": "/chunks/admin.js?id=3f98990422dbab9dbf34", + "/chunks/admin-account.js": "/chunks/admin-account.js?id=657f16bd8e1acd9d1a3d", + "/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~c7a13fb0.js": "/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~c7a13fb0.js?id=47b736a4006170db9cc9", + "/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~39825672.js": "/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~39825672.js?id=ac82879c90ef33cded21", + "/chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/~3e4fdd8b.js": "/chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/~3e4fdd8b.js?id=a121afabdc4d8de9c1f7", + "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.js?id=eea1577eda5e771484d8", + "/chunks/admin~chunks/files~chunks/settings~chunks/shared/file-browser.js": "/chunks/admin~chunks/files~chunks/settings~chunks/shared/file-browser.js?id=1ad1511e2c19f07c941f", + "/chunks/admin~chunks/platform.js": "/chunks/admin~chunks/platform.js?id=e1d0128a7dbb3af3157c", + "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js?id=f82db3bd658e9de4f4f1", + "/chunks/admin~chunks/platform~chunks/shared.js": "/chunks/admin~chunks/platform~chunks/shared.js?id=cea6a743ded138fca3a6", + "/chunks/app-appearance.js": "/chunks/app-appearance.js?id=5b69045480cf2cb8d2bd", + "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js?id=02b9931f259b906ac2d9", + "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js?id=1f9d44e25fc5811a51b7", + "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~b9e5655a.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~b9e5655a.js?id=55b682280a23671bea93", + "/chunks/app-billings.js": "/chunks/app-billings.js?id=ad490124acc0a2c3c925", + "/chunks/app-email.js": "/chunks/app-email.js?id=bcfb381fb763eb668df6", + "/chunks/app-index.js": "/chunks/app-index.js?id=1780eefb0678fe425a1a", + "/chunks/app-language.js": "/chunks/app-language.js?id=937a26e99e4d3f31b438", + "/chunks/app-language~chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pag~824d674f.js": "/chunks/app-language~chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pag~824d674f.js?id=375b2e45b2296e58e31e", + "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~0d12a0aa.js": "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~0d12a0aa.js?id=ebd1edc890c05eb81fef", + "/chunks/app-others.js": "/chunks/app-others.js?id=eec75f05bf6f8242a3cb", + "/chunks/app-payments.js": "/chunks/app-payments.js?id=3e0f2ca2c1455e649865", + "/chunks/app-settings.js": "/chunks/app-settings.js?id=61fe8a349fdbe4350412", + "/chunks/app-setup.js": "/chunks/app-setup.js?id=cb94f9eccb9e60bbdd4a", + "/chunks/billings-detail.js": "/chunks/billings-detail.js?id=61fac42892325ca47c5e", + "/chunks/contact-us.js": "/chunks/contact-us.js?id=70d47e4a4597ec74f7f3", + "/chunks/contact-us~chunks/dynamic-page~chunks/homepage.js": "/chunks/contact-us~chunks/dynamic-page~chunks/homepage.js?id=628a608d02ff0a7f5c98", + "/chunks/create-new-password.js": "/chunks/create-new-password.js?id=5f6259e27f8e8c303db9", + "/chunks/dashboard.js": "/chunks/dashboard.js?id=29965a62768846ad16e2", + "/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plan-subscribers~chunks/plans~chunks/settings-i~0e2a0654.js": "/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plan-subscribers~chunks/plans~chunks/settings-i~0e2a0654.js?id=5a59241fc26e0786914a", + "/chunks/database.js": "/chunks/database.js?id=c03802f94da1a5b0170e", + "/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=0934abebc12f0a64eca6", + "/chunks/email-verified.js": "/chunks/email-verified.js?id=a03f204dd83f961cdb2e", + "/chunks/environment-setup.js": "/chunks/environment-setup.js?id=1a2b1e416a98780760c7", + "/chunks/files.js": "/chunks/files.js?id=609afac993c345de0973", + "/chunks/files~chunks/platform~chunks/shared/file-browser.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.js?id=e24c9a1621294ede42c7", + "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.js": "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.js?id=3a42f8b727c731a4f4b7", + "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.js": "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.js?id=864d7825edf1713647ce", + "/chunks/files~chunks/settings-subscription~chunks/shared/file-browser~chunks/user-subscription.js": "/chunks/files~chunks/settings-subscription~chunks/shared/file-browser~chunks/user-subscription.js?id=af81ed63f1b76be8fb28", + "/chunks/files~chunks/shared/file-browser.js": "/chunks/files~chunks/shared/file-browser.js?id=0db6fc5291b08359f86b", + "/chunks/files~chunks/shared/file-browser~chunks/shared/single-file.js": "/chunks/files~chunks/shared/file-browser~chunks/shared/single-file.js?id=3691d6cb7884d036cabf", + "/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=2021c38fc0e789aa345e", + "/chunks/homepage.js": "/chunks/homepage.js?id=076d3eb855c751b7ee07", + "/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js?id=54d4ec535d76bb7f03bd", + "/chunks/invoices.js": "/chunks/invoices.js?id=3bf232f088987c3d92f0", + "/chunks/not-found.js": "/chunks/not-found.js?id=98d727599bbaef51d057", + "/chunks/page-edit.js": "/chunks/page-edit.js?id=dd1959e566c12268ba53", + "/chunks/pages.js": "/chunks/pages.js?id=02a10c3af22435b7e1a3", + "/chunks/plan.js": "/chunks/plan.js?id=df1f27e85d997c0d7612", + "/chunks/plan-create.js": "/chunks/plan-create.js?id=2ace8706b80b4efd3b36", + "/chunks/plan-delete.js": "/chunks/plan-delete.js?id=fdb08c4a21b03dbb18e3", + "/chunks/plan-settings.js": "/chunks/plan-settings.js?id=f8ab42784c576aaa4de5", + "/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js?id=c66667de4875c83fc683", + "/chunks/plans.js": "/chunks/plans.js?id=c62a7cd52909a8d3d5ec", + "/chunks/platform.js": "/chunks/platform.js?id=ffd07d246a950549615d", + "/chunks/platform~chunks/shared.js": "/chunks/platform~chunks/shared.js?id=5dc516aa1da8568071c4", + "/chunks/profile.js": "/chunks/profile.js?id=fb9619ec0e08588c6466", + "/chunks/profile~chunks/settings-password.js": "/chunks/profile~chunks/settings-password.js?id=1037504cc66168509859", + "/chunks/purchase-code.js": "/chunks/purchase-code.js?id=4dfff616865cc6fc89a4", + "/chunks/settings.js": "/chunks/settings.js?id=1d42f5ff8af2c66ecfc5", + "/chunks/settings-create-payment-methods.js": "/chunks/settings-create-payment-methods.js?id=7fa237d9c3d49342dca0", + "/chunks/settings-invoices.js": "/chunks/settings-invoices.js?id=6a5c1fbbf1c483abfcf2", + "/chunks/settings-password.js": "/chunks/settings-password.js?id=0d749407b869265a6f4a", + "/chunks/settings-payment-methods.js": "/chunks/settings-payment-methods.js?id=b37f8eb2cecd0127b041", + "/chunks/settings-storage.js": "/chunks/settings-storage.js?id=f002015890bac849e16a", + "/chunks/settings-subscription.js": "/chunks/settings-subscription.js?id=7fd67e2b1f86c37cc1ce", + "/chunks/settings~chunks/settings-password.js": "/chunks/settings~chunks/settings-password.js?id=c477f684d4c8dc961ec6", + "/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=8e52cc8d41e535d2f467", + "/chunks/shared.js": "/chunks/shared.js?id=0bc71cd0c7f7bfdd66ea", + "/chunks/shared/authenticate.js": "/chunks/shared/authenticate.js?id=c2c4c229763d61afc0ea", + "/chunks/shared/file-browser.js": "/chunks/shared/file-browser.js?id=0538debc46c174dd4f63", + "/chunks/shared/single-file.js": "/chunks/shared/single-file.js?id=82b02124c03cf92d0ef0", + "/chunks/sign-in.js": "/chunks/sign-in.js?id=780623e081caef16c442", + "/chunks/sign-up.js": "/chunks/sign-up.js?id=d4e4e80e2521fa023822", + "/chunks/status-check.js": "/chunks/status-check.js?id=e7890fb2a5e0b5ef0318", + "/chunks/stripe-credentials.js": "/chunks/stripe-credentials.js?id=32a027af3dc7dd0fad81", + "/chunks/subscription-plans.js": "/chunks/subscription-plans.js?id=90c05434e2e09cf3a0cf", + "/chunks/subscription-service.js": "/chunks/subscription-service.js?id=36c258488fb3a40f50fc", + "/chunks/upgrade-billing.js": "/chunks/upgrade-billing.js?id=6bac4e2c36cd14f40248", + "/chunks/upgrade-billing~chunks/upgrade-plan.js": "/chunks/upgrade-billing~chunks/upgrade-plan.js?id=50f63c27c341c2b11284", + "/chunks/upgrade-plan.js": "/chunks/upgrade-plan.js?id=62ce520a73a0f48c0b20", + "/chunks/user.js": "/chunks/user.js?id=9730d14f8a7c109ad4b2", + "/chunks/user-create.js": "/chunks/user-create.js?id=c2ca9f83633aae10f33f", + "/chunks/user-delete.js": "/chunks/user-delete.js?id=441a3603dde4796f5e90", + "/chunks/user-detail.js": "/chunks/user-detail.js?id=54b67d58675b9d4e809c", + "/chunks/user-invoices.js": "/chunks/user-invoices.js?id=91b0db25520298aa135d", + "/chunks/user-password.js": "/chunks/user-password.js?id=07ba444205bf26321688", + "/chunks/user-storage.js": "/chunks/user-storage.js?id=4118e69e09975fe0d3fa", + "/chunks/user-subscription.js": "/chunks/user-subscription.js?id=ace7075e676ce4afecdf", + "/chunks/users.js": "/chunks/users.js?id=5e7b05bb7b8ffc784ee4", "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~25aaad73.js": "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~25aaad73.js?id=0de519ac9b2c2754e0c2", "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~81c8aec0.js": "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~81c8aec0.js?id=ca3b57f70682c1c315f7", - "/js/main.c2ea1287545920d2d1d7.hot-update.js": "/js/main.c2ea1287545920d2d1d7.hot-update.js", - "/chunks/status-check.63fa29d966c15c677ded.hot-update.js": "/chunks/status-check.63fa29d966c15c677ded.hot-update.js", - "/chunks/status-check.56f7ef8040cf10183052.hot-update.js": "/chunks/status-check.56f7ef8040cf10183052.hot-update.js", - "/chunks/status-check.8eac1daf25a1315057b5.hot-update.js": "/chunks/status-check.8eac1daf25a1315057b5.hot-update.js", - "/chunks/status-check.e69a44900306402e2575.hot-update.js": "/chunks/status-check.e69a44900306402e2575.hot-update.js", - "/chunks/status-check.0335abb595171fb8febd.hot-update.js": "/chunks/status-check.0335abb595171fb8febd.hot-update.js", - "/chunks/status-check.925d2eb52c3b6f1092fc.hot-update.js": "/chunks/status-check.925d2eb52c3b6f1092fc.hot-update.js", - "/chunks/status-check.fa734d0ff0501d95d78a.hot-update.js": "/chunks/status-check.fa734d0ff0501d95d78a.hot-update.js", - "/chunks/status-check.b52a65d0854eba152db0.hot-update.js": "/chunks/status-check.b52a65d0854eba152db0.hot-update.js", - "/chunks/status-check.94a238343d32a3593730.hot-update.js": "/chunks/status-check.94a238343d32a3593730.hot-update.js", - "/chunks/status-check.d26d16eb0f805934099e.hot-update.js": "/chunks/status-check.d26d16eb0f805934099e.hot-update.js", - "/chunks/status-check.817d38d76d20d9b6b999.hot-update.js": "/chunks/status-check.817d38d76d20d9b6b999.hot-update.js", - "/chunks/status-check.b23cf9da9024262c156c.hot-update.js": "/chunks/status-check.b23cf9da9024262c156c.hot-update.js", - "/chunks/status-check.3caf4f948b9fb43bbe84.hot-update.js": "/chunks/status-check.3caf4f948b9fb43bbe84.hot-update.js", - "/chunks/status-check.fd48ccab164693fcdea5.hot-update.js": "/chunks/status-check.fd48ccab164693fcdea5.hot-update.js", - "/chunks/status-check.344bf3c13a2e36441be0.hot-update.js": "/chunks/status-check.344bf3c13a2e36441be0.hot-update.js", - "/chunks/status-check.ea968d6ece69aae07f08.hot-update.js": "/chunks/status-check.ea968d6ece69aae07f08.hot-update.js", - "/chunks/status-check.743a142fe4730f6d72af.hot-update.js": "/chunks/status-check.743a142fe4730f6d72af.hot-update.js", - "/chunks/status-check.5a6d6b03ac02d0701914.hot-update.js": "/chunks/status-check.5a6d6b03ac02d0701914.hot-update.js", - "/chunks/status-check.82222dc83f1b97faa180.hot-update.js": "/chunks/status-check.82222dc83f1b97faa180.hot-update.js", - "/chunks/status-check.12a7818cafb4f559e3ca.hot-update.js": "/chunks/status-check.12a7818cafb4f559e3ca.hot-update.js", - "/chunks/status-check.4f234d9cc5aa1f7383d6.hot-update.js": "/chunks/status-check.4f234d9cc5aa1f7383d6.hot-update.js", - "/chunks/status-check.a003a3da687f128f1e7e.hot-update.js": "/chunks/status-check.a003a3da687f128f1e7e.hot-update.js", - "/chunks/status-check.153b00e47876739069e3.hot-update.js": "/chunks/status-check.153b00e47876739069e3.hot-update.js", - "/chunks/status-check.2bae6095b187aef98c4a.hot-update.js": "/chunks/status-check.2bae6095b187aef98c4a.hot-update.js", - "/chunks/status-check.117479536341a6383292.hot-update.js": "/chunks/status-check.117479536341a6383292.hot-update.js", - "/chunks/status-check.2b4d86d0cae4f430abca.hot-update.js": "/chunks/status-check.2b4d86d0cae4f430abca.hot-update.js", - "/chunks/status-check.21ec11073ec3500f7ba1.hot-update.js": "/chunks/status-check.21ec11073ec3500f7ba1.hot-update.js", - "/chunks/status-check.2f86dfe4fe2abec46c5e.hot-update.js": "/chunks/status-check.2f86dfe4fe2abec46c5e.hot-update.js", - "/chunks/status-check.5773c30fb2fcb9d05689.hot-update.js": "/chunks/status-check.5773c30fb2fcb9d05689.hot-update.js", - "/chunks/status-check.03a83305772f7918d123.hot-update.js": "/chunks/status-check.03a83305772f7918d123.hot-update.js", - "/chunks/status-check.21bdb0e4207c0a40f7f6.hot-update.js": "/chunks/status-check.21bdb0e4207c0a40f7f6.hot-update.js", - "/chunks/status-check.656aa08d4bae5f1c3df3.hot-update.js": "/chunks/status-check.656aa08d4bae5f1c3df3.hot-update.js", - "/chunks/status-check.5211425a983b819363c7.hot-update.js": "/chunks/status-check.5211425a983b819363c7.hot-update.js", - "/chunks/status-check.859628c5c6992d3bb018.hot-update.js": "/chunks/status-check.859628c5c6992d3bb018.hot-update.js", - "/chunks/status-check.78422de75fed79be3951.hot-update.js": "/chunks/status-check.78422de75fed79be3951.hot-update.js", - "/chunks/status-check.908af3c7f8f9a7b1ae21.hot-update.js": "/chunks/status-check.908af3c7f8f9a7b1ae21.hot-update.js", - "/chunks/status-check.cbdef22c5c6001f2d227.hot-update.js": "/chunks/status-check.cbdef22c5c6001f2d227.hot-update.js", - "/chunks/status-check.62eafd6d519bd018414b.hot-update.js": "/chunks/status-check.62eafd6d519bd018414b.hot-update.js", - "/chunks/status-check.4083ee0f0450741e34b3.hot-update.js": "/chunks/status-check.4083ee0f0450741e34b3.hot-update.js", - "/chunks/status-check.c5fc51f63061817cc012.hot-update.js": "/chunks/status-check.c5fc51f63061817cc012.hot-update.js", - "/chunks/status-check.6367aec2f0f20b55910e.hot-update.js": "/chunks/status-check.6367aec2f0f20b55910e.hot-update.js", - "/chunks/status-check.0332955397de443c048f.hot-update.js": "/chunks/status-check.0332955397de443c048f.hot-update.js", - "/chunks/status-check.27d85b5ebb3b6e946930.hot-update.js": "/chunks/status-check.27d85b5ebb3b6e946930.hot-update.js", - "/chunks/status-check.4de407b5ef2da57f3d29.hot-update.js": "/chunks/status-check.4de407b5ef2da57f3d29.hot-update.js", - "/chunks/status-check.24f6388ea8eb94ebe753.hot-update.js": "/chunks/status-check.24f6388ea8eb94ebe753.hot-update.js", - "/chunks/status-check.6e32f854037eb3962c05.hot-update.js": "/chunks/status-check.6e32f854037eb3962c05.hot-update.js", - "/chunks/status-check.beab2f037dc3451bd183.hot-update.js": "/chunks/status-check.beab2f037dc3451bd183.hot-update.js", - "/chunks/status-check.8d938d248630f003d0f0.hot-update.js": "/chunks/status-check.8d938d248630f003d0f0.hot-update.js", - "/chunks/status-check.6e64aab3299cb4187df4.hot-update.js": "/chunks/status-check.6e64aab3299cb4187df4.hot-update.js", - "/chunks/status-check.f02f451b6a39b1505420.hot-update.js": "/chunks/status-check.f02f451b6a39b1505420.hot-update.js", - "/chunks/status-check.41a0d8d8ff82a12822d5.hot-update.js": "/chunks/status-check.41a0d8d8ff82a12822d5.hot-update.js", - "/chunks/status-check.9e5c61113daf0ef6e8a7.hot-update.js": "/chunks/status-check.9e5c61113daf0ef6e8a7.hot-update.js", - "/chunks/status-check.04b816923d6220da8bcd.hot-update.js": "/chunks/status-check.04b816923d6220da8bcd.hot-update.js", - "/chunks/status-check.3d05edacfae90f309828.hot-update.js": "/chunks/status-check.3d05edacfae90f309828.hot-update.js", - "/chunks/status-check.aaebee1463c6323bbc6a.hot-update.js": "/chunks/status-check.aaebee1463c6323bbc6a.hot-update.js", - "/chunks/status-check.70cbffa431377a3150be.hot-update.js": "/chunks/status-check.70cbffa431377a3150be.hot-update.js", - "/chunks/status-check.71df47da915040cf2118.hot-update.js": "/chunks/status-check.71df47da915040cf2118.hot-update.js", - "/chunks/status-check.818828709ad87794fbe9.hot-update.js": "/chunks/status-check.818828709ad87794fbe9.hot-update.js", - "/chunks/status-check.133fe71e1cb3f84ee1e4.hot-update.js": "/chunks/status-check.133fe71e1cb3f84ee1e4.hot-update.js", - "/chunks/status-check.5f3da43accc8be3d1a2b.hot-update.js": "/chunks/status-check.5f3da43accc8be3d1a2b.hot-update.js", - "/chunks/status-check.028c5b059149a81f7787.hot-update.js": "/chunks/status-check.028c5b059149a81f7787.hot-update.js", - "/chunks/status-check.17d9938802d2e0de939e.hot-update.js": "/chunks/status-check.17d9938802d2e0de939e.hot-update.js", - "/chunks/status-check.55864bdb9120e9c5dec2.hot-update.js": "/chunks/status-check.55864bdb9120e9c5dec2.hot-update.js", - "/chunks/status-check.89f667b0b909a3f26fdc.hot-update.js": "/chunks/status-check.89f667b0b909a3f26fdc.hot-update.js", - "/chunks/status-check.046ee03118743db52823.hot-update.js": "/chunks/status-check.046ee03118743db52823.hot-update.js", - "/chunks/status-check.369a05557ff60fd9dc18.hot-update.js": "/chunks/status-check.369a05557ff60fd9dc18.hot-update.js", - "/chunks/status-check.75d1417fa31fbbcfda5c.hot-update.js": "/chunks/status-check.75d1417fa31fbbcfda5c.hot-update.js", - "/chunks/status-check.2556456bff5ae93f32ed.hot-update.js": "/chunks/status-check.2556456bff5ae93f32ed.hot-update.js", - "/chunks/status-check.83ba79669c740c10b6ee.hot-update.js": "/chunks/status-check.83ba79669c740c10b6ee.hot-update.js", - "/chunks/status-check.09bab771f6e1f18dab46.hot-update.js": "/chunks/status-check.09bab771f6e1f18dab46.hot-update.js", - "/chunks/status-check.02c1726eaaded87b4c41.hot-update.js": "/chunks/status-check.02c1726eaaded87b4c41.hot-update.js", - "/chunks/status-check.a8adf92deeeda8925b60.hot-update.js": "/chunks/status-check.a8adf92deeeda8925b60.hot-update.js", - "/chunks/status-check.2deadcd44fb48105d730.hot-update.js": "/chunks/status-check.2deadcd44fb48105d730.hot-update.js", - "/chunks/status-check.839642e4f10111e58a22.hot-update.js": "/chunks/status-check.839642e4f10111e58a22.hot-update.js", - "/chunks/status-check.6ce31ad99aa96d5b5993.hot-update.js": "/chunks/status-check.6ce31ad99aa96d5b5993.hot-update.js", - "/chunks/status-check.701cf5a929649d21713e.hot-update.js": "/chunks/status-check.701cf5a929649d21713e.hot-update.js", - "/chunks/status-check.3e4358af3c0450adfd95.hot-update.js": "/chunks/status-check.3e4358af3c0450adfd95.hot-update.js", - "/chunks/status-check.01efdf5080444cc90af5.hot-update.js": "/chunks/status-check.01efdf5080444cc90af5.hot-update.js", - "/chunks/status-check.846f9c7f5da907550aaf.hot-update.js": "/chunks/status-check.846f9c7f5da907550aaf.hot-update.js", - "/chunks/status-check.024478ce34199ac7844b.hot-update.js": "/chunks/status-check.024478ce34199ac7844b.hot-update.js", - "/chunks/status-check.4f72acb05a725e6eca35.hot-update.js": "/chunks/status-check.4f72acb05a725e6eca35.hot-update.js", - "/chunks/status-check.3532526f22a4041a748b.hot-update.js": "/chunks/status-check.3532526f22a4041a748b.hot-update.js", - "/chunks/status-check.649a7aee2ae9580df2eb.hot-update.js": "/chunks/status-check.649a7aee2ae9580df2eb.hot-update.js", - "/chunks/status-check.4c850b632e7e0d2b61fa.hot-update.js": "/chunks/status-check.4c850b632e7e0d2b61fa.hot-update.js", - "/chunks/status-check.1c443b9b41fa0e557015.hot-update.js": "/chunks/status-check.1c443b9b41fa0e557015.hot-update.js", - "/chunks/status-check.43cd10467f8145ab8b8a.hot-update.js": "/chunks/status-check.43cd10467f8145ab8b8a.hot-update.js", - "/chunks/status-check.d481f098122f8655e168.hot-update.js": "/chunks/status-check.d481f098122f8655e168.hot-update.js", - "/chunks/status-check.a2c752fc5e7dbfc99947.hot-update.js": "/chunks/status-check.a2c752fc5e7dbfc99947.hot-update.js", - "/chunks/status-check.277b6609c757ec412ed6.hot-update.js": "/chunks/status-check.277b6609c757ec412ed6.hot-update.js", - "/chunks/status-check.5644c5af469338e1e03b.hot-update.js": "/chunks/status-check.5644c5af469338e1e03b.hot-update.js", - "/chunks/status-check.5f89e0e74f0a67dfe6ea.hot-update.js": "/chunks/status-check.5f89e0e74f0a67dfe6ea.hot-update.js", - "/chunks/status-check.5766b48d22a243437a6b.hot-update.js": "/chunks/status-check.5766b48d22a243437a6b.hot-update.js", - "/chunks/status-check.113f6b7ae77db4eac24f.hot-update.js": "/chunks/status-check.113f6b7ae77db4eac24f.hot-update.js", - "/chunks/status-check.bad00428f8bd7830ccc2.hot-update.js": "/chunks/status-check.bad00428f8bd7830ccc2.hot-update.js", - "/chunks/status-check.8e8b19f34cd29d04c28d.hot-update.js": "/chunks/status-check.8e8b19f34cd29d04c28d.hot-update.js", - "/chunks/status-check.7acf77341bdc0fd0843e.hot-update.js": "/chunks/status-check.7acf77341bdc0fd0843e.hot-update.js", - "/chunks/status-check.8959cc673db134489b96.hot-update.js": "/chunks/status-check.8959cc673db134489b96.hot-update.js", - "/chunks/status-check.0f0f5fd801d84fd294f2.hot-update.js": "/chunks/status-check.0f0f5fd801d84fd294f2.hot-update.js", - "/chunks/status-check.4a7ed4b9a955f6ef0258.hot-update.js": "/chunks/status-check.4a7ed4b9a955f6ef0258.hot-update.js", - "/chunks/status-check.42f2561f7ed01edb7b9e.hot-update.js": "/chunks/status-check.42f2561f7ed01edb7b9e.hot-update.js", - "/chunks/status-check.307cbf84fac83c53b419.hot-update.js": "/chunks/status-check.307cbf84fac83c53b419.hot-update.js", - "/chunks/status-check.f9a2880175ec95388827.hot-update.js": "/chunks/status-check.f9a2880175ec95388827.hot-update.js", - "/chunks/status-check.0c7c19c8fb32b76d9cfe.hot-update.js": "/chunks/status-check.0c7c19c8fb32b76d9cfe.hot-update.js", - "/chunks/status-check.dfa86748f8af397925a8.hot-update.js": "/chunks/status-check.dfa86748f8af397925a8.hot-update.js", - "/chunks/status-check.34bdf238910f0b66a954.hot-update.js": "/chunks/status-check.34bdf238910f0b66a954.hot-update.js", - "/chunks/status-check.21b2ade29ea985949dfa.hot-update.js": "/chunks/status-check.21b2ade29ea985949dfa.hot-update.js", - "/chunks/status-check.baa7022569488793f294.hot-update.js": "/chunks/status-check.baa7022569488793f294.hot-update.js", - "/chunks/status-check.48fe84b10d2b825983e8.hot-update.js": "/chunks/status-check.48fe84b10d2b825983e8.hot-update.js", - "/chunks/status-check.9cd90094c730296236af.hot-update.js": "/chunks/status-check.9cd90094c730296236af.hot-update.js", - "/chunks/status-check.b6ba8f66b0c827f642e0.hot-update.js": "/chunks/status-check.b6ba8f66b0c827f642e0.hot-update.js", - "/chunks/status-check.063a157f083452b8b125.hot-update.js": "/chunks/status-check.063a157f083452b8b125.hot-update.js", - "/chunks/status-check.c2ad5ae060ef91ab6871.hot-update.js": "/chunks/status-check.c2ad5ae060ef91ab6871.hot-update.js", - "/chunks/status-check.3891829a59fb48de60ce.hot-update.js": "/chunks/status-check.3891829a59fb48de60ce.hot-update.js", - "/chunks/status-check.b8524057c92cf78e2417.hot-update.js": "/chunks/status-check.b8524057c92cf78e2417.hot-update.js", - "/chunks/status-check.c2c2b27fb8e745ed8963.hot-update.js": "/chunks/status-check.c2c2b27fb8e745ed8963.hot-update.js", - "/chunks/status-check.15d6b6e8f8475864a673.hot-update.js": "/chunks/status-check.15d6b6e8f8475864a673.hot-update.js", - "/chunks/status-check.e1e749b26d87429a53a5.hot-update.js": "/chunks/status-check.e1e749b26d87429a53a5.hot-update.js", - "/chunks/status-check.342fab583e418b3ebbed.hot-update.js": "/chunks/status-check.342fab583e418b3ebbed.hot-update.js", - "/chunks/status-check.874b6be18d7aec08c953.hot-update.js": "/chunks/status-check.874b6be18d7aec08c953.hot-update.js", - "/chunks/status-check.e9174089178511cfce23.hot-update.js": "/chunks/status-check.e9174089178511cfce23.hot-update.js", - "/chunks/status-check.fd3ef69c9b6f81c92394.hot-update.js": "/chunks/status-check.fd3ef69c9b6f81c92394.hot-update.js", - "/chunks/status-check.78ba39dc0f31677098e8.hot-update.js": "/chunks/status-check.78ba39dc0f31677098e8.hot-update.js", - "/chunks/status-check.3be338b4385837e5654a.hot-update.js": "/chunks/status-check.3be338b4385837e5654a.hot-update.js", - "/chunks/status-check.2aab334f1e78b69f9dda.hot-update.js": "/chunks/status-check.2aab334f1e78b69f9dda.hot-update.js", - "/chunks/status-check.5149b186c7ce6ea2480c.hot-update.js": "/chunks/status-check.5149b186c7ce6ea2480c.hot-update.js", - "/chunks/status-check.25a5d00d0b6ac88049aa.hot-update.js": "/chunks/status-check.25a5d00d0b6ac88049aa.hot-update.js", - "/chunks/status-check.a63a1d526dfed0a76b1e.hot-update.js": "/chunks/status-check.a63a1d526dfed0a76b1e.hot-update.js", - "/chunks/status-check.57c6ee73eb5756b44f65.hot-update.js": "/chunks/status-check.57c6ee73eb5756b44f65.hot-update.js", - "/chunks/status-check.655180fb3bb8f2efd7ae.hot-update.js": "/chunks/status-check.655180fb3bb8f2efd7ae.hot-update.js", - "/chunks/status-check.29342b5167bd43d568f5.hot-update.js": "/chunks/status-check.29342b5167bd43d568f5.hot-update.js", - "/chunks/status-check.df584bec143167d59b30.hot-update.js": "/chunks/status-check.df584bec143167d59b30.hot-update.js", - "/chunks/status-check.25ff987a9d155f6a08c9.hot-update.js": "/chunks/status-check.25ff987a9d155f6a08c9.hot-update.js", - "/chunks/status-check.9ddbb495101d3b822daf.hot-update.js": "/chunks/status-check.9ddbb495101d3b822daf.hot-update.js", - "/chunks/status-check.1b4fc4962eb0a2abf3dd.hot-update.js": "/chunks/status-check.1b4fc4962eb0a2abf3dd.hot-update.js", - "/chunks/status-check.ec77ec1f605d9f475cca.hot-update.js": "/chunks/status-check.ec77ec1f605d9f475cca.hot-update.js", - "/chunks/status-check.61056a5eacdc788fdb48.hot-update.js": "/chunks/status-check.61056a5eacdc788fdb48.hot-update.js", - "/chunks/status-check.de33b68974f5a3e9343d.hot-update.js": "/chunks/status-check.de33b68974f5a3e9343d.hot-update.js", - "/chunks/status-check.6deee25c3fa2227ac05c.hot-update.js": "/chunks/status-check.6deee25c3fa2227ac05c.hot-update.js", - "/js/main.346469da6ba011c0109f.hot-update.js": "/js/main.346469da6ba011c0109f.hot-update.js", - "/chunks/status-check.346469da6ba011c0109f.hot-update.js": "/chunks/status-check.346469da6ba011c0109f.hot-update.js", - "/js/main.fed47f21bf43ddf8070d.hot-update.js": "/js/main.fed47f21bf43ddf8070d.hot-update.js", - "/chunks/status-check.fed47f21bf43ddf8070d.hot-update.js": "/chunks/status-check.fed47f21bf43ddf8070d.hot-update.js", - "/chunks/status-check.a6bbcb26f56eeb17115c.hot-update.js": "/chunks/status-check.a6bbcb26f56eeb17115c.hot-update.js", - "/chunks/status-check.2110cbfc3b787f160276.hot-update.js": "/chunks/status-check.2110cbfc3b787f160276.hot-update.js", - "/chunks/status-check.f24b656e0468f2d00b4f.hot-update.js": "/chunks/status-check.f24b656e0468f2d00b4f.hot-update.js", - "/chunks/status-check.05b0553aadf9779806cd.hot-update.js": "/chunks/status-check.05b0553aadf9779806cd.hot-update.js", - "/chunks/status-check.13342e70f59140ae74c2.hot-update.js": "/chunks/status-check.13342e70f59140ae74c2.hot-update.js", - "/chunks/status-check.87e610af0ba29a732796.hot-update.js": "/chunks/status-check.87e610af0ba29a732796.hot-update.js", - "/chunks/status-check.9e087dc2b137ef2c85cc.hot-update.js": "/chunks/status-check.9e087dc2b137ef2c85cc.hot-update.js", - "/chunks/status-check.d7e06b44ad2eb06686bb.hot-update.js": "/chunks/status-check.d7e06b44ad2eb06686bb.hot-update.js", - "/chunks/status-check.7d330409915d9d7d53e8.hot-update.js": "/chunks/status-check.7d330409915d9d7d53e8.hot-update.js", - "/chunks/admin-account.b0c3374208474353d7fe.hot-update.js": "/chunks/admin-account.b0c3374208474353d7fe.hot-update.js", - "/chunks/app-setup.b0c3374208474353d7fe.hot-update.js": "/chunks/app-setup.b0c3374208474353d7fe.hot-update.js", - "/chunks/billings-detail.b0c3374208474353d7fe.hot-update.js": "/chunks/billings-detail.b0c3374208474353d7fe.hot-update.js", - "/chunks/database.b0c3374208474353d7fe.hot-update.js": "/chunks/database.b0c3374208474353d7fe.hot-update.js", - "/chunks/environment-setup.b0c3374208474353d7fe.hot-update.js": "/chunks/environment-setup.b0c3374208474353d7fe.hot-update.js", - "/chunks/installation-disclaimer.b0c3374208474353d7fe.hot-update.js": "/chunks/installation-disclaimer.b0c3374208474353d7fe.hot-update.js", - "/chunks/purchase-code.b0c3374208474353d7fe.hot-update.js": "/chunks/purchase-code.b0c3374208474353d7fe.hot-update.js", - "/chunks/stripe-credentials.b0c3374208474353d7fe.hot-update.js": "/chunks/stripe-credentials.b0c3374208474353d7fe.hot-update.js", - "/chunks/subscription-plans.b0c3374208474353d7fe.hot-update.js": "/chunks/subscription-plans.b0c3374208474353d7fe.hot-update.js", - "/chunks/subscription-service.b0c3374208474353d7fe.hot-update.js": "/chunks/subscription-service.b0c3374208474353d7fe.hot-update.js", - "/chunks/status-check.0f14031d4868f0989dd6.hot-update.js": "/chunks/status-check.0f14031d4868f0989dd6.hot-update.js", - "/chunks/status-check.b2ac3607bcf6295b4d10.hot-update.js": "/chunks/status-check.b2ac3607bcf6295b4d10.hot-update.js", - "/chunks/status-check.f316b77b0d63454fb2b0.hot-update.js": "/chunks/status-check.f316b77b0d63454fb2b0.hot-update.js", - "/chunks/status-check.cba5e0e686d4165d0e5b.hot-update.js": "/chunks/status-check.cba5e0e686d4165d0e5b.hot-update.js", - "/chunks/status-check.875ff8ea9b5f6b427e3d.hot-update.js": "/chunks/status-check.875ff8ea9b5f6b427e3d.hot-update.js", - "/chunks/status-check.12d2c68ca5d98223766c.hot-update.js": "/chunks/status-check.12d2c68ca5d98223766c.hot-update.js", - "/chunks/status-check.7920c3c8d544ef1e8dfa.hot-update.js": "/chunks/status-check.7920c3c8d544ef1e8dfa.hot-update.js", - "/chunks/status-check.650821558473b8202711.hot-update.js": "/chunks/status-check.650821558473b8202711.hot-update.js", - "/js/main.fe5e650dee5a1bb1fc13.hot-update.js": "/js/main.fe5e650dee5a1bb1fc13.hot-update.js", - "/chunks/setup-wizard.72c41776eacb54277e7b.hot-update.js": "/chunks/setup-wizard.72c41776eacb54277e7b.hot-update.js", - "/js/main.1a7a79423134ff81c39e.hot-update.js": "/js/main.1a7a79423134ff81c39e.hot-update.js", - "/chunks/status-check.43c5e2ea66b5c644abaa.hot-update.js": "/chunks/status-check.43c5e2ea66b5c644abaa.hot-update.js", - "/chunks/status-check.0407d7cadd6459a2005a.hot-update.js": "/chunks/status-check.0407d7cadd6459a2005a.hot-update.js", - "/chunks/status-check.7a654201d619492b9376.hot-update.js": "/chunks/status-check.7a654201d619492b9376.hot-update.js", - "/chunks/status-check.031b18740a152e7a4afe.hot-update.js": "/chunks/status-check.031b18740a152e7a4afe.hot-update.js", - "/chunks/status-check.7eb7825dea3966215cac.hot-update.js": "/chunks/status-check.7eb7825dea3966215cac.hot-update.js", - "/chunks/status-check.20d5dcc79d3a534cb81f.hot-update.js": "/chunks/status-check.20d5dcc79d3a534cb81f.hot-update.js", - "/chunks/status-check.46c1ceffd07c9cd4efd7.hot-update.js": "/chunks/status-check.46c1ceffd07c9cd4efd7.hot-update.js", - "/chunks/status-check.2c09dddbdc08be3cff85.hot-update.js": "/chunks/status-check.2c09dddbdc08be3cff85.hot-update.js", - "/chunks/status-check.cfd5dfab739238654232.hot-update.js": "/chunks/status-check.cfd5dfab739238654232.hot-update.js", - "/chunks/status-check.4545d2bb3a274c9d33e6.hot-update.js": "/chunks/status-check.4545d2bb3a274c9d33e6.hot-update.js", - "/chunks/status-check.3059fc882bb7470ea906.hot-update.js": "/chunks/status-check.3059fc882bb7470ea906.hot-update.js", - "/chunks/status-check.fabc216483cd1a46178f.hot-update.js": "/chunks/status-check.fabc216483cd1a46178f.hot-update.js", - "/chunks/status-check.2173dc6d5f4e6a54ee7c.hot-update.js": "/chunks/status-check.2173dc6d5f4e6a54ee7c.hot-update.js", - "/chunks/status-check.98c68242f87b96f7722c.hot-update.js": "/chunks/status-check.98c68242f87b96f7722c.hot-update.js", - "/chunks/status-check.4b98c68a29333a6337cc.hot-update.js": "/chunks/status-check.4b98c68a29333a6337cc.hot-update.js", - "/chunks/status-check.7178131f4e152a536f0e.hot-update.js": "/chunks/status-check.7178131f4e152a536f0e.hot-update.js", - "/chunks/status-check.807b117afc2ff10989b5.hot-update.js": "/chunks/status-check.807b117afc2ff10989b5.hot-update.js", - "/chunks/status-check.d6a3ce2c20f008057804.hot-update.js": "/chunks/status-check.d6a3ce2c20f008057804.hot-update.js", - "/chunks/status-check.8d8bf142eb151aa57a29.hot-update.js": "/chunks/status-check.8d8bf142eb151aa57a29.hot-update.js", - "/chunks/status-check.362d9498a4fd7f2a55c8.hot-update.js": "/chunks/status-check.362d9498a4fd7f2a55c8.hot-update.js" + "/vendors~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.js": "/vendors~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.js?id=9d10953d3b088324dfe3", + "/vendors~chunks/platform~chunks/shared.js": "/vendors~chunks/platform~chunks/shared.js?id=7d09e0b0658e140a7ffa", + "/js/main.a83f71a86d057a96f520.hot-update.js": "/js/main.a83f71a86d057a96f520.hot-update.js" } diff --git a/resources/js/helpers.js b/resources/js/helpers.js index 0ef5962a..68d2023b 100644 --- a/resources/js/helpers.js +++ b/resources/js/helpers.js @@ -172,21 +172,82 @@ const Helpers = { // Prevent submit empty files if (event.dataTransfer.items.length === 0) return + // let file = event.dataTransfer.items + + let items = await this.$getAllFileEntries(event.dataTransfer.items); + + for (let i = 0; i < items.length; i++) { - // Push items to file queue - [...event.dataTransfer.items].map(item => { this.$store.commit('ADD_FILES_TO_QUEUE', { folder_id: parent_id ? parent_id : '', - file: item.getAsFile(), + file: await this.$getFile(items[i]), + path: items[i].fullPath }) - }); + } + + // Push items to file queue + // [...event.dataTransfer.items].map(item => { + // console.log(item.getAsFile(), 'b') + // this.$store.commit('ADD_FILES_TO_QUEUE', { + // folder_id: parent_id ? parent_id : '', + // file: item.getAsFile(), + // }) + // }); + // Start uploading if uploading process isn't running if (this.$store.getters.filesInQueueTotal == 0) this.$handleUploading(this.$store.getters.fileQueue[0]) // Increase total files in upload bar - this.$store.commit('INCREASE_FILES_IN_QUEUES_TOTAL', [...event.dataTransfer.items].length) + this.$store.commit('INCREASE_FILES_IN_QUEUES_TOTAL', items.length) + } + + Vue.prototype.$getFile = async function (fileEntry) { + try { + return await new Promise((resolve, reject) => fileEntry.file(resolve, reject)); + } catch (err) { + console.log(err); + } + } + + Vue.prototype.$getAllFileEntries = async function (dataTransferItemList) { + let fileEntries = []; + // Use BFS to traverse entire directory/file structure + let queue = []; + // Unfortunately dataTransferItemList is not iterable i.e. no forEach + for (let i = 0; i < dataTransferItemList.length; i++) { + queue.push(dataTransferItemList[i].webkitGetAsEntry()); + } + while (queue.length > 0) { + let entry = queue.shift(); + if (entry.isFile) { + fileEntries.push(entry); + } else if (entry.isDirectory) { + queue.push(...await this.$readAllDirectoryEntries(entry.createReader())); + } + } + return fileEntries; + } + + Vue.prototype.$readAllDirectoryEntries = async function (directoryReader) { + let entries = []; + let readEntries = await this.$readEntriesPromise(directoryReader); + while (readEntries.length > 0) { + entries.push(...readEntries); + readEntries = await this.$readEntriesPromise(directoryReader); + } + return entries; + } + + Vue.prototype.$readEntriesPromise = async function (directoryReader) { + try { + return await new Promise((resolve, reject) => { + directoryReader.readEntries(resolve, reject); + }); + } catch (err) { + console.log(err); + } } Vue.prototype.$handleUploading = async function (item) { @@ -225,6 +286,7 @@ const Helpers = { // Set form data formData.set('filename', item.file.name); formData.set('file', chunk, source_name); + formData.set('path', item.path) formData.set('folder_id', item.folder_id) formData.set('is_last', isLast); diff --git a/src/Domain/Files/Actions/UploadFileAction.php b/src/Domain/Files/Actions/UploadFileAction.php index f680a481..a4dc0c3a 100644 --- a/src/Domain/Files/Actions/UploadFileAction.php +++ b/src/Domain/Files/Actions/UploadFileAction.php @@ -1,7 +1,9 @@ file('file'); + // dd($this->createFolderStructure($request->input('path'), $request->input('folder_id'))); + // File name $disk_file_name = basename('chunks/' . $file->getClientOriginalName(), '.part'); $temp_filename = $file->getClientOriginalName(); @@ -86,7 +91,7 @@ class UploadFileAction return UserFile::create([ 'mimetype' => get_file_type_from_mimetype($file_mimetype), 'type' => get_file_type($file_mimetype), - 'folder_id' => $request->input('folder_id'), + 'folder_id' => $this->create_folder_structure($request->input('path'), $request->input('folder_id'), $user_id), 'metadata' => $metadata, 'name' => $request->input('filename'), 'basename' => $disk_file_name, @@ -97,4 +102,89 @@ class UploadFileAction ]); } } + + private function create_folder_structure ($path, $parent, $user_id) + { + $folders = array_slice(explode('/', $path), 1, -1); + + $parent_id = $parent; + + $last_folder = $parent; + + $structure = Folder::whereIn('name', $folders)->with('parent')->get(); + + try { + if( count($folders) > 0) { + + if( !$structure->isEmpty() || count($folders) == count($structure) && $this->check_folder_structure($structure, $folders)) { + + $last_folder = $this->check_folder_structure($structure, $folders); + + // dd($last_folder, $parent_id, $path, 'struc'); + + + } else if (count($folders) != count($structure)) { + + foreach($folders as $folder) { + + $new_folder = Folder::create([ + 'name' => $folder, + 'parent_id' => $parent_id, + 'user_id' => $user_id, + ]); + + $parent_id = $new_folder->id; + + $last_folder = $new_folder->id; + }; + + } + + + } + } catch (\Exception $e) { + // dd($last_folder, $parent_id, $path); + // dd(count($folders), count($structure)); + } + // else if ( count($folders) > 0 ) { + // $test = Folder::whereName($folders[-1])->with('name', '=' , $folder[count($folder) - 1]); + + // }; + + return $last_folder; + } + + private function check_folder_structure($structure, $folders) + { + + $parent_name = ''; + + $validate = false; + + foreach(array_reverse($folders) as $folder) { + + $item = $structure->where('name', $folder); + + $parent = $item->pluck('parent')->pluck('name')[0]; + + if( $parent && $folder === $parent_name || $parent_name == '') { + + $parent_name = $parent; + + $validate = true; + + } else if ($parent && $folder != $parent_name || $parent_name == ''){ + + $validate = false; + } + } + + if($validate) { + + return $structure->where('name', $folders[array_key_last($folders)])->first()->id; + } else { + return false; + } + + } } diff --git a/src/Domain/Files/Requests/UploadRequest.php b/src/Domain/Files/Requests/UploadRequest.php index 67ad6949..b6c76c54 100644 --- a/src/Domain/Files/Requests/UploadRequest.php +++ b/src/Domain/Files/Requests/UploadRequest.php @@ -26,6 +26,7 @@ class UploadRequest extends FormRequest return [ 'filename' => 'required|string', 'folder_id' => 'nullable|uuid', + 'path' => 'required|string', 'is_last' => 'sometimes|string', 'file' => ['required', 'file', new DisabledMimetypes], ]; From ec2a10e32f87ffed9f58a8758b18f4c4cc07968c Mon Sep 17 00:00:00 2001 From: Milos Holba Date: Wed, 11 Aug 2021 17:15:02 +0200 Subject: [PATCH 2/7] fixed upload files in the nested levels of folders --- public/mix-manifest.json | 54 +++++++++++- resources/js/helpers.js | 60 ++++++------- resources/js/store/modules/fileFunctions.js | 9 +- src/Domain/Files/Actions/UploadFileAction.php | 88 ++++++++++++------- 4 files changed, 144 insertions(+), 67 deletions(-) diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 0a481b87..9bf4e838 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -95,5 +95,57 @@ "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~81c8aec0.js": "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~81c8aec0.js?id=ca3b57f70682c1c315f7", "/vendors~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.js": "/vendors~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.js?id=9d10953d3b088324dfe3", "/vendors~chunks/platform~chunks/shared.js": "/vendors~chunks/platform~chunks/shared.js?id=7d09e0b0658e140a7ffa", - "/js/main.a83f71a86d057a96f520.hot-update.js": "/js/main.a83f71a86d057a96f520.hot-update.js" + "/js/main.8e8ffd0ba81aeef33d6f.hot-update.js": "/js/main.8e8ffd0ba81aeef33d6f.hot-update.js", + "/vendors~chunks/admin~chunks/admin-account~chunks/app-email~chunks/app-payments~chunks/app-setup~chun~81d257bc.js": "/vendors~chunks/admin~chunks/admin-account~chunks/app-email~chunks/app-payments~chunks/app-setup~chun~81d257bc.js?id=a355eeae70079483b2f0", + "/js/main.8fd0f5c79feac51ca836.hot-update.js": "/js/main.8fd0f5c79feac51ca836.hot-update.js", + "/js/main.ac850e26c803bc37d0e7.hot-update.js": "/js/main.ac850e26c803bc37d0e7.hot-update.js", + "/js/main.56968d9590188828b974.hot-update.js": "/js/main.56968d9590188828b974.hot-update.js", + "/js/main.6e507680ff9cb59d1812.hot-update.js": "/js/main.6e507680ff9cb59d1812.hot-update.js", + "/js/main.bb5b2df46132303e47b2.hot-update.js": "/js/main.bb5b2df46132303e47b2.hot-update.js", + "/js/main.d6df0407d927b0cee586.hot-update.js": "/js/main.d6df0407d927b0cee586.hot-update.js", + "/js/main.c88ddf3ec445bc769421.hot-update.js": "/js/main.c88ddf3ec445bc769421.hot-update.js", + "/js/main.2fb5fcc038d0efa54a55.hot-update.js": "/js/main.2fb5fcc038d0efa54a55.hot-update.js", + "/js/main.5ec59b1f352833e8f6bc.hot-update.js": "/js/main.5ec59b1f352833e8f6bc.hot-update.js", + "/js/main.fd1a83fe6260bd08a03b.hot-update.js": "/js/main.fd1a83fe6260bd08a03b.hot-update.js", + "/js/main.feab5acc4212d336ac9f.hot-update.js": "/js/main.feab5acc4212d336ac9f.hot-update.js", + "/chunks/files~chunks/shared/file-browser.746c001dd01b9429f0c6.hot-update.js": "/chunks/files~chunks/shared/file-browser.746c001dd01b9429f0c6.hot-update.js", + "/chunks/files~chunks/shared/file-browser.6bc336ded13783aaf435.hot-update.js": "/chunks/files~chunks/shared/file-browser.6bc336ded13783aaf435.hot-update.js", + "/chunks/files~chunks/shared/file-browser.fe9a1e59dbe4d588314f.hot-update.js": "/chunks/files~chunks/shared/file-browser.fe9a1e59dbe4d588314f.hot-update.js", + "/chunks/files~chunks/shared/file-browser.67532e7dcf43956a472c.hot-update.js": "/chunks/files~chunks/shared/file-browser.67532e7dcf43956a472c.hot-update.js", + "/js/main.5a9727048bf1d93b00a8.hot-update.js": "/js/main.5a9727048bf1d93b00a8.hot-update.js", + "/js/main.3b0b3a891a7097071040.hot-update.js": "/js/main.3b0b3a891a7097071040.hot-update.js", + "/js/main.eb2c3d44bd70983275f2.hot-update.js": "/js/main.eb2c3d44bd70983275f2.hot-update.js", + "/chunks/app-language~chunks/dashboard~chunks/invoices~chunks/pages~chunks/plans~chunks/settings~chunk~8e71da83.js": "/chunks/app-language~chunks/dashboard~chunks/invoices~chunks/pages~chunks/plans~chunks/settings~chunk~8e71da83.js?id=e4a472b95cf91533512c", + "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.eb2c3d44bd70983275f2.hot-update.js": "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.eb2c3d44bd70983275f2.hot-update.js", + "/chunks/files~chunks/shared/file-browser.eb2c3d44bd70983275f2.hot-update.js": "/chunks/files~chunks/shared/file-browser.eb2c3d44bd70983275f2.hot-update.js", + "/chunks/platform~chunks/shared.eb2c3d44bd70983275f2.hot-update.js": "/chunks/platform~chunks/shared.eb2c3d44bd70983275f2.hot-update.js", + "/chunks/platform~chunks/shared~chunks/shared/single-file.js": "/chunks/platform~chunks/shared~chunks/shared/single-file.js?id=b4399c659dbf9e871ddc", + "/chunks/settings-subscription.eb2c3d44bd70983275f2.hot-update.js": "/chunks/settings-subscription.eb2c3d44bd70983275f2.hot-update.js", + "/chunks/settings-subscription~chunks/user-subscription.js": "/chunks/settings-subscription~chunks/user-subscription.js?id=60b258958f6ccc222687", + "/chunks/user-subscription.eb2c3d44bd70983275f2.hot-update.js": "/chunks/user-subscription.eb2c3d44bd70983275f2.hot-update.js", + "/vendors~chunks/platform~chunks/shared~chunks/shared/single-file.js": "/vendors~chunks/platform~chunks/shared~chunks/shared/single-file.js?id=b00184c0940c415c5849", + "/js/main.7dd28038776f414ab5d0.hot-update.js": "/js/main.7dd28038776f414ab5d0.hot-update.js", + "/chunks/files.7dd28038776f414ab5d0.hot-update.js": "/chunks/files.7dd28038776f414ab5d0.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.7dd28038776f414ab5d0.hot-update.js": "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.7dd28038776f414ab5d0.hot-update.js", + "/chunks/files~chunks/shared/file-browser.7dd28038776f414ab5d0.hot-update.js": "/chunks/files~chunks/shared/file-browser.7dd28038776f414ab5d0.hot-update.js", + "/chunks/platform.7dd28038776f414ab5d0.hot-update.js": "/chunks/platform.7dd28038776f414ab5d0.hot-update.js", + "/chunks/platform~chunks/shared.7dd28038776f414ab5d0.hot-update.js": "/chunks/platform~chunks/shared.7dd28038776f414ab5d0.hot-update.js", + "/chunks/shared/single-file.7dd28038776f414ab5d0.hot-update.js": "/chunks/shared/single-file.7dd28038776f414ab5d0.hot-update.js", + "/chunks/files~chunks/shared/file-browser.a3159c00aadb02c3f6b6.hot-update.js": "/chunks/files~chunks/shared/file-browser.a3159c00aadb02c3f6b6.hot-update.js", + "/js/main.723db11ab0c0fa4414c1.hot-update.js": "/js/main.723db11ab0c0fa4414c1.hot-update.js", + "/js/main.b260773e9944f6e8c0b0.hot-update.js": "/js/main.b260773e9944f6e8c0b0.hot-update.js", + "/js/main.fdadae44626492668fc5.hot-update.js": "/js/main.fdadae44626492668fc5.hot-update.js", + "/js/main.31a6a2a9ebf92e6d31ca.hot-update.js": "/js/main.31a6a2a9ebf92e6d31ca.hot-update.js", + "/js/main.bb7d34653b773a8e6bd0.hot-update.js": "/js/main.bb7d34653b773a8e6bd0.hot-update.js", + "/js/main.a258575aa03652d71a78.hot-update.js": "/js/main.a258575aa03652d71a78.hot-update.js", + "/js/main.89b135af228a76b45177.hot-update.js": "/js/main.89b135af228a76b45177.hot-update.js", + "/js/main.425b98bb22325c4e1104.hot-update.js": "/js/main.425b98bb22325c4e1104.hot-update.js", + "/js/main.1316ccda17c905679bb0.hot-update.js": "/js/main.1316ccda17c905679bb0.hot-update.js", + "/js/main.7330355487088a26b20e.hot-update.js": "/js/main.7330355487088a26b20e.hot-update.js", + "/js/main.d2258ad33d25aaa8c46f.hot-update.js": "/js/main.d2258ad33d25aaa8c46f.hot-update.js", + "/js/main.a480505cb3aa50f82a4f.hot-update.js": "/js/main.a480505cb3aa50f82a4f.hot-update.js", + "/js/main.299e425d7c066bc6b7bc.hot-update.js": "/js/main.299e425d7c066bc6b7bc.hot-update.js", + "/js/main.aa4c95d713f3e198d46d.hot-update.js": "/js/main.aa4c95d713f3e198d46d.hot-update.js", + "/js/main.061e3452d4f227b98ded.hot-update.js": "/js/main.061e3452d4f227b98ded.hot-update.js", + "/js/main.212f65475aa6c2d29f61.hot-update.js": "/js/main.212f65475aa6c2d29f61.hot-update.js" } diff --git a/resources/js/helpers.js b/resources/js/helpers.js index 68d2023b..7e8b3261 100644 --- a/resources/js/helpers.js +++ b/resources/js/helpers.js @@ -185,16 +185,6 @@ const Helpers = { }) } - // Push items to file queue - // [...event.dataTransfer.items].map(item => { - // console.log(item.getAsFile(), 'b') - // this.$store.commit('ADD_FILES_TO_QUEUE', { - // folder_id: parent_id ? parent_id : '', - // file: item.getAsFile(), - // }) - // }); - - // Start uploading if uploading process isn't running if (this.$store.getters.filesInQueueTotal == 0) this.$handleUploading(this.$store.getters.fileQueue[0]) @@ -203,6 +193,7 @@ const Helpers = { this.$store.commit('INCREASE_FILES_IN_QUEUES_TOTAL', items.length) } + // Get File from FileEntry Vue.prototype.$getFile = async function (fileEntry) { try { return await new Promise((resolve, reject) => fileEntry.file(resolve, reject)); @@ -212,10 +203,11 @@ const Helpers = { } Vue.prototype.$getAllFileEntries = async function (dataTransferItemList) { + let fileEntries = []; - // Use BFS to traverse entire directory/file structure + let queue = []; - // Unfortunately dataTransferItemList is not iterable i.e. no forEach + for (let i = 0; i < dataTransferItemList.length; i++) { queue.push(dataTransferItemList[i].webkitGetAsEntry()); } @@ -224,32 +216,34 @@ const Helpers = { if (entry.isFile) { fileEntries.push(entry); } else if (entry.isDirectory) { - queue.push(...await this.$readAllDirectoryEntries(entry.createReader())); + queue.push(...await readAllDirectoryEntries(entry.createReader())); } } + + async function readAllDirectoryEntries (directoryReader) { + + let entries = []; + let readEntries = await readEntriesPromise(directoryReader); + while (readEntries.length > 0) { + entries.push(...readEntries); + readEntries = await readEntriesPromise(directoryReader); + } + return entries; + } + + async function readEntriesPromise (directoryReader) { + + try { + return await new Promise((resolve, reject) => { + directoryReader.readEntries(resolve, reject); + }); + } catch (err) { + console.log(err); + } + } return fileEntries; } - Vue.prototype.$readAllDirectoryEntries = async function (directoryReader) { - let entries = []; - let readEntries = await this.$readEntriesPromise(directoryReader); - while (readEntries.length > 0) { - entries.push(...readEntries); - readEntries = await this.$readEntriesPromise(directoryReader); - } - return entries; - } - - Vue.prototype.$readEntriesPromise = async function (directoryReader) { - try { - return await new Promise((resolve, reject) => { - directoryReader.readEntries(resolve, reject); - }); - } catch (err) { - console.log(err); - } - } - Vue.prototype.$handleUploading = async function (item) { // Create ceil diff --git a/resources/js/store/modules/fileFunctions.js b/resources/js/store/modules/fileFunctions.js index e1575aba..5e6a0903 100644 --- a/resources/js/store/modules/fileFunctions.js +++ b/resources/js/store/modules/fileFunctions.js @@ -164,7 +164,7 @@ const actions = { }) .catch(() => Vue.prototype.$isSomethingWrong()) }, - uploadFiles: ({commit, getters}, {form, fileSize, totalUploadedSize}) => { + uploadFiles: ({commit, getters, dispatch}, {form, fileSize, totalUploadedSize}) => { return new Promise((resolve, reject) => { // Get route @@ -222,8 +222,13 @@ const actions = { } // Reset upload process - if (!getters.fileQueue.length) + if (!getters.fileQueue.length) { + commit('CLEAR_UPLOAD_PROGRESS') + + // Reload files after upload is done + dispatch('getFolder', [{folder: getters.currentFolder, back: true, init: false}]) + } } }) .catch(error => { diff --git a/src/Domain/Files/Actions/UploadFileAction.php b/src/Domain/Files/Actions/UploadFileAction.php index a4dc0c3a..61ff9c49 100644 --- a/src/Domain/Files/Actions/UploadFileAction.php +++ b/src/Domain/Files/Actions/UploadFileAction.php @@ -1,7 +1,6 @@ with('parent')->get(); - try { - if( count($folders) > 0) { + + if( count($folders) > 0) { - if( !$structure->isEmpty() || count($folders) == count($structure) && $this->check_folder_structure($structure, $folders)) { + if(count($folders) === count($structure) ) { - $last_folder = $this->check_folder_structure($structure, $folders); + $last_folder = $this->check_folder_structure($structure, $folders); + + } else if (count($folders) !== count($structure)) { - // dd($last_folder, $parent_id, $path, 'struc'); - - } else if (count($folders) != count($structure)) { + if(count($structure) > 0) { - foreach($folders as $folder) { - - $new_folder = Folder::create([ - 'name' => $folder, - 'parent_id' => $parent_id, - 'user_id' => $user_id, - ]); - - $parent_id = $new_folder->id; - - $last_folder = $new_folder->id; - }; + $data = $this->check_exist_folders($structure, $folders); + + $folders = $data[0]; + + $parent_id = $data[1]; } - - } - } catch (\Exception $e) { - // dd($last_folder, $parent_id, $path); - // dd(count($folders), count($structure)); - } - // else if ( count($folders) > 0 ) { - // $test = Folder::whereName($folders[-1])->with('name', '=' , $folder[count($folder) - 1]); + foreach($folders as $folder) { - // }; + $new_folder = Folder::create([ + 'name' => $folder, + 'parent_id' => $parent_id, + 'user_id' => $user_id, + ]); + + $parent_id = $new_folder->id; + + $last_folder = $new_folder->id; + }; + } + } return $last_folder; } + /** + * Check if is the structure correct + */ private function check_folder_structure($structure, $folders) { @@ -167,6 +168,7 @@ class UploadFileAction $parent = $item->pluck('parent')->pluck('name')[0]; + // Check if folder have valid parent name if( $parent && $folder === $parent_name || $parent_name == '') { $parent_name = $parent; @@ -180,11 +182,35 @@ class UploadFileAction } if($validate) { - return $structure->where('name', $folders[array_key_last($folders)])->first()->id; + } else { return false; } } + + /** + * Return the folders that is need to create in already created structure and last created parent + */ + private function check_exist_folders($structure, $folders) + { + + $create_folders = []; + $last_parent = ''; + + foreach($folders as $folder) { + + // Filter folders that is need to create + if(! $structure->where('name', $folder)->first()) { + array_push($create_folders, $folder); + }else { + + // Find last created folder + $last_parent = $structure->where('name', $folder)->first()->id; + } + } + + return [$create_folders, $last_parent]; + } } From a4231ea30ab6261cdd7b90609409143bae295a42 Mon Sep 17 00:00:00 2001 From: Milos Holba Date: Tue, 17 Aug 2021 15:08:13 +0200 Subject: [PATCH 3/7] added folder upload via Upload Folder button --- config/language-translations.php | 1 + public/mix-manifest.json | 176 +++--------------- .../components/FilesView/DesktopToolbar.vue | 5 +- .../js/components/FilesView/OptionUpload.vue | 40 +++- resources/js/helpers.js | 1 + 5 files changed, 62 insertions(+), 161 deletions(-) diff --git a/config/language-translations.php b/config/language-translations.php index e5b49a82..54c99e85 100644 --- a/config/language-translations.php +++ b/config/language-translations.php @@ -729,5 +729,6 @@ return [ 'actions.create' => 'Create Something', 'actions.search' => 'Search', 'mobile.create' => 'Create', + 'actions.upload_folder' => 'Upload folder', ], ]; diff --git a/public/mix-manifest.json b/public/mix-manifest.json index f36c31bc..87f2a3bc 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -20,6 +20,7 @@ "/chunks/app-index.js": "/chunks/app-index.js?id=3ce598745c40bc749001", "/chunks/app-language.js": "/chunks/app-language.js?id=67b8edf9368673ab9070", "/chunks/app-language~chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pag~824d674f.js": "/chunks/app-language~chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pag~824d674f.js?id=34b3b1037b2cd5e84bca", + "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/p~98b23ba6.js": "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/p~98b23ba6.js?id=6c17148b13718b8bfa2e", "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~0d12a0aa.js": "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~0d12a0aa.js?id=ccda95a1dd1ed3c422f3", "/chunks/app-others.js": "/chunks/app-others.js?id=d03a5882305b51b39f88", "/chunks/app-payments.js": "/chunks/app-payments.js?id=dd43fce53a0828262295", @@ -36,11 +37,11 @@ "/chunks/email-verified.js": "/chunks/email-verified.js?id=523bbafbed907913b5a2", "/chunks/environment-setup.js": "/chunks/environment-setup.js?id=bbd4ccaaa5b1fbf52ac1", "/chunks/files.js": "/chunks/files.js?id=bf780b65f902de41c9d9", - "/chunks/files~chunks/platform~chunks/shared/file-browser.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.js?id=23e5d84638f20119d5db", + "/chunks/files~chunks/platform~chunks/shared/file-browser.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.js?id=6eca49c7905f09bbad42", "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.js": "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.js?id=537b08be7b526c33e48e", "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.js": "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.js?id=43324c55265d036f4a6e", "/chunks/files~chunks/settings-subscription~chunks/shared/file-browser~chunks/user-subscription.js": "/chunks/files~chunks/settings-subscription~chunks/shared/file-browser~chunks/user-subscription.js?id=af81ed63f1b76be8fb28", - "/chunks/files~chunks/shared/file-browser.js": "/chunks/files~chunks/shared/file-browser.js?id=c5eb027970e0dcf13de8", + "/chunks/files~chunks/shared/file-browser.js": "/chunks/files~chunks/shared/file-browser.js?id=289d85518c732c670554", "/chunks/files~chunks/shared/file-browser~chunks/shared/single-file.js": "/chunks/files~chunks/shared/file-browser~chunks/shared/single-file.js?id=cb86cf1c269a237fc24a", "/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=6b5033523b14e584964a", "/chunks/homepage.js": "/chunks/homepage.js?id=e8f70d0165041c4d1889", @@ -95,152 +96,27 @@ "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~81c8aec0.js": "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~81c8aec0.js?id=ca3b57f70682c1c315f7", "/vendors~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.js": "/vendors~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.js?id=9d10953d3b088324dfe3", "/vendors~chunks/platform~chunks/shared.js": "/vendors~chunks/platform~chunks/shared.js?id=7d09e0b0658e140a7ffa", - "/js/main.8e8ffd0ba81aeef33d6f.hot-update.js": "/js/main.8e8ffd0ba81aeef33d6f.hot-update.js", - "/vendors~chunks/admin~chunks/admin-account~chunks/app-email~chunks/app-payments~chunks/app-setup~chun~81d257bc.js": "/vendors~chunks/admin~chunks/admin-account~chunks/app-email~chunks/app-payments~chunks/app-setup~chun~81d257bc.js?id=a355eeae70079483b2f0", - "/js/main.8fd0f5c79feac51ca836.hot-update.js": "/js/main.8fd0f5c79feac51ca836.hot-update.js", - "/js/main.ac850e26c803bc37d0e7.hot-update.js": "/js/main.ac850e26c803bc37d0e7.hot-update.js", - "/js/main.56968d9590188828b974.hot-update.js": "/js/main.56968d9590188828b974.hot-update.js", - "/js/main.6e507680ff9cb59d1812.hot-update.js": "/js/main.6e507680ff9cb59d1812.hot-update.js", - "/js/main.bb5b2df46132303e47b2.hot-update.js": "/js/main.bb5b2df46132303e47b2.hot-update.js", - "/js/main.d6df0407d927b0cee586.hot-update.js": "/js/main.d6df0407d927b0cee586.hot-update.js", - "/js/main.c88ddf3ec445bc769421.hot-update.js": "/js/main.c88ddf3ec445bc769421.hot-update.js", - "/js/main.2fb5fcc038d0efa54a55.hot-update.js": "/js/main.2fb5fcc038d0efa54a55.hot-update.js", - "/js/main.5ec59b1f352833e8f6bc.hot-update.js": "/js/main.5ec59b1f352833e8f6bc.hot-update.js", - "/js/main.fd1a83fe6260bd08a03b.hot-update.js": "/js/main.fd1a83fe6260bd08a03b.hot-update.js", - "/js/main.feab5acc4212d336ac9f.hot-update.js": "/js/main.feab5acc4212d336ac9f.hot-update.js", - "/chunks/files~chunks/shared/file-browser.746c001dd01b9429f0c6.hot-update.js": "/chunks/files~chunks/shared/file-browser.746c001dd01b9429f0c6.hot-update.js", - "/chunks/files~chunks/shared/file-browser.6bc336ded13783aaf435.hot-update.js": "/chunks/files~chunks/shared/file-browser.6bc336ded13783aaf435.hot-update.js", - "/chunks/files~chunks/shared/file-browser.fe9a1e59dbe4d588314f.hot-update.js": "/chunks/files~chunks/shared/file-browser.fe9a1e59dbe4d588314f.hot-update.js", - "/chunks/files~chunks/shared/file-browser.67532e7dcf43956a472c.hot-update.js": "/chunks/files~chunks/shared/file-browser.67532e7dcf43956a472c.hot-update.js", - "/js/main.5a9727048bf1d93b00a8.hot-update.js": "/js/main.5a9727048bf1d93b00a8.hot-update.js", - "/js/main.3b0b3a891a7097071040.hot-update.js": "/js/main.3b0b3a891a7097071040.hot-update.js", - "/js/main.eb2c3d44bd70983275f2.hot-update.js": "/js/main.eb2c3d44bd70983275f2.hot-update.js", - "/chunks/app-language~chunks/dashboard~chunks/invoices~chunks/pages~chunks/plans~chunks/settings~chunk~8e71da83.js": "/chunks/app-language~chunks/dashboard~chunks/invoices~chunks/pages~chunks/plans~chunks/settings~chunk~8e71da83.js?id=e4a472b95cf91533512c", - "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.eb2c3d44bd70983275f2.hot-update.js": "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.eb2c3d44bd70983275f2.hot-update.js", - "/chunks/files~chunks/shared/file-browser.eb2c3d44bd70983275f2.hot-update.js": "/chunks/files~chunks/shared/file-browser.eb2c3d44bd70983275f2.hot-update.js", - "/chunks/platform~chunks/shared.eb2c3d44bd70983275f2.hot-update.js": "/chunks/platform~chunks/shared.eb2c3d44bd70983275f2.hot-update.js", - "/chunks/platform~chunks/shared~chunks/shared/single-file.js": "/chunks/platform~chunks/shared~chunks/shared/single-file.js?id=b4399c659dbf9e871ddc", - "/chunks/settings-subscription.eb2c3d44bd70983275f2.hot-update.js": "/chunks/settings-subscription.eb2c3d44bd70983275f2.hot-update.js", - "/chunks/settings-subscription~chunks/user-subscription.js": "/chunks/settings-subscription~chunks/user-subscription.js?id=60b258958f6ccc222687", - "/chunks/user-subscription.eb2c3d44bd70983275f2.hot-update.js": "/chunks/user-subscription.eb2c3d44bd70983275f2.hot-update.js", - "/vendors~chunks/platform~chunks/shared~chunks/shared/single-file.js": "/vendors~chunks/platform~chunks/shared~chunks/shared/single-file.js?id=b00184c0940c415c5849", - "/js/main.7dd28038776f414ab5d0.hot-update.js": "/js/main.7dd28038776f414ab5d0.hot-update.js", - "/chunks/files.7dd28038776f414ab5d0.hot-update.js": "/chunks/files.7dd28038776f414ab5d0.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.7dd28038776f414ab5d0.hot-update.js": "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.7dd28038776f414ab5d0.hot-update.js", - "/chunks/files~chunks/shared/file-browser.7dd28038776f414ab5d0.hot-update.js": "/chunks/files~chunks/shared/file-browser.7dd28038776f414ab5d0.hot-update.js", - "/chunks/platform.7dd28038776f414ab5d0.hot-update.js": "/chunks/platform.7dd28038776f414ab5d0.hot-update.js", - "/chunks/platform~chunks/shared.7dd28038776f414ab5d0.hot-update.js": "/chunks/platform~chunks/shared.7dd28038776f414ab5d0.hot-update.js", - "/chunks/shared/single-file.7dd28038776f414ab5d0.hot-update.js": "/chunks/shared/single-file.7dd28038776f414ab5d0.hot-update.js", - "/chunks/files~chunks/shared/file-browser.a3159c00aadb02c3f6b6.hot-update.js": "/chunks/files~chunks/shared/file-browser.a3159c00aadb02c3f6b6.hot-update.js", - "/js/main.723db11ab0c0fa4414c1.hot-update.js": "/js/main.723db11ab0c0fa4414c1.hot-update.js", - "/js/main.b260773e9944f6e8c0b0.hot-update.js": "/js/main.b260773e9944f6e8c0b0.hot-update.js", - "/js/main.fdadae44626492668fc5.hot-update.js": "/js/main.fdadae44626492668fc5.hot-update.js", - "/js/main.31a6a2a9ebf92e6d31ca.hot-update.js": "/js/main.31a6a2a9ebf92e6d31ca.hot-update.js", - "/js/main.bb7d34653b773a8e6bd0.hot-update.js": "/js/main.bb7d34653b773a8e6bd0.hot-update.js", - "/js/main.a258575aa03652d71a78.hot-update.js": "/js/main.a258575aa03652d71a78.hot-update.js", - "/js/main.89b135af228a76b45177.hot-update.js": "/js/main.89b135af228a76b45177.hot-update.js", - "/js/main.425b98bb22325c4e1104.hot-update.js": "/js/main.425b98bb22325c4e1104.hot-update.js", - "/js/main.1316ccda17c905679bb0.hot-update.js": "/js/main.1316ccda17c905679bb0.hot-update.js", - "/js/main.7330355487088a26b20e.hot-update.js": "/js/main.7330355487088a26b20e.hot-update.js", - "/js/main.d2258ad33d25aaa8c46f.hot-update.js": "/js/main.d2258ad33d25aaa8c46f.hot-update.js", - "/js/main.a480505cb3aa50f82a4f.hot-update.js": "/js/main.a480505cb3aa50f82a4f.hot-update.js", - "/js/main.299e425d7c066bc6b7bc.hot-update.js": "/js/main.299e425d7c066bc6b7bc.hot-update.js", - "/js/main.aa4c95d713f3e198d46d.hot-update.js": "/js/main.aa4c95d713f3e198d46d.hot-update.js", - "/js/main.061e3452d4f227b98ded.hot-update.js": "/js/main.061e3452d4f227b98ded.hot-update.js", - "/js/main.212f65475aa6c2d29f61.hot-update.js": "/js/main.212f65475aa6c2d29f61.hot-update.js", - "/js/main.c077953a9f31ad64140f.hot-update.js": "/js/main.c077953a9f31ad64140f.hot-update.js", - "/chunks/admin.c077953a9f31ad64140f.hot-update.js": "/chunks/admin.c077953a9f31ad64140f.hot-update.js", - "/chunks/admin-account.c077953a9f31ad64140f.hot-update.js": "/chunks/admin-account.c077953a9f31ad64140f.hot-update.js", - "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.c077953a9f31ad64140f.hot-update.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.c077953a9f31ad64140f.hot-update.js", - "/chunks/admin~chunks/files~chunks/settings~chunks/shared/file-browser.c077953a9f31ad64140f.hot-update.js": "/chunks/admin~chunks/files~chunks/settings~chunks/shared/file-browser.c077953a9f31ad64140f.hot-update.js", - "/chunks/admin~chunks/platform.c077953a9f31ad64140f.hot-update.js": "/chunks/admin~chunks/platform.c077953a9f31ad64140f.hot-update.js", - "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.c077953a9f31ad64140f.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.c077953a9f31ad64140f.hot-update.js", - "/chunks/admin~chunks/platform~chunks/shared.c077953a9f31ad64140f.hot-update.js": "/chunks/admin~chunks/platform~chunks/shared.c077953a9f31ad64140f.hot-update.js", - "/chunks/app-appearance.c077953a9f31ad64140f.hot-update.js": "/chunks/app-appearance.c077953a9f31ad64140f.hot-update.js", - "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.c077953a9f31ad64140f.hot-update.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.c077953a9f31ad64140f.hot-update.js", - "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~b9e5655a.c077953a9f31ad64140f.hot-update.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~b9e5655a.c077953a9f31ad64140f.hot-update.js", - "/chunks/app-billings.c077953a9f31ad64140f.hot-update.js": "/chunks/app-billings.c077953a9f31ad64140f.hot-update.js", - "/chunks/app-email.c077953a9f31ad64140f.hot-update.js": "/chunks/app-email.c077953a9f31ad64140f.hot-update.js", - "/chunks/app-index.c077953a9f31ad64140f.hot-update.js": "/chunks/app-index.c077953a9f31ad64140f.hot-update.js", - "/chunks/app-language.c077953a9f31ad64140f.hot-update.js": "/chunks/app-language.c077953a9f31ad64140f.hot-update.js", - "/chunks/app-language~chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pag~824d674f.c077953a9f31ad64140f.hot-update.js": "/chunks/app-language~chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pag~824d674f.c077953a9f31ad64140f.hot-update.js", - "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/p~98b23ba6.js": "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/p~98b23ba6.js?id=6c17148b13718b8bfa2e", - "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~0d12a0aa.c077953a9f31ad64140f.hot-update.js": "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~0d12a0aa.c077953a9f31ad64140f.hot-update.js", - "/chunks/app-others.c077953a9f31ad64140f.hot-update.js": "/chunks/app-others.c077953a9f31ad64140f.hot-update.js", - "/chunks/app-payments.c077953a9f31ad64140f.hot-update.js": "/chunks/app-payments.c077953a9f31ad64140f.hot-update.js", - "/chunks/app-settings.c077953a9f31ad64140f.hot-update.js": "/chunks/app-settings.c077953a9f31ad64140f.hot-update.js", - "/chunks/app-setup.c077953a9f31ad64140f.hot-update.js": "/chunks/app-setup.c077953a9f31ad64140f.hot-update.js", - "/chunks/billings-detail.c077953a9f31ad64140f.hot-update.js": "/chunks/billings-detail.c077953a9f31ad64140f.hot-update.js", - "/chunks/contact-us.c077953a9f31ad64140f.hot-update.js": "/chunks/contact-us.c077953a9f31ad64140f.hot-update.js", - "/chunks/create-new-password.c077953a9f31ad64140f.hot-update.js": "/chunks/create-new-password.c077953a9f31ad64140f.hot-update.js", - "/chunks/dashboard.c077953a9f31ad64140f.hot-update.js": "/chunks/dashboard.c077953a9f31ad64140f.hot-update.js", - "/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plan-subscribers~chunks/plans~chunks/settings-i~0e2a0654.c077953a9f31ad64140f.hot-update.js": "/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plan-subscribers~chunks/plans~chunks/settings-i~0e2a0654.c077953a9f31ad64140f.hot-update.js", - "/chunks/database.c077953a9f31ad64140f.hot-update.js": "/chunks/database.c077953a9f31ad64140f.hot-update.js", - "/chunks/dynamic-page.c077953a9f31ad64140f.hot-update.js": "/chunks/dynamic-page.c077953a9f31ad64140f.hot-update.js", - "/chunks/email-verified.c077953a9f31ad64140f.hot-update.js": "/chunks/email-verified.c077953a9f31ad64140f.hot-update.js", - "/chunks/environment-setup.c077953a9f31ad64140f.hot-update.js": "/chunks/environment-setup.c077953a9f31ad64140f.hot-update.js", - "/chunks/files.c077953a9f31ad64140f.hot-update.js": "/chunks/files.c077953a9f31ad64140f.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.c077953a9f31ad64140f.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.c077953a9f31ad64140f.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.c077953a9f31ad64140f.hot-update.js": "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.c077953a9f31ad64140f.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.c077953a9f31ad64140f.hot-update.js": "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.c077953a9f31ad64140f.hot-update.js", - "/chunks/files~chunks/shared/file-browser.c077953a9f31ad64140f.hot-update.js": "/chunks/files~chunks/shared/file-browser.c077953a9f31ad64140f.hot-update.js", - "/chunks/files~chunks/shared/file-browser~chunks/shared/single-file.c077953a9f31ad64140f.hot-update.js": "/chunks/files~chunks/shared/file-browser~chunks/shared/single-file.c077953a9f31ad64140f.hot-update.js", - "/chunks/forgotten-password.c077953a9f31ad64140f.hot-update.js": "/chunks/forgotten-password.c077953a9f31ad64140f.hot-update.js", - "/chunks/homepage.c077953a9f31ad64140f.hot-update.js": "/chunks/homepage.c077953a9f31ad64140f.hot-update.js", - "/chunks/installation-disclaimer.c077953a9f31ad64140f.hot-update.js": "/chunks/installation-disclaimer.c077953a9f31ad64140f.hot-update.js", - "/chunks/invoices.c077953a9f31ad64140f.hot-update.js": "/chunks/invoices.c077953a9f31ad64140f.hot-update.js", - "/chunks/not-found.c077953a9f31ad64140f.hot-update.js": "/chunks/not-found.c077953a9f31ad64140f.hot-update.js", - "/chunks/page-edit.c077953a9f31ad64140f.hot-update.js": "/chunks/page-edit.c077953a9f31ad64140f.hot-update.js", - "/chunks/pages.c077953a9f31ad64140f.hot-update.js": "/chunks/pages.c077953a9f31ad64140f.hot-update.js", - "/chunks/plan.c077953a9f31ad64140f.hot-update.js": "/chunks/plan.c077953a9f31ad64140f.hot-update.js", - "/chunks/plan-create.c077953a9f31ad64140f.hot-update.js": "/chunks/plan-create.c077953a9f31ad64140f.hot-update.js", - "/chunks/plan-delete.c077953a9f31ad64140f.hot-update.js": "/chunks/plan-delete.c077953a9f31ad64140f.hot-update.js", - "/chunks/plan-settings.c077953a9f31ad64140f.hot-update.js": "/chunks/plan-settings.c077953a9f31ad64140f.hot-update.js", - "/chunks/plan-subscribers.c077953a9f31ad64140f.hot-update.js": "/chunks/plan-subscribers.c077953a9f31ad64140f.hot-update.js", - "/chunks/plans.c077953a9f31ad64140f.hot-update.js": "/chunks/plans.c077953a9f31ad64140f.hot-update.js", - "/chunks/platform.c077953a9f31ad64140f.hot-update.js": "/chunks/platform.c077953a9f31ad64140f.hot-update.js", - "/chunks/platform~chunks/shared.c077953a9f31ad64140f.hot-update.js": "/chunks/platform~chunks/shared.c077953a9f31ad64140f.hot-update.js", - "/chunks/profile.c077953a9f31ad64140f.hot-update.js": "/chunks/profile.c077953a9f31ad64140f.hot-update.js", - "/chunks/purchase-code.c077953a9f31ad64140f.hot-update.js": "/chunks/purchase-code.c077953a9f31ad64140f.hot-update.js", - "/chunks/settings.c077953a9f31ad64140f.hot-update.js": "/chunks/settings.c077953a9f31ad64140f.hot-update.js", - "/chunks/settings-create-payment-methods.c077953a9f31ad64140f.hot-update.js": "/chunks/settings-create-payment-methods.c077953a9f31ad64140f.hot-update.js", - "/chunks/settings-invoices.c077953a9f31ad64140f.hot-update.js": "/chunks/settings-invoices.c077953a9f31ad64140f.hot-update.js", - "/chunks/settings-password.c077953a9f31ad64140f.hot-update.js": "/chunks/settings-password.c077953a9f31ad64140f.hot-update.js", - "/chunks/settings-payment-methods.c077953a9f31ad64140f.hot-update.js": "/chunks/settings-payment-methods.c077953a9f31ad64140f.hot-update.js", - "/chunks/settings-storage.c077953a9f31ad64140f.hot-update.js": "/chunks/settings-storage.c077953a9f31ad64140f.hot-update.js", - "/chunks/settings-subscription.c077953a9f31ad64140f.hot-update.js": "/chunks/settings-subscription.c077953a9f31ad64140f.hot-update.js", - "/chunks/shared.c077953a9f31ad64140f.hot-update.js": "/chunks/shared.c077953a9f31ad64140f.hot-update.js", - "/chunks/shared/authenticate.c077953a9f31ad64140f.hot-update.js": "/chunks/shared/authenticate.c077953a9f31ad64140f.hot-update.js", - "/chunks/shared/file-browser.c077953a9f31ad64140f.hot-update.js": "/chunks/shared/file-browser.c077953a9f31ad64140f.hot-update.js", - "/chunks/shared/single-file.c077953a9f31ad64140f.hot-update.js": "/chunks/shared/single-file.c077953a9f31ad64140f.hot-update.js", - "/chunks/sign-in.c077953a9f31ad64140f.hot-update.js": "/chunks/sign-in.c077953a9f31ad64140f.hot-update.js", - "/chunks/sign-up.c077953a9f31ad64140f.hot-update.js": "/chunks/sign-up.c077953a9f31ad64140f.hot-update.js", - "/chunks/status-check.c077953a9f31ad64140f.hot-update.js": "/chunks/status-check.c077953a9f31ad64140f.hot-update.js", - "/chunks/stripe-credentials.c077953a9f31ad64140f.hot-update.js": "/chunks/stripe-credentials.c077953a9f31ad64140f.hot-update.js", - "/chunks/subscription-plans.c077953a9f31ad64140f.hot-update.js": "/chunks/subscription-plans.c077953a9f31ad64140f.hot-update.js", - "/chunks/subscription-service.c077953a9f31ad64140f.hot-update.js": "/chunks/subscription-service.c077953a9f31ad64140f.hot-update.js", - "/chunks/upgrade-billing.c077953a9f31ad64140f.hot-update.js": "/chunks/upgrade-billing.c077953a9f31ad64140f.hot-update.js", - "/chunks/upgrade-billing~chunks/upgrade-plan.c077953a9f31ad64140f.hot-update.js": "/chunks/upgrade-billing~chunks/upgrade-plan.c077953a9f31ad64140f.hot-update.js", - "/chunks/upgrade-plan.c077953a9f31ad64140f.hot-update.js": "/chunks/upgrade-plan.c077953a9f31ad64140f.hot-update.js", - "/chunks/user.c077953a9f31ad64140f.hot-update.js": "/chunks/user.c077953a9f31ad64140f.hot-update.js", - "/chunks/user-create.c077953a9f31ad64140f.hot-update.js": "/chunks/user-create.c077953a9f31ad64140f.hot-update.js", - "/chunks/user-delete.c077953a9f31ad64140f.hot-update.js": "/chunks/user-delete.c077953a9f31ad64140f.hot-update.js", - "/chunks/user-detail.c077953a9f31ad64140f.hot-update.js": "/chunks/user-detail.c077953a9f31ad64140f.hot-update.js", - "/chunks/user-invoices.c077953a9f31ad64140f.hot-update.js": "/chunks/user-invoices.c077953a9f31ad64140f.hot-update.js", - "/chunks/user-password.c077953a9f31ad64140f.hot-update.js": "/chunks/user-password.c077953a9f31ad64140f.hot-update.js", - "/chunks/user-storage.c077953a9f31ad64140f.hot-update.js": "/chunks/user-storage.c077953a9f31ad64140f.hot-update.js", - "/chunks/user-subscription.c077953a9f31ad64140f.hot-update.js": "/chunks/user-subscription.c077953a9f31ad64140f.hot-update.js", - "/chunks/users.c077953a9f31ad64140f.hot-update.js": "/chunks/users.c077953a9f31ad64140f.hot-update.js", - "/chunks/platform.8fde040ba75a7828bede.hot-update.js": "/chunks/platform.8fde040ba75a7828bede.hot-update.js", - "/chunks/platform.1e234e899fa8a0598ba1.hot-update.js": "/chunks/platform.1e234e899fa8a0598ba1.hot-update.js", - "/chunks/platform.b566a7fcc2cbdddd36cd.hot-update.js": "/chunks/platform.b566a7fcc2cbdddd36cd.hot-update.js", - "/chunks/platform.06580e8a7c26eacf8c62.hot-update.js": "/chunks/platform.06580e8a7c26eacf8c62.hot-update.js", - "/chunks/platform.bef9b7b4648035fb77d8.hot-update.js": "/chunks/platform.bef9b7b4648035fb77d8.hot-update.js", - "/chunks/platform.1cc4d880a115402dd22b.hot-update.js": "/chunks/platform.1cc4d880a115402dd22b.hot-update.js", - "/chunks/platform.6a687dad7b9a1adbacfb.hot-update.js": "/chunks/platform.6a687dad7b9a1adbacfb.hot-update.js", - "/chunks/platform.6db8d2b9ac4c1476df56.hot-update.js": "/chunks/platform.6db8d2b9ac4c1476df56.hot-update.js", - "/chunks/platform.8b7554ea1bab5dd28be0.hot-update.js": "/chunks/platform.8b7554ea1bab5dd28be0.hot-update.js", - "/chunks/platform.ba84a449fb4b726a06d9.hot-update.js": "/chunks/platform.ba84a449fb4b726a06d9.hot-update.js", - "/chunks/platform.6870c744f75a70a9c0ee.hot-update.js": "/chunks/platform.6870c744f75a70a9c0ee.hot-update.js", - "/chunks/platform.07a7730db63ad2ff3697.hot-update.js": "/chunks/platform.07a7730db63ad2ff3697.hot-update.js" + "/chunks/files~chunks/platform~chunks/shared/file-browser.402f850c3d59e5227b2a.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.402f850c3d59e5227b2a.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.3b04312cf9a9e3faa9d0.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.3b04312cf9a9e3faa9d0.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.846b9434d6f6cf17c830.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.846b9434d6f6cf17c830.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.f6bb3f1a4b07b9bc3df7.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.f6bb3f1a4b07b9bc3df7.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.e233a033fc7bb6070a5b.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.e233a033fc7bb6070a5b.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.4eed4a7968ac7ea44c08.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.4eed4a7968ac7ea44c08.hot-update.js", + "/chunks/files~chunks/shared/file-browser.419c6cdfcadfe4e86332.hot-update.js": "/chunks/files~chunks/shared/file-browser.419c6cdfcadfe4e86332.hot-update.js", + "/chunks/files~chunks/shared/file-browser.741ba7aadb75cbb854e8.hot-update.js": "/chunks/files~chunks/shared/file-browser.741ba7aadb75cbb854e8.hot-update.js", + "/chunks/files~chunks/shared/file-browser.b6fc75661d6178d3861b.hot-update.js": "/chunks/files~chunks/shared/file-browser.b6fc75661d6178d3861b.hot-update.js", + "/chunks/files~chunks/shared/file-browser.a5ba9693fb45d209affb.hot-update.js": "/chunks/files~chunks/shared/file-browser.a5ba9693fb45d209affb.hot-update.js", + "/chunks/files~chunks/shared/file-browser.00eef821a9dbfbb370a4.hot-update.js": "/chunks/files~chunks/shared/file-browser.00eef821a9dbfbb370a4.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.eb9c898101cd9e31b130.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.eb9c898101cd9e31b130.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.acc1e7ab1a97556789ee.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.acc1e7ab1a97556789ee.hot-update.js", + "/chunks/files~chunks/shared/file-browser.e3ab4dbdab7f7f6601c6.hot-update.js": "/chunks/files~chunks/shared/file-browser.e3ab4dbdab7f7f6601c6.hot-update.js", + "/chunks/files~chunks/shared/file-browser.2ea625f119d7304b0671.hot-update.js": "/chunks/files~chunks/shared/file-browser.2ea625f119d7304b0671.hot-update.js", + "/chunks/files~chunks/shared/file-browser.b60fe024dcf1f534e6ee.hot-update.js": "/chunks/files~chunks/shared/file-browser.b60fe024dcf1f534e6ee.hot-update.js", + "/chunks/files~chunks/shared/file-browser.d897d4ccbe14170233dc.hot-update.js": "/chunks/files~chunks/shared/file-browser.d897d4ccbe14170233dc.hot-update.js", + "/chunks/files~chunks/shared/file-browser.ce9023d33c71bac3ccea.hot-update.js": "/chunks/files~chunks/shared/file-browser.ce9023d33c71bac3ccea.hot-update.js", + "/chunks/files~chunks/shared/file-browser.7f8a47121e7fbf584b5e.hot-update.js": "/chunks/files~chunks/shared/file-browser.7f8a47121e7fbf584b5e.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.eed1eebd1490d7cad42b.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.eed1eebd1490d7cad42b.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.010132de11c2619f657a.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.010132de11c2619f657a.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.262f08f1790e4bb897a4.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.262f08f1790e4bb897a4.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.013c25893c394c494b97.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.013c25893c394c494b97.hot-update.js" } diff --git a/resources/js/components/FilesView/DesktopToolbar.vue b/resources/js/components/FilesView/DesktopToolbar.vue index 49be7a58..a36cb287 100644 --- a/resources/js/components/FilesView/DesktopToolbar.vue +++ b/resources/js/components/FilesView/DesktopToolbar.vue @@ -26,8 +26,11 @@ + + + + - diff --git a/resources/js/components/FilesView/OptionUpload.vue b/resources/js/components/FilesView/OptionUpload.vue index d637f16b..34362701 100644 --- a/resources/js/components/FilesView/OptionUpload.vue +++ b/resources/js/components/FilesView/OptionUpload.vue @@ -1,18 +1,30 @@ @@ -26,7 +38,7 @@ import { export default { name: 'Option', props:[ - 'title', + 'title', 'type' ], components: { UploadCloudIcon, @@ -72,12 +84,20 @@ import { .text-label { @include font-size(16); } + + &:hover { + background: $light_background; + } } .dark-mode { .menu-option { color: $dark_mode_text_primary; + + &:hover { + background: lighten($dark_mode_foreground, 2%); + } } } diff --git a/resources/js/helpers.js b/resources/js/helpers.js index b10bf503..e8efb357 100644 --- a/resources/js/helpers.js +++ b/resources/js/helpers.js @@ -135,6 +135,7 @@ const Helpers = { this.$store.commit('ADD_FILES_TO_QUEUE', { folder_id: store.getters.currentFolder.id ? store.getters.currentFolder.id : '', file: item, + path: '/' + item.webkitRelativePath }) }); From 09dfaaa34a26488bc9e5e28eca9fc8b09446b771 Mon Sep 17 00:00:00 2001 From: Milos Holba Date: Tue, 17 Aug 2021 17:41:56 +0200 Subject: [PATCH 4/7] fix upload progress count --- public/mix-manifest.json | 30 +++++-------------- resources/js/store/modules/fileFunctions.js | 8 ++--- src/Domain/Files/Actions/UploadFileAction.php | 10 +++++-- 3 files changed, 18 insertions(+), 30 deletions(-) diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 87f2a3bc..a46217dd 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -96,27 +96,11 @@ "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~81c8aec0.js": "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~81c8aec0.js?id=ca3b57f70682c1c315f7", "/vendors~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.js": "/vendors~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.js?id=9d10953d3b088324dfe3", "/vendors~chunks/platform~chunks/shared.js": "/vendors~chunks/platform~chunks/shared.js?id=7d09e0b0658e140a7ffa", - "/chunks/files~chunks/platform~chunks/shared/file-browser.402f850c3d59e5227b2a.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.402f850c3d59e5227b2a.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.3b04312cf9a9e3faa9d0.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.3b04312cf9a9e3faa9d0.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.846b9434d6f6cf17c830.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.846b9434d6f6cf17c830.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.f6bb3f1a4b07b9bc3df7.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.f6bb3f1a4b07b9bc3df7.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.e233a033fc7bb6070a5b.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.e233a033fc7bb6070a5b.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.4eed4a7968ac7ea44c08.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.4eed4a7968ac7ea44c08.hot-update.js", - "/chunks/files~chunks/shared/file-browser.419c6cdfcadfe4e86332.hot-update.js": "/chunks/files~chunks/shared/file-browser.419c6cdfcadfe4e86332.hot-update.js", - "/chunks/files~chunks/shared/file-browser.741ba7aadb75cbb854e8.hot-update.js": "/chunks/files~chunks/shared/file-browser.741ba7aadb75cbb854e8.hot-update.js", - "/chunks/files~chunks/shared/file-browser.b6fc75661d6178d3861b.hot-update.js": "/chunks/files~chunks/shared/file-browser.b6fc75661d6178d3861b.hot-update.js", - "/chunks/files~chunks/shared/file-browser.a5ba9693fb45d209affb.hot-update.js": "/chunks/files~chunks/shared/file-browser.a5ba9693fb45d209affb.hot-update.js", - "/chunks/files~chunks/shared/file-browser.00eef821a9dbfbb370a4.hot-update.js": "/chunks/files~chunks/shared/file-browser.00eef821a9dbfbb370a4.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.eb9c898101cd9e31b130.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.eb9c898101cd9e31b130.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.acc1e7ab1a97556789ee.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.acc1e7ab1a97556789ee.hot-update.js", - "/chunks/files~chunks/shared/file-browser.e3ab4dbdab7f7f6601c6.hot-update.js": "/chunks/files~chunks/shared/file-browser.e3ab4dbdab7f7f6601c6.hot-update.js", - "/chunks/files~chunks/shared/file-browser.2ea625f119d7304b0671.hot-update.js": "/chunks/files~chunks/shared/file-browser.2ea625f119d7304b0671.hot-update.js", - "/chunks/files~chunks/shared/file-browser.b60fe024dcf1f534e6ee.hot-update.js": "/chunks/files~chunks/shared/file-browser.b60fe024dcf1f534e6ee.hot-update.js", - "/chunks/files~chunks/shared/file-browser.d897d4ccbe14170233dc.hot-update.js": "/chunks/files~chunks/shared/file-browser.d897d4ccbe14170233dc.hot-update.js", - "/chunks/files~chunks/shared/file-browser.ce9023d33c71bac3ccea.hot-update.js": "/chunks/files~chunks/shared/file-browser.ce9023d33c71bac3ccea.hot-update.js", - "/chunks/files~chunks/shared/file-browser.7f8a47121e7fbf584b5e.hot-update.js": "/chunks/files~chunks/shared/file-browser.7f8a47121e7fbf584b5e.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.eed1eebd1490d7cad42b.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.eed1eebd1490d7cad42b.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.010132de11c2619f657a.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.010132de11c2619f657a.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.262f08f1790e4bb897a4.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.262f08f1790e4bb897a4.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.013c25893c394c494b97.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.013c25893c394c494b97.hot-update.js" + "/js/main.c4c494eb0b8f3148e2b4.hot-update.js": "/js/main.c4c494eb0b8f3148e2b4.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.c4c494eb0b8f3148e2b4.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.c4c494eb0b8f3148e2b4.hot-update.js", + "/chunks/files~chunks/shared/file-browser.c4c494eb0b8f3148e2b4.hot-update.js": "/chunks/files~chunks/shared/file-browser.c4c494eb0b8f3148e2b4.hot-update.js", + "/js/main.3cb9742317ec0332f8fc.hot-update.js": "/js/main.3cb9742317ec0332f8fc.hot-update.js", + "/js/main.4cfcd101ec2b65d0f8a9.hot-update.js": "/js/main.4cfcd101ec2b65d0f8a9.hot-update.js", + "/js/main.1c4fd654c971c29349a4.hot-update.js": "/js/main.1c4fd654c971c29349a4.hot-update.js", + "/js/main.1c16de546cf0d2dac814.hot-update.js": "/js/main.1c16de546cf0d2dac814.hot-update.js" } diff --git a/resources/js/store/modules/fileFunctions.js b/resources/js/store/modules/fileFunctions.js index ca8e4b0f..df98c21d 100644 --- a/resources/js/store/modules/fileFunctions.js +++ b/resources/js/store/modules/fileFunctions.js @@ -174,18 +174,18 @@ const actions = { commit('SHIFT_FROM_FILE_QUEUE') // Check if user is in uploading folder, if yes, than show new file - if (response.data.folder_id == getters.currentFolder.id) { + if (response.data.folder_id === getters.currentFolder.id) { // Add uploaded item into view commit('ADD_NEW_ITEMS', response.data) // Reset file progress commit('UPLOADING_FILE_PROGRESS', 0) - - // Increase count in files in queue uploaded for 1 - commit('INCREASE_FILES_IN_QUEUE_UPLOADED') } + // Increase count in files in queue uploaded for 1 + commit('INCREASE_FILES_IN_QUEUE_UPLOADED') + // Start uploading next file if file queue is not empty if (getters.fileQueue.length) { Vue.prototype.$handleUploading(getters.fileQueue[0]) diff --git a/src/Domain/Files/Actions/UploadFileAction.php b/src/Domain/Files/Actions/UploadFileAction.php index a8292a1d..f9979419 100644 --- a/src/Domain/Files/Actions/UploadFileAction.php +++ b/src/Domain/Files/Actions/UploadFileAction.php @@ -112,20 +112,24 @@ class UploadFileAction $last_folder = $parent; + // Get already created structure of the file parents $structure = Folder::whereIn('name', $folders)->with('parent')->get(); - + // If file have some parent folders if( count($folders) > 0) { + if(count($folders) === count($structure) ) { + // Check if file parents are equal to already existed folder structure $last_folder = $this->check_folder_structure($structure, $folders); - + } else if (count($folders) !== count($structure)) { - + if(count($structure) > 0) { + // Check what folders are missed in structure and return missed folder with last created folder in structure $data = $this->check_exist_folders($structure, $folders); $folders = $data[0]; From 4e3e63ba00400bcd88ecb8517937428daac076a8 Mon Sep 17 00:00:00 2001 From: Milos Holba Date: Wed, 18 Aug 2021 18:50:32 +0200 Subject: [PATCH 5/7] new test for folders upload --- composer.lock | 502 ++++++++++-------- public/mix-manifest.json | 39 +- .../FilesView/Icons/AlphabetIcon.vue | 8 +- .../js/components/FilesView/OptionUpload.vue | 5 +- tests/Domain/Admin/AdminTest.php | 1 + tests/Domain/Files/FileTest.php | 5 + tests/Domain/Folders/FolderTest.php | 55 ++ .../Sharing/VisitorManipulatingTest.php | 2 + tests/Domain/Traffic/TrafficTest.php | 4 + tests/Domain/Trash/TrashTest.php | 1 + tests/Domain/Zip/UserZippingTest.php | 3 + 11 files changed, 407 insertions(+), 218 deletions(-) diff --git a/composer.lock b/composer.lock index 0d255415..1d39f5ff 100644 --- a/composer.lock +++ b/composer.lock @@ -230,16 +230,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.186.0", + "version": "3.190.4", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "e8511d38de286233bcb6a827d3344c0fc4808b75" + "reference": "b66a54a7825ce5a639fe929906746249d903ae5d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/e8511d38de286233bcb6a827d3344c0fc4808b75", - "reference": "e8511d38de286233bcb6a827d3344c0fc4808b75", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/b66a54a7825ce5a639fe929906746249d903ae5d", + "reference": "b66a54a7825ce5a639fe929906746249d903ae5d", "shasum": "" }, "require": { @@ -314,9 +314,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.186.0" + "source": "https://github.com/aws/aws-sdk-php/tree/3.190.4" }, - "time": "2021-07-27T18:17:00+00:00" + "time": "2021-08-17T18:17:31+00:00" }, { "name": "bacon/bacon-qr-code", @@ -373,16 +373,16 @@ }, { "name": "brianium/paratest", - "version": "v6.3.0", + "version": "v6.3.1", "source": { "type": "git", "url": "https://github.com/paratestphp/paratest.git", - "reference": "268d5b2b4237c0abf76c4aa9633ad8580be01e1e" + "reference": "3d81e35876f6497467310b123583cca6bd4c38f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paratestphp/paratest/zipball/268d5b2b4237c0abf76c4aa9633ad8580be01e1e", - "reference": "268d5b2b4237c0abf76c4aa9633ad8580be01e1e", + "url": "https://api.github.com/repos/paratestphp/paratest/zipball/3d81e35876f6497467310b123583cca6bd4c38f2", + "reference": "3d81e35876f6497467310b123583cca6bd4c38f2", "shasum": "" }, "require": { @@ -394,25 +394,25 @@ "phpunit/php-code-coverage": "^9.2.6", "phpunit/php-file-iterator": "^3.0.5", "phpunit/php-timer": "^5.0.3", - "phpunit/phpunit": "^9.5.4", + "phpunit/phpunit": "^9.5.8", "sebastian/environment": "^5.1.3", - "symfony/console": "^4.4.21 || ^5.2.6", - "symfony/process": "^4.4.21 || ^5.2.4" + "symfony/console": "^4.4.23 || ^5.3.6", + "symfony/process": "^4.4.22 || ^5.3.4" }, "require-dev": { "doctrine/coding-standard": "^9.0.0", "ekino/phpstan-banned-code": "^0.4.0", "ergebnis/phpstan-rules": "^0.15.3", "ext-posix": "*", - "infection/infection": "^0.21.5", - "phpstan/phpstan": "^0.12.84", + "infection/infection": "^0.24", + "phpstan/phpstan": "^0.12.94", "phpstan/phpstan-deprecation-rules": "^0.12.6", - "phpstan/phpstan-phpunit": "^0.12.18", - "phpstan/phpstan-strict-rules": "^0.12.9", + "phpstan/phpstan-phpunit": "^0.12.21", + "phpstan/phpstan-strict-rules": "^0.12.10", "squizlabs/php_codesniffer": "^3.6.0", - "symfony/filesystem": "^5.2.6", + "symfony/filesystem": "^5.3.4", "thecodingmachine/phpstan-strict-rules": "^0.12.1", - "vimeo/psalm": "^4.7.1" + "vimeo/psalm": "^4.9.2" }, "bin": [ "bin/paratest" @@ -451,7 +451,7 @@ ], "support": { "issues": "https://github.com/paratestphp/paratest/issues", - "source": "https://github.com/paratestphp/paratest/tree/v6.3.0" + "source": "https://github.com/paratestphp/paratest/tree/v6.3.1" }, "funding": [ { @@ -463,20 +463,20 @@ "type": "paypal" } ], - "time": "2021-04-27T09:24:27+00:00" + "time": "2021-08-10T07:38:58+00:00" }, { "name": "brick/math", - "version": "0.9.2", + "version": "0.9.3", "source": { "type": "git", "url": "https://github.com/brick/math.git", - "reference": "dff976c2f3487d42c1db75a3b180e2b9f0e72ce0" + "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/dff976c2f3487d42c1db75a3b180e2b9f0e72ce0", - "reference": "dff976c2f3487d42c1db75a3b180e2b9f0e72ce0", + "url": "https://api.github.com/repos/brick/math/zipball/ca57d18f028f84f777b2168cd1911b0dee2343ae", + "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae", "shasum": "" }, "require": { @@ -486,7 +486,7 @@ "require-dev": { "php-coveralls/php-coveralls": "^2.2", "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.0", - "vimeo/psalm": "4.3.2" + "vimeo/psalm": "4.9.2" }, "type": "library", "autoload": { @@ -511,15 +511,19 @@ ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.9.2" + "source": "https://github.com/brick/math/tree/0.9.3" }, "funding": [ + { + "url": "https://github.com/BenMorel", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/brick/math", "type": "tidelift" } ], - "time": "2021-01-20T22:51:39+00:00" + "time": "2021-08-15T20:50:18+00:00" }, { "name": "cartalyst/stripe", @@ -801,21 +805,21 @@ }, { "name": "composer/xdebug-handler", - "version": "2.0.1", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/composer/xdebug-handler.git", - "reference": "964adcdd3a28bf9ed5d9ac6450064e0d71ed7496" + "reference": "84674dd3a7575ba617f5a76d7e9e29a7d3891339" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/964adcdd3a28bf9ed5d9ac6450064e0d71ed7496", - "reference": "964adcdd3a28bf9ed5d9ac6450064e0d71ed7496", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/84674dd3a7575ba617f5a76d7e9e29a7d3891339", + "reference": "84674dd3a7575ba617f5a76d7e9e29a7d3891339", "shasum": "" }, "require": { "php": "^5.3.2 || ^7.0 || ^8.0", - "psr/log": "^1.0" + "psr/log": "^1 || ^2 || ^3" }, "require-dev": { "phpstan/phpstan": "^0.12.55", @@ -845,7 +849,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/2.0.1" + "source": "https://github.com/composer/xdebug-handler/tree/2.0.2" }, "funding": [ { @@ -861,7 +865,7 @@ "type": "tidelift" } ], - "time": "2021-05-05T19:37:51+00:00" + "time": "2021-07-31T17:03:58+00:00" }, { "name": "dasprid/enum", @@ -912,16 +916,16 @@ }, { "name": "dflydev/dot-access-data", - "version": "v3.0.0", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/dflydev/dflydev-dot-access-data.git", - "reference": "e04ff030d24a33edc2421bef305e32919dd78fc3" + "reference": "0992cc19268b259a39e86f296da5f0677841f42c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/e04ff030d24a33edc2421bef305e32919dd78fc3", - "reference": "e04ff030d24a33edc2421bef305e32919dd78fc3", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/0992cc19268b259a39e86f296da5f0677841f42c", + "reference": "0992cc19268b259a39e86f296da5f0677841f42c", "shasum": "" }, "require": { @@ -981,9 +985,9 @@ ], "support": { "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", - "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.0" + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.1" }, - "time": "2021-01-01T22:08:42+00:00" + "time": "2021-08-13T13:06:58+00:00" }, { "name": "dnoegel/php-xdg-base-dir", @@ -2799,16 +2803,16 @@ }, { "name": "laravel/fortify", - "version": "v1.7.14", + "version": "v1.8.0", "source": { "type": "git", "url": "https://github.com/laravel/fortify.git", - "reference": "3e187b3a440f6d41c3b4599ca5d6167a52289a4e" + "reference": "84649d53465bb4eae1b09357c98ceef56a41b680" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/fortify/zipball/3e187b3a440f6d41c3b4599ca5d6167a52289a4e", - "reference": "3e187b3a440f6d41c3b4599ca5d6167a52289a4e", + "url": "https://api.github.com/repos/laravel/fortify/zipball/84649d53465bb4eae1b09357c98ceef56a41b680", + "reference": "84649d53465bb4eae1b09357c98ceef56a41b680", "shasum": "" }, "require": { @@ -2858,20 +2862,20 @@ "issues": "https://github.com/laravel/fortify/issues", "source": "https://github.com/laravel/fortify" }, - "time": "2021-06-29T16:14:35+00:00" + "time": "2021-08-10T17:23:06+00:00" }, { "name": "laravel/framework", - "version": "v8.52.0", + "version": "v8.55.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "8fe9877d52e25f8aed36c51734e5a8510be967e6" + "reference": "997e2aa23e9103137715018ae926c52f8a1703f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/8fe9877d52e25f8aed36c51734e5a8510be967e6", - "reference": "8fe9877d52e25f8aed36c51734e5a8510be967e6", + "url": "https://api.github.com/repos/laravel/framework/zipball/997e2aa23e9103137715018ae926c52f8a1703f2", + "reference": "997e2aa23e9103137715018ae926c52f8a1703f2", "shasum": "" }, "require": { @@ -2944,7 +2948,7 @@ "illuminate/view": "self.version" }, "require-dev": { - "aws/aws-sdk-php": "^3.155", + "aws/aws-sdk-php": "^3.189.0", "doctrine/dbal": "^2.6|^3.0", "filp/whoops": "^2.8", "guzzlehttp/guzzle": "^6.5.5|^7.0.1", @@ -2957,7 +2961,7 @@ "symfony/cache": "^5.1.4" }, "suggest": { - "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.155).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.189.0).", "brianium/paratest": "Required to run tests in parallel (^6.0).", "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6|^3.0).", "ext-ftp": "Required to use the Flysystem FTP driver.", @@ -3026,7 +3030,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2021-07-27T13:03:29+00:00" + "time": "2021-08-17T14:13:34+00:00" }, { "name": "laravel/sanctum", @@ -3094,16 +3098,16 @@ }, { "name": "laravel/scout", - "version": "v9.2.3", + "version": "v9.2.6", "source": { "type": "git", "url": "https://github.com/laravel/scout.git", - "reference": "5d62c83ea11b98f1f89ee78bdb82d7b8a1791e67" + "reference": "35db193a88f150e64951ebd29b4a294a91d87dbd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/scout/zipball/5d62c83ea11b98f1f89ee78bdb82d7b8a1791e67", - "reference": "5d62c83ea11b98f1f89ee78bdb82d7b8a1791e67", + "url": "https://api.github.com/repos/laravel/scout/zipball/35db193a88f150e64951ebd29b4a294a91d87dbd", + "reference": "35db193a88f150e64951ebd29b4a294a91d87dbd", "shasum": "" }, "require": { @@ -3162,7 +3166,7 @@ "issues": "https://github.com/laravel/scout/issues", "source": "https://github.com/laravel/scout" }, - "time": "2021-07-13T16:13:35+00:00" + "time": "2021-08-17T16:06:22+00:00" }, { "name": "laravel/tinker", @@ -3292,21 +3296,21 @@ }, { "name": "league/commonmark", - "version": "2.0.0", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "167142baf9a6b946f99ad9325b06028606f8238e" + "reference": "2df87709f44b0dd733df86aef0830dce9b1f0f13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/167142baf9a6b946f99ad9325b06028606f8238e", - "reference": "167142baf9a6b946f99ad9325b06028606f8238e", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/2df87709f44b0dd733df86aef0830dce9b1f0f13", + "reference": "2df87709f44b0dd733df86aef0830dce9b1f0f13", "shasum": "" }, "require": { "ext-mbstring": "*", - "league/config": "^1.1", + "league/config": "^1.1.1", "php": "^7.4 || ^8.0", "psr/event-dispatcher": "^1.0", "symfony/polyfill-php80": "^1.15" @@ -3399,24 +3403,24 @@ "type": "tidelift" } ], - "time": "2021-07-24T20:12:58+00:00" + "time": "2021-08-14T14:06:04+00:00" }, { "name": "league/config", - "version": "v1.1.0", + "version": "v1.1.1", "source": { "type": "git", "url": "https://github.com/thephpleague/config.git", - "reference": "20d42d88f12a76ff862e17af4f14a5a4bbfd0925" + "reference": "a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/config/zipball/20d42d88f12a76ff862e17af4f14a5a4bbfd0925", - "reference": "20d42d88f12a76ff862e17af4f14a5a4bbfd0925", + "url": "https://api.github.com/repos/thephpleague/config/zipball/a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e", + "reference": "a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e", "shasum": "" }, "require": { - "dflydev/dot-access-data": "^3.0", + "dflydev/dot-access-data": "^3.0.1", "nette/schema": "^1.2", "php": "^7.4 || ^8.0" }, @@ -3481,20 +3485,20 @@ "type": "github" } ], - "time": "2021-06-19T15:52:37+00:00" + "time": "2021-08-14T12:15:32+00:00" }, { "name": "league/flysystem", - "version": "1.1.4", + "version": "1.1.5", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "f3ad69181b8afed2c9edf7be5a2918144ff4ea32" + "reference": "18634df356bfd4119fe3d6156bdb990c414c14ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f3ad69181b8afed2c9edf7be5a2918144ff4ea32", - "reference": "f3ad69181b8afed2c9edf7be5a2918144ff4ea32", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/18634df356bfd4119fe3d6156bdb990c414c14ea", + "reference": "18634df356bfd4119fe3d6156bdb990c414c14ea", "shasum": "" }, "require": { @@ -3567,7 +3571,7 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/1.1.4" + "source": "https://github.com/thephpleague/flysystem/tree/1.1.5" }, "funding": [ { @@ -3575,7 +3579,7 @@ "type": "other" } ], - "time": "2021-06-23T21:56:05+00:00" + "time": "2021-08-17T13:49:42+00:00" }, { "name": "league/flysystem-aws-s3-v3", @@ -4241,16 +4245,16 @@ }, { "name": "nesbot/carbon", - "version": "2.51.0", + "version": "2.51.1", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "48ebff252df4d3b60ecb8e2583f79dfba6b56bc8" + "reference": "8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/48ebff252df4d3b60ecb8e2583f79dfba6b56bc8", - "reference": "48ebff252df4d3b60ecb8e2583f79dfba6b56bc8", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922", + "reference": "8619c299d1e0d4b344e1f98ca07a1ce2cfbf1922", "shasum": "" }, "require": { @@ -4331,7 +4335,7 @@ "type": "tidelift" } ], - "time": "2021-07-28T08:28:41+00:00" + "time": "2021-07-28T13:16:28+00:00" }, { "name": "netresearch/jsonmapper", @@ -4448,16 +4452,16 @@ }, { "name": "nette/utils", - "version": "v3.2.2", + "version": "v3.2.3", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "967cfc4f9a1acd5f1058d76715a424c53343c20c" + "reference": "5c36cc1ba9bb6abb8a9e425cf054e0c3fd5b9822" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/967cfc4f9a1acd5f1058d76715a424c53343c20c", - "reference": "967cfc4f9a1acd5f1058d76715a424c53343c20c", + "url": "https://api.github.com/repos/nette/utils/zipball/5c36cc1ba9bb6abb8a9e425cf054e0c3fd5b9822", + "reference": "5c36cc1ba9bb6abb8a9e425cf054e0c3fd5b9822", "shasum": "" }, "require": { @@ -4527,9 +4531,9 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v3.2.2" + "source": "https://github.com/nette/utils/tree/v3.2.3" }, - "time": "2021-03-03T22:53:25+00:00" + "time": "2021-08-16T21:05:00+00:00" }, { "name": "nikic/php-parser", @@ -5582,16 +5586,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.7", + "version": "9.5.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "d0dc8b6999c937616df4fb046792004b33fd31c5" + "reference": "191768ccd5c85513b4068bdbe99bb6390c7d54fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d0dc8b6999c937616df4fb046792004b33fd31c5", - "reference": "d0dc8b6999c937616df4fb046792004b33fd31c5", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/191768ccd5c85513b4068bdbe99bb6390c7d54fb", + "reference": "191768ccd5c85513b4068bdbe99bb6390c7d54fb", "shasum": "" }, "require": { @@ -5603,7 +5607,7 @@ "ext-xml": "*", "ext-xmlwriter": "*", "myclabs/deep-copy": "^1.10.1", - "phar-io/manifest": "^2.0.1", + "phar-io/manifest": "^2.0.3", "phar-io/version": "^3.0.2", "php": ">=7.3", "phpspec/prophecy": "^1.12.1", @@ -5669,7 +5673,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.7" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.8" }, "funding": [ { @@ -5681,7 +5685,7 @@ "type": "github" } ], - "time": "2021-07-19T06:14:47+00:00" + "time": "2021-07-31T15:17:34+00:00" }, { "name": "pragmarx/google2fa", @@ -6209,20 +6213,21 @@ }, { "name": "ramsey/collection", - "version": "1.1.3", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/ramsey/collection.git", - "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1" + "reference": "eaca1dc1054ddd10cbd83c1461907bee6fb528fa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1", - "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1", + "url": "https://api.github.com/repos/ramsey/collection/zipball/eaca1dc1054ddd10cbd83c1461907bee6fb528fa", + "reference": "eaca1dc1054ddd10cbd83c1461907bee6fb528fa", "shasum": "" }, "require": { - "php": "^7.2 || ^8" + "php": "^7.3 || ^8", + "symfony/polyfill-php81": "^1.23" }, "require-dev": { "captainhook/captainhook": "^5.3", @@ -6232,6 +6237,7 @@ "hamcrest/hamcrest-php": "^2", "jangregor/phpstan-prophecy": "^0.8", "mockery/mockery": "^1.3", + "phpspec/prophecy-phpunit": "^2.0", "phpstan/extension-installer": "^1", "phpstan/phpstan": "^0.12.32", "phpstan/phpstan-mockery": "^0.12.5", @@ -6259,7 +6265,7 @@ "homepage": "https://benramsey.com" } ], - "description": "A PHP 7.2+ library for representing and manipulating collections.", + "description": "A PHP library for representing and manipulating collections.", "keywords": [ "array", "collection", @@ -6270,7 +6276,7 @@ ], "support": { "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/1.1.3" + "source": "https://github.com/ramsey/collection/tree/1.2.1" }, "funding": [ { @@ -6282,20 +6288,20 @@ "type": "tidelift" } ], - "time": "2021-01-21T17:40:04+00:00" + "time": "2021-08-06T03:41:06+00:00" }, { "name": "ramsey/uuid", - "version": "4.1.1", + "version": "4.2.1", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "cd4032040a750077205918c86049aa0f43d22947" + "reference": "fe665a03df4f056aa65af552a96e1976df8c8dae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/cd4032040a750077205918c86049aa0f43d22947", - "reference": "cd4032040a750077205918c86049aa0f43d22947", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/fe665a03df4f056aa65af552a96e1976df8c8dae", + "reference": "fe665a03df4f056aa65af552a96e1976df8c8dae", "shasum": "" }, "require": { @@ -6309,26 +6315,26 @@ "rhumsaa/uuid": "self.version" }, "require-dev": { - "codeception/aspect-mock": "^3", - "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7.0", + "captainhook/captainhook": "^5.10", + "captainhook/plugin-composer": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", "doctrine/annotations": "^1.8", - "goaop/framework": "^2", + "ergebnis/composer-normalize": "^2.15", "mockery/mockery": "^1.3", "moontoast/math": "^1.1", "paragonie/random-lib": "^2", + "php-mock/php-mock": "^2.2", "php-mock/php-mock-mockery": "^1.3", - "php-mock/php-mock-phpunit": "^2.5", "php-parallel-lint/php-parallel-lint": "^1.1", - "phpbench/phpbench": "^0.17.1", + "phpbench/phpbench": "^1.0", "phpstan/extension-installer": "^1.0", "phpstan/phpstan": "^0.12", "phpstan/phpstan-mockery": "^0.12", "phpstan/phpstan-phpunit": "^0.12", - "phpunit/phpunit": "^8.5", - "psy/psysh": "^0.10.0", - "slevomat/coding-standard": "^6.0", + "phpunit/phpunit": "^8.5 || ^9", + "slevomat/coding-standard": "^7.0", "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "3.9.4" + "vimeo/psalm": "^4.9" }, "suggest": { "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", @@ -6341,7 +6347,10 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.x-dev" + "dev-main": "4.x-dev" + }, + "captainhook": { + "force-install": true } }, "autoload": { @@ -6357,7 +6366,6 @@ "MIT" ], "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", - "homepage": "https://github.com/ramsey/uuid", "keywords": [ "guid", "identifier", @@ -6365,16 +6373,19 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "rss": "https://github.com/ramsey/uuid/releases.atom", - "source": "https://github.com/ramsey/uuid" + "source": "https://github.com/ramsey/uuid/tree/4.2.1" }, "funding": [ { "url": "https://github.com/ramsey", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", + "type": "tidelift" } ], - "time": "2020-08-18T17:17:46+00:00" + "time": "2021-08-11T01:06:55+00:00" }, { "name": "sabberworm/php-css-parser", @@ -7278,7 +7289,6 @@ "type": "github" } ], - "abandoned": true, "time": "2020-09-28T06:45:17+00:00" }, { @@ -7452,16 +7462,16 @@ }, { "name": "spatie/laravel-backup", - "version": "6.16.1", + "version": "6.16.2", "source": { "type": "git", "url": "https://github.com/spatie/laravel-backup.git", - "reference": "11a3fdb6938566ba75f3dd9ab790319d5e90b0fc" + "reference": "409acef61feedb47bf47da961740217071d22107" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/11a3fdb6938566ba75f3dd9ab790319d5e90b0fc", - "reference": "11a3fdb6938566ba75f3dd9ab790319d5e90b0fc", + "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/409acef61feedb47bf47da961740217071d22107", + "reference": "409acef61feedb47bf47da961740217071d22107", "shasum": "" }, "require": { @@ -7526,7 +7536,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-backup/issues", - "source": "https://github.com/spatie/laravel-backup/tree/6.16.1" + "source": "https://github.com/spatie/laravel-backup/tree/6.16.2" }, "funding": [ { @@ -7538,7 +7548,7 @@ "type": "other" } ], - "time": "2021-07-10T14:54:21+00:00" + "time": "2021-08-11T21:09:11+00:00" }, { "name": "spatie/laravel-package-tools", @@ -8001,16 +8011,16 @@ }, { "name": "stripe/stripe-php", - "version": "v7.91.0", + "version": "v7.93.0", "source": { "type": "git", "url": "https://github.com/stripe/stripe-php.git", - "reference": "bb7db27140858833ecc2a95de94763b5a120bc5d" + "reference": "c739cf6841bb3498e23bd52ecfadfcb21c521a14" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/stripe/stripe-php/zipball/bb7db27140858833ecc2a95de94763b5a120bc5d", - "reference": "bb7db27140858833ecc2a95de94763b5a120bc5d", + "url": "https://api.github.com/repos/stripe/stripe-php/zipball/c739cf6841bb3498e23bd52ecfadfcb21c521a14", + "reference": "c739cf6841bb3498e23bd52ecfadfcb21c521a14", "shasum": "" }, "require": { @@ -8056,9 +8066,9 @@ ], "support": { "issues": "https://github.com/stripe/stripe-php/issues", - "source": "https://github.com/stripe/stripe-php/tree/v7.91.0" + "source": "https://github.com/stripe/stripe-php/tree/v7.93.0" }, - "time": "2021-07-22T18:05:48+00:00" + "time": "2021-08-11T18:48:54+00:00" }, { "name": "swiftmailer/swiftmailer", @@ -8137,16 +8147,16 @@ }, { "name": "symfony/console", - "version": "v5.3.4", + "version": "v5.3.6", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "ebd610dacd40d75b6a12bf64b5ccd494fc7d6ab1" + "reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/ebd610dacd40d75b6a12bf64b5ccd494fc7d6ab1", - "reference": "ebd610dacd40d75b6a12bf64b5ccd494fc7d6ab1", + "url": "https://api.github.com/repos/symfony/console/zipball/51b71afd6d2dc8f5063199357b9880cea8d8bfe2", + "reference": "51b71afd6d2dc8f5063199357b9880cea8d8bfe2", "shasum": "" }, "require": { @@ -8216,7 +8226,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.3.4" + "source": "https://github.com/symfony/console/tree/v5.3.6" }, "funding": [ { @@ -8232,7 +8242,7 @@ "type": "tidelift" } ], - "time": "2021-07-26T16:33:26+00:00" + "time": "2021-07-27T19:10:22+00:00" }, { "name": "symfony/css-selector", @@ -8741,16 +8751,16 @@ }, { "name": "symfony/http-foundation", - "version": "v5.3.4", + "version": "v5.3.6", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "d6602aca7d3e11f401a0b24f43b611c530abfad3" + "reference": "a8388f7b7054a7401997008ce9cd8c6b0ab7ac75" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/d6602aca7d3e11f401a0b24f43b611c530abfad3", - "reference": "d6602aca7d3e11f401a0b24f43b611c530abfad3", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a8388f7b7054a7401997008ce9cd8c6b0ab7ac75", + "reference": "a8388f7b7054a7401997008ce9cd8c6b0ab7ac75", "shasum": "" }, "require": { @@ -8794,7 +8804,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.3.4" + "source": "https://github.com/symfony/http-foundation/tree/v5.3.6" }, "funding": [ { @@ -8810,20 +8820,20 @@ "type": "tidelift" } ], - "time": "2021-07-23T15:55:36+00:00" + "time": "2021-07-27T17:08:17+00:00" }, { "name": "symfony/http-kernel", - "version": "v5.3.5", + "version": "v5.3.6", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "9eb3ee3cb6c69e12ba5770665b89fe82f0b99033" + "reference": "60030f209018356b3b553b9dbd84ad2071c1b7e0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/9eb3ee3cb6c69e12ba5770665b89fe82f0b99033", - "reference": "9eb3ee3cb6c69e12ba5770665b89fe82f0b99033", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/60030f209018356b3b553b9dbd84ad2071c1b7e0", + "reference": "60030f209018356b3b553b9dbd84ad2071c1b7e0", "shasum": "" }, "require": { @@ -8906,7 +8916,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v5.3.5" + "source": "https://github.com/symfony/http-kernel/tree/v5.3.6" }, "funding": [ { @@ -8922,7 +8932,7 @@ "type": "tidelift" } ], - "time": "2021-07-27T04:39:22+00:00" + "time": "2021-07-29T07:06:27+00:00" }, { "name": "symfony/mime", @@ -9168,16 +9178,16 @@ }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.23.0", + "version": "v1.23.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "24b72c6baa32c746a4d0840147c9715e42bb68ab" + "reference": "16880ba9c5ebe3642d1995ab866db29270b36535" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/24b72c6baa32c746a4d0840147c9715e42bb68ab", - "reference": "24b72c6baa32c746a4d0840147c9715e42bb68ab", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/16880ba9c5ebe3642d1995ab866db29270b36535", + "reference": "16880ba9c5ebe3642d1995ab866db29270b36535", "shasum": "" }, "require": { @@ -9229,7 +9239,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1" }, "funding": [ { @@ -9245,7 +9255,7 @@ "type": "tidelift" } ], - "time": "2021-05-27T09:17:38+00:00" + "time": "2021-05-27T12:26:48+00:00" }, { "name": "symfony/polyfill-intl-icu", @@ -9507,16 +9517,16 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.23.0", + "version": "v1.23.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "2df51500adbaebdc4c38dea4c89a2e131c45c8a1" + "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2df51500adbaebdc4c38dea4c89a2e131c45c8a1", - "reference": "2df51500adbaebdc4c38dea4c89a2e131c45c8a1", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6", + "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6", "shasum": "" }, "require": { @@ -9567,7 +9577,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1" }, "funding": [ { @@ -9583,7 +9593,7 @@ "type": "tidelift" } ], - "time": "2021-05-27T09:27:20+00:00" + "time": "2021-05-27T12:26:48+00:00" }, { "name": "symfony/polyfill-php72", @@ -9742,16 +9752,16 @@ }, { "name": "symfony/polyfill-php80", - "version": "v1.23.0", + "version": "v1.23.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "eca0bf41ed421bed1b57c4958bab16aa86b757d0" + "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/eca0bf41ed421bed1b57c4958bab16aa86b757d0", - "reference": "eca0bf41ed421bed1b57c4958bab16aa86b757d0", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be", + "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be", "shasum": "" }, "require": { @@ -9805,7 +9815,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1" }, "funding": [ { @@ -9821,7 +9831,86 @@ "type": "tidelift" } ], - "time": "2021-02-19T12:13:01+00:00" + "time": "2021-07-28T13:41:28+00:00" + }, + { + "name": "symfony/polyfill-php81", + "version": "v1.23.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "e66119f3de95efc359483f810c4c3e6436279436" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/e66119f3de95efc359483f810c4c3e6436279436", + "reference": "e66119f3de95efc359483f810c4c3e6436279436", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.23.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-05-21T13:25:03+00:00" }, { "name": "symfony/process", @@ -10312,16 +10401,16 @@ }, { "name": "symfony/var-dumper", - "version": "v5.3.4", + "version": "v5.3.6", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "a895407f7cf55da42aa1480935d707684b690bfc" + "reference": "3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/a895407f7cf55da42aa1480935d707684b690bfc", - "reference": "a895407f7cf55da42aa1480935d707684b690bfc", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0", + "reference": "3dd8ddd1e260e58ecc61bb78da3b6584b3bfcba0", "shasum": "" }, "require": { @@ -10380,7 +10469,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.3.4" + "source": "https://github.com/symfony/var-dumper/tree/v5.3.6" }, "funding": [ { @@ -10396,7 +10485,7 @@ "type": "tidelift" } ], - "time": "2021-07-23T15:55:36+00:00" + "time": "2021-07-27T01:56:02+00:00" }, { "name": "teamtnt/laravel-scout-tntsearch-driver", @@ -10651,16 +10740,16 @@ }, { "name": "vimeo/psalm", - "version": "4.8.1", + "version": "4.9.3", "source": { "type": "git", "url": "https://github.com/vimeo/psalm.git", - "reference": "f73f2299dbc59a3e6c4d66cff4605176e728ee69" + "reference": "4c262932602b9bbab5020863d1eb22d49de0dbf4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vimeo/psalm/zipball/f73f2299dbc59a3e6c4d66cff4605176e728ee69", - "reference": "f73f2299dbc59a3e6c4d66cff4605176e728ee69", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/4c262932602b9bbab5020863d1eb22d49de0dbf4", + "reference": "4c262932602b9bbab5020863d1eb22d49de0dbf4", "shasum": "" }, "require": { @@ -10679,7 +10768,7 @@ "felixfbecker/advanced-json-rpc": "^3.0.3", "felixfbecker/language-server-protocol": "^1.5", "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", - "nikic/php-parser": "^4.10.5", + "nikic/php-parser": "^4.12", "openlss/lib-array2xml": "^1.0", "php": "^7.1|^8", "sebastian/diff": "^3.0 || ^4.0", @@ -10702,7 +10791,6 @@ "slevomat/coding-standard": "^7.0", "squizlabs/php_codesniffer": "^3.5", "symfony/process": "^4.3 || ^5.0", - "weirdan/phpunit-appveyor-reporter": "^1.0.0", "weirdan/prophecy-shim": "^1.0 || ^2.0" }, "suggest": { @@ -10750,9 +10838,9 @@ ], "support": { "issues": "https://github.com/vimeo/psalm/issues", - "source": "https://github.com/vimeo/psalm/tree/4.8.1" + "source": "https://github.com/vimeo/psalm/tree/4.9.3" }, - "time": "2021-06-20T23:03:20+00:00" + "time": "2021-08-14T16:19:38+00:00" }, { "name": "vlucas/phpdotenv", @@ -11484,16 +11572,16 @@ }, { "name": "doctrine/annotations", - "version": "1.13.1", + "version": "1.13.2", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "e6e7b7d5b45a2f2abc5460cc6396480b2b1d321f" + "reference": "5b668aef16090008790395c02c893b1ba13f7e08" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/e6e7b7d5b45a2f2abc5460cc6396480b2b1d321f", - "reference": "e6e7b7d5b45a2f2abc5460cc6396480b2b1d321f", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/5b668aef16090008790395c02c893b1ba13f7e08", + "reference": "5b668aef16090008790395c02c893b1ba13f7e08", "shasum": "" }, "require": { @@ -11550,9 +11638,9 @@ ], "support": { "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/1.13.1" + "source": "https://github.com/doctrine/annotations/tree/1.13.2" }, - "time": "2021-05-16T18:07:53+00:00" + "time": "2021-08-05T19:00:23+00:00" }, { "name": "facade/flare-client-php", @@ -11621,16 +11709,16 @@ }, { "name": "facade/ignition", - "version": "2.11.2", + "version": "2.11.4", "source": { "type": "git", "url": "https://github.com/facade/ignition.git", - "reference": "7c4e7a7da184cd00c7ce6eacc590200bb9672de7" + "reference": "1b8d83c5dac7c5ee8429daf284ce3f19b1d17ea2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facade/ignition/zipball/7c4e7a7da184cd00c7ce6eacc590200bb9672de7", - "reference": "7c4e7a7da184cd00c7ce6eacc590200bb9672de7", + "url": "https://api.github.com/repos/facade/ignition/zipball/1b8d83c5dac7c5ee8429daf284ce3f19b1d17ea2", + "reference": "1b8d83c5dac7c5ee8429daf284ce3f19b1d17ea2", "shasum": "" }, "require": { @@ -11693,7 +11781,7 @@ "issues": "https://github.com/facade/ignition/issues", "source": "https://github.com/facade/ignition" }, - "time": "2021-07-20T14:01:22+00:00" + "time": "2021-08-17T11:45:33+00:00" }, { "name": "facade/ignition-contracts", @@ -11886,16 +11974,16 @@ }, { "name": "friendsofphp/php-cs-fixer", - "version": "v3.0.0", + "version": "v3.0.2", "source": { "type": "git", "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", - "reference": "c15377bdfa8d1ecf186f1deadec39c89984e1167" + "reference": "990b979379502feb7f393d6c9aa36cc9b9765f24" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/c15377bdfa8d1ecf186f1deadec39c89984e1167", - "reference": "c15377bdfa8d1ecf186f1deadec39c89984e1167", + "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/990b979379502feb7f393d6c9aa36cc9b9765f24", + "reference": "990b979379502feb7f393d6c9aa36cc9b9765f24", "shasum": "" }, "require": { @@ -11962,7 +12050,7 @@ "description": "A tool to automatically fix PHP code style", "support": { "issues": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues", - "source": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/tree/v3.0.0" + "source": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/tree/v3.0.2" }, "funding": [ { @@ -11970,7 +12058,7 @@ "type": "github" } ], - "time": "2021-05-03T21:51:58+00:00" + "time": "2021-08-04T19:28:19+00:00" }, { "name": "justinrainbow/json-schema", @@ -12044,16 +12132,16 @@ }, { "name": "nunomaduro/collision", - "version": "v5.6.0", + "version": "v5.8.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "0122ac6b03c75279ef78d1c0ad49725dfc52a8d2" + "reference": "0c3c393462eada1233513664e2d22bb9f69ca393" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/0122ac6b03c75279ef78d1c0ad49725dfc52a8d2", - "reference": "0122ac6b03c75279ef78d1c0ad49725dfc52a8d2", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/0c3c393462eada1233513664e2d22bb9f69ca393", + "reference": "0c3c393462eada1233513664e2d22bb9f69ca393", "shasum": "" }, "require": { @@ -12065,7 +12153,7 @@ "require-dev": { "brianium/paratest": "^6.1", "fideloper/proxy": "^4.4.1", - "friendsofphp/php-cs-fixer": "^2.17.3", + "friendsofphp/php-cs-fixer": "^3.0", "fruitcake/laravel-cors": "^2.0.3", "laravel/framework": "^8.0 || ^9.0", "nunomaduro/larastan": "^0.6.2", @@ -12128,7 +12216,7 @@ "type": "patreon" } ], - "time": "2021-07-26T20:39:06+00:00" + "time": "2021-08-13T14:23:01+00:00" }, { "name": "php-cs-fixer/diff", @@ -12550,5 +12638,5 @@ "platform-dev": { "ext-json": "*" }, - "plugin-api-version": "2.0.0" + "plugin-api-version": "2.1.0" } diff --git a/public/mix-manifest.json b/public/mix-manifest.json index a46217dd..db859873 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -6,7 +6,7 @@ "/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~c7a13fb0.js": "/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~c7a13fb0.js?id=47b736a4006170db9cc9", "/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~39825672.js": "/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~39825672.js?id=ac82879c90ef33cded21", "/chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/~3e4fdd8b.js": "/chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/~3e4fdd8b.js?id=a121afabdc4d8de9c1f7", - "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.js?id=751bf3f8ab9d893ee2bf", + "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.js?id=9ad79de5759f411f6dce", "/chunks/admin~chunks/files~chunks/settings~chunks/shared/file-browser.js": "/chunks/admin~chunks/files~chunks/settings~chunks/shared/file-browser.js?id=ede426518b756cbc1caf", "/chunks/admin~chunks/platform.js": "/chunks/admin~chunks/platform.js?id=0848b74fa0a06e295254", "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js?id=e584c7fac7b47c76aa45", @@ -37,7 +37,7 @@ "/chunks/email-verified.js": "/chunks/email-verified.js?id=523bbafbed907913b5a2", "/chunks/environment-setup.js": "/chunks/environment-setup.js?id=bbd4ccaaa5b1fbf52ac1", "/chunks/files.js": "/chunks/files.js?id=bf780b65f902de41c9d9", - "/chunks/files~chunks/platform~chunks/shared/file-browser.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.js?id=6eca49c7905f09bbad42", + "/chunks/files~chunks/platform~chunks/shared/file-browser.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.js?id=cf78486687dc13194d7f", "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.js": "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.js?id=537b08be7b526c33e48e", "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.js": "/chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.js?id=43324c55265d036f4a6e", "/chunks/files~chunks/settings-subscription~chunks/shared/file-browser~chunks/user-subscription.js": "/chunks/files~chunks/settings-subscription~chunks/shared/file-browser~chunks/user-subscription.js?id=af81ed63f1b76be8fb28", @@ -96,11 +96,32 @@ "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~81c8aec0.js": "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~81c8aec0.js?id=ca3b57f70682c1c315f7", "/vendors~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.js": "/vendors~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.js?id=9d10953d3b088324dfe3", "/vendors~chunks/platform~chunks/shared.js": "/vendors~chunks/platform~chunks/shared.js?id=7d09e0b0658e140a7ffa", - "/js/main.c4c494eb0b8f3148e2b4.hot-update.js": "/js/main.c4c494eb0b8f3148e2b4.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.c4c494eb0b8f3148e2b4.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.c4c494eb0b8f3148e2b4.hot-update.js", - "/chunks/files~chunks/shared/file-browser.c4c494eb0b8f3148e2b4.hot-update.js": "/chunks/files~chunks/shared/file-browser.c4c494eb0b8f3148e2b4.hot-update.js", - "/js/main.3cb9742317ec0332f8fc.hot-update.js": "/js/main.3cb9742317ec0332f8fc.hot-update.js", - "/js/main.4cfcd101ec2b65d0f8a9.hot-update.js": "/js/main.4cfcd101ec2b65d0f8a9.hot-update.js", - "/js/main.1c4fd654c971c29349a4.hot-update.js": "/js/main.1c4fd654c971c29349a4.hot-update.js", - "/js/main.1c16de546cf0d2dac814.hot-update.js": "/js/main.1c16de546cf0d2dac814.hot-update.js" + "/js/main.29b1db514065867abc6e.hot-update.js": "/js/main.29b1db514065867abc6e.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.29b1db514065867abc6e.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.29b1db514065867abc6e.hot-update.js", + "/chunks/files~chunks/shared/file-browser.29b1db514065867abc6e.hot-update.js": "/chunks/files~chunks/shared/file-browser.29b1db514065867abc6e.hot-update.js", + "/js/main.a35d30fac2d16216b86b.hot-update.js": "/js/main.a35d30fac2d16216b86b.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.a35d30fac2d16216b86b.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.a35d30fac2d16216b86b.hot-update.js", + "/chunks/files~chunks/shared/file-browser.a35d30fac2d16216b86b.hot-update.js": "/chunks/files~chunks/shared/file-browser.a35d30fac2d16216b86b.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.78259380a9090454fa1b.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.78259380a9090454fa1b.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.868cd8e2afa2b86a9374.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.868cd8e2afa2b86a9374.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.a0fbbcb6c956e5bdac49.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.a0fbbcb6c956e5bdac49.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.8cdb9c1731262fd3d181.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.8cdb9c1731262fd3d181.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.ab5c0362135b8b6fe427.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.ab5c0362135b8b6fe427.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.340112ae61a8b9ce6110.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.340112ae61a8b9ce6110.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.58b8245b1f0e6a721ff4.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.58b8245b1f0e6a721ff4.hot-update.js", + "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.aa9baee94452c24b21d0.hot-update.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.aa9baee94452c24b21d0.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.4b806ec1b5b517245810.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.4b806ec1b5b517245810.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.ce2beb020aca0c9f7cf2.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.ce2beb020aca0c9f7cf2.hot-update.js", + "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.039b5712d893577cf232.hot-update.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.039b5712d893577cf232.hot-update.js", + "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.f3ae241d12e4ba858751.hot-update.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.f3ae241d12e4ba858751.hot-update.js", + "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.881f616bd31cda542385.hot-update.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.881f616bd31cda542385.hot-update.js", + "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.9c4919d40a1488c83a81.hot-update.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.9c4919d40a1488c83a81.hot-update.js", + "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.27d1450d2125a2e70884.hot-update.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.27d1450d2125a2e70884.hot-update.js", + "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.28ddde9b749317d9b79a.hot-update.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.28ddde9b749317d9b79a.hot-update.js", + "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.69c351619c1fd8472185.hot-update.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.69c351619c1fd8472185.hot-update.js", + "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.1ba0f82548a5468503f1.hot-update.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.1ba0f82548a5468503f1.hot-update.js", + "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.3f6c62e390194c1dbe82.hot-update.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.3f6c62e390194c1dbe82.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.173db6e1bb84da9e26ee.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.173db6e1bb84da9e26ee.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.0bb6d99710b584b6f333.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.0bb6d99710b584b6f333.hot-update.js", + "/chunks/files~chunks/platform~chunks/shared/file-browser.cde9df15dc66f7ab9473.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.cde9df15dc66f7ab9473.hot-update.js" } diff --git a/resources/js/components/FilesView/Icons/AlphabetIcon.vue b/resources/js/components/FilesView/Icons/AlphabetIcon.vue index 9e474668..c770c291 100644 --- a/resources/js/components/FilesView/Icons/AlphabetIcon.vue +++ b/resources/js/components/FilesView/Icons/AlphabetIcon.vue @@ -1,10 +1,16 @@ + + From e645eebc4dbe6dec055099b465538502895700c2 Mon Sep 17 00:00:00 2001 From: Milos Holba Date: Thu, 9 Dec 2021 12:49:38 +0100 Subject: [PATCH 7/7] move create folder structure to new action --- public/mix-manifest.json | 30 +---- .../Actions/CreateFolderStructureAction.php | 126 ++++++++++++++++++ src/Domain/Files/Actions/UploadFileAction.php | 125 +---------------- 3 files changed, 131 insertions(+), 150 deletions(-) create mode 100644 src/Domain/Files/Actions/CreateFolderStructureAction.php diff --git a/public/mix-manifest.json b/public/mix-manifest.json index db859873..d768de09 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -95,33 +95,5 @@ "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~25aaad73.js": "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~25aaad73.js?id=0de519ac9b2c2754e0c2", "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~81c8aec0.js": "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~81c8aec0.js?id=ca3b57f70682c1c315f7", "/vendors~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.js": "/vendors~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser~chunks/shared/single-file.js?id=9d10953d3b088324dfe3", - "/vendors~chunks/platform~chunks/shared.js": "/vendors~chunks/platform~chunks/shared.js?id=7d09e0b0658e140a7ffa", - "/js/main.29b1db514065867abc6e.hot-update.js": "/js/main.29b1db514065867abc6e.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.29b1db514065867abc6e.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.29b1db514065867abc6e.hot-update.js", - "/chunks/files~chunks/shared/file-browser.29b1db514065867abc6e.hot-update.js": "/chunks/files~chunks/shared/file-browser.29b1db514065867abc6e.hot-update.js", - "/js/main.a35d30fac2d16216b86b.hot-update.js": "/js/main.a35d30fac2d16216b86b.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.a35d30fac2d16216b86b.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.a35d30fac2d16216b86b.hot-update.js", - "/chunks/files~chunks/shared/file-browser.a35d30fac2d16216b86b.hot-update.js": "/chunks/files~chunks/shared/file-browser.a35d30fac2d16216b86b.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.78259380a9090454fa1b.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.78259380a9090454fa1b.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.868cd8e2afa2b86a9374.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.868cd8e2afa2b86a9374.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.a0fbbcb6c956e5bdac49.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.a0fbbcb6c956e5bdac49.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.8cdb9c1731262fd3d181.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.8cdb9c1731262fd3d181.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.ab5c0362135b8b6fe427.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.ab5c0362135b8b6fe427.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.340112ae61a8b9ce6110.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.340112ae61a8b9ce6110.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.58b8245b1f0e6a721ff4.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.58b8245b1f0e6a721ff4.hot-update.js", - "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.aa9baee94452c24b21d0.hot-update.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.aa9baee94452c24b21d0.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.4b806ec1b5b517245810.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.4b806ec1b5b517245810.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.ce2beb020aca0c9f7cf2.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.ce2beb020aca0c9f7cf2.hot-update.js", - "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.039b5712d893577cf232.hot-update.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.039b5712d893577cf232.hot-update.js", - "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.f3ae241d12e4ba858751.hot-update.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.f3ae241d12e4ba858751.hot-update.js", - "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.881f616bd31cda542385.hot-update.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.881f616bd31cda542385.hot-update.js", - "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.9c4919d40a1488c83a81.hot-update.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.9c4919d40a1488c83a81.hot-update.js", - "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.27d1450d2125a2e70884.hot-update.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.27d1450d2125a2e70884.hot-update.js", - "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.28ddde9b749317d9b79a.hot-update.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.28ddde9b749317d9b79a.hot-update.js", - "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.69c351619c1fd8472185.hot-update.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.69c351619c1fd8472185.hot-update.js", - "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.1ba0f82548a5468503f1.hot-update.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.1ba0f82548a5468503f1.hot-update.js", - "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.3f6c62e390194c1dbe82.hot-update.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared/file-browser.3f6c62e390194c1dbe82.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.173db6e1bb84da9e26ee.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.173db6e1bb84da9e26ee.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.0bb6d99710b584b6f333.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.0bb6d99710b584b6f333.hot-update.js", - "/chunks/files~chunks/platform~chunks/shared/file-browser.cde9df15dc66f7ab9473.hot-update.js": "/chunks/files~chunks/platform~chunks/shared/file-browser.cde9df15dc66f7ab9473.hot-update.js" + "/vendors~chunks/platform~chunks/shared.js": "/vendors~chunks/platform~chunks/shared.js?id=7d09e0b0658e140a7ffa" } diff --git a/src/Domain/Files/Actions/CreateFolderStructureAction.php b/src/Domain/Files/Actions/CreateFolderStructureAction.php new file mode 100644 index 00000000..164d8ecc --- /dev/null +++ b/src/Domain/Files/Actions/CreateFolderStructureAction.php @@ -0,0 +1,126 @@ +with('parent')->get(); + + // If file have some parent folders + if( count($folders) > 0) { + + // If uploading structure has same lenght as a already existed structure + if( count($folders) === count($structure) ) { + + // Get correct file parent from the already craeted structure + $last_folder = $this->get_file_parent($structure, $folders); + + } else if ( count($folders) !== count($structure) ) { + + + if( count($structure) > 0 ) { + + // Check what folders are missed in structure and return missed folder with last created folder in structure + $data = $this->check_exist_folders($structure, $folders); + + $folders = $data[0]; + + $parent_id = $data[1]; + + } + + // Create folders + foreach($folders as $folder) { + + $new_folder = Folder::create([ + 'name' => $folder, + 'parent_id' => $parent_id, + 'user_id' => $user_id, + ]); + + $parent_id = $new_folder->id; + + $last_folder = $new_folder->id; + }; + } + } + + return $last_folder; + } + + /** + * Find the file parent folder in already existed structure + */ + private function get_file_parent($structure, $folders) + { + $parent_name = ''; + + foreach(array_reverse($folders) as $folder) { + + $item = $structure->where('name', $folder); + + $parent = $item->pluck('parent')->pluck('name')[0]; + + // Check if folder have valid parent name + if( $parent && $folder === $parent_name || $parent_name == '') { + + $parent_name = $parent; + } + + return $structure->where('name', $folders[array_key_last($folders)])->first()->id; + } + } + /** + * Return the folders that is need to create in already created structure and last created parent + */ + private function check_exist_folders($structure, $folders) + { + + $create_folders = []; + $last_parent = ''; + + foreach($folders as $folder) { + + // Filter folders that is need to create + if(! $structure->where('name', $folder)->first()) { + + array_push($create_folders, $folder); + }else { + + // Find last created folder + $last_parent = $structure->where('name', $folder)->first()->id; + } + } + + return [$create_folders, $last_parent]; + } +} + diff --git a/src/Domain/Files/Actions/UploadFileAction.php b/src/Domain/Files/Actions/UploadFileAction.php index f9979419..533a3721 100644 --- a/src/Domain/Files/Actions/UploadFileAction.php +++ b/src/Domain/Files/Actions/UploadFileAction.php @@ -2,13 +2,14 @@ namespace Domain\Files\Actions; use Domain\Sharing\Models\Share; -use Domain\Folders\Models\Folder; +// use Domain\Folders\Models\Folder; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\File; use Illuminate\Support\Facades\Storage; use Domain\Files\Requests\UploadRequest; use Domain\Files\Models\File as UserFile; use Domain\Traffic\Actions\RecordUploadAction; +use Domain\Files\Actions\CreateFolderStructureAction; use App\Users\Actions\CheckStorageCapacityAction; class UploadFileAction @@ -17,6 +18,7 @@ class UploadFileAction public RecordUploadAction $recordUpload, public CheckStorageCapacityAction $checkStorageCapacity, public CreateImageThumbnailAction $createImageThumbnail, + public CreateFolderStructureAction $createFolderStructure, public MoveFileToExternalStorageAction $moveFileToExternalStorage, ) { } @@ -31,8 +33,6 @@ class UploadFileAction // Get parent_id from request $file = $request->file('file'); - // dd($this->createFolderStructure($request->input('path'), $request->input('folder_id'))); - // File name $disk_file_name = basename('chunks/' . $file->getClientOriginalName(), '.part'); $temp_filename = $file->getClientOriginalName(); @@ -89,7 +89,7 @@ class UploadFileAction return UserFile::create([ 'mimetype' => get_file_type_from_mimetype($file_mimetype), 'type' => get_file_type($file_mimetype), - 'folder_id' => $this->create_folder_structure($request->input('path'), $request->input('folder_id'), $user_id), + 'folder_id' => ($this->createFolderStructure)($request->input('path'), $request->input('folder_id'), $user_id), 'metadata' => $metadata, 'name' => $request->input('filename'), 'basename' => $disk_file_name, @@ -100,121 +100,4 @@ class UploadFileAction ]); } } - - /** - * Create structure fot the Folder upload - */ - private function create_folder_structure ($path, $parent, $user_id) - { - $folders = array_slice(explode('/', $path), 1, -1); - - $parent_id = $parent; - - $last_folder = $parent; - - // Get already created structure of the file parents - $structure = Folder::whereIn('name', $folders)->with('parent')->get(); - - // If file have some parent folders - if( count($folders) > 0) { - - - if(count($folders) === count($structure) ) { - - // Check if file parents are equal to already existed folder structure - $last_folder = $this->check_folder_structure($structure, $folders); - - } else if (count($folders) !== count($structure)) { - - - if(count($structure) > 0) { - - // Check what folders are missed in structure and return missed folder with last created folder in structure - $data = $this->check_exist_folders($structure, $folders); - - $folders = $data[0]; - - $parent_id = $data[1]; - - } - - foreach($folders as $folder) { - - $new_folder = Folder::create([ - 'name' => $folder, - 'parent_id' => $parent_id, - 'user_id' => $user_id, - ]); - - $parent_id = $new_folder->id; - - $last_folder = $new_folder->id; - }; - } - } - - return $last_folder; - } - - /** - * Check if is the structure correct - */ - private function check_folder_structure($structure, $folders) - { - - $parent_name = ''; - - $validate = false; - - foreach(array_reverse($folders) as $folder) { - - $item = $structure->where('name', $folder); - - $parent = $item->pluck('parent')->pluck('name')[0]; - - // Check if folder have valid parent name - if( $parent && $folder === $parent_name || $parent_name == '') { - - $parent_name = $parent; - - $validate = true; - - } else if ($parent && $folder != $parent_name || $parent_name == ''){ - - $validate = false; - } - } - - if($validate) { - return $structure->where('name', $folders[array_key_last($folders)])->first()->id; - - } else { - return false; - } - - } - - /** - * Return the folders that is need to create in already created structure and last created parent - */ - private function check_exist_folders($structure, $folders) - { - - $create_folders = []; - $last_parent = ''; - - foreach($folders as $folder) { - - // Filter folders that is need to create - if(! $structure->where('name', $folder)->first()) { - array_push($create_folders, $folder); - }else { - - // Find last created folder - $last_parent = $structure->where('name', $folder)->first()->id; - } - } - - return [$create_folders, $last_parent]; - } }