From a89701b746a7acfa3d77f2f063ea8f04d8a4d877 Mon Sep 17 00:00:00 2001 From: Henrique Dias Date: Thu, 1 Feb 2018 13:40:37 +0000 Subject: [PATCH] chore: add circle ci and use external assets Former-commit-id: a474183e1779f03ebbf0feacb6c657a7c3f32fb1 [formerly c2c77a210a1a121f6d3ba5331093a8a0b5ed9f1e] [formerly 8cc259f949bcab23ea5bb402c2f551428fa7f22b [formerly 040455b4ac9e1b0d4f753acba02be4d636fc523f]] Former-commit-id: e05cf0627cde1ae2266c06851590573e5bdecc6e [formerly 458fc2c269daa31cc18a4132a4c801f748a610af] Former-commit-id: 946b8ed702254d3c11f1b791c790af606f2a68f4 --- .circleci/config.yml | 74 ++++++++++++-- .travis.yml | 22 ---- LICENSE | 202 +++++++++++++++++++++++++++++++++++++ LICENSE.md | 201 ------------------------------------ README.md | 2 +- build.sh | 4 +- filebrowser.go | 66 ++++++------ http/download.go | 1 - http/websockets.go | 2 +- package.json | 84 +-------------- publish.sh | 6 +- rice-box.go.REMOVED.git-id | 2 +- 12 files changed, 307 insertions(+), 359 deletions(-) delete mode 100644 .travis.yml create mode 100644 LICENSE delete mode 100644 LICENSE.md diff --git a/.circleci/config.yml b/.circleci/config.yml index 4085fb1f..f95836bb 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,19 +1,79 @@ version: 2 jobs: - build: + linting: docker: - image: circleci/golang:1.9 - working_directory: /go/src/github.com/filebrowser/filebrowser - steps: - checkout - run: name: Install Dependencies - run: | + command: | + cd cmd/filebrowser && go get ./... && cd ../.. go get github.com/alecthomas/gometalinter - /go/bin/gometalinter --install - + gometalinter --install - run: name: Run linting - command: gometalinter --disable-all -E gofmt -E misspell -E ineffassign -E goimports -E deadcode --exclude="rice-box.go" --tests ./... + command: | + gometalinter --exclude="rice-box.go" \ + -D goconst \ + -D gocyclo \ + -D vetshadow \ + -D errcheck \ + -D golint \ + -D gas + build: + docker: + - image: circleci/golang:1.9 + working_directory: /go/src/github.com/filebrowser/filebrowser + steps: + - checkout + - run: + name: Install Dependencies + command: | + cd cmd/filebrowser + go get ./... + - run: + name: Building + command: go build + deploy: + docker: + - image: circleci/golang:1.9 + working_directory: /go/src/github.com/filebrowser/filebrowser + steps: + - checkout + - run: + name: Install Dependencies + command: | + cd cmd/filebrowser + go get ./... + cd ../.. + - run: + name: Deploy + command: curl -sL https://git.io/goreleaser | bash + +workflows: + version: 2 + lint-build-deploy: + jobs: + - linting: + filters: + tags: + only: /.*/ + branches: + only: /.*/ + - build: + filters: + tags: + only: /.*/ + branches: + only: /.*/ + - deploy: + requires: + - linting + - build + filters: + tags: + only: /v[0-9]+(\.[0-9]+)*(-.*)*/ + branches: + ignore: /.*/ diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 7092fe76..00000000 --- a/.travis.yml +++ /dev/null @@ -1,22 +0,0 @@ -language: go - -go: 1.x - -env: - - "PATH=/home/travis/gopath/bin:$PATH" - -install: - - go get ./... - # Install gometalinter and certain linters - - go get github.com/alecthomas/gometalinter - - go get github.com/client9/misspell/cmd/misspell - - go get github.com/gordonklaus/ineffassign - - go get golang.org/x/tools/cmd/goimports - - go get github.com/tsenart/deadcode - -script: - - gometalinter --disable-all -E gofmt -E misspell -E ineffassign -E goimports -E deadcode --exclude="rice-box.go" --tests ./... - - go test ./... -timeout 30s - -after_success: - - test -n "$TRAVIS_TAG" && curl -sL https://git.io/goreleaser | bash diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..6011a2a4 --- /dev/null +++ b/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018 File Browser contributors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/LICENSE.md b/LICENSE.md deleted file mode 100644 index 48d49423..00000000 --- a/LICENSE.md +++ /dev/null @@ -1,201 +0,0 @@ -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, -and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by -the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all -other entities that control, are controlled by, or are under common -control with that entity. For the purposes of this definition, -"control" means (i) the power, direct or indirect, to cause the -direction or management of such entity, whether by contract or -otherwise, or (ii) ownership of fifty percent (50%) or more of the -outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity -exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, -including but not limited to software source code, documentation -source, and configuration files. - -"Object" form shall mean any form resulting from mechanical -transformation or translation of a Source form, including but -not limited to compiled object code, generated documentation, -and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or -Object form, made available under the License, as indicated by a -copyright notice that is included in or attached to the work -(an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object -form, that is based on (or derived from) the Work and for which the -editorial revisions, annotations, elaborations, or other modifications -represent, as a whole, an original work of authorship. For the purposes -of this License, Derivative Works shall not include works that remain -separable from, or merely link (or bind by name) to the interfaces of, -the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including -the original version of the Work and any modifications or additions -to that Work or Derivative Works thereof, that is intentionally -submitted to Licensor for inclusion in the Work by the copyright owner -or by an individual or Legal Entity authorized to submit on behalf of -the copyright owner. For the purposes of this definition, "submitted" -means any form of electronic, verbal, or written communication sent -to the Licensor or its representatives, including but not limited to -communication on electronic mailing lists, source code control systems, -and issue tracking systems that are managed by, or on behalf of, the -Licensor for the purpose of discussing and improving the Work, but -excluding communication that is conspicuously marked or otherwise -designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity -on behalf of whom a Contribution has been received by Licensor and -subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable -copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the -Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of -this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable -(except as stated in this section) patent license to make, have made, -use, offer to sell, sell, import, and otherwise transfer the Work, -where such license applies only to those patent claims licensable -by such Contributor that are necessarily infringed by their -Contribution(s) alone or by combination of their Contribution(s) -with the Work to which such Contribution(s) was submitted. If You -institute patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Work -or a Contribution incorporated within the Work constitutes direct -or contributory patent infringement, then any patent licenses -granted to You under this License for that Work shall terminate -as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the -Work or Derivative Works thereof in any medium, with or without -modifications, and in Source or Object form, provided that You -meet the following conditions: - -(a) You must give any other recipients of the Work or -Derivative Works a copy of this License; and - -(b) You must cause any modified files to carry prominent notices -stating that You changed the files; and - -(c) You must retain, in the Source form of any Derivative Works -that You distribute, all copyright, patent, trademark, and -attribution notices from the Source form of the Work, -excluding those notices that do not pertain to any part of -the Derivative Works; and - -(d) If the Work includes a "NOTICE" text file as part of its -distribution, then any Derivative Works that You distribute must -include a readable copy of the attribution notices contained -within such NOTICE file, excluding those notices that do not -pertain to any part of the Derivative Works, in at least one -of the following places: within a NOTICE text file distributed -as part of the Derivative Works; within the Source form or -documentation, if provided along with the Derivative Works; or, -within a display generated by the Derivative Works, if and -wherever such third-party notices normally appear. The contents -of the NOTICE file are for informational purposes only and -do not modify the License. You may add Your own attribution -notices within Derivative Works that You distribute, alongside -or as an addendum to the NOTICE text from the Work, provided -that such additional attribution notices cannot be construed -as modifying the License. - -You may add Your own copyright statement to Your modifications and -may provide additional or different license terms and conditions -for use, reproduction, or distribution of Your modifications, or -for any such Derivative Works as a whole, provided Your use, -reproduction, and distribution of the Work otherwise complies with -the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, -any Contribution intentionally submitted for inclusion in the Work -by You to the Licensor shall be under the terms and conditions of -this License, without any additional terms or conditions. -Notwithstanding the above, nothing herein shall supersede or modify -the terms of any separate license agreement you may have executed -with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade -names, trademarks, service marks, or product names of the Licensor, -except as required for reasonable and customary use in describing the -origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or -agreed to in writing, Licensor provides the Work (and each -Contributor provides its Contributions) on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -implied, including, without limitation, any warranties or conditions -of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A -PARTICULAR PURPOSE. You are solely responsible for determining the -appropriateness of using or redistributing the Work and assume any -risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, -whether in tort (including negligence), contract, or otherwise, -unless required by applicable law (such as deliberate and grossly -negligent acts) or agreed to in writing, shall any Contributor be -liable to You for damages, including any direct, indirect, special, -incidental, or consequential damages of any character arising as a -result of this License or out of the use or inability to use the -Work (including but not limited to damages for loss of goodwill, -work stoppage, computer failure or malfunction, or any and all -other commercial damages or losses), even if such Contributor -has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing -the Work or Derivative Works thereof, You may choose to offer, -and charge a fee for, acceptance of support, warranty, indemnity, -or other liability obligations and/or rights consistent with this -License. However, in accepting such obligations, You may act only -on Your own behalf and on Your sole responsibility, not on behalf -of any other Contributor, and only if You agree to indemnify, -defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason -of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - -To apply the Apache License to your work, attach the following -boilerplate notice, with the fields enclosed by brackets "{}" -replaced with your own identifying information. (Don't include -the brackets!) The text should be enclosed in the appropriate -comment syntax for the file format. We also recommend that a -file or class name and description of purpose be included on the -same "printed page" as the copyright notice for easier -identification within third-party archives. - -Copyright {yyyy} {name of copyright owner} - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/README.md b/README.md index cc6b6f43..43ae2290 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # filebrowser -[![Build](https://img.shields.io/travis/filebrowser/filebrowser.svg?style=flat-square)](https://travis-ci.org/filebrowser/filebrowser) +[![CircleCI](https://img.shields.io/circleci/project/github/filebrowser/filebrowser.svg?style=flat-square)](https://circleci.com/gh/filebrowser/filebrowser) [![Go Report Card](https://goreportcard.com/badge/github.com/filebrowser/filebrowser?style=flat-square)](https://goreportcard.com/report/github.com/filebrowser/filebrowser) [![Documentation](https://img.shields.io/badge/godoc-reference-blue.svg?style=flat-square)](http://godoc.org/github.com/filebrowser/filebrowser) [![Version](https://img.shields.io/github/release/filebrowser/filebrowser.svg?style=flat-square)](https://github.com/filebrowser/filebrowser/releases/latest) diff --git a/build.sh b/build.sh index 6fe68188..fc2fca57 100644 --- a/build.sh +++ b/build.sh @@ -7,8 +7,8 @@ if ! [ -x "$(command -v rice)" ]; then fi # Clean the dist folder and build the assets -rm -rf assets/dist -npm run build +rm -rf node_modules +npm install # Embed the assets using rice rice embed-go diff --git a/filebrowser.go b/filebrowser.go index 5868dd36..3f9a70a0 100644 --- a/filebrowser.go +++ b/filebrowser.go @@ -118,7 +118,7 @@ type FSBuilder func(scope string) FileSystem func (m *FileBrowser) Setup() error { // Creates a new File Manager instance with the Users // map and Assets box. - m.Assets = rice.MustFindBox("./assets/dist") + m.Assets = rice.MustFindBox("./node_modules/filebrowser-frontend/dist") m.Cron = cron.New() // Tries to get the encryption key from the database. @@ -210,14 +210,6 @@ func (m *FileBrowser) Setup() error { } } - // TODO: remove this after 1.5 - for _, user := range users { - if user.ViewMode != ListViewMode && user.ViewMode != MosaicViewMode { - user.ViewMode = ListViewMode - m.Store.Users.Update(user, "ViewMode") - } - } - m.DefaultUser.Username = "" m.DefaultUser.Password = "" @@ -320,7 +312,7 @@ func (m FileBrowser) Runner(event string, path string, destination string, user cmd := exec.Command(command, args...) cmd.Env = append(os.Environ(), fmt.Sprintf("FILE=%s", path)) - cmd.Env = append(cmd.Env, fmt.Sprintf("ROOT=%s", string(user.Scope))) + cmd.Env = append(cmd.Env, fmt.Sprintf("ROOT=%s", user.Scope)) cmd.Env = append(cmd.Env, fmt.Sprintf("TRIGGER=%s", event)) cmd.Env = append(cmd.Env, fmt.Sprintf("USERNAME=%s", user.Username)) @@ -372,42 +364,42 @@ type User struct { // ID is the required primary key with auto increment0 ID int `storm:"id,increment"` - // Username is the user username used to login. - Username string `json:"username" storm:"index,unique"` + // Tells if this user is an admin. + Admin bool `json:"admin"` + + // These indicate if the user can perform certain actions. + AllowCommands bool `json:"allowCommands"` // Execute commands + AllowEdit bool `json:"allowEdit"` // Edit/rename files + AllowNew bool `json:"allowNew"` // Create files and folders + AllowPublish bool `json:"allowPublish"` // Publish content (to use with static gen) + + // Prevents the user to change its password. + LockPassword bool `json:"lockPassword"` + + // Commands is the list of commands the user can execute. + Commands []string `json:"commands"` + + // Custom styles for this user. + CSS string `json:"css"` + + // FileSystem is the virtual file system the user has access. + FileSystem FileSystem `json:"-"` + + // Locale is the language of the user. + Locale string `json:"locale"` // The hashed password. This never reaches the front-end because it's temporarily // emptied during JSON marshall. Password string `json:"password"` - // Tells if this user is an admin. - Admin bool `json:"admin"` + // Rules is an array of access and deny rules. + Rules []*Rule `json:"rules"` // Scope is the path the user has access to. Scope string `json:"filesystem"` - // FileSystem is the virtual file system the user has access. - FileSystem FileSystem `json:"-"` - - // Rules is an array of access and deny rules. - Rules []*Rule `json:"rules"` - - // Custom styles for this user. - CSS string `json:"css"` - - // Locale is the language of the user. - Locale string `json:"locale"` - - // Prevents the user to change its password. - LockPassword bool `json:"lockPassword"` - - // These indicate if the user can perform certain actions. - AllowNew bool `json:"allowNew"` // Create files and folders - AllowEdit bool `json:"allowEdit"` // Edit/rename files - AllowCommands bool `json:"allowCommands"` // Execute commands - AllowPublish bool `json:"allowPublish"` // Publish content (to use with static gen) - - // Commands is the list of commands the user can execute. - Commands []string `json:"commands"` + // Username is the user username used to login. + Username string `json:"username" storm:"index,unique"` // User view mode for files and folders. ViewMode string `json:"viewMode"` diff --git a/http/download.go b/http/download.go index a401f9d9..b28542bd 100644 --- a/http/download.go +++ b/http/download.go @@ -1,4 +1,3 @@ - package http import ( diff --git a/http/websockets.go b/http/websockets.go index 2fba9303..6e191f01 100644 --- a/http/websockets.go +++ b/http/websockets.go @@ -12,8 +12,8 @@ import ( "strings" "time" - "github.com/gorilla/websocket" fm "github.com/filebrowser/filebrowser" + "github.com/gorilla/websocket" ) var upgrader = websocket.Upgrader{ diff --git a/package.json b/package.json index 0671f64f..2b8a1b76 100644 --- a/package.json +++ b/package.json @@ -1,86 +1,8 @@ { "name": "filebrowser", - "version": "1.0.0", - "author": "Henrique Dias ", + "author": "File Browser contributors", "private": true, - "scripts": { - "dev": "node ./assets/build/dev.js", - "build": "node ./assets/build/build.js", - "lint": "eslint --ext .js,.vue assets/src" - }, "dependencies": { - "clipboard": "^1.7.1", - "codemirror": "^5.31.0", - "filesize": "^3.5.11", - "js-base64": "^2.4.0", - "moment": "^2.19.2", - "normalize.css": "^7.0.0", - "noty": "^3.1.4", - "vue": "^2.5.8", - "vue-i18n": "^7.3.4", - "vue-router": "^3.0.1", - "vuex": "^3.0.1" - }, - "devDependencies": { - "autoprefixer": "^7.1.6", - "babel-core": "^6.26.0", - "babel-eslint": "^8.0.2", - "babel-loader": "^7.1.2", - "babel-plugin-transform-runtime": "^6.23.0", - "babel-preset-env": "^1.6.1", - "babel-preset-stage-2": "^6.24.1", - "babel-register": "^6.26.0", - "chalk": "^2.3.0", - "connect-history-api-fallback": "^1.5.0", - "copy-webpack-plugin": "^4.2.1", - "css-loader": "^0.28.7", - "eslint": "^4.15.0", - "eslint-config-standard": "^10.2.1", - "eslint-friendly-formatter": "^3.0.0", - "eslint-loader": "^1.9.0", - "eslint-plugin-html": "^4.0.0", - "eslint-plugin-import": "^2.8.0", - "eslint-plugin-node": "^5.2.1", - "eslint-plugin-promise": "^3.6.0", - "eslint-plugin-standard": "^3.0.1", - "eventsource-polyfill": "^0.9.6", - "express": "^4.16.2", - "extract-text-webpack-plugin": "^3.0.2", - "file-loader": "^1.1.5", - "friendly-errors-webpack-plugin": "^1.6.1", - "html-webpack-plugin": "^2.30.1", - "http-proxy-middleware": "^0.17.4", - "opn": "^5.1.0", - "optimize-css-assets-webpack-plugin": "^3.2.0", - "ora": "^1.3.0", - "rimraf": "^2.6.2", - "semver": "^5.4.1", - "shelljs": "^0.7.8", - "sw-precache-webpack-plugin": "^0.11.4", - "uglify-js": "^3.1.10", - "url-loader": "^0.6.2", - "vue-loader": "^13.5.0", - "vue-style-loader": "^3.0.3", - "vue-template-compiler": "^2.5.8", - "webpack": "^3.8.1", - "webpack-bundle-analyzer": "^2.9.1", - "webpack-dev-middleware": "^2.0.4", - "webpack-hot-middleware": "^2.20.0", - "webpack-merge": "^4.1.1", - "yml-loader": "^2.1.0" - }, - "engines": { - "node": ">= 4.0.0", - "npm": ">= 3.0.0" - }, - "postcss": { - "plugins": { - "autoprefixer": {} - } - }, - "browserslist": [ - "> 1%", - "last 2 versions", - "not ie <= 8" - ] + "filebrowser-frontend": "^1.0.2" + } } diff --git a/publish.sh b/publish.sh index 14f33b9b..e119218a 100644 --- a/publish.sh +++ b/publish.sh @@ -6,14 +6,10 @@ echo "Building assets" echo "Updating version number to $1..." sed -i "s|(untracked)|$1|g" filebrowser.go - -echo "Commiting..." git add -A git commit -m "chore: version $1" -git push - -echo "Creating the tag..." git tag "v$1" +git push git push --tags echo "Commiting untracked version notice..." diff --git a/rice-box.go.REMOVED.git-id b/rice-box.go.REMOVED.git-id index de0f8ff5..c07d499a 100644 --- a/rice-box.go.REMOVED.git-id +++ b/rice-box.go.REMOVED.git-id @@ -1 +1 @@ -4279154c1ebe0e4a8ef7ee0008a3371c7136ec9f \ No newline at end of file +e1471689027003ce4a317d8f18dc403778aad1d1 \ No newline at end of file