dba/files  library module
R

Summary

Delete files.
Authors
  • Christian Grün, BaseX Team 2005-23, BSD License
Related documents
ViewDescriptionFormat
xqdocxqDoc xml file from the source modulexml
xqparsexqparse xml file from the source modulexml

Imports

This module is imported by 0 modules. It imports 2 modules.

(None)
imports
dba/files
imports

Variables

3.1 $dba:CAT

Summary
Top category
Type
Source ( 1 lines)
variable $dba:CAT := 'files'

Functions

4.1 dba:file-delete

Arities: #1R

Summary
Deletes files.
Signatures
dba:file-delete ( $names as xs:string* ) as element(rest:response)
Parameters
  • names as xs:string* names of files
Return
  • element(rest:response) redirection
Invoked by 0 functions from 0 modules
    Annotations (3)
    %rest:GET()
    %rest:path('/dba/file-delete')
    %rest:query-param('name','{$names}')
    Source ( 13 lines)
    function dba:file-delete(
      $names  as xs:string*
    ) as element(rest:response) {
      try {
        (: delete all files, ignore reference to parent directory :)
        for $name in $names
        where $name != '..'
        return file:delete(config:directory() || $name),
        web:redirect($dba:CAT, map { 'info': util:info($names, 'file', 'deleted') })
      } catch * {
        web:redirect($dba:CAT, map { 'error': $err:description })
      }
    }

    Namespaces

    The following namespaces are defined:

    PrefixUri
    configdba/config
    dbadba/files 2 3 4 5 6 7 8
    errhttp://www.w3.org/2005/xqt-errors
    filehttp://expath.org/ns/file
    resthttp://exquery.org/ns/restxq
    utildba/util
    webhttp://basex.org/modules/web
    xshttp://www.w3.org/2001/XMLSchema

    6 RestXQ

    Paths defined 1.

    PathMethodFunction
    /dba/file-deleteGETdba:file-delete#1

    Source Code

    (:~
     : Delete files.
     :
     : @author Christian Grün, BaseX Team 2005-23, BSD License
     :)
    module namespace dba = 'dba/files';
    
    import module namespace config = 'dba/config' at '../lib/config.xqm';
    import module namespace util = 'dba/util' at '../lib/util.xqm';
    
    (:~ Top category :)
    declare variable $dba:CAT := 'files';
    
    (:~
     : Deletes files.
     : @param  $names  names of files
     : @return redirection
     :)
    declare
      %rest:GET
      %rest:path('/dba/file-delete')
      %rest:query-param('name', '{$names}')
    function dba:file-delete(
      $names  as xs:string*
    ) as element(rest:response) {
      try {
        (: delete all files, ignore reference to parent directory :)
        for $name in $names
        where $name != '..'
        return file:delete(config:directory() || $name),
        web:redirect($dba:CAT, map { 'info': util:info($names, 'file', 'deleted') })
      } catch * {
        web:redirect($dba:CAT, map { 'error': $err:description })
      }
    };