Signatur von f_list_objects vereinfacht
This commit is contained in:
@@ -138,20 +138,20 @@ create or replace package body pck_net_storage as
|
|||||||
|
|
||||||
-- Interne Implementierung ohne Rechteprüfung — wird von f_list_objects und p_delete_folder genutzt
|
-- Interne Implementierung ohne Rechteprüfung — wird von f_list_objects und p_delete_folder genutzt
|
||||||
function f_list_objects_internal (
|
function f_list_objects_internal (
|
||||||
i_prefix in varchar2
|
i_parent_folder in varchar2
|
||||||
,i_delimiter in varchar2
|
,i_include_subfolders in varchar2
|
||||||
,i_start_with in varchar2
|
,i_start_with in varchar2
|
||||||
,i_limit in number
|
,i_limit in number
|
||||||
) return t_net_storage_tab
|
) return t_net_storage_tab
|
||||||
/*Kopf------------------------------------------------------------------------------------------------
|
/*Kopf------------------------------------------------------------------------------------------------
|
||||||
-- Beschreibung: Listet Objekte und Unterordner im Bucket ohne Rechte- oder Scope-Prüfung.
|
-- Beschreibung: Listet Objekte und Unterordner im Bucket ohne Rechte- oder Scope-Prüfung.
|
||||||
-- Paginiert automatisch über nextStartWith bis alle Ergebnisse geladen sind.
|
-- Paginiert automatisch über nextStartWith bis alle Ergebnisse geladen sind.
|
||||||
-- Wird von f_list_objects (öffentlich) und p_delete_folder intern genutzt.
|
-- Wird von f_list_objects (öffentlich) und p_delete_folder intern genutzt.
|
||||||
------------------------------------------------------------------------------------------------------
|
------------------------------------------------------------------------------------------------------
|
||||||
-- Parameter: i_prefix Präfix / Pfad im Bucket (z.B. eingang/)
|
-- Parameter: i_parent_folder Ordnerpfad im Bucket (z.B. eingang/)
|
||||||
-- i_delimiter Trennzeichen für Hierarchie-Simulation (/ für direkte Kinder, leer = rekursiv)
|
-- i_include_subfolders 'Y' = alle Dateien rekursiv, 'N' = nur direkte Kinder des Ordners
|
||||||
-- i_start_with Optionaler Startpunkt für Paginierung
|
-- i_start_with Optionaler Startpunkt für Paginierung
|
||||||
-- i_limit Maximale Anzahl Ergebnisse (0 = unbegrenzt)
|
-- i_limit Maximale Anzahl Ergebnisse (0 = unbegrenzt)
|
||||||
------------------------------------------------------------------------------------------------------
|
------------------------------------------------------------------------------------------------------
|
||||||
-- Rückgabe: Collection t_net_storage_tab mit allen gefundenen Objekten
|
-- Rückgabe: Collection t_net_storage_tab mit allen gefundenen Objekten
|
||||||
------------------------------------------------------------------------------------------------------
|
------------------------------------------------------------------------------------------------------
|
||||||
@@ -172,8 +172,8 @@ create or replace package body pck_net_storage as
|
|||||||
loop
|
loop
|
||||||
l_url := f_build_url()
|
l_url := f_build_url()
|
||||||
|| '?limit=' || c_page_size
|
|| '?limit=' || c_page_size
|
||||||
|| (case when i_prefix is not null then '&prefix=' || utl_url.escape(i_prefix, false) else '' end)
|
|| (case when i_parent_folder is not null then '&prefix=' || utl_url.escape(i_parent_folder, false) else '' end)
|
||||||
|| (case when i_delimiter is not null then '&delimiter=' || utl_url.escape(i_delimiter, false) else '' end);
|
|| (case when i_include_subfolders = 'N' then '&delimiter=/' else '' end);
|
||||||
|
|
||||||
if l_cur_start is not null
|
if l_cur_start is not null
|
||||||
then
|
then
|
||||||
@@ -297,18 +297,18 @@ create or replace package body pck_net_storage as
|
|||||||
end f_split_object_key;
|
end f_split_object_key;
|
||||||
|
|
||||||
function f_list_objects (
|
function f_list_objects (
|
||||||
i_prefix in varchar2
|
i_parent_folder in varchar2
|
||||||
,i_delimiter in varchar2 default null
|
,i_include_subfolders in varchar2 default 'N'
|
||||||
,i_start_with in varchar2 default null
|
,i_start_with in varchar2 default null
|
||||||
,i_limit in number default 0
|
,i_limit in number default 0
|
||||||
) return t_net_storage_tab
|
) return t_net_storage_tab
|
||||||
/*Kopf------------------------------------------------------------------------------------------------
|
/*Kopf------------------------------------------------------------------------------------------------
|
||||||
-- Beschreibung: Listet Objekte und Unterordner im Bucket mit Rechteprüfung und Scope-Validierung.
|
-- Beschreibung: Listet Objekte und Unterordner im Bucket mit Rechteprüfung und Scope-Validierung.
|
||||||
------------------------------------------------------------------------------------------------------
|
------------------------------------------------------------------------------------------------------
|
||||||
-- Parameter: i_prefix Präfix / Pfad im Bucket (z.B. eingang/)
|
-- Parameter: i_parent_folder Ordnerpfad im Bucket (z.B. eingang/)
|
||||||
-- i_delimiter Trennzeichen für Hierarchie-Simulation (Standard: null = alle Dateien inkl. Unterordner anzeigen. Nutze '/' um nur die Dateien im Ordner i_prefix zu sehen)
|
-- i_include_subfolders 'Y' = alle Dateien rekursiv inkl. Unterordner, 'N' = nur direkte Dateien im Ordner (Standard)
|
||||||
-- i_start_with Optionaler Startpunkt für Paginierung
|
-- i_start_with Optionaler Startpunkt für Paginierung
|
||||||
-- i_limit Maximale Anzahl Ergebnisse (0 = unbegrenzt)
|
-- i_limit Maximale Anzahl Ergebnisse (0 = unbegrenzt)
|
||||||
------------------------------------------------------------------------------------------------------
|
------------------------------------------------------------------------------------------------------
|
||||||
-- Rückgabe: Collection t_net_storage_tab mit allen gefundenen Objekten
|
-- Rückgabe: Collection t_net_storage_tab mit allen gefundenen Objekten
|
||||||
------------------------------------------------------------------------------------------------------
|
------------------------------------------------------------------------------------------------------
|
||||||
@@ -318,8 +318,8 @@ create or replace package body pck_net_storage as
|
|||||||
is
|
is
|
||||||
begin
|
begin
|
||||||
pck_mitarbeiterrecht.p_hat_recht('LESEN_ALLES');
|
pck_mitarbeiterrecht.p_hat_recht('LESEN_ALLES');
|
||||||
p_assert_allowed(i_prefix);
|
p_assert_allowed(i_parent_folder);
|
||||||
return f_list_objects_internal(i_prefix, i_delimiter, i_start_with, i_limit);
|
return f_list_objects_internal(i_parent_folder, i_include_subfolders, i_start_with, i_limit);
|
||||||
end f_list_objects;
|
end f_list_objects;
|
||||||
|
|
||||||
function f_download_object (i_object_key in varchar2) return blob
|
function f_download_object (i_object_key in varchar2) return blob
|
||||||
@@ -451,12 +451,12 @@ create or replace package body pck_net_storage as
|
|||||||
p_assert_allowed(i_prefix);
|
p_assert_allowed(i_prefix);
|
||||||
|
|
||||||
-- TEST
|
-- TEST
|
||||||
-- Alle Objekte im Prefix auflisten (kein Delimiter = rekursiv, alle Tiefen)
|
-- Alle Objekte im Ordner auflisten (rekursiv, alle Tiefen)
|
||||||
--l_objects := f_list_objects_internal(
|
--l_objects := f_list_objects_internal(
|
||||||
-- i_prefix => i_prefix
|
-- i_parent_folder => i_prefix
|
||||||
-- ,i_delimiter => ''
|
-- ,i_include_subfolders => 'Y'
|
||||||
-- ,i_start_with => null
|
-- ,i_start_with => null
|
||||||
-- ,i_limit => 0
|
-- ,i_limit => 0
|
||||||
--);
|
--);
|
||||||
|
|
||||||
-- Nur echte Objekte löschen, keine Pseudo-Ordner
|
-- Nur echte Objekte löschen, keine Pseudo-Ordner
|
||||||
|
|||||||
@@ -20,10 +20,10 @@ create or replace package pck_net_storage as
|
|||||||
) return t_object_path;
|
) return t_object_path;
|
||||||
|
|
||||||
function f_list_objects (
|
function f_list_objects (
|
||||||
i_prefix in varchar2
|
i_parent_folder in varchar2
|
||||||
,i_delimiter in varchar2 default null
|
,i_include_subfolders in varchar2 default 'N'
|
||||||
,i_start_with in varchar2 default null
|
,i_start_with in varchar2 default null
|
||||||
,i_limit in number default 0
|
,i_limit in number default 0
|
||||||
) return t_net_storage_tab;
|
) return t_net_storage_tab;
|
||||||
|
|
||||||
function f_download_object (
|
function f_download_object (
|
||||||
|
|||||||
Reference in New Issue
Block a user