mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-03-07 05:19:19 -06:00
Merge branch 'master' into report-quota
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
|
||||
|
||||
go 1.16
|
||||
go 1.17
|
||||
|
||||
require github.com/bwplotka/bingo v0.5.1
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
|
||||
|
||||
go 1.16
|
||||
go 1.17
|
||||
|
||||
require github.com/bufbuild/buf v0.56.0 // cmd/buf
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
|
||||
|
||||
go 1.16
|
||||
go 1.17
|
||||
|
||||
require github.com/bazelbuild/buildtools v0.0.0-20210920153738-d6daef01a1a2 // buildifier
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
|
||||
|
||||
go 1.16
|
||||
go 1.17
|
||||
|
||||
require github.com/restic/calens v0.2.0
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
|
||||
|
||||
go 1.16
|
||||
go 1.17
|
||||
|
||||
require github.com/UnnoTed/fileb0x v1.1.4
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
|
||||
|
||||
go 1.16
|
||||
go 1.17
|
||||
|
||||
require github.com/owncloud/flaex v0.2.1-0.20210701123229-9d7dceed124f
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
|
||||
|
||||
go 1.16
|
||||
go 1.17
|
||||
|
||||
require github.com/golangci/golangci-lint v1.42.1 // cmd/golangci-lint
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
|
||||
|
||||
go 1.16
|
||||
go 1.17
|
||||
|
||||
require github.com/mitchellh/gox v1.0.1
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
|
||||
|
||||
go 1.16
|
||||
go 1.17
|
||||
|
||||
replace github.com/markbates/inflect => github.com/markbates/inflect v0.0.0-20171215194931-a12c3aec81a6
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
|
||||
|
||||
go 1.16
|
||||
go 1.17
|
||||
|
||||
require github.com/mutagen-io/mutagen v0.11.8 // cmd/mutagen
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
|
||||
|
||||
go 1.16
|
||||
go 1.17
|
||||
|
||||
require github.com/pseudomuto/protoc-gen-doc v1.5.0 // cmd/protoc-gen-doc
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
|
||||
|
||||
go 1.16
|
||||
go 1.17
|
||||
|
||||
require google.golang.org/protobuf v1.27.1 // cmd/protoc-gen-go
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
|
||||
|
||||
go 1.16
|
||||
go 1.17
|
||||
|
||||
require github.com/asim/go-micro/cmd/protoc-gen-micro/v3 v3.0.0-20210924081004-8c39b1e1204d
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
|
||||
|
||||
go 1.16
|
||||
go 1.17
|
||||
|
||||
require github.com/owncloud/protoc-gen-microweb v0.0.0-20210824101557-828409dbfbf9
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
|
||||
|
||||
go 1.16
|
||||
go 1.17
|
||||
|
||||
require github.com/grpc-ecosystem/grpc-gateway/v2 v2.6.0 // protoc-gen-openapiv2
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
|
||||
|
||||
go 1.16
|
||||
go 1.17
|
||||
|
||||
require github.com/cespare/reflex v0.3.1
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# The test runner source for API tests
|
||||
CORE_COMMITID=28fb541fcd334e17157013e6ab594b4e18c3b156
|
||||
CORE_COMMITID=dce242592aea29271e99dd5e23e038815fcd0f9c
|
||||
CORE_BRANCH=master
|
||||
|
||||
# The test runner source for UI tests
|
||||
|
||||
39
.drone.star
39
.drone.star
@@ -260,7 +260,7 @@ def testOcisModule(ctx, module):
|
||||
steps = makeGenerate(module) + [
|
||||
{
|
||||
"name": "golangci-lint",
|
||||
"image": "owncloudci/golang:1.16",
|
||||
"image": "owncloudci/golang:1.17",
|
||||
"pull": "always",
|
||||
"commands": [
|
||||
"mkdir -p cache/checkstyle",
|
||||
@@ -271,7 +271,7 @@ def testOcisModule(ctx, module):
|
||||
},
|
||||
{
|
||||
"name": "test",
|
||||
"image": "owncloudci/golang:1.16",
|
||||
"image": "owncloudci/golang:1.17",
|
||||
"pull": "always",
|
||||
"commands": [
|
||||
"mkdir -p cache/coverage",
|
||||
@@ -915,7 +915,7 @@ def dockerRelease(ctx, arch):
|
||||
"steps": makeGenerate("") + [
|
||||
{
|
||||
"name": "build",
|
||||
"image": "owncloudci/golang:1.16",
|
||||
"image": "owncloudci/golang:1.17",
|
||||
"pull": "always",
|
||||
"commands": [
|
||||
"make -C ocis release-linux-docker",
|
||||
@@ -988,15 +988,22 @@ def dockerEos(ctx):
|
||||
"os": "linux",
|
||||
"arch": "amd64",
|
||||
},
|
||||
"steps": makeGenerate("ocis") +
|
||||
build() + [
|
||||
"steps": makeGenerate("") + [
|
||||
{
|
||||
"name": "build",
|
||||
"image": "owncloudci/golang:1.17",
|
||||
"pull": "always",
|
||||
"commands": [
|
||||
"make -C ocis release-linux-docker",
|
||||
],
|
||||
},
|
||||
{
|
||||
"name": "dryrun-eos-ocis",
|
||||
"image": "plugins/docker:latest",
|
||||
"pull": "always",
|
||||
"settings": {
|
||||
"dry_run": True,
|
||||
"context": "ocis/docker/eos-ocis",
|
||||
"context": "ocis",
|
||||
"tags": "linux-eos-ocis",
|
||||
"dockerfile": "ocis/docker/eos-ocis/Dockerfile",
|
||||
"repo": "owncloud/eos-ocis",
|
||||
@@ -1021,7 +1028,7 @@ def dockerEos(ctx):
|
||||
"from_secret": "docker_password",
|
||||
},
|
||||
"auto_tag": True,
|
||||
"context": "ocis/docker/eos-ocis",
|
||||
"context": "ocis",
|
||||
"dockerfile": "ocis/docker/eos-ocis/Dockerfile",
|
||||
"repo": "owncloud/eos-ocis",
|
||||
},
|
||||
@@ -1089,7 +1096,7 @@ def binaryRelease(ctx, name):
|
||||
"steps": makeGenerate("") + [
|
||||
{
|
||||
"name": "build",
|
||||
"image": "owncloudci/golang:1.16",
|
||||
"image": "owncloudci/golang:1.17",
|
||||
"pull": "always",
|
||||
"commands": [
|
||||
"make -C ocis release-%s" % (name),
|
||||
@@ -1097,7 +1104,7 @@ def binaryRelease(ctx, name):
|
||||
},
|
||||
{
|
||||
"name": "finish",
|
||||
"image": "owncloudci/golang:1.16",
|
||||
"image": "owncloudci/golang:1.17",
|
||||
"pull": "always",
|
||||
"commands": [
|
||||
"make -C ocis release-finish",
|
||||
@@ -1123,7 +1130,7 @@ def binaryRelease(ctx, name):
|
||||
},
|
||||
{
|
||||
"name": "changelog",
|
||||
"image": "owncloudci/golang:1.16",
|
||||
"image": "owncloudci/golang:1.17",
|
||||
"pull": "always",
|
||||
"commands": [
|
||||
"make changelog CHANGELOG_VERSION=%s" % ctx.build.ref.replace("refs/tags/v", "").split("-")[0],
|
||||
@@ -1259,7 +1266,7 @@ def changelog(ctx):
|
||||
"steps": [
|
||||
{
|
||||
"name": "generate",
|
||||
"image": "owncloudci/golang:1.16",
|
||||
"image": "owncloudci/golang:1.17",
|
||||
"pull": "always",
|
||||
"commands": [
|
||||
"make -C ocis changelog",
|
||||
@@ -1366,19 +1373,19 @@ def docs(ctx):
|
||||
"steps": [
|
||||
{
|
||||
"name": "docs-generate",
|
||||
"image": "owncloudci/golang:1.16",
|
||||
"image": "owncloudci/golang:1.17",
|
||||
"commands": ["make -C %s docs-generate" % (module) for module in config["modules"]],
|
||||
},
|
||||
{
|
||||
"name": "prepare",
|
||||
"image": "owncloudci/golang:1.16",
|
||||
"image": "owncloudci/golang:1.17",
|
||||
"commands": [
|
||||
"make -C docs docs-copy",
|
||||
],
|
||||
},
|
||||
{
|
||||
"name": "test",
|
||||
"image": "owncloudci/golang:1.16",
|
||||
"image": "owncloudci/golang:1.17",
|
||||
"commands": [
|
||||
"make -C docs test",
|
||||
],
|
||||
@@ -1459,7 +1466,7 @@ def makeGenerate(module):
|
||||
},
|
||||
{
|
||||
"name": "generate go",
|
||||
"image": "owncloudci/golang:1.16",
|
||||
"image": "owncloudci/golang:1.17",
|
||||
"pull": "always",
|
||||
"commands": [
|
||||
"%s ci-go-generate" % (make),
|
||||
@@ -1598,7 +1605,7 @@ def build():
|
||||
return [
|
||||
{
|
||||
"name": "build",
|
||||
"image": "owncloudci/golang:1.16",
|
||||
"image": "owncloudci/golang:1.17",
|
||||
"pull": "always",
|
||||
"commands": [
|
||||
"make -C ocis build",
|
||||
|
||||
89
CHANGELOG.md
89
CHANGELOG.md
@@ -17,10 +17,13 @@ The following sections list the changes for unreleased.
|
||||
* Change - Make the drives create method odata compliant: [#2531](https://github.com/owncloud/ocis/pull/2531)
|
||||
* Change - Unify Envvar names configuring REVA gateway address: [#2587](https://github.com/owncloud/ocis/pull/2587)
|
||||
* Change - Update ownCloud Web to v4.3.0: [#2589](https://github.com/owncloud/ocis/pull/2589)
|
||||
* Enhancement - Updated MimeTypes configuration for AppRegistry: [#2603](https://github.com/owncloud/ocis/pull/2603)
|
||||
* Enhancement - Add maximum files and size to archiver capabilities: [#2544](https://github.com/owncloud/ocis/pull/2544)
|
||||
* Enhancement - Reduced repository size: [#2579](https://github.com/owncloud/ocis/pull/2579)
|
||||
* Enhancement - Return the newly created space: [#2610](https://github.com/owncloud/ocis/pull/2610)
|
||||
* Enhancement - Expose the reva archiver in OCIS: [#2509](https://github.com/owncloud/ocis/pull/2509)
|
||||
* Enhancement - Favorites capability: [#2599](https://github.com/owncloud/ocis/pull/2599)
|
||||
* Enhancement - Upgrade to GO 1.17: [#2605](https://github.com/owncloud/ocis/pull/2605)
|
||||
* Enhancement - Make mimetype allow list configurable for app provider: [#2553](https://github.com/owncloud/ocis/pull/2553)
|
||||
* Enhancement - Add allow_creation parameter to mime type config: [#2591](https://github.com/owncloud/ocis/pull/2591)
|
||||
* Enhancement - Add option to skip generation of demo users and groups: [#2495](https://github.com/owncloud/ocis/pull/2495)
|
||||
@@ -29,8 +32,7 @@ The following sections list the changes for unreleased.
|
||||
* Enhancement - Use reva's Authenticate method instead of spawning token managers: [#2528](https://github.com/owncloud/ocis/pull/2528)
|
||||
* Enhancement - TLS config options for ldap in reva: [#2492](https://github.com/owncloud/ocis/pull/2492)
|
||||
* Enhancement - Set reva JWT token expiration time to 24 hours by default: [#2527](https://github.com/owncloud/ocis/pull/2527)
|
||||
* Enhancement - Update reva to v1.13.1-0.20211001063718-477bb18843a9: [#2566](https://github.com/owncloud/ocis/pull/2566)
|
||||
* Enhancement - Update reva to v1.13.1-0.20210917065320-df33e69a6bdc: [#2520](https://github.com/owncloud/ocis/pull/2520)
|
||||
* Enhancement - Update reva to v1.14.0: [#2615](https://github.com/owncloud/ocis/pull/2615)
|
||||
|
||||
## Details
|
||||
|
||||
@@ -122,6 +124,13 @@ The following sections list the changes for unreleased.
|
||||
https://github.com/owncloud/ocis/pull/2589
|
||||
https://github.com/owncloud/web/releases/tag/v4.3.0
|
||||
|
||||
* Enhancement - Updated MimeTypes configuration for AppRegistry: [#2603](https://github.com/owncloud/ocis/pull/2603)
|
||||
|
||||
We updated the type of the mime types config to a list, to keep the order of mime types from the
|
||||
config.
|
||||
|
||||
https://github.com/owncloud/ocis/pull/2603
|
||||
|
||||
* Enhancement - Add maximum files and size to archiver capabilities: [#2544](https://github.com/owncloud/ocis/pull/2544)
|
||||
|
||||
We added the maximum files count and maximum archive size of the archiver to the capabilities
|
||||
@@ -137,6 +146,13 @@ The following sections list the changes for unreleased.
|
||||
|
||||
https://github.com/owncloud/ocis/pull/2579
|
||||
|
||||
* Enhancement - Return the newly created space: [#2610](https://github.com/owncloud/ocis/pull/2610)
|
||||
|
||||
Changed the response of the CreateSpace method to include the newly created space.
|
||||
|
||||
https://github.com/owncloud/ocis/pull/2610
|
||||
https://github.com/cs3org/reva/pull/2158
|
||||
|
||||
* Enhancement - Expose the reva archiver in OCIS: [#2509](https://github.com/owncloud/ocis/pull/2509)
|
||||
|
||||
The reva archiver can now be accessed through the storage frontend service
|
||||
@@ -151,6 +167,12 @@ The following sections list the changes for unreleased.
|
||||
|
||||
https://github.com/owncloud/ocis/pull/2599
|
||||
|
||||
* Enhancement - Upgrade to GO 1.17: [#2605](https://github.com/owncloud/ocis/pull/2605)
|
||||
|
||||
We've upgraded the used GO version from 1.16 to 1.17.
|
||||
|
||||
https://github.com/owncloud/ocis/pull/2605
|
||||
|
||||
* Enhancement - Make mimetype allow list configurable for app provider: [#2553](https://github.com/owncloud/ocis/pull/2553)
|
||||
|
||||
We've added a configuration option to configure the mimetype allow list introduced in
|
||||
@@ -216,39 +238,54 @@ The following sections list the changes for unreleased.
|
||||
|
||||
https://github.com/owncloud/ocis/pull/2527
|
||||
|
||||
* Enhancement - Update reva to v1.13.1-0.20211001063718-477bb18843a9: [#2566](https://github.com/owncloud/ocis/pull/2566)
|
||||
* Enhancement - Update reva to v1.14.0: [#2615](https://github.com/owncloud/ocis/pull/2615)
|
||||
|
||||
This update includes:
|
||||
|
||||
* Bugfix [cs3org/reva#2103](https://github.com/cs3org/reva/pull/2103): AppProvider: propagate back errors reported by WOPI
|
||||
* Bugfix [cs3org/reva#2149](https://github.com/cs3org/reva/pull/2149): Remove excess info from the http list app providers endpoint
|
||||
* Bugfix [cs3org/reva#2114](https://github.com/cs3org/reva/pull/2114): Add as default app while registering and skip unset mimetypes
|
||||
* Bugfix [cs3org/reva#2095](https://github.com/cs3org/reva/pull/2095): Fix app open when multiple app providers are present
|
||||
* Bugfix [cs3org/reva#2135](https://github.com/cs3org/reva/pull/2135): Make TUS capabilities configurable
|
||||
* Bugfix [cs3org/reva#2076](https://github.com/cs3org/reva/pull/2076): Fix chi routing
|
||||
* Bugfix [cs3org/reva#2077](https://github.com/cs3org/reva/pull/2077): Fix concurrent registration of mimetypes
|
||||
* Bugfix [cs3org/reva#2074](https://github.com/cs3org/reva/pull/2074): Fix Stat() for eos storage provider
|
||||
* Bugfix [cs3org/reva#2072](https://github.com/cs3org/reva/pull/2072): Fix denial shares being visible on Shared-with-me page
|
||||
* Bugfix [cs3org/reva#2154](https://github.com/cs3org/reva/pull/2154): Return OK when trying to delete a non existing reference
|
||||
* Bugfix [cs3org/reva#2078](https://github.com/cs3org/reva/pull/2078): Fix nil pointer exception in stat
|
||||
* Bugfix [cs3org/reva#2073](https://github.com/cs3org/reva/pull/2073): Fix opening a readonly filetype with WOPI
|
||||
* Bugfix [cs3org/reva#2114](https://github.com/cs3org/reva/pull/2114): Fix apps as default while registering and skip unset mimetypes
|
||||
* Security [cs3org/reva#2093](https://github.com/cs3org/reva/pull/2093): Limit the data exposed to resourceinfo and publicshare scopes
|
||||
* Security [cs3org/reva#2053](https://github.com/cs3org/reva/pull/2053): Use safer defaults for TLS verification on LDAP connections
|
||||
* Enhancement [cs3org/reva#1989](https://github.com/cs3org/reva/pull/1989): Implement url translation for legacy urls
|
||||
* Enhancement [cs3org/reva#2075](https://github.com/cs3org/reva/pull/2075): Make owncloudsql leverage existing filecache index
|
||||
* Enhancement [cs3org/reva#2090](https://github.com/cs3org/reva/pull/2090): Add space name during listStorageSpaces on decomposedfs
|
||||
* Enhancement [cs3org/reva#2088](https://github.com/cs3org/reva/pull/2088): Add archiver and app provider capabilities
|
||||
* Enhancement [cs3org/reva#2106](https://github.com/cs3org/reva/pull/2106): Add max num files and max size to the archiver capabilities
|
||||
* Enhancement [cs3org/reva#2067](https://github.com/cs3org/reva/pull/2067): Extend AppRegistry and AppProvider
|
||||
* Enhancement [cs3org/reva#2095](https://github.com/cs3org/reva/pull/2095): Whitelist apps via AppRegistry and AppProvider
|
||||
* Bugfix [cs3org/reva#2140](https://github.com/cs3org/reva/pull/2140): Map GRPC error codes to REVA errors
|
||||
* Bugfix [cs3org/reva#2147](https://github.com/cs3org/reva/pull/2147): Follow up of #2138: this is the new expected format
|
||||
* Bugfix [cs3org/reva#2116](https://github.com/cs3org/reva/pull/2116): Differentiate share types when retrieving received shares in sql driver
|
||||
* Bugfix [cs3org/reva#2074](https://github.com/cs3org/reva/pull/2074): Fix Stat() for EOS storage provider
|
||||
* Bugfix [cs3org/reva#2151](https://github.com/cs3org/reva/pull/2151): Fix return code for webdav uploads when the token expired
|
||||
* Change [cs3org/reva#2121](https://github.com/cs3org/reva/pull/2121): Sharemanager API change
|
||||
* Enhancement [cs3org/reva#2090](https://github.com/cs3org/reva/pull/2090): Return space name during list storage spaces
|
||||
* Enhancement [cs3org/reva#2138](https://github.com/cs3org/reva/pull/2138): Default AppProvider on top of the providers list
|
||||
* Enhancement [cs3org/reva#2137](https://github.com/cs3org/reva/pull/2137): Revamp app registry and add parameter to control file creation
|
||||
* Enhancement [cs3org/reva#145](https://github.com/cs3org/reva/pull/2137): UI improvements for the AppProviders
|
||||
* Enhancement [cs3org/reva#2088](https://github.com/cs3org/reva/pull/2088): Add archiver and app provider to ocs capabilities
|
||||
* Enhancement [cs3org/reva#2537](https://github.com/cs3org/reva/pull/2537): Add maximum files and size to archiver capabilities
|
||||
* Enhancement [cs3org/reva#2100](https://github.com/cs3org/reva/pull/2100): Add support for resource id to the archiver
|
||||
* Enhancement [cs3org/reva#2158](https://github.com/cs3org/reva/pull/2158): Augment the Id of new spaces
|
||||
* Enhancement [cs3org/reva#2085](https://github.com/cs3org/reva/pull/2085): Make encoding user groups in access tokens configurable
|
||||
* Enhancement [cs3org/reva#146](https://github.com/cs3org/reva/pull/146): Filter the denial shares (permission = 0) out of
|
||||
* Enhancement [cs3org/reva#2141](https://github.com/cs3org/reva/pull/2141): Use golang v1.17
|
||||
* Enhancement [cs3org/reva#2053](https://github.com/cs3org/reva/pull/2053): Safer defaults for TLS verification on LDAP connections
|
||||
* Enhancement [cs3org/reva#2115](https://github.com/cs3org/reva/pull/2115): Reduce code duplication in LDAP related drivers
|
||||
* Enhancement [cs3org/reva#2100](https://github.com/cs3org/reva/pull/2100): Resource id based archiver for zip/tar downloads
|
||||
* Enhancement [cs3org/reva#1989](https://github.com/cs3org/reva/pull/1989): Add redirects from OC10 URL formats
|
||||
* Enhancement [cs3org/reva#2479](https://github.com/cs3org/reva/pull/2479): Limit publicshare and resourceinfo scope content
|
||||
* Enhancement [cs3org/reva#2071](https://github.com/cs3org/reva/pull/2071): Implement listing favorites via the dav report API
|
||||
* Enhancement [cs3org/reva#2091](https://github.com/cs3org/reva/pull/2091): Nextcloud share managers
|
||||
* Enhancement [cs3org/reva#2070](https://github.com/cs3org/reva/pull/2070): More unit tests for the Nextcloud storage provider
|
||||
* Enhancement [cs3org/reva#2087](https://github.com/cs3org/reva/pull/2087): More unit tests for the Nextcloud auth and user managers
|
||||
* Enhancement [cs3org/reva#2075](https://github.com/cs3org/reva/pull/2075): Make owncloudsql leverage existing filecache index
|
||||
* Enhancement [cs3org/reva#2050](https://github.com/cs3org/reva/pull/2050): Add a share types filter to the OCS API
|
||||
* Enhancement [cs3org/reva#2134](https://github.com/cs3org/reva/pull/2134): Use space Type from request
|
||||
* Enhancement [cs3org/reva#2132](https://github.com/cs3org/reva/pull/2132): Align local tests with drone setup
|
||||
* Enhancement [cs3org/reva#2095](https://github.com/cs3org/reva/pull/2095): Whitelisting for apps
|
||||
* Enhancement [cs3org/reva#2155](https://github.com/cs3org/reva/pull/2155): Pass an extra query parameter to WOPI /openinapp with a
|
||||
|
||||
https://github.com/owncloud/ocis/pull/2615
|
||||
https://github.com/owncloud/ocis/pull/2566
|
||||
|
||||
* Enhancement - Update reva to v1.13.1-0.20210917065320-df33e69a6bdc: [#2520](https://github.com/owncloud/ocis/pull/2520)
|
||||
|
||||
Updated reva to version v1.13.1-0.20210917065320-df33e69a6bdc This update includes:
|
||||
|
||||
Enhancement [cs3org#reva#2071](https://github.com/cs3org/reva/pull/2071):
|
||||
Implement listing favorites via the dav report API Enhancement
|
||||
[cs3org#reva#2053](https://github.com/cs3org/reva/pull/2053): Use safer defaults for
|
||||
TLS verification on LDAP connections
|
||||
|
||||
https://github.com/owncloud/ocis/pull/2520
|
||||
# Changelog for [1.12.0] (2021-09-14)
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM owncloudci/golang:1.16 as build
|
||||
FROM owncloudci/golang:1.17 as build
|
||||
|
||||
COPY ./ /ocis/
|
||||
|
||||
|
||||
6
changelog/unreleased/appregistry-config.md
Normal file
6
changelog/unreleased/appregistry-config.md
Normal file
@@ -0,0 +1,6 @@
|
||||
Enhancement: Updated MimeTypes configuration for AppRegistry
|
||||
|
||||
We updated the type of the mime types config to a list, to keep
|
||||
the order of mime types from the config.
|
||||
|
||||
https://github.com/owncloud/ocis/pull/2603
|
||||
6
changelog/unreleased/create-space-response.md
Normal file
6
changelog/unreleased/create-space-response.md
Normal file
@@ -0,0 +1,6 @@
|
||||
Enhancement: Return the newly created space
|
||||
|
||||
Changed the response of the CreateSpace method to include the newly created space.
|
||||
|
||||
https://github.com/owncloud/ocis/pull/2610
|
||||
https://github.com/cs3org/reva/pull/2158
|
||||
5
changelog/unreleased/go-1-17.md
Normal file
5
changelog/unreleased/go-1-17.md
Normal file
@@ -0,0 +1,5 @@
|
||||
Enhancement: Upgrade to GO 1.17
|
||||
|
||||
We've upgraded the used GO version from 1.16 to 1.17.
|
||||
|
||||
https://github.com/owncloud/ocis/pull/2605
|
||||
@@ -1,23 +1,50 @@
|
||||
Enhancement: Update reva to v1.13.1-0.20211001063718-477bb18843a9
|
||||
Enhancement: Update reva to v1.14.0
|
||||
|
||||
This update includes:
|
||||
|
||||
* Bugfix [cs3org/reva#2076](https://github.com/cs3org/reva/pull/2076): Fix chi routing
|
||||
* Bugfix [cs3org/reva#2077](https://github.com/cs3org/reva/pull/2077): Fix concurrent registration of mimetypes
|
||||
* Bugfix [cs3org/reva#2074](https://github.com/cs3org/reva/pull/2074): Fix Stat() for eos storage provider
|
||||
* Bugfix [cs3org/reva#2072](https://github.com/cs3org/reva/pull/2072): Fix denial shares being visible on Shared-with-me page
|
||||
* Bugfix [cs3org/reva#2073](https://github.com/cs3org/reva/pull/2073): Fix opening a readonly filetype with WOPI
|
||||
* Bugfix [cs3org/reva#2114](https://github.com/cs3org/reva/pull/2114): Fix apps as default while registering and skip unset mimetypes
|
||||
* Security [cs3org/reva#2093](https://github.com/cs3org/reva/pull/2093): Limit the data exposed to resourceinfo and publicshare scopes
|
||||
* Security [cs3org/reva#2053](https://github.com/cs3org/reva/pull/2053): Use safer defaults for TLS verification on LDAP connections
|
||||
* Enhancement [cs3org/reva#1989](https://github.com/cs3org/reva/pull/1989): Implement url translation for legacy urls
|
||||
* Enhancement [cs3org/reva#2075](https://github.com/cs3org/reva/pull/2075): Make owncloudsql leverage existing filecache index
|
||||
* Enhancement [cs3org/reva#2090](https://github.com/cs3org/reva/pull/2090): Add space name during listStorageSpaces on decomposedfs
|
||||
* Enhancement [cs3org/reva#2088](https://github.com/cs3org/reva/pull/2088): Add archiver and app provider capabilities
|
||||
* Enhancement [cs3org/reva#2106](https://github.com/cs3org/reva/pull/2106): Add max num files and max size to the archiver capabilities
|
||||
* Enhancement [cs3org/reva#2067](https://github.com/cs3org/reva/pull/2067): Extend AppRegistry and AppProvider
|
||||
* Enhancement [cs3org/reva#2095](https://github.com/cs3org/reva/pull/2095): Whitelist apps via AppRegistry and AppProvider
|
||||
* Enhancement [cs3org/reva#2115](https://github.com/cs3org/reva/pull/2115): Reduce code duplication in LDAP related drivers
|
||||
* Enhancement [cs3org/reva#2100](https://github.com/cs3org/reva/pull/2100): Resource id based archiver for zip/tar downloads
|
||||
|
||||
* Bugfix [cs3org/reva#2103](https://github.com/cs3org/reva/pull/2103): AppProvider: propagate back errors reported by WOPI
|
||||
* Bugfix [cs3org/reva#2149](https://github.com/cs3org/reva/pull/2149): Remove excess info from the http list app providers endpoint
|
||||
* Bugfix [cs3org/reva#2114](https://github.com/cs3org/reva/pull/2114): Add as default app while registering and skip unset mimetypes
|
||||
* Bugfix [cs3org/reva#2095](https://github.com/cs3org/reva/pull/2095): Fix app open when multiple app providers are present
|
||||
* Bugfix [cs3org/reva#2135](https://github.com/cs3org/reva/pull/2135): Make TUS capabilities configurable
|
||||
* Bugfix [cs3org/reva#2076](https://github.com/cs3org/reva/pull/2076): Fix chi routing
|
||||
* Bugfix [cs3org/reva#2077](https://github.com/cs3org/reva/pull/2077): Fix concurrent registration of mimetypes
|
||||
* Bugfix [cs3org/reva#2154](https://github.com/cs3org/reva/pull/2154): Return OK when trying to delete a non existing reference
|
||||
* Bugfix [cs3org/reva#2078](https://github.com/cs3org/reva/pull/2078): Fix nil pointer exception in stat
|
||||
* Bugfix [cs3org/reva#2073](https://github.com/cs3org/reva/pull/2073): Fix opening a readonly filetype with WOPI
|
||||
* Bugfix [cs3org/reva#2140](https://github.com/cs3org/reva/pull/2140): Map GRPC error codes to REVA errors
|
||||
* Bugfix [cs3org/reva#2147](https://github.com/cs3org/reva/pull/2147): Follow up of #2138: this is the new expected format
|
||||
* Bugfix [cs3org/reva#2116](https://github.com/cs3org/reva/pull/2116): Differentiate share types when retrieving received shares in sql driver
|
||||
* Bugfix [cs3org/reva#2074](https://github.com/cs3org/reva/pull/2074): Fix Stat() for EOS storage provider
|
||||
* Bugfix [cs3org/reva#2151](https://github.com/cs3org/reva/pull/2151): Fix return code for webdav uploads when the token expired
|
||||
* Change [cs3org/reva#2121](https://github.com/cs3org/reva/pull/2121): Sharemanager API change
|
||||
* Enhancement [cs3org/reva#2090](https://github.com/cs3org/reva/pull/2090): Return space name during list storage spaces
|
||||
* Enhancement [cs3org/reva#2138](https://github.com/cs3org/reva/pull/2138): Default AppProvider on top of the providers list
|
||||
* Enhancement [cs3org/reva#2137](https://github.com/cs3org/reva/pull/2137): Revamp app registry and add parameter to control file creation
|
||||
* Enhancement [cs3org/reva#145](https://github.com/cs3org/reva/pull/2137): UI improvements for the AppProviders
|
||||
* Enhancement [cs3org/reva#2088](https://github.com/cs3org/reva/pull/2088): Add archiver and app provider to ocs capabilities
|
||||
* Enhancement [cs3org/reva#2537](https://github.com/cs3org/reva/pull/2537): Add maximum files and size to archiver capabilities
|
||||
* Enhancement [cs3org/reva#2100](https://github.com/cs3org/reva/pull/2100): Add support for resource id to the archiver
|
||||
* Enhancement [cs3org/reva#2158](https://github.com/cs3org/reva/pull/2158): Augment the Id of new spaces
|
||||
* Enhancement [cs3org/reva#2085](https://github.com/cs3org/reva/pull/2085): Make encoding user groups in access tokens configurable
|
||||
* Enhancement [cs3org/reva#146](https://github.com/cs3org/reva/pull/146): Filter the denial shares (permission = 0) out of
|
||||
* Enhancement [cs3org/reva#2141](https://github.com/cs3org/reva/pull/2141): Use golang v1.17
|
||||
* Enhancement [cs3org/reva#2053](https://github.com/cs3org/reva/pull/2053): Safer defaults for TLS verification on LDAP connections
|
||||
* Enhancement [cs3org/reva#2115](https://github.com/cs3org/reva/pull/2115): Reduce code duplication in LDAP related drivers
|
||||
* Enhancement [cs3org/reva#1989](https://github.com/cs3org/reva/pull/1989): Add redirects from OC10 URL formats
|
||||
* Enhancement [cs3org/reva#2479](https://github.com/cs3org/reva/pull/2479): Limit publicshare and resourceinfo scope content
|
||||
* Enhancement [cs3org/reva#2071](https://github.com/cs3org/reva/pull/2071): Implement listing favorites via the dav report API
|
||||
* Enhancement [cs3org/reva#2091](https://github.com/cs3org/reva/pull/2091): Nextcloud share managers
|
||||
* Enhancement [cs3org/reva#2070](https://github.com/cs3org/reva/pull/2070): More unit tests for the Nextcloud storage provider
|
||||
* Enhancement [cs3org/reva#2087](https://github.com/cs3org/reva/pull/2087): More unit tests for the Nextcloud auth and user managers
|
||||
* Enhancement [cs3org/reva#2075](https://github.com/cs3org/reva/pull/2075): Make owncloudsql leverage existing filecache index
|
||||
* Enhancement [cs3org/reva#2050](https://github.com/cs3org/reva/pull/2050): Add a share types filter to the OCS API
|
||||
* Enhancement [cs3org/reva#2134](https://github.com/cs3org/reva/pull/2134): Use space Type from request
|
||||
* Enhancement [cs3org/reva#2132](https://github.com/cs3org/reva/pull/2132): Align local tests with drone setup
|
||||
* Enhancement [cs3org/reva#2095](https://github.com/cs3org/reva/pull/2095): Whitelisting for apps
|
||||
* Enhancement [cs3org/reva#2155](https://github.com/cs3org/reva/pull/2155): Pass an extra query parameter to WOPI /openinapp with a
|
||||
|
||||
https://github.com/owncloud/ocis/pull/2615
|
||||
https://github.com/owncloud/ocis/pull/2566
|
||||
https://github.com/owncloud/ocis/pull/2520
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
Enhancement: Update reva to v1.13.1-0.20210917065320-df33e69a6bdc
|
||||
|
||||
Updated reva to version v1.13.1-0.20210917065320-df33e69a6bdc
|
||||
This update includes:
|
||||
|
||||
Enhancement [cs3org#reva#2071](https://github.com/cs3org/reva/pull/2071): Implement listing favorites via the dav report API
|
||||
Enhancement [cs3org#reva#2053](https://github.com/cs3org/reva/pull/2053): Use safer defaults for TLS verification on LDAP connections
|
||||
|
||||
https://github.com/owncloud/ocis/pull/2520
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": "https://ocis.owncloud.test",
|
||||
"theme": "owncloud",
|
||||
"theme": "https://ocis.owncloud.test/themes/owncloud/theme.json",
|
||||
"version": "0.1.0",
|
||||
"openIdConnect": {
|
||||
"metadata_url": "https://ocis.owncloud.test/.well-known/openid-configuration",
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
"application/pdf": {
|
||||
[
|
||||
{
|
||||
"mime_type": "application/pdf",
|
||||
"extension": "pdf",
|
||||
"name": "PDF",
|
||||
"description": "PDF document",
|
||||
@@ -7,7 +8,8 @@
|
||||
"default_app": "",
|
||||
"allow_creation": false
|
||||
},
|
||||
"application/vnd.oasis.opendocument.text": {
|
||||
{
|
||||
"mime_type": "application/vnd.oasis.opendocument.text",
|
||||
"extension": "odt",
|
||||
"name": "OpenDocument",
|
||||
"description": "OpenDocument text document",
|
||||
@@ -15,7 +17,8 @@
|
||||
"default_app": "Collabora",
|
||||
"allow_creation": true
|
||||
},
|
||||
"application/vnd.oasis.opendocument.spreadsheet": {
|
||||
{
|
||||
"mime_type": "application/vnd.oasis.opendocument.spreadsheet",
|
||||
"extension": "ods",
|
||||
"name": "OpenSpreadsheet",
|
||||
"description": "OpenDocument spreadsheet document",
|
||||
@@ -23,7 +26,8 @@
|
||||
"default_app": "Collabora",
|
||||
"allow_creation": true
|
||||
},
|
||||
"application/vnd.oasis.opendocument.presentation": {
|
||||
{
|
||||
"mime_type": "application/vnd.oasis.opendocument.presentation",
|
||||
"extension": "odp",
|
||||
"name": "OpenPresentation",
|
||||
"description": "OpenDocument presentation document",
|
||||
@@ -31,7 +35,8 @@
|
||||
"default_app": "Collabora",
|
||||
"allow_creation": true
|
||||
},
|
||||
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": {
|
||||
{
|
||||
"mime_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
||||
"extension": "docx",
|
||||
"name": "Microsoft Word",
|
||||
"description": "Microsoft Word document",
|
||||
@@ -39,7 +44,8 @@
|
||||
"default_app": "OnlyOffice",
|
||||
"allow_creation": true
|
||||
},
|
||||
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
|
||||
{
|
||||
"mime_type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
||||
"extension": "xlsx",
|
||||
"name": "Microsoft Excel",
|
||||
"description": "Microsoft Excel document",
|
||||
@@ -47,7 +53,8 @@
|
||||
"default_app": "OnlyOffice",
|
||||
"allow_creation": true
|
||||
},
|
||||
"application/vnd.openxmlformats-officedocument.presentationml.presentation": {
|
||||
{
|
||||
"mime_type": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
|
||||
"extension": "pptx",
|
||||
"name": "Microsoft PowerPoint",
|
||||
"description": "Microsoft PowerPoint document",
|
||||
@@ -55,7 +62,8 @@
|
||||
"default_app": "OnlyOffice",
|
||||
"allow_creation": true
|
||||
},
|
||||
"application/vnd.jupyter": {
|
||||
{
|
||||
"mime_type": "application/vnd.jupyter",
|
||||
"extension": "ipynb",
|
||||
"name": "Jupyter Notebook",
|
||||
"description": "Jupyter Notebook",
|
||||
@@ -63,7 +71,8 @@
|
||||
"default_app": "",
|
||||
"allow_creation": true
|
||||
},
|
||||
"text/markdown": {
|
||||
{
|
||||
"mime_type": "text/markdown",
|
||||
"extension": "md",
|
||||
"name": "Markdown file",
|
||||
"description": "Markdown file",
|
||||
@@ -71,7 +80,8 @@
|
||||
"default_app": "CodiMD",
|
||||
"allow_creation": true
|
||||
},
|
||||
"application/compressed-markdown": {
|
||||
{
|
||||
"mime_type": "application/compressed-markdown",
|
||||
"extension": "zmd",
|
||||
"name": "Compressed markdown file",
|
||||
"description": "Compressed markdown file",
|
||||
@@ -79,4 +89,4 @@
|
||||
"default_app": "CodiMD",
|
||||
"allow_creation": false
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -16,7 +16,7 @@ So we are trying to reflect this in the tooling. It should be kept simple and qu
|
||||
|
||||
Besides standard development tools like git and a text editor, you need the following software for development:
|
||||
|
||||
- Go >= v1.16 ([install instructions](https://golang.org/doc/install))
|
||||
- Go >= v1.17 ([install instructions](https://golang.org/doc/install))
|
||||
- Yarn ([install instructions](https://classic.yarnpkg.com/en/docs/install))
|
||||
- docker ([install instructions](https://docs.docker.com/get-docker/))
|
||||
- docker-compose ([install instructions](https://docs.docker.com/compose/install/))
|
||||
|
||||
171
go.mod
171
go.mod
@@ -1,6 +1,6 @@
|
||||
module github.com/owncloud/ocis
|
||||
|
||||
go 1.16
|
||||
go 1.17
|
||||
|
||||
require (
|
||||
github.com/CiscoM31/godata v1.0.4
|
||||
@@ -58,7 +58,7 @@ require (
|
||||
github.com/urfave/cli/v2 v2.3.0
|
||||
github.com/yaegashi/msgraph.go v0.1.4
|
||||
go.opencensus.io v0.23.0
|
||||
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.24.0
|
||||
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.25.0
|
||||
go.opentelemetry.io/otel v1.0.1
|
||||
go.opentelemetry.io/otel/exporters/jaeger v1.0.1
|
||||
go.opentelemetry.io/otel/sdk v1.0.1
|
||||
@@ -75,6 +75,173 @@ require (
|
||||
stash.kopano.io/kgol/rndm v1.1.1
|
||||
)
|
||||
|
||||
require (
|
||||
contrib.go.opencensus.io/exporter/prometheus v0.4.0 // indirect
|
||||
github.com/Azure/go-ntlmssp v0.0.0-20200615164410-66371956d46c // indirect
|
||||
github.com/Masterminds/goutils v1.1.1 // indirect
|
||||
github.com/Masterminds/semver v1.5.0 // indirect
|
||||
github.com/Masterminds/sprig v2.22.0+incompatible // indirect
|
||||
github.com/Microsoft/go-winio v0.5.0 // indirect
|
||||
github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7 // indirect
|
||||
github.com/ReneKroon/ttlcache/v2 v2.8.1 // indirect
|
||||
github.com/RoaringBitmap/roaring v0.7.3 // indirect
|
||||
github.com/acomagu/bufpipe v1.0.3 // indirect
|
||||
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d // indirect
|
||||
github.com/aws/aws-sdk-go v1.40.46 // indirect
|
||||
github.com/beevik/etree v1.1.0 // indirect
|
||||
github.com/beorn7/perks v1.0.1 // indirect
|
||||
github.com/bitly/go-simplejson v0.5.0 // indirect
|
||||
github.com/bits-and-blooms/bitset v1.2.0 // indirect
|
||||
github.com/blevesearch/bleve_index_api v1.0.1 // indirect
|
||||
github.com/blevesearch/go-porterstemmer v1.0.3 // indirect
|
||||
github.com/blevesearch/mmap-go v1.0.2 // indirect
|
||||
github.com/blevesearch/scorch_segment_api/v2 v2.0.1 // indirect
|
||||
github.com/blevesearch/segment v0.9.0 // indirect
|
||||
github.com/blevesearch/snowballstem v0.9.0 // indirect
|
||||
github.com/blevesearch/upsidedown_store_api v1.0.1 // indirect
|
||||
github.com/blevesearch/vellum v1.0.5 // indirect
|
||||
github.com/blevesearch/zapx/v11 v11.2.2 // indirect
|
||||
github.com/blevesearch/zapx/v12 v12.2.2 // indirect
|
||||
github.com/blevesearch/zapx/v13 v13.2.2 // indirect
|
||||
github.com/blevesearch/zapx/v14 v14.2.2 // indirect
|
||||
github.com/blevesearch/zapx/v15 v15.2.2 // indirect
|
||||
github.com/bluele/gcache v0.0.2 // indirect
|
||||
github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40 // indirect
|
||||
github.com/boombuler/barcode v1.0.1 // indirect
|
||||
github.com/cespare/xxhash/v2 v2.1.1 // indirect
|
||||
github.com/coreos/go-oidc v2.2.1+incompatible // indirect
|
||||
github.com/coreos/go-semver v0.3.0 // indirect
|
||||
github.com/coreos/go-systemd/v22 v22.3.2 // indirect
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect
|
||||
github.com/crewjam/httperr v0.2.0 // indirect
|
||||
github.com/crewjam/saml v0.4.3 // indirect
|
||||
github.com/cubewise-code/go-mime v0.0.0-20200519001935-8c5762b177d8 // indirect
|
||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||
github.com/deckarep/golang-set v1.7.1 // indirect
|
||||
github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect
|
||||
github.com/dgrijalva/jwt-go v3.2.0+incompatible // indirect
|
||||
github.com/dustin/go-humanize v1.0.0 // indirect
|
||||
github.com/emirpasic/gods v1.12.0 // indirect
|
||||
github.com/eternnoir/gncp v0.0.0-20170707042257-c70df2d0cd68 // indirect
|
||||
github.com/fatih/color v1.9.0 // indirect
|
||||
github.com/fsnotify/fsnotify v1.4.9 // indirect
|
||||
github.com/gdexlab/go-render v1.0.1 // indirect
|
||||
github.com/go-asn1-ber/asn1-ber v1.5.1 // indirect
|
||||
github.com/go-git/gcfg v1.5.0 // indirect
|
||||
github.com/go-git/go-billy/v5 v5.3.1 // indirect
|
||||
github.com/go-git/go-git/v5 v5.4.2 // indirect
|
||||
github.com/go-kit/log v0.1.0 // indirect
|
||||
github.com/go-ldap/ldap/v3 v3.4.1 // indirect
|
||||
github.com/go-logfmt/logfmt v0.5.0 // indirect
|
||||
github.com/go-sql-driver/mysql v1.6.0 // indirect
|
||||
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 // indirect
|
||||
github.com/gogo/protobuf v1.3.2 // indirect
|
||||
github.com/golang-jwt/jwt v3.2.2+incompatible // indirect
|
||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
||||
github.com/golang/snappy v0.0.1 // indirect
|
||||
github.com/gomodule/redigo v1.8.5 // indirect
|
||||
github.com/google/go-cmp v0.5.6 // indirect
|
||||
github.com/google/go-querystring v1.1.0 // indirect
|
||||
github.com/google/uuid v1.3.0 // indirect
|
||||
github.com/gorilla/schema v1.1.0 // indirect
|
||||
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect
|
||||
github.com/hashicorp/go-hclog v0.16.2 // indirect
|
||||
github.com/hashicorp/go-plugin v1.4.3 // indirect
|
||||
github.com/hashicorp/hcl v1.0.0 // indirect
|
||||
github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb // indirect
|
||||
github.com/huandu/xstrings v1.3.2 // indirect
|
||||
github.com/imdario/mergo v0.3.12 // indirect
|
||||
github.com/inconshreveable/mousetrap v1.0.0 // indirect
|
||||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
||||
github.com/jmespath/go-jmespath v0.4.0 // indirect
|
||||
github.com/jonboulle/clockwork v0.2.1 // indirect
|
||||
github.com/json-iterator/go v1.1.11 // indirect
|
||||
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 // indirect
|
||||
github.com/klauspost/cpuid v1.3.1 // indirect
|
||||
github.com/longsleep/go-metrics v0.0.0-20191013204616-cddea569b0ea // indirect
|
||||
github.com/magiconair/properties v1.8.5 // indirect
|
||||
github.com/mattermost/xml-roundtrip-validator v0.0.0-20201213122252-bcd7e1b9601e // indirect
|
||||
github.com/mattn/go-colorable v0.1.8 // indirect
|
||||
github.com/mattn/go-isatty v0.0.12 // indirect
|
||||
github.com/mattn/go-runewidth v0.0.9 // indirect
|
||||
github.com/mattn/go-sqlite3 v1.14.8 // indirect
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
|
||||
github.com/mendsley/gojwk v0.0.0-20141217222730-4d5ec6e58103 // indirect
|
||||
github.com/miekg/dns v1.1.43 // indirect
|
||||
github.com/mileusna/useragent v1.0.2 // indirect
|
||||
github.com/minio/md5-simd v1.1.0 // indirect
|
||||
github.com/minio/minio-go/v7 v7.0.14 // indirect
|
||||
github.com/minio/sha256-simd v0.1.1 // indirect
|
||||
github.com/mitchellh/copystructure v1.2.0 // indirect
|
||||
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
||||
github.com/mitchellh/go-testing-interface v1.14.1 // indirect
|
||||
github.com/mitchellh/hashstructure v1.1.0 // indirect
|
||||
github.com/mitchellh/reflectwalk v1.0.2 // indirect
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
||||
github.com/modern-go/reflect2 v1.0.1 // indirect
|
||||
github.com/mschoch/smat v0.2.0 // indirect
|
||||
github.com/nats-io/jwt v1.1.0 // indirect
|
||||
github.com/nats-io/nats.go v1.10.0 // indirect
|
||||
github.com/nats-io/nkeys v0.1.4 // indirect
|
||||
github.com/nats-io/nuid v1.0.1 // indirect
|
||||
github.com/nxadm/tail v1.4.8 // indirect
|
||||
github.com/orcaman/concurrent-map v0.0.0-20190826125027-8c72a8bb44f6 // indirect
|
||||
github.com/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c // indirect
|
||||
github.com/patrickmn/go-cache v2.1.0+incompatible // indirect
|
||||
github.com/pelletier/go-toml v1.9.3 // indirect
|
||||
github.com/pkg/xattr v0.4.3 // indirect
|
||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||
github.com/pquerna/cachecontrol v0.1.0 // indirect
|
||||
github.com/pquerna/otp v1.3.0 // indirect
|
||||
github.com/prometheus/client_model v0.2.0 // indirect
|
||||
github.com/prometheus/common v0.28.0 // indirect
|
||||
github.com/prometheus/procfs v0.6.0 // indirect
|
||||
github.com/prometheus/statsd_exporter v0.21.0 // indirect
|
||||
github.com/rickb777/date v1.12.4 // indirect
|
||||
github.com/rickb777/plural v1.2.0 // indirect
|
||||
github.com/rs/cors v1.8.0 // indirect
|
||||
github.com/rs/xid v1.3.0 // indirect
|
||||
github.com/russellhaering/goxmldsig v1.1.0 // indirect
|
||||
github.com/russross/blackfriday/v2 v2.0.1 // indirect
|
||||
github.com/satori/go.uuid v1.2.0 // indirect
|
||||
github.com/sciencemesh/meshdirectory-web v1.0.4 // indirect
|
||||
github.com/sergi/go-diff v1.1.0 // indirect
|
||||
github.com/sethvargo/go-password v0.2.0 // indirect
|
||||
github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect
|
||||
github.com/sony/gobreaker v0.4.1 // indirect
|
||||
github.com/spf13/afero v1.6.0 // indirect
|
||||
github.com/spf13/cast v1.3.1 // indirect
|
||||
github.com/spf13/jwalterweatherman v1.1.0 // indirect
|
||||
github.com/spf13/pflag v1.0.5 // indirect
|
||||
github.com/steveyen/gtreap v0.1.0 // indirect
|
||||
github.com/studio-b12/gowebdav v0.0.0-20210917133250-a3a86976a1df // indirect
|
||||
github.com/subosito/gotenv v1.2.0 // indirect
|
||||
github.com/tus/tusd v1.6.0 // indirect
|
||||
github.com/wk8/go-ordered-map v0.2.0 // indirect
|
||||
github.com/xanzy/ssh-agent v0.3.0 // indirect
|
||||
go.etcd.io/bbolt v1.3.5 // indirect
|
||||
go.etcd.io/etcd/api/v3 v3.5.0 // indirect
|
||||
go.etcd.io/etcd/client/pkg/v3 v3.5.0 // indirect
|
||||
go.etcd.io/etcd/client/v3 v3.5.0 // indirect
|
||||
go.uber.org/atomic v1.7.0 // indirect
|
||||
go.uber.org/multierr v1.6.0 // indirect
|
||||
go.uber.org/zap v1.17.0 // indirect
|
||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect
|
||||
golang.org/x/sys v0.0.0-20210921065528-437939a70204 // indirect
|
||||
golang.org/x/text v0.3.6 // indirect
|
||||
golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba // indirect
|
||||
golang.org/x/tools v0.1.5 // indirect
|
||||
google.golang.org/appengine v1.6.7 // indirect
|
||||
gopkg.in/ini.v1 v1.62.0 // indirect
|
||||
gopkg.in/square/go-jose.v2 v2.6.0 // indirect
|
||||
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
|
||||
gopkg.in/warnings.v0 v0.1.2 // indirect
|
||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
|
||||
stash.kopano.io/kgol/kcc-go/v5 v5.0.1 // indirect
|
||||
stash.kopano.io/kgol/oidc-go v0.3.1 // indirect
|
||||
)
|
||||
|
||||
// this is a transitive replace. See https://github.com/libregraph/lico/blob/master/go.mod#L38
|
||||
replace github.com/crewjam/saml => github.com/crewjam/saml v0.4.5
|
||||
|
||||
|
||||
8
go.sum
8
go.sum
@@ -1111,6 +1111,8 @@ github.com/vinyldns/go-vinyldns v0.0.0-20200917153823-148a5f6b8f14/go.mod h1:RWc
|
||||
github.com/vultr/govultr v0.1.4/go.mod h1:9H008Uxr/C4vFNGLqKx232C206GL0PBHzOP0809bGNA=
|
||||
github.com/vultr/govultr/v2 v2.0.0/go.mod h1:2PsEeg+gs3p/Fo5Pw8F9mv+DUBEOlrNZ8GmCTGmhOhs=
|
||||
github.com/willf/bitset v1.1.10/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4=
|
||||
github.com/wk8/go-ordered-map v0.2.0 h1:KlvGyHstD1kkGZkPtHCyCfRYS0cz84uk6rrW/Dnhdtk=
|
||||
github.com/wk8/go-ordered-map v0.2.0/go.mod h1:9ZIbRunKbuvfPKyBP1SIKLcXNlv74YCOZ3t3VTS6gRk=
|
||||
github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4=
|
||||
github.com/xanzy/ssh-agent v0.3.0 h1:wUMzuKtKilRgBAD1sUb8gOwwRr2FGoBVumcjoOACClI=
|
||||
github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0=
|
||||
@@ -1157,16 +1159,14 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
||||
go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
|
||||
go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M=
|
||||
go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
|
||||
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.24.0 h1:1hCzM7mwQbFQgk3Q4lAVEsGV6NB4Uj6Jt3EU+OiSBc8=
|
||||
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.24.0/go.mod h1:O0cG0vP6TP3c323kh70JmeG1jN69Sn9Z5HxgmeASFWY=
|
||||
go.opentelemetry.io/otel v1.0.0/go.mod h1:AjRVh9A5/5DE7S+mZtTR6t8vpKKryam+0lREnfmS4cg=
|
||||
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.25.0 h1:Wx7nFnvCaissIUZxPkBqDz2963Z+Cl+PkYbDKzTxDqQ=
|
||||
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.25.0/go.mod h1:E5NNboN0UqSAki0Atn9kVwaN7I+l25gGxDqBueo/74E=
|
||||
go.opentelemetry.io/otel v1.0.1 h1:4XKyXmfqJLOQ7feyV5DB6gsBFZ0ltB8vLtp6pj4JIcc=
|
||||
go.opentelemetry.io/otel v1.0.1/go.mod h1:OPEOD4jIT2SlZPMmwT6FqZz2C0ZNdQqiWcoK6M0SNFU=
|
||||
go.opentelemetry.io/otel/exporters/jaeger v1.0.1 h1:fg9udWIWWJMAT+Gq2ATFd/DFy3OZvKEZy9VK2amxvkw=
|
||||
go.opentelemetry.io/otel/exporters/jaeger v1.0.1/go.mod h1:85Ym3qknJdIdfRzYS9Ofy9NeLi9gKPFzFDBEHCKpfXI=
|
||||
go.opentelemetry.io/otel/sdk v1.0.1 h1:wXxFEWGo7XfXupPwVJvTBOaPBC9FEg0wB8hMNrKk+cA=
|
||||
go.opentelemetry.io/otel/sdk v1.0.1/go.mod h1:HrdXne+BiwsOHYYkBE5ysIcv2bvdZstxzmCQhxTcZkI=
|
||||
go.opentelemetry.io/otel/trace v1.0.0/go.mod h1:PXTWqayeFUlJV1YDNhsJYB184+IvAH814St6o6ajzIs=
|
||||
go.opentelemetry.io/otel/trace v1.0.1 h1:StTeIH6Q3G4r0Fiw34LTokUFESZgIDUr0qIJ7mKmAfw=
|
||||
go.opentelemetry.io/otel/trace v1.0.1/go.mod h1:5g4i4fKLaX2BQpSBsxw8YYcgKpMMSW3x7ZTuYBr3sUk=
|
||||
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
|
||||
|
||||
@@ -165,12 +165,12 @@ func (g Graph) CreateDrive(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
drive := msgraph.Drive{}
|
||||
if err := json.NewDecoder(r.Body).Decode(&drive); err != nil {
|
||||
errorcode.GeneralException.Render(w, r, http.StatusBadRequest, fmt.Errorf("invalid schema definition").Error())
|
||||
errorcode.GeneralException.Render(w, r, http.StatusBadRequest, "invalid schema definition")
|
||||
return
|
||||
}
|
||||
spaceName := *drive.Name
|
||||
if spaceName == "" {
|
||||
errorcode.GeneralException.Render(w, r, http.StatusInternalServerError, fmt.Errorf("invalid name").Error())
|
||||
errorcode.GeneralException.Render(w, r, http.StatusInternalServerError, "invalid name")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -182,7 +182,7 @@ func (g Graph) CreateDrive(w http.ResponseWriter, r *http.Request) {
|
||||
case "":
|
||||
driveType = "project"
|
||||
case "share":
|
||||
errorcode.GeneralException.Render(w, r, http.StatusBadRequest, fmt.Errorf("drives of type share cannot be created via this api").Error())
|
||||
errorcode.GeneralException.Render(w, r, http.StatusBadRequest, "drives of type share cannot be created via this api")
|
||||
}
|
||||
|
||||
var quota uint64
|
||||
@@ -208,8 +208,24 @@ func (g Graph) CreateDrive(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
if resp.GetStatus().GetCode() != v1beta11.Code_CODE_OK {
|
||||
errorcode.GeneralException.Render(w, r, http.StatusInternalServerError, fmt.Errorf("").Error())
|
||||
errorcode.GeneralException.Render(w, r, http.StatusInternalServerError, "")
|
||||
}
|
||||
|
||||
wdu, err := url.Parse(g.config.Spaces.WebDavBase)
|
||||
if err != nil {
|
||||
g.logger.Error().Err(err).Msg("error parsing url")
|
||||
errorcode.GeneralException.Render(w, r, http.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
newDrive, err := cs3StorageSpaceToDrive(wdu, resp.StorageSpace)
|
||||
if err != nil {
|
||||
g.logger.Error().Err(err).Msg("error parsing url")
|
||||
errorcode.GeneralException.Render(w, r, http.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
render.Status(r, http.StatusCreated)
|
||||
render.JSON(w, r, newDrive)
|
||||
}
|
||||
|
||||
func (g Graph) UpdateDrive(w http.ResponseWriter, r *http.Request) {
|
||||
@@ -227,19 +243,19 @@ func (g Graph) UpdateDrive(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
if req.FirstSegment.Identifier.Get() == "" {
|
||||
errorcode.GeneralException.Render(w, r, http.StatusBadRequest, fmt.Errorf("identifier cannot be empty").Error())
|
||||
errorcode.GeneralException.Render(w, r, http.StatusBadRequest, "identifier cannot be empty")
|
||||
return
|
||||
}
|
||||
|
||||
drive := msgraph.Drive{}
|
||||
if err = json.NewDecoder(r.Body).Decode(&drive); err != nil {
|
||||
errorcode.GeneralException.Render(w, r, http.StatusBadRequest, fmt.Errorf("invalid request body: %v", r.Body).Error())
|
||||
errorcode.GeneralException.Render(w, r, http.StatusBadRequest, fmt.Sprintf("invalid request body: %v", r.Body))
|
||||
return
|
||||
}
|
||||
|
||||
identifierParts := strings.Split(req.FirstSegment.Identifier.Get(), "!")
|
||||
if len(identifierParts) != 2 {
|
||||
errorcode.GeneralException.Render(w, r, http.StatusBadRequest, fmt.Errorf("invalid resource id: %v", req.FirstSegment.Identifier.Get()).Error())
|
||||
errorcode.GeneralException.Render(w, r, http.StatusBadRequest, fmt.Sprintf("invalid resource id: %v", req.FirstSegment.Identifier.Get()))
|
||||
w.WriteHeader(http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
@@ -263,13 +279,19 @@ func (g Graph) UpdateDrive(w http.ResponseWriter, r *http.Request) {
|
||||
},
|
||||
}
|
||||
|
||||
if drive.Quota.HasTotal() {
|
||||
updateSpaceRequest.StorageSpace.Quota = &storageprovider.Quota{
|
||||
QuotaMaxBytes: uint64(*drive.Quota.Total),
|
||||
}
|
||||
}
|
||||
|
||||
resp, err := client.UpdateStorageSpace(r.Context(), updateSpaceRequest)
|
||||
if err != nil {
|
||||
w.WriteHeader(http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
if resp.GetStatus().GetCode() != v1beta11.Code_CODE_OK {
|
||||
errorcode.GeneralException.Render(w, r, http.StatusInternalServerError, fmt.Errorf("").Error())
|
||||
errorcode.GeneralException.Render(w, r, http.StatusInternalServerError, "")
|
||||
}
|
||||
|
||||
w.WriteHeader(http.StatusNoContent)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
*
|
||||
!dist/
|
||||
!bin/
|
||||
!docker
|
||||
|
||||
@@ -1,37 +1,7 @@
|
||||
FROM centos:7 as build
|
||||
ARG BRANCH=master
|
||||
|
||||
ENV CGO_ENABLED=1
|
||||
ENV GOOS=linux
|
||||
RUN rpm --rebuilddb && yum -y install \
|
||||
wget \
|
||||
time \
|
||||
make \
|
||||
gcc \
|
||||
git
|
||||
RUN wget -q https://dl.google.com/go/go1.16.2.linux-amd64.tar.gz
|
||||
RUN mkdir -p /usr/local/bin
|
||||
RUN tar xf go1.16.2.linux-amd64.tar.gz -C /usr/local
|
||||
RUN ln -s /usr/local/go/bin/* /usr/local/bin
|
||||
RUN git clone https://github.com/owncloud/ocis.git
|
||||
RUN cd ocis && git checkout ${BRANCH}
|
||||
RUN cd ocis && git log -n 1
|
||||
RUN cd ocis/ocis && go build -v -o ../bin/ocis -toolexec '/usr/bin/time -v' ./cmd/ocis
|
||||
# RUN cd ocis && make generate bin/ocis
|
||||
|
||||
# build user lookup test program
|
||||
RUN mkdir -p /build
|
||||
COPY user.go /build/user.go
|
||||
RUN cd /build && go build -o user user.go
|
||||
|
||||
|
||||
FROM owncloud/eos-base:4.8.26
|
||||
RUN mkdir -p /usr/local/bin
|
||||
COPY --from=build ocis/bin/ocis /usr/local/bin/
|
||||
COPY dist/binaries/ocis-linux-amd64 /usr/local/bin/ocis
|
||||
RUN chmod +x /usr/local/bin/ocis
|
||||
|
||||
COPY --from=build /build/user /usr/local/bin/user
|
||||
RUN chmod +x /usr/local/bin/user
|
||||
|
||||
COPY setup /setup
|
||||
COPY entrypoint /entrypoint
|
||||
COPY docker/eos-ocis/setup /setup
|
||||
COPY docker/eos-ocis/entrypoint /entrypoint
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
gouser "os/user"
|
||||
)
|
||||
|
||||
func main() {
|
||||
username := os.Args[1]
|
||||
user, err := gouser.Lookup(username)
|
||||
fmt.Printf("User %#v %#v %#v\n", username, user, err)
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
"application/pdf": {
|
||||
[
|
||||
{
|
||||
"mime_type": "application/pdf",
|
||||
"extension": "pdf",
|
||||
"name": "PDF",
|
||||
"description": "PDF document",
|
||||
@@ -7,7 +8,8 @@
|
||||
"default_app": "",
|
||||
"allow_creation": false
|
||||
},
|
||||
"application/vnd.oasis.opendocument.text": {
|
||||
{
|
||||
"mime_type": "application/vnd.oasis.opendocument.text",
|
||||
"extension": "odt",
|
||||
"name": "OpenDocument",
|
||||
"description": "OpenDocument text document",
|
||||
@@ -15,7 +17,8 @@
|
||||
"default_app": "",
|
||||
"allow_creation": true
|
||||
},
|
||||
"application/vnd.oasis.opendocument.spreadsheet": {
|
||||
{
|
||||
"mime_type": "application/vnd.oasis.opendocument.spreadsheet",
|
||||
"extension": "ods",
|
||||
"name": "OpenSpreadsheet",
|
||||
"description": "OpenDocument spreadsheet document",
|
||||
@@ -23,7 +26,8 @@
|
||||
"default_app": "",
|
||||
"allow_creation": true
|
||||
},
|
||||
"application/vnd.oasis.opendocument.presentation": {
|
||||
{
|
||||
"mime_type": "application/vnd.oasis.opendocument.presentation",
|
||||
"extension": "odp",
|
||||
"name": "OpenPresentation",
|
||||
"description": "OpenDocument presentation document",
|
||||
@@ -31,7 +35,8 @@
|
||||
"default_app": "",
|
||||
"allow_creation": true
|
||||
},
|
||||
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": {
|
||||
{
|
||||
"mime_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
||||
"extension": "docx",
|
||||
"name": "Microsoft Word",
|
||||
"description": "Microsoft Word document",
|
||||
@@ -39,7 +44,8 @@
|
||||
"default_app": "",
|
||||
"allow_creation": true
|
||||
},
|
||||
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
|
||||
{
|
||||
"mime_type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
||||
"extension": "xlsx",
|
||||
"name": "Microsoft Excel",
|
||||
"description": "Microsoft Excel document",
|
||||
@@ -47,7 +53,8 @@
|
||||
"default_app": "",
|
||||
"allow_creation": true
|
||||
},
|
||||
"application/vnd.openxmlformats-officedocument.presentationml.presentation": {
|
||||
{
|
||||
"mime_type": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
|
||||
"extension": "pptx",
|
||||
"name": "Microsoft PowerPoint",
|
||||
"description": "Microsoft PowerPoint document",
|
||||
@@ -55,7 +62,8 @@
|
||||
"default_app": "",
|
||||
"allow_creation": true
|
||||
},
|
||||
"application/vnd.jupyter": {
|
||||
{
|
||||
"mime_type": "application/vnd.jupyter",
|
||||
"extension": "ipynb",
|
||||
"name": "Jupyter Notebook",
|
||||
"description": "Jupyter Notebook",
|
||||
@@ -63,7 +71,8 @@
|
||||
"default_app": "",
|
||||
"allow_creation": true
|
||||
},
|
||||
"text/markdown": {
|
||||
{
|
||||
"mime_type": "text/markdown",
|
||||
"extension": "md",
|
||||
"name": "Markdown file",
|
||||
"description": "Markdown file",
|
||||
@@ -71,7 +80,8 @@
|
||||
"default_app": "",
|
||||
"allow_creation": true
|
||||
},
|
||||
"application/compressed-markdown": {
|
||||
{
|
||||
"mime_type": "application/compressed-markdown",
|
||||
"extension": "zmd",
|
||||
"name": "Compressed markdown file",
|
||||
"description": "Compressed markdown file",
|
||||
@@ -79,4 +89,4 @@
|
||||
"default_app": "",
|
||||
"allow_creation": false
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -230,9 +230,10 @@ func rules(cfg *config.Config, logger log.Logger) map[string]map[string]interfac
|
||||
}
|
||||
}
|
||||
|
||||
func mimetypes(cfg *config.Config, logger log.Logger) map[string]map[string]interface{} {
|
||||
func mimetypes(cfg *config.Config, logger log.Logger) []map[string]interface{} {
|
||||
|
||||
type mimeTypeConfig struct {
|
||||
MimeType string `json:"mime_type" mapstructure:"mime_type"`
|
||||
Extension string `json:"extension" mapstructure:"extension"`
|
||||
Name string `json:"name" mapstructure:"name"`
|
||||
Description string `json:"description" mapstructure:"description"`
|
||||
@@ -240,8 +241,8 @@ func mimetypes(cfg *config.Config, logger log.Logger) map[string]map[string]inte
|
||||
DefaultApp string `json:"default_app" mapstructure:"default_app"`
|
||||
AllowCreation bool `json:"allow_creation" mapstructure:"allow_creation"`
|
||||
}
|
||||
var mimetypes map[string]mimeTypeConfig
|
||||
var m map[string]map[string]interface{}
|
||||
var mimetypes []mimeTypeConfig
|
||||
var m []map[string]interface{}
|
||||
|
||||
// load default app mimetypes from a json file
|
||||
if cfg.Reva.AppRegistry.MimetypesJSON != "" {
|
||||
@@ -263,60 +264,70 @@ func mimetypes(cfg *config.Config, logger log.Logger) map[string]map[string]inte
|
||||
|
||||
logger.Info().Msg("No app registry mimetypes JSON file provided, loading default configuration")
|
||||
|
||||
mimetypes = map[string]mimeTypeConfig{
|
||||
"application/pdf": {
|
||||
mimetypes = []mimeTypeConfig{
|
||||
{
|
||||
MimeType: "application/pdf",
|
||||
Extension: "pdf",
|
||||
Name: "PDF",
|
||||
Description: "PDF document",
|
||||
},
|
||||
"application/vnd.oasis.opendocument.text": {
|
||||
{
|
||||
MimeType: "application/vnd.oasis.opendocument.text",
|
||||
Extension: "odt",
|
||||
Name: "OpenDocument",
|
||||
Description: "OpenDocument text document",
|
||||
AllowCreation: true,
|
||||
},
|
||||
"application/vnd.oasis.opendocument.spreadsheet": {
|
||||
{
|
||||
MimeType: "application/vnd.oasis.opendocument.spreadsheet",
|
||||
Extension: "ods",
|
||||
Name: "OpenSpreadsheet",
|
||||
Description: "OpenDocument spreadsheet document",
|
||||
AllowCreation: true,
|
||||
},
|
||||
"application/vnd.oasis.opendocument.presentation": {
|
||||
{
|
||||
MimeType: "application/vnd.oasis.opendocument.presentation",
|
||||
Extension: "odp",
|
||||
Name: "OpenPresentation",
|
||||
Description: "OpenDocument presentation document",
|
||||
AllowCreation: true,
|
||||
},
|
||||
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": {
|
||||
{
|
||||
MimeType: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
||||
Extension: "docx",
|
||||
Name: "Microsoft Word",
|
||||
Description: "Microsoft Word document",
|
||||
AllowCreation: true,
|
||||
},
|
||||
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
|
||||
{
|
||||
MimeType: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
||||
Extension: "xlsx",
|
||||
Name: "Microsoft Excel",
|
||||
Description: "Microsoft Excel document",
|
||||
AllowCreation: true,
|
||||
},
|
||||
"application/vnd.openxmlformats-officedocument.presentationml.presentation": {
|
||||
{
|
||||
MimeType: "application/vnd.openxmlformats-officedocument.presentationml.presentation",
|
||||
Extension: "pptx",
|
||||
Name: "Microsoft PowerPoint",
|
||||
Description: "Microsoft PowerPoint document",
|
||||
AllowCreation: true,
|
||||
},
|
||||
"application/vnd.jupyter": {
|
||||
{
|
||||
MimeType: "application/vnd.jupyter",
|
||||
Extension: "ipynb",
|
||||
Name: "Jupyter Notebook",
|
||||
Description: "Jupyter Notebook",
|
||||
},
|
||||
"text/markdown": {
|
||||
{
|
||||
MimeType: "text/markdown",
|
||||
Extension: "md",
|
||||
Name: "Markdown file",
|
||||
Description: "Markdown file",
|
||||
AllowCreation: true,
|
||||
},
|
||||
"application/compressed-markdown": {
|
||||
{
|
||||
MimeType: "application/compressed-markdown",
|
||||
Extension: "zmd",
|
||||
Name: "Compressed markdown file",
|
||||
Description: "Compressed markdown file",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"server": "https://ocis-server:9200",
|
||||
"theme": "owncloud",
|
||||
"theme": "https://ocis-server:9200/themes/owncloud/theme.json",
|
||||
"version": "0.1.0",
|
||||
"openIdConnect": {
|
||||
"metadata_url": "https://ocis-server:9200/.well-known/openid-configuration",
|
||||
|
||||
@@ -43,6 +43,8 @@ type Asset struct {
|
||||
// WebConfig defines the available web configuration for a dynamically rendered config.json.
|
||||
type WebConfig struct {
|
||||
Server string `json:"server,omitempty"`
|
||||
ThemeServer string `json:"omit"` // only used to build Theme
|
||||
ThemePath string `json:"omit"` // only used to build Theme
|
||||
Theme string `json:"theme,omitempty"`
|
||||
Version string `json:"version,omitempty"` // TODO what is version used for?
|
||||
OpenIDConnect OIDC `json:"openIdConnect,omitempty"`
|
||||
|
||||
@@ -164,16 +164,23 @@ func ServerWithConfig(cfg *config.Config) []cli.Flag {
|
||||
&cli.StringFlag{
|
||||
Name: "web-config-server",
|
||||
Value: flags.OverrideDefaultString(cfg.Web.Config.Server, "https://localhost:9200"),
|
||||
Usage: "Server URL",
|
||||
Usage: "Configuration server URL",
|
||||
EnvVars: []string{"WEB_UI_CONFIG_SERVER", "OCIS_URL"}, // WEB_UI_CONFIG_SERVER takes precedence over OCIS_URL
|
||||
Destination: &cfg.Web.Config.Server,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "web-theme-server",
|
||||
Value: flags.OverrideDefaultString(cfg.Web.Config.ThemeServer, "https://localhost:9200"),
|
||||
Usage: "Theme server URL",
|
||||
EnvVars: []string{"WEB_UI_THEME_SERVER", "OCIS_URL"}, // WEB_UI_THEME_SERVER takes precedence over OCIS_URL
|
||||
Destination: &cfg.Web.Config.ThemeServer,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "web-config-theme",
|
||||
Value: flags.OverrideDefaultString(cfg.Web.Config.Theme, "owncloud"),
|
||||
Usage: "Theme",
|
||||
EnvVars: []string{"WEB_UI_CONFIG_THEME"},
|
||||
Destination: &cfg.Web.Config.Theme,
|
||||
Value: flags.OverrideDefaultString(cfg.Web.Config.ThemePath, "/themes/owncloud/theme.json"),
|
||||
Usage: "Theme path on the theme server",
|
||||
EnvVars: []string{"WEB_UI_THEME_PATH"},
|
||||
Destination: &cfg.Web.Config.ThemePath,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "web-config-version",
|
||||
|
||||
@@ -4,6 +4,7 @@ import (
|
||||
"encoding/json"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"os"
|
||||
"strings"
|
||||
"time"
|
||||
@@ -69,6 +70,13 @@ func (p Web) getPayload() (payload []byte, err error) {
|
||||
p.config.Web.Config.Options["hideSearchBar"] = true
|
||||
}
|
||||
|
||||
// build theme url
|
||||
if themeServer, err := url.Parse(p.config.Web.Config.ThemeServer); err == nil {
|
||||
p.config.Web.Config.Theme = themeServer.String() + p.config.Web.Config.ThemePath
|
||||
} else {
|
||||
p.config.Web.Config.Theme = p.config.Web.Config.ThemePath
|
||||
}
|
||||
|
||||
if p.config.Web.Config.ExternalApps == nil {
|
||||
p.config.Web.Config.ExternalApps = []config.ExternalApp{
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user