fs::impl::fs_object::put (private)

 fs::impl::fs_object::put

Defined in packages/file-storage/tcl/file-storage-dav-procs.tcl

PUT method

Partial Call Graph (max 5 caller/called nodes):
%3 AcsSc.dav.put.file_storage_object AcsSc.dav.put.file_storage_object (private) fs::impl::fs_object::put fs::impl::fs_object::put AcsSc.dav.put.file_storage_object->fs::impl::fs_object::put ad_conn ad_conn (public) fs::impl::fs_object::put->ad_conn ad_file ad_file (public) fs::impl::fs_object::put->ad_file fs::add_file fs::add_file (public) fs::impl::fs_object::put->fs::add_file fs::add_version fs::add_version (public) fs::impl::fs_object::put->fs::add_version oacs_dav::conn oacs_dav::conn (public) fs::impl::fs_object::put->oacs_dav::conn

Testcases:
No testcase defined.
Source code:
    set user_id [oacs_dav::conn user_id]
    set item_id [oacs_dav::conn item_id]
    set root_folder_id [oacs_dav::conn folder_id]
    set uri [oacs_dav::conn uri]

    if {"unlocked" ne [tdav::check_lock $uri] } {
    return [list 423]
    }

    set tmp_filename [oacs_dav::conn tmpfile]
    set tmp_size [ad_file size $tmp_filename]

    set name [oacs_dav::conn item_name]
    set parent_id [oacs_dav::item_parent_folder_id $uri]
    array set sn [site_node::get -url $uri]
    set package_id $sn(package_id)
    ns_log debug "\n ----- \n file_storage::dav::put package_id $package_id \n parent_id $parent_id \n uri $uri \n ----- \n "
    if {$parent_id eq ""} {
    set response [list 409]
    return $response
    }

    if {$item_id eq ""} {
        fs::add_file  -package_id $package_id  -name $name  -title $name  -item_id $item_id  -parent_id $parent_id  -tmp_filename $tmp_filename  -creation_user $user_id  -creation_ip [ad_conn peeraddr]  
    if {[file exists [tdav::get_lock_file $uri]]} {
        # if there is a null lock use 204
        set response [list 204]
    } else {
        set response [list 201]
    }
    } else {
    fs::add_version  -name $name -title $name  -tmp_filename $tmp_filename -item_id $item_id  -creation_user $user_id  -package_id $package_id

    set response [list 204]
    }
    file delete -- $tmp_filename
    return $response
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: