Signatur von f_list_objects vereinfacht

This commit is contained in:
2026-04-10 12:17:51 +02:00
parent 7921b1ae0d
commit d3ec2b168e
2 changed files with 29 additions and 29 deletions

View File

@@ -138,8 +138,8 @@ create or replace package body pck_net_storage as
-- Interne Implementierung ohne Rechteprüfung — wird von f_list_objects und p_delete_folder genutzt
function f_list_objects_internal (
i_prefix in varchar2
,i_delimiter in varchar2
i_parent_folder in varchar2
,i_include_subfolders in varchar2
,i_start_with in varchar2
,i_limit in number
) return t_net_storage_tab
@@ -148,8 +148,8 @@ create or replace package body pck_net_storage as
-- Paginiert automatisch über nextStartWith bis alle Ergebnisse geladen sind.
-- Wird von f_list_objects (öffentlich) und p_delete_folder intern genutzt.
------------------------------------------------------------------------------------------------------
-- Parameter: i_prefix Präfix / Pfad im Bucket (z.B. eingang/)
-- i_delimiter Trennzeichen für Hierarchie-Simulation (/ für direkte Kinder, leer = rekursiv)
-- Parameter: i_parent_folder Ordnerpfad im Bucket (z.B. eingang/)
-- i_include_subfolders 'Y' = alle Dateien rekursiv, 'N' = nur direkte Kinder des Ordners
-- i_start_with Optionaler Startpunkt für Paginierung
-- i_limit Maximale Anzahl Ergebnisse (0 = unbegrenzt)
------------------------------------------------------------------------------------------------------
@@ -172,8 +172,8 @@ create or replace package body pck_net_storage as
loop
l_url := f_build_url()
|| '?limit=' || c_page_size
|| (case when i_prefix is not null then '&prefix=' || utl_url.escape(i_prefix, false) else '' end)
|| (case when i_delimiter is not null then '&delimiter=' || utl_url.escape(i_delimiter, 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_include_subfolders = 'N' then '&delimiter=/' else '' end);
if l_cur_start is not null
then
@@ -297,16 +297,16 @@ create or replace package body pck_net_storage as
end f_split_object_key;
function f_list_objects (
i_prefix in varchar2
,i_delimiter in varchar2 default null
i_parent_folder in varchar2
,i_include_subfolders in varchar2 default 'N'
,i_start_with in varchar2 default null
,i_limit in number default 0
) return t_net_storage_tab
/*Kopf------------------------------------------------------------------------------------------------
-- Beschreibung: Listet Objekte und Unterordner im Bucket mit Rechteprüfung und Scope-Validierung.
------------------------------------------------------------------------------------------------------
-- Parameter: i_prefix Präfix / Pfad 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)
-- Parameter: i_parent_folder Ordnerpfad im Bucket (z.B. eingang/)
-- 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_limit Maximale Anzahl Ergebnisse (0 = unbegrenzt)
------------------------------------------------------------------------------------------------------
@@ -318,8 +318,8 @@ create or replace package body pck_net_storage as
is
begin
pck_mitarbeiterrecht.p_hat_recht('LESEN_ALLES');
p_assert_allowed(i_prefix);
return f_list_objects_internal(i_prefix, i_delimiter, i_start_with, i_limit);
p_assert_allowed(i_parent_folder);
return f_list_objects_internal(i_parent_folder, i_include_subfolders, i_start_with, i_limit);
end f_list_objects;
function f_download_object (i_object_key in varchar2) return blob
@@ -451,10 +451,10 @@ create or replace package body pck_net_storage as
p_assert_allowed(i_prefix);
-- 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(
-- i_prefix => i_prefix
-- ,i_delimiter => ''
-- i_parent_folder => i_prefix
-- ,i_include_subfolders => 'Y'
-- ,i_start_with => null
-- ,i_limit => 0
--);

View File

@@ -20,8 +20,8 @@ create or replace package pck_net_storage as
) return t_object_path;
function f_list_objects (
i_prefix in varchar2
,i_delimiter in varchar2 default null
i_parent_folder in varchar2
,i_include_subfolders in varchar2 default 'N'
,i_start_with in varchar2 default null
,i_limit in number default 0
) return t_net_storage_tab;