1import * as quicksight from "@distilled.cloud/aws/quicksight";
2import * as Layer from "effect/Layer";
3import { makeQuickSightEmbedHttpBinding } from "./BindingHttp.ts";
4import {
5 GenerateEmbedUrlForAnonymousUser,
6 type GenerateEmbedUrlForAnonymousUserRequest,
7} from "./GenerateEmbedUrlForAnonymousUser.ts";
8
9export const GenerateEmbedUrlForAnonymousUserHttp = Layer.effect(
10 GenerateEmbedUrlForAnonymousUser,
11 makeQuickSightEmbedHttpBinding({
12 tag: "AWS.QuickSight.GenerateEmbedUrlForAnonymousUser",
13 operation: quicksight.generateEmbedUrlForAnonymousUser,
14 actions: ["quicksight:GenerateEmbedUrlForAnonymousUser"],
15 applyDefaults: (
16 request: GenerateEmbedUrlForAnonymousUserRequest | undefined,
17 dashboard,
18 ) => ({
19 ...request,
20 Namespace: request?.Namespace ?? "default",
21 AuthorizedResourceArns: request?.AuthorizedResourceArns ?? [
22 dashboard.arn,
23 ],
24 ExperienceConfiguration: request?.ExperienceConfiguration ?? {
25 Dashboard: { InitialDashboardId: dashboard.dashboardId },
26 },
27 }),
28 }),
29);