feat: add require_auth prop to hosted file download button
- Defaults to true (authenticated_access required) — no change to existing consumers - Launcher file buttons set require_auth=false to allow unauthenticated downloads
This commit is contained in:
@@ -29,6 +29,7 @@
|
|||||||
color?: 'primary' | 'secondary' | 'tertiary' | 'success' | 'warning' | 'error' | 'surface';
|
color?: 'primary' | 'secondary' | 'tertiary' | 'success' | 'warning' | 'error' | 'surface';
|
||||||
show_divider?: boolean;
|
show_divider?: boolean;
|
||||||
show_direct_download?: boolean;
|
show_direct_download?: boolean;
|
||||||
|
require_auth?: boolean;
|
||||||
classes?: string;
|
classes?: string;
|
||||||
click?: () => void | Promise<any>;
|
click?: () => void | Promise<any>;
|
||||||
label?: import('svelte').Snippet;
|
label?: import('svelte').Snippet;
|
||||||
@@ -50,6 +51,7 @@
|
|||||||
color = 'primary',
|
color = 'primary',
|
||||||
show_divider = true,
|
show_divider = true,
|
||||||
show_direct_download = false,
|
show_direct_download = false,
|
||||||
|
require_auth = true,
|
||||||
classes = '',
|
classes = '',
|
||||||
click,
|
click,
|
||||||
label
|
label
|
||||||
@@ -289,7 +291,7 @@
|
|||||||
{:else}
|
{:else}
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
disabled={!$ae_loc.trusted_access}
|
disabled={require_auth && !$ae_loc.authenticated_access}
|
||||||
class={variant_classes}
|
class={variant_classes}
|
||||||
onclick={handle_click}
|
onclick={handle_click}
|
||||||
title={`Download this file:\n${final_filename}\n[API] SHA256: ${hosted_file_obj?.hash_sha256?.slice(0, 10)}...\nHosted ID: ${file_id}\n Linked to: ${linked_to_type} ID: ${linked_to_id}`}
|
title={`Download this file:\n${final_filename}\n[API] SHA256: ${hosted_file_obj?.hash_sha256?.slice(0, 10)}...\nHosted ID: ${file_id}\n Linked to: ${linked_to_type} ID: ${linked_to_id}`}
|
||||||
|
|||||||
@@ -258,6 +258,7 @@
|
|||||||
<AE_Comp_Hosted_Files_Download_Button
|
<AE_Comp_Hosted_Files_Download_Button
|
||||||
hosted_file_id={event_file_id}
|
hosted_file_id={event_file_id}
|
||||||
hosted_file_obj={event_file_obj}
|
hosted_file_obj={event_file_obj}
|
||||||
|
require_auth={false}
|
||||||
classes="btn btn-sm md:btn-md lg:btn-lg preset-tonal-primary border border-primary-500 w-full"
|
classes="btn btn-sm md:btn-md lg:btn-lg preset-tonal-primary border border-primary-500 w-full"
|
||||||
click={() => {
|
click={() => {
|
||||||
modal__open_event_file_id = event_file_id;
|
modal__open_event_file_id = event_file_id;
|
||||||
@@ -294,6 +295,7 @@
|
|||||||
<AE_Comp_Hosted_Files_Download_Button
|
<AE_Comp_Hosted_Files_Download_Button
|
||||||
hosted_file_id={event_file_id}
|
hosted_file_id={event_file_id}
|
||||||
hosted_file_obj={event_file_obj}
|
hosted_file_obj={event_file_obj}
|
||||||
|
require_auth={false}
|
||||||
classes="btn {btn_size} gap-1 justify-between min-w-full w-full max-w-96 preset-tonal-primary border border-primary-500"
|
classes="btn {btn_size} gap-1 justify-between min-w-full w-full max-w-96 preset-tonal-primary border border-primary-500"
|
||||||
click={handle_open_file}
|
click={handle_open_file}
|
||||||
>
|
>
|
||||||
|
|||||||
Reference in New Issue
Block a user