diff --git a/changelog/unreleased/openappintab.md b/changelog/unreleased/openappintab.md new file mode 100644 index 00000000000..7e7e069dcda --- /dev/null +++ b/changelog/unreleased/openappintab.md @@ -0,0 +1,5 @@ +Enhancement: Handle target in OpenInApp response + +Implements the OpenInApp.target property + +https://github.com/cs3org/reva/pull/4077 diff --git a/internal/http/services/appprovider/appprovider.go b/internal/http/services/appprovider/appprovider.go index cb0d84698b4..d6730e80450 100644 --- a/internal/http/services/appprovider/appprovider.go +++ b/internal/http/services/appprovider/appprovider.go @@ -421,7 +421,7 @@ func (s *svc) handleOpen(w http.ResponseWriter, r *http.Request) { } log := appctx.GetLogger(ctx) - log.Info().Str("url", openRes.AppUrl.AppUrl).Interface("resource", fileRef).Msg("returning app URL for file") + log.Info().Interface("resource", fileRef).Str("url", openRes.AppUrl.AppUrl).Str("method", openRes.AppUrl.Method).Interface("target", openRes.AppUrl.Target).Msg("returning app URL for file") w.Header().Set("Content-Type", "application/json") if _, err = w.Write(js); err != nil { diff --git a/pkg/app/provider/demo/demo.go b/pkg/app/provider/demo/demo.go index c17403fe12b..7ce885ee5ee 100644 --- a/pkg/app/provider/demo/demo.go +++ b/pkg/app/provider/demo/demo.go @@ -45,12 +45,16 @@ func (p *demoProvider) GetAppURL(ctx context.Context, resource *provider.Resourc return &appprovider.OpenInAppURL{ AppUrl: url, Method: http.MethodGet, + Target: appprovider.Target_TARGET_IFRAME, // alternatively, appprovider.Target_TARGET_BLANK }, nil } func (p *demoProvider) GetAppProviderInfo(ctx context.Context) (*appregistry.ProviderInfo, error) { return &appregistry.ProviderInfo{ - Name: "demo-app", + Name: "demo-app", + Description: "A dummy app provider", + MimeTypes: []string{}, + Action: "Demo open", }, nil } diff --git a/pkg/app/provider/wopi/wopi.go b/pkg/app/provider/wopi/wopi.go index 0ecdb420735..690711e14d2 100644 --- a/pkg/app/provider/wopi/wopi.go +++ b/pkg/app/provider/wopi/wopi.go @@ -336,6 +336,7 @@ func (p *wopiProvider) GetAppURL(ctx context.Context, resource *provider.Resourc AppUrl: appFullURL, Method: method, FormParameters: formParams, + Target: appprovider.Target_TARGET_IFRAME, }, nil }