Refactor API to include app parameter in download endpoint

This commit is contained in:
Max 2024-10-23 17:44:35 +08:00
parent 3074a8e432
commit 31a52d03e3
4 changed files with 14 additions and 2 deletions

View file

@ -149,7 +149,7 @@ func exportAPI() error {
Path: "/:id/download/:field", Path: "/:id/download/:field",
Method: "GET", Method: "GET",
Process: "yao.form.Download", Process: "yao.form.Download",
In: []interface{}{"$param.id", "$param.field", "$query.name", "$query.token"}, In: []interface{}{"$param.id", "$param.field", "$query.name", "$query.token", "$query.app"},
Out: api.Out{ Out: api.Out{
Status: 200, Status: 200,
Body: "{{content}}", Body: "{{content}}",

View file

@ -84,6 +84,7 @@ func processDownload(process *gouProcess.Process) interface{} {
field := process.ArgsString(1) field := process.ArgsString(1)
file := process.ArgsString(2) file := process.ArgsString(2)
tokenString := process.ArgsString(3) tokenString := process.ArgsString(3)
isAppRoot := process.ArgsInt(4, 0)
// checking // checking
ext := fs.ExtName(file) ext := fs.ExtName(file)
@ -104,6 +105,11 @@ func processDownload(process *gouProcess.Process) interface{} {
name = form.Action.Download.Process name = form.Action.Download.Process
} }
// The root path of the application the Upload Component props.appRoot=true
if isAppRoot == 1 {
name = "fs.app.Download"
}
// Create process // Create process
p, err := gouProcess.Of(name, file) p, err := gouProcess.Of(name, file)
if err != nil { if err != nil {

View file

@ -187,7 +187,7 @@ func exportAPI() error {
Path: "/:id/download/:field", Path: "/:id/download/:field",
Method: "GET", Method: "GET",
Process: "yao.table.Download", Process: "yao.table.Download",
In: []interface{}{"$param.id", "$param.field", "$query.name", "$query.token"}, In: []interface{}{"$param.id", "$param.field", "$query.name", "$query.token", "$query.app"},
Out: api.Out{ Out: api.Out{
Status: 200, Status: 200,
Body: "{{content}}", Body: "{{content}}",

View file

@ -69,6 +69,7 @@ func processDownload(process *gouProcess.Process) interface{} {
field := process.ArgsString(1) field := process.ArgsString(1)
file := process.ArgsString(2) file := process.ArgsString(2)
tokenString := process.ArgsString(3) tokenString := process.ArgsString(3)
isAppRoot := process.ArgsInt(4, 0)
// checking // checking
ext := fs.ExtName(file) ext := fs.ExtName(file)
@ -89,6 +90,11 @@ func processDownload(process *gouProcess.Process) interface{} {
name = tab.Action.Download.Process name = tab.Action.Download.Process
} }
// The root path of the application the Upload Component props.appRoot=true
if isAppRoot == 1 {
name = "fs.app.Download"
}
// Create process // Create process
p, err := gouProcess.Of(name, file) p, err := gouProcess.Of(name, file)
if err != nil { if err != nil {