@burdenoff/microfe-ggnomad 2026.1029.3 → 2026.1030.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generated/wspace-types.d.ts +102099 -35827
- package/dist/generated/wspace-types.d.ts.map +1 -1
- package/dist/ggnomad/components/AuditTrailDialog.d.ts +6 -0
- package/dist/ggnomad/components/AuditTrailDialog.d.ts.map +1 -1
- package/dist/ggnomad/components/AuditTrailDialog.js +47 -42
- package/dist/ggnomad/components/AuditTrailDialog.js.map +1 -1
- package/dist/ggnomad/graphql.d.ts +6 -0
- package/dist/ggnomad/graphql.d.ts.map +1 -1
- package/dist/ggnomad/graphql.js +39 -18
- package/dist/ggnomad/graphql.js.map +1 -1
- package/package.json +1 -1
|
@@ -11,6 +11,12 @@ interface AuditTrailDialogProps {
|
|
|
11
11
|
* by GgnomadAuditLog. Every listing-verification and booking-lifecycle
|
|
12
12
|
* mutation writes one row here; this dialog is the operator-facing view of
|
|
13
13
|
* that append-only trail.
|
|
14
|
+
*
|
|
15
|
+
* BOFF-10248 — `ggnomadAuditLog` answers only for the people involved in the
|
|
16
|
+
* entity (a booking's traveler or host, a listing's owner). Marketplace
|
|
17
|
+
* operators (`ggnomad:manage`) read any entity's history through
|
|
18
|
+
* `ggnomadWorkspaceAuditLog`, so the dialog picks the field from the caller's
|
|
19
|
+
* workspace permissions. The gateway still enforces both fields.
|
|
14
20
|
*/
|
|
15
21
|
export declare function AuditTrailDialog({ open, onOpenChange, entityType, entityId, label, }: AuditTrailDialogProps): import("react").JSX.Element;
|
|
16
22
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuditTrailDialog.d.ts","sourceRoot":"","sources":["../../../src/ggnomad/components/AuditTrailDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AuditTrailDialog.d.ts","sourceRoot":"","sources":["../../../src/ggnomad/components/AuditTrailDialog.tsx"],"names":[],"mappings":"AAmCA,UAAU,qBAAqB;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;CACf;AAUD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,KAAK,GACN,EAAE,qBAAqB,+BA2GvB"}
|
|
@@ -1,59 +1,64 @@
|
|
|
1
|
-
import { GGNOMAD_AUDIT_LOG_QUERY as e } from "../graphql.js";
|
|
2
|
-
import { History as
|
|
3
|
-
import { useI18n as
|
|
4
|
-
import { useQuery as
|
|
5
|
-
import { AlertDialog as
|
|
6
|
-
import { jsx as
|
|
1
|
+
import { GGNOMAD_AUDIT_LOG_QUERY as e, GGNOMAD_WORKSPACE_AUDIT_LOG_QUERY as t } from "../graphql.js";
|
|
2
|
+
import { History as n } from "lucide-react";
|
|
3
|
+
import { useI18n as r } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
4
|
+
import { useQuery as i } from "@apollo/client/react";
|
|
5
|
+
import { AlertDialog as a, AlertDialogCancel as o, AlertDialogContent as s, AlertDialogDescription as c, AlertDialogFooter as l, AlertDialogHeader as u, AlertDialogTitle as d, IllustratedEmptyState as f } from "@burdenoff/fe-libs/ui";
|
|
6
|
+
import { jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
7
|
+
import { useSafePermissions as h } from "@burdenoff/fe-libs/shared/providers/shell";
|
|
7
8
|
//#region src/ggnomad/components/AuditTrailDialog.tsx
|
|
8
|
-
function
|
|
9
|
+
function g(e) {
|
|
9
10
|
return e.toLowerCase().split("_").map((e) => e.charAt(0).toUpperCase() + e.slice(1)).join(" ");
|
|
10
11
|
}
|
|
11
|
-
function
|
|
12
|
-
let { t:
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
skip: !
|
|
12
|
+
function _({ open: _, onOpenChange: v, entityType: y, entityId: b, label: x }) {
|
|
13
|
+
let { t: S } = r(), C = h(), w = C?.isLoading ?? !1, T = !w && (C?.hasPermission("ggnomad:manage") ?? !1), E = {
|
|
14
|
+
entityType: y,
|
|
15
|
+
entityId: b,
|
|
16
|
+
limit: 50,
|
|
17
|
+
offset: 0
|
|
18
|
+
}, D = i(e, {
|
|
19
|
+
variables: E,
|
|
20
|
+
skip: !_ || w || T,
|
|
20
21
|
fetchPolicy: "network-only"
|
|
21
|
-
}),
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
}), O = i(t, {
|
|
23
|
+
variables: E,
|
|
24
|
+
skip: !_ || !T,
|
|
25
|
+
fetchPolicy: "network-only"
|
|
26
|
+
}), k = w || (T ? O.loading : D.loading), A = (T ? O.data?.ggnomadWorkspaceAuditLog : D.data?.ggnomadAuditLog) ?? [];
|
|
27
|
+
return /* @__PURE__ */ p(a, {
|
|
28
|
+
open: _,
|
|
29
|
+
onOpenChange: v,
|
|
30
|
+
children: /* @__PURE__ */ m(s, {
|
|
26
31
|
className: "max-w-lg",
|
|
27
32
|
children: [
|
|
28
|
-
/* @__PURE__ */
|
|
33
|
+
/* @__PURE__ */ m(u, { children: [/* @__PURE__ */ m(d, {
|
|
29
34
|
className: "flex items-center gap-2",
|
|
30
|
-
children: [/* @__PURE__ */
|
|
31
|
-
}), /* @__PURE__ */
|
|
32
|
-
/* @__PURE__ */
|
|
35
|
+
children: [/* @__PURE__ */ p(n, { className: "size-4" }), S("ggnomad.auditTrail.title", "Transition history")]
|
|
36
|
+
}), /* @__PURE__ */ p(c, { children: S("ggnomad.auditTrail.description", "Every verification or lifecycle change for {{label}}.").replace("{{label}}", x) })] }),
|
|
37
|
+
/* @__PURE__ */ p("div", {
|
|
33
38
|
className: "max-h-[60vh] space-y-2 overflow-y-auto",
|
|
34
|
-
children:
|
|
39
|
+
children: k ? /* @__PURE__ */ p("p", {
|
|
35
40
|
className: "py-6 text-center text-sm text-text-secondary",
|
|
36
|
-
children:
|
|
37
|
-
}) :
|
|
41
|
+
children: S("ggnomad.auditTrail.loading", "Loading history…")
|
|
42
|
+
}) : A.length === 0 ? /* @__PURE__ */ p(f, {
|
|
38
43
|
illustration: "empty-data",
|
|
39
|
-
title:
|
|
40
|
-
description:
|
|
41
|
-
}) : /* @__PURE__ */
|
|
44
|
+
title: S("ggnomad.auditTrail.emptyTitle", "No transitions recorded yet"),
|
|
45
|
+
description: S("ggnomad.auditTrail.emptyDescription", "Approvals, rejections, check-ins and other lifecycle changes will show up here.")
|
|
46
|
+
}) : /* @__PURE__ */ p("ol", {
|
|
42
47
|
className: "space-y-2",
|
|
43
|
-
children:
|
|
48
|
+
children: A.map((e) => /* @__PURE__ */ m("li", {
|
|
44
49
|
className: "rounded-lg border border-border-seam bg-bg-surface/40 p-3 text-sm",
|
|
45
50
|
children: [
|
|
46
|
-
/* @__PURE__ */
|
|
51
|
+
/* @__PURE__ */ m("div", {
|
|
47
52
|
className: "flex items-center justify-between gap-2",
|
|
48
|
-
children: [/* @__PURE__ */
|
|
53
|
+
children: [/* @__PURE__ */ p("span", {
|
|
49
54
|
className: "font-medium text-text-primary",
|
|
50
|
-
children:
|
|
51
|
-
}), /* @__PURE__ */
|
|
55
|
+
children: g(e.action)
|
|
56
|
+
}), /* @__PURE__ */ p("span", {
|
|
52
57
|
className: "text-xs tabular-nums text-text-secondary",
|
|
53
58
|
children: new Date(e.createdAt).toLocaleString()
|
|
54
59
|
})]
|
|
55
60
|
}),
|
|
56
|
-
e.fromStatus || e.toStatus ? /* @__PURE__ */
|
|
61
|
+
e.fromStatus || e.toStatus ? /* @__PURE__ */ m("p", {
|
|
57
62
|
className: "mt-1 text-xs text-text-secondary",
|
|
58
63
|
children: [
|
|
59
64
|
e.fromStatus ?? "—",
|
|
@@ -61,7 +66,7 @@ function h({ open: h, onOpenChange: g, entityType: _, entityId: v, label: y }) {
|
|
|
61
66
|
e.toStatus ?? "—"
|
|
62
67
|
]
|
|
63
68
|
}) : null,
|
|
64
|
-
e.reason ? /* @__PURE__ */
|
|
69
|
+
e.reason ? /* @__PURE__ */ m("p", {
|
|
65
70
|
className: "mt-1 text-xs italic text-text-secondary",
|
|
66
71
|
children: [
|
|
67
72
|
"“",
|
|
@@ -69,20 +74,20 @@ function h({ open: h, onOpenChange: g, entityType: _, entityId: v, label: y }) {
|
|
|
69
74
|
"”"
|
|
70
75
|
]
|
|
71
76
|
}) : null,
|
|
72
|
-
/* @__PURE__ */
|
|
77
|
+
/* @__PURE__ */ p("p", {
|
|
73
78
|
className: "mt-1 text-xs text-text-secondary",
|
|
74
|
-
children:
|
|
79
|
+
children: S("ggnomad.auditTrail.by", "by {{actor}}").replace("{{actor}}", e.actorId)
|
|
75
80
|
})
|
|
76
81
|
]
|
|
77
82
|
}, e.id))
|
|
78
83
|
})
|
|
79
84
|
}),
|
|
80
|
-
/* @__PURE__ */
|
|
85
|
+
/* @__PURE__ */ p(l, { children: /* @__PURE__ */ p(o, { children: S("ggnomad.auditTrail.close", "Close") }) })
|
|
81
86
|
]
|
|
82
87
|
})
|
|
83
88
|
});
|
|
84
89
|
}
|
|
85
90
|
//#endregion
|
|
86
|
-
export {
|
|
91
|
+
export { _ as AuditTrailDialog };
|
|
87
92
|
|
|
88
93
|
//# sourceMappingURL=AuditTrailDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuditTrailDialog.js","names":[],"sources":["../../../src/ggnomad/components/AuditTrailDialog.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client/react';\nimport type { TypedDocumentNode } from '@apollo/client';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { History } from 'lucide-react';\nimport {\n AlertDialog,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n IllustratedEmptyState,\n} from '@burdenoff/fe-libs/ui';\n\nimport { GGNOMAD_AUDIT_LOG_QUERY } from '../graphql';\n\ninterface AuditLogEntry {\n id: string;\n action: string;\n fromStatus: string | null;\n toStatus: string | null;\n reason: string | null;\n actorId: string;\n createdAt: string;\n}\n\ninterface AuditTrailDialogProps {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n entityType: string;\n entityId: string;\n /** Shown in the dialog title, e.g. a reference code or listing name. */\n label: string;\n}\n\nfunction formatAction(action: string): string {\n return action\n .toLowerCase()\n .split('_')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n}\n\n/**\n * BOFF-4388 — read-only transition history for one listing or booking, backed\n * by GgnomadAuditLog. Every listing-verification and booking-lifecycle\n * mutation writes one row here; this dialog is the operator-facing view of\n * that append-only trail.\n */\nexport function AuditTrailDialog({\n open,\n onOpenChange,\n entityType,\n entityId,\n label,\n}: AuditTrailDialogProps) {\n const { t } = useI18n();\n
|
|
1
|
+
{"version":3,"file":"AuditTrailDialog.js","names":[],"sources":["../../../src/ggnomad/components/AuditTrailDialog.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client/react';\nimport type { TypedDocumentNode } from '@apollo/client';\nimport { useSafePermissions } from '@burdenoff/fe-libs/shared/providers/shell';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { History } from 'lucide-react';\nimport {\n AlertDialog,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n IllustratedEmptyState,\n} from '@burdenoff/fe-libs/ui';\n\nimport { GGNOMAD_AUDIT_LOG_QUERY, GGNOMAD_WORKSPACE_AUDIT_LOG_QUERY } from '../graphql';\n\ninterface AuditLogEntry {\n id: string;\n action: string;\n fromStatus: string | null;\n toStatus: string | null;\n reason: string | null;\n actorId: string;\n createdAt: string;\n}\n\ninterface AuditLogVariables {\n entityType: string;\n entityId: string;\n limit?: number;\n offset?: number;\n}\n\ninterface AuditTrailDialogProps {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n entityType: string;\n entityId: string;\n /** Shown in the dialog title, e.g. a reference code or listing name. */\n label: string;\n}\n\nfunction formatAction(action: string): string {\n return action\n .toLowerCase()\n .split('_')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n}\n\n/**\n * BOFF-4388 — read-only transition history for one listing or booking, backed\n * by GgnomadAuditLog. Every listing-verification and booking-lifecycle\n * mutation writes one row here; this dialog is the operator-facing view of\n * that append-only trail.\n *\n * BOFF-10248 — `ggnomadAuditLog` answers only for the people involved in the\n * entity (a booking's traveler or host, a listing's owner). Marketplace\n * operators (`ggnomad:manage`) read any entity's history through\n * `ggnomadWorkspaceAuditLog`, so the dialog picks the field from the caller's\n * workspace permissions. The gateway still enforces both fields.\n */\nexport function AuditTrailDialog({\n open,\n onOpenChange,\n entityType,\n entityId,\n label,\n}: AuditTrailDialogProps) {\n const { t } = useI18n();\n const permissions = useSafePermissions();\n const permissionsLoading = permissions?.isLoading ?? false;\n const isOperator = !permissionsLoading && (permissions?.hasPermission('ggnomad:manage') ?? false);\n const variables: AuditLogVariables = { entityType, entityId, limit: 50, offset: 0 };\n\n const actorHistory = useQuery(\n GGNOMAD_AUDIT_LOG_QUERY as TypedDocumentNode<\n { ggnomadAuditLog: AuditLogEntry[] },\n AuditLogVariables\n >,\n {\n variables,\n skip: !open || permissionsLoading || isOperator,\n fetchPolicy: 'network-only',\n }\n );\n const workspaceHistory = useQuery(\n GGNOMAD_WORKSPACE_AUDIT_LOG_QUERY as TypedDocumentNode<\n { ggnomadWorkspaceAuditLog: AuditLogEntry[] },\n AuditLogVariables\n >,\n {\n variables,\n skip: !open || !isOperator,\n fetchPolicy: 'network-only',\n }\n );\n\n const loading =\n permissionsLoading || (isOperator ? workspaceHistory.loading : actorHistory.loading);\n const entries =\n (isOperator\n ? workspaceHistory.data?.ggnomadWorkspaceAuditLog\n : actorHistory.data?.ggnomadAuditLog) ?? [];\n\n return (\n <AlertDialog open={open} onOpenChange={onOpenChange}>\n <AlertDialogContent className=\"max-w-lg\">\n <AlertDialogHeader>\n <AlertDialogTitle className=\"flex items-center gap-2\">\n <History className=\"size-4\" />\n {t('ggnomad.auditTrail.title', 'Transition history')}\n </AlertDialogTitle>\n <AlertDialogDescription>\n {t(\n 'ggnomad.auditTrail.description',\n 'Every verification or lifecycle change for {{label}}.'\n ).replace('{{label}}', label)}\n </AlertDialogDescription>\n </AlertDialogHeader>\n\n <div className=\"max-h-[60vh] space-y-2 overflow-y-auto\">\n {loading ? (\n <p className=\"py-6 text-center text-sm text-text-secondary\">\n {t('ggnomad.auditTrail.loading', 'Loading history…')}\n </p>\n ) : entries.length === 0 ? (\n <IllustratedEmptyState\n illustration=\"empty-data\"\n title={t('ggnomad.auditTrail.emptyTitle', 'No transitions recorded yet')}\n description={t(\n 'ggnomad.auditTrail.emptyDescription',\n 'Approvals, rejections, check-ins and other lifecycle changes will show up here.'\n )}\n />\n ) : (\n <ol className=\"space-y-2\">\n {entries.map((entry) => (\n <li\n key={entry.id}\n className=\"rounded-lg border border-border-seam bg-bg-surface/40 p-3 text-sm\"\n >\n <div className=\"flex items-center justify-between gap-2\">\n <span className=\"font-medium text-text-primary\">\n {formatAction(entry.action)}\n </span>\n <span className=\"text-xs tabular-nums text-text-secondary\">\n {new Date(entry.createdAt).toLocaleString()}\n </span>\n </div>\n {entry.fromStatus || entry.toStatus ? (\n <p className=\"mt-1 text-xs text-text-secondary\">\n {entry.fromStatus ?? '—'} → {entry.toStatus ?? '—'}\n </p>\n ) : null}\n {entry.reason ? (\n <p className=\"mt-1 text-xs italic text-text-secondary\">\n “{entry.reason}”\n </p>\n ) : null}\n <p className=\"mt-1 text-xs text-text-secondary\">\n {t('ggnomad.auditTrail.by', 'by {{actor}}').replace('{{actor}}', entry.actorId)}\n </p>\n </li>\n ))}\n </ol>\n )}\n </div>\n\n <AlertDialogFooter>\n <AlertDialogCancel>{t('ggnomad.auditTrail.close', 'Close')}</AlertDialogCancel>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n );\n}\n"],"mappings":";;;;;;;;AA4CA,SAAS,EAAa,GAAwB;CAC5C,OAAO,EACJ,YAAY,CAAC,CACb,MAAM,GAAG,CAAC,CACV,KAAK,MAAS,EAAK,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,EAAK,MAAM,CAAC,CAAC,CAAC,CAC3D,KAAK,GAAG;AACb;AAcA,SAAgB,EAAiB,EAC/B,SACA,iBACA,eACA,aACA,YACwB;CACxB,IAAM,EAAE,SAAM,EAAQ,GAChB,IAAc,EAAmB,GACjC,IAAqB,GAAa,aAAa,IAC/C,IAAa,CAAC,MAAuB,GAAa,cAAc,gBAAgB,KAAK,KACrF,IAA+B;EAAE;EAAY;EAAU,OAAO;EAAI,QAAQ;CAAE,GAE5E,IAAe,EACnB,GAIA;EACE;EACA,MAAM,CAAC,KAAQ,KAAsB;EACrC,aAAa;CACf,CACF,GACM,IAAmB,EACvB,GAIA;EACE;EACA,MAAM,CAAC,KAAQ,CAAC;EAChB,aAAa;CACf,CACF,GAEM,IACJ,MAAuB,IAAa,EAAiB,UAAU,EAAa,UACxE,KACH,IACG,EAAiB,MAAM,2BACvB,EAAa,MAAM,oBAAoB,CAAC;CAE9C,OACE,kBAAC,GAAD;EAAmB;EAAoB;YACrC,kBAAC,GAAD;GAAoB,WAAU;aAA9B;IACE,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;KAAkB,WAAU;eAA5B,CACE,kBAAC,GAAD,EAAS,WAAU,SAAU,CAAA,GAC5B,EAAE,4BAA4B,oBAAoB,CACnC;QAClB,kBAAC,GAAD,EAAA,UACG,EACC,kCACA,uDACF,CAAC,CAAC,QAAQ,aAAa,CAAK,EACN,CAAA,CACP,EAAA,CAAA;IAEnB,kBAAC,OAAD;KAAK,WAAU;eACZ,IACC,kBAAC,KAAD;MAAG,WAAU;gBACV,EAAE,8BAA8B,kBAAkB;KAClD,CAAA,IACD,EAAQ,WAAW,IACrB,kBAAC,GAAD;MACE,cAAa;MACb,OAAO,EAAE,iCAAiC,6BAA6B;MACvE,aAAa,EACX,uCACA,iFACF;KACD,CAAA,IAED,kBAAC,MAAD;MAAI,WAAU;gBACX,EAAQ,KAAK,MACZ,kBAAC,MAAD;OAEE,WAAU;iBAFZ;QAIE,kBAAC,OAAD;SAAK,WAAU;mBAAf,CACE,kBAAC,QAAD;UAAM,WAAU;oBACb,EAAa,EAAM,MAAM;SACtB,CAAA,GACN,kBAAC,QAAD;UAAM,WAAU;oBACb,IAAI,KAAK,EAAM,SAAS,CAAC,CAAC,eAAe;SACtC,CAAA,CACH;;QACJ,EAAM,cAAc,EAAM,WACzB,kBAAC,KAAD;SAAG,WAAU;mBAAb;UACG,EAAM,cAAc;UAAI;UAAI,EAAM,YAAY;SAC9C;aACD;QACH,EAAM,SACL,kBAAC,KAAD;SAAG,WAAU;mBAAb;UAAuD;UAC7C,EAAM;UAAO;SACpB;aACD;QACJ,kBAAC,KAAD;SAAG,WAAU;mBACV,EAAE,yBAAyB,cAAc,CAAC,CAAC,QAAQ,aAAa,EAAM,OAAO;QAC7E,CAAA;OACD;SAxBG,EAAM,EAwBT,CACL;KACC,CAAA;IAEH,CAAA;IAEL,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAA,UAAoB,EAAE,4BAA4B,OAAO,EAAqB,CAAA,EAC7D,CAAA;GACD;;CACT,CAAA;AAEjB"}
|
|
@@ -69,6 +69,12 @@ export declare const CHECK_IN_GGNOMAD_BOOKING_MUTATION: import('graphql').Docume
|
|
|
69
69
|
export declare const COMPLETE_GGNOMAD_BOOKING_MUTATION: import('graphql').DocumentNode;
|
|
70
70
|
export declare const MARK_GGNOMAD_BOOKING_NO_SHOW_MUTATION: import('graphql').DocumentNode;
|
|
71
71
|
export declare const GGNOMAD_AUDIT_LOG_QUERY: import('graphql').DocumentNode;
|
|
72
|
+
/**
|
|
73
|
+
* BOFF-10248 — ggnomadAuditLog returns history only to the people involved in
|
|
74
|
+
* an entity (a booking's traveler or host, a listing's owner). Operators
|
|
75
|
+
* (ggnomad:manage) read any entity's history through this field.
|
|
76
|
+
*/
|
|
77
|
+
export declare const GGNOMAD_WORKSPACE_AUDIT_LOG_QUERY: import('graphql').DocumentNode;
|
|
72
78
|
export declare const GGNOMAD_MY_PROVIDERS_QUERY: import('graphql').DocumentNode;
|
|
73
79
|
export declare const GGNOMAD_MY_PROVIDER_ANALYTICS_QUERY: import('graphql').DocumentNode;
|
|
74
80
|
export declare const GGNOMAD_OPERATOR_STOREFRONT_QUERY: import('graphql').DocumentNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../src/ggnomad/graphql.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../src/ggnomad/graphql.ts"],"names":[],"mappings":"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"}
|
package/dist/ggnomad/graphql.js
CHANGED
|
@@ -932,6 +932,27 @@ var Y = e`
|
|
|
932
932
|
}
|
|
933
933
|
}
|
|
934
934
|
`, te = e`
|
|
935
|
+
query GGNomadWorkspaceAuditLog(
|
|
936
|
+
$entityType: String!
|
|
937
|
+
$entityId: String!
|
|
938
|
+
$limit: Int
|
|
939
|
+
$offset: Int
|
|
940
|
+
) {
|
|
941
|
+
ggnomadWorkspaceAuditLog(
|
|
942
|
+
entityType: $entityType
|
|
943
|
+
entityId: $entityId
|
|
944
|
+
pagination: { limit: $limit, offset: $offset }
|
|
945
|
+
) {
|
|
946
|
+
id
|
|
947
|
+
action
|
|
948
|
+
fromStatus
|
|
949
|
+
toStatus
|
|
950
|
+
reason
|
|
951
|
+
actorId
|
|
952
|
+
createdAt
|
|
953
|
+
}
|
|
954
|
+
}
|
|
955
|
+
`, ne = e`
|
|
935
956
|
query GGNomadMyProviders {
|
|
936
957
|
myGgnomadProviders {
|
|
937
958
|
id
|
|
@@ -940,7 +961,7 @@ var Y = e`
|
|
|
940
961
|
status
|
|
941
962
|
}
|
|
942
963
|
}
|
|
943
|
-
`,
|
|
964
|
+
`, re = e`
|
|
944
965
|
query GGNomadMyProviderAnalytics(
|
|
945
966
|
$providerId: ID!
|
|
946
967
|
$dateFrom: DateTime
|
|
@@ -979,7 +1000,7 @@ var Y = e`
|
|
|
979
1000
|
}
|
|
980
1001
|
}
|
|
981
1002
|
}
|
|
982
|
-
`,
|
|
1003
|
+
`, ie = e`
|
|
983
1004
|
query GGNomadOperatorStorefront($providerId: ID!) {
|
|
984
1005
|
ggnomadOperatorStorefront(providerId: $providerId) {
|
|
985
1006
|
id
|
|
@@ -993,7 +1014,7 @@ var Y = e`
|
|
|
993
1014
|
publishedAt
|
|
994
1015
|
}
|
|
995
1016
|
}
|
|
996
|
-
`,
|
|
1017
|
+
`, ae = e`
|
|
997
1018
|
query GGNomadStorefrontBySlug($workspaceId: ID!, $slug: String!) {
|
|
998
1019
|
ggnomadStorefrontBySlug(workspaceId: $workspaceId, slug: $slug) {
|
|
999
1020
|
storefront {
|
|
@@ -1042,7 +1063,7 @@ var Y = e`
|
|
|
1042
1063
|
}
|
|
1043
1064
|
}
|
|
1044
1065
|
}
|
|
1045
|
-
`,
|
|
1066
|
+
`, oe = e`
|
|
1046
1067
|
mutation CreateGGNomadOperatorStorefront($input: CreateGgnomadOperatorStorefrontInput!) {
|
|
1047
1068
|
createGgnomadOperatorStorefront(input: $input) {
|
|
1048
1069
|
id
|
|
@@ -1056,7 +1077,7 @@ var Y = e`
|
|
|
1056
1077
|
publishedAt
|
|
1057
1078
|
}
|
|
1058
1079
|
}
|
|
1059
|
-
`,
|
|
1080
|
+
`, se = e`
|
|
1060
1081
|
mutation UpdateGGNomadOperatorStorefront(
|
|
1061
1082
|
$id: ID!
|
|
1062
1083
|
$input: UpdateGgnomadOperatorStorefrontInput!
|
|
@@ -1073,7 +1094,7 @@ var Y = e`
|
|
|
1073
1094
|
publishedAt
|
|
1074
1095
|
}
|
|
1075
1096
|
}
|
|
1076
|
-
`,
|
|
1097
|
+
`, ce = e`
|
|
1077
1098
|
mutation PublishGGNomadOperatorStorefront($id: ID!) {
|
|
1078
1099
|
publishGgnomadOperatorStorefront(id: $id) {
|
|
1079
1100
|
id
|
|
@@ -1081,7 +1102,7 @@ var Y = e`
|
|
|
1081
1102
|
publishedAt
|
|
1082
1103
|
}
|
|
1083
1104
|
}
|
|
1084
|
-
`,
|
|
1105
|
+
`, le = e`
|
|
1085
1106
|
mutation UnpublishGGNomadOperatorStorefront($id: ID!) {
|
|
1086
1107
|
unpublishGgnomadOperatorStorefront(id: $id) {
|
|
1087
1108
|
id
|
|
@@ -1089,7 +1110,7 @@ var Y = e`
|
|
|
1089
1110
|
publishedAt
|
|
1090
1111
|
}
|
|
1091
1112
|
}
|
|
1092
|
-
`,
|
|
1113
|
+
`, ue = e`
|
|
1093
1114
|
query GGNomadBookingSlots(
|
|
1094
1115
|
$listingId: ID!
|
|
1095
1116
|
$listingType: GgnomadListingType!
|
|
@@ -1114,7 +1135,7 @@ var Y = e`
|
|
|
1114
1135
|
isActive
|
|
1115
1136
|
}
|
|
1116
1137
|
}
|
|
1117
|
-
`,
|
|
1138
|
+
`, de = e`
|
|
1118
1139
|
query GGNomadTransportSearch($input: SearchGgnomadTransportInput!) {
|
|
1119
1140
|
searchGgnomadTransport(input: $input) {
|
|
1120
1141
|
offerId
|
|
@@ -1139,7 +1160,7 @@ var Y = e`
|
|
|
1139
1160
|
providerName
|
|
1140
1161
|
}
|
|
1141
1162
|
}
|
|
1142
|
-
`,
|
|
1163
|
+
`, fe = e`
|
|
1143
1164
|
mutation CreateGGNomadTrip($input: CreateGgnomadTripInput!) {
|
|
1144
1165
|
createGgnomadTrip(input: $input) {
|
|
1145
1166
|
id
|
|
@@ -1152,7 +1173,7 @@ var Y = e`
|
|
|
1152
1173
|
currency
|
|
1153
1174
|
}
|
|
1154
1175
|
}
|
|
1155
|
-
`,
|
|
1176
|
+
`, pe = e`
|
|
1156
1177
|
query GGNomadMyGroupTrips {
|
|
1157
1178
|
myGgnomadGroupTrips {
|
|
1158
1179
|
id
|
|
@@ -1171,7 +1192,7 @@ var Y = e`
|
|
|
1171
1192
|
}
|
|
1172
1193
|
}
|
|
1173
1194
|
}
|
|
1174
|
-
`,
|
|
1195
|
+
`, me = e`
|
|
1175
1196
|
query GGNomadGroupTripCostSplit($groupTripId: ID!) {
|
|
1176
1197
|
ggnomadGroupTripCostSplit(groupTripId: $groupTripId) {
|
|
1177
1198
|
currency
|
|
@@ -1187,7 +1208,7 @@ var Y = e`
|
|
|
1187
1208
|
}
|
|
1188
1209
|
}
|
|
1189
1210
|
}
|
|
1190
|
-
`,
|
|
1211
|
+
`, he = e`
|
|
1191
1212
|
query GGNomadGroupTripVotes($groupTripId: ID!) {
|
|
1192
1213
|
ggnomadGroupTripVotes(groupTripId: $groupTripId) {
|
|
1193
1214
|
tripPlanItemId
|
|
@@ -1203,7 +1224,7 @@ var Y = e`
|
|
|
1203
1224
|
}
|
|
1204
1225
|
}
|
|
1205
1226
|
}
|
|
1206
|
-
`,
|
|
1227
|
+
`, ge = e`
|
|
1207
1228
|
mutation CreateGGNomadGroupTrip($input: CreateGgnomadGroupTripInput!) {
|
|
1208
1229
|
createGgnomadGroupTrip(input: $input) {
|
|
1209
1230
|
id
|
|
@@ -1213,7 +1234,7 @@ var Y = e`
|
|
|
1213
1234
|
currency
|
|
1214
1235
|
}
|
|
1215
1236
|
}
|
|
1216
|
-
`,
|
|
1237
|
+
`, _e = e`
|
|
1217
1238
|
mutation AddGGNomadGroupTripMember($groupTripId: ID!, $input: AddGgnomadGroupTripMemberInput!) {
|
|
1218
1239
|
addGgnomadGroupTripMember(groupTripId: $groupTripId, input: $input) {
|
|
1219
1240
|
id
|
|
@@ -1222,11 +1243,11 @@ var Y = e`
|
|
|
1222
1243
|
email
|
|
1223
1244
|
}
|
|
1224
1245
|
}
|
|
1225
|
-
`,
|
|
1246
|
+
`, ve = e`
|
|
1226
1247
|
mutation RemoveGGNomadGroupTripMember($groupTripId: ID!, $memberId: ID!) {
|
|
1227
1248
|
removeGgnomadGroupTripMember(groupTripId: $groupTripId, memberId: $memberId)
|
|
1228
1249
|
}
|
|
1229
|
-
`,
|
|
1250
|
+
`, ye = e`
|
|
1230
1251
|
mutation VoteGGNomadTripPlanItem($groupTripId: ID!, $input: VoteGgnomadTripPlanItemInput!) {
|
|
1231
1252
|
voteGgnomadTripPlanItem(groupTripId: $groupTripId, input: $input) {
|
|
1232
1253
|
id
|
|
@@ -1237,6 +1258,6 @@ var Y = e`
|
|
|
1237
1258
|
}
|
|
1238
1259
|
`;
|
|
1239
1260
|
//#endregion
|
|
1240
|
-
export {
|
|
1261
|
+
export { _e as ADD_GGNOMAD_GROUP_TRIP_MEMBER_MUTATION, E as ADD_GGNOMAD_TRIP_PLAN_ITEM_MUTATION, z as APPROVE_GGNOMAD_BOOKING_APPROVAL_MUTATION, G as APPROVE_GGNOMAD_LISTING_MUTATION, v as CANCEL_GGNOMAD_BOOKING_MUTATION, X as CHECK_IN_GGNOMAD_BOOKING_MUTATION, Z as COMPLETE_GGNOMAD_BOOKING_MUTATION, g as CREATE_GGNOMAD_BOOKING_MUTATION, ge as CREATE_GGNOMAD_GROUP_TRIP_MUTATION, oe as CREATE_GGNOMAD_OPERATOR_STOREFRONT_MUTATION, O as CREATE_GGNOMAD_PROVIDER_MUTATION, j as CREATE_GGNOMAD_REVIEW_MUTATION, L as CREATE_GGNOMAD_TRAVEL_POLICY_MUTATION, fe as CREATE_GGNOMAD_TRIP_MUTATION, w as CREATE_GGNOMAD_TRIP_PLAN_MUTATION, R as DELETE_GGNOMAD_TRAVEL_POLICY_MUTATION, d as GGNOMAD_ACTIVITIES_QUERY, f as GGNOMAD_ACTIVITY_QUERY, $ as GGNOMAD_AUDIT_LOG_QUERY, n as GGNOMAD_BOOKABLE_SAMPLE_QUERY, m as GGNOMAD_BOOKINGS_QUERY, ee as GGNOMAD_BOOKING_APPROVALS_QUERY, Y as GGNOMAD_BOOKING_QUEUE_QUERY, ue as GGNOMAD_BOOKING_SLOTS_QUERY, l as GGNOMAD_EVENTS_QUERY, u as GGNOMAD_EVENT_QUERY, h as GGNOMAD_FAVORITES_QUERY, r as GGNOMAD_FAVORITE_TARGETS_QUERY, me as GGNOMAD_GROUP_TRIP_COST_SPLIT_QUERY, he as GGNOMAD_GROUP_TRIP_VOTES_QUERY, U as GGNOMAD_LISTING_REVIEW_QUEUE_QUERY, pe as GGNOMAD_MY_GROUP_TRIPS_QUERY, ne as GGNOMAD_MY_PROVIDERS_QUERY, re as GGNOMAD_MY_PROVIDER_ANALYTICS_QUERY, ie as GGNOMAD_OPERATOR_STOREFRONT_QUERY, t as GGNOMAD_OVERVIEW_QUERY, a as GGNOMAD_PROPERTIES_QUERY, o as GGNOMAD_PROPERTY_QUERY, i as GGNOMAD_PROVIDERS_QUERY, A as GGNOMAD_REVIEWS_QUERY, k as GGNOMAD_REVIEW_SUMMARY_QUERY, V as GGNOMAD_SPEND_SUMMARY_QUERY, ae as GGNOMAD_STOREFRONT_BY_SLUG_QUERY, y as GGNOMAD_TICKETS_QUERY, s as GGNOMAD_TOURS_QUERY, c as GGNOMAD_TOUR_QUERY, de as GGNOMAD_TRANSPORT_SEARCH_QUERY, I as GGNOMAD_TRAVEL_POLICIES_QUERY, p as GGNOMAD_TRIPS_QUERY, S as GGNOMAD_TRIP_PLANS_QUERY, C as GGNOMAD_TRIP_PLAN_QUERY, te as GGNOMAD_WORKSPACE_AUDIT_LOG_QUERY, b as ISSUE_GGNOMAD_TICKET_MUTATION, Q as MARK_GGNOMAD_BOOKING_NO_SHOW_MUTATION, q as PAUSE_GGNOMAD_LISTING_MUTATION, ce as PUBLISH_GGNOMAD_OPERATOR_STOREFRONT_MUTATION, x as REDEEM_GGNOMAD_TICKET_MUTATION, B as REJECT_GGNOMAD_BOOKING_APPROVAL_MUTATION, K as REJECT_GGNOMAD_LISTING_MUTATION, ve as REMOVE_GGNOMAD_GROUP_TRIP_MEMBER_MUTATION, D as REMOVE_GGNOMAD_TRIP_PLAN_ITEM_MUTATION, J as RESUME_GGNOMAD_LISTING_MUTATION, W as SUBMIT_GGNOMAD_LISTING_FOR_REVIEW_MUTATION, _ as TOGGLE_GGNOMAD_FAVORITE_MUTATION, le as UNPUBLISH_GGNOMAD_OPERATOR_STOREFRONT_MUTATION, F as UPDATE_GGNOMAD_ACTIVITY_MUTATION, P as UPDATE_GGNOMAD_EVENT_MUTATION, se as UPDATE_GGNOMAD_OPERATOR_STOREFRONT_MUTATION, M as UPDATE_GGNOMAD_PROPERTY_MUTATION, N as UPDATE_GGNOMAD_TOUR_MUTATION, T as UPDATE_GGNOMAD_TRIP_PLAN_MUTATION, ye as VOTE_GGNOMAD_TRIP_PLAN_ITEM_MUTATION };
|
|
1241
1262
|
|
|
1242
1263
|
//# sourceMappingURL=graphql.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.js","names":[],"sources":["../../src/ggnomad/graphql.ts"],"sourcesContent":["import { gql } from '@apollo/client/core';\n\nexport const GGNOMAD_OVERVIEW_QUERY = gql`\n query GGNomadOverview {\n ggnomadOverviewStats {\n users\n listings\n bookings\n monthlyRevenue\n }\n ggnomadAnalytics {\n totalRevenue\n totalBookings\n totalUsers\n conversionRate\n revenueByCategory\n monthlyTrends\n topDestinations\n }\n }\n`;\n\n/**\n * One bookable item of each type (properties are priced per night, the rest\n * carry a flat price). Used to seed the Bookings \"create demo booking\" action\n * with a REAL listing id so the mutation passes the backend's\n * assertTargetInWorkspace check instead of failing on a synthetic id.\n */\nexport const GGNOMAD_BOOKABLE_SAMPLE_QUERY = gql`\n query GGNomadBookableSample {\n ggnomadProperties(pagination: { limit: 1, offset: 0 }) {\n id\n name\n pricePerNight\n currency\n }\n ggnomadTours(pagination: { limit: 1, offset: 0 }) {\n id\n name\n price\n currency\n }\n ggnomadEvents(pagination: { limit: 1, offset: 0 }) {\n id\n name\n price\n currency\n }\n ggnomadActivities(pagination: { limit: 1, offset: 0 }) {\n id\n name\n price\n currency\n }\n }\n`;\n\n/**\n * id + name for every favouritable listing type, used to (a) resolve the real\n * entity name for a saved favorite (which the backend only exposes as\n * targetType + targetId) and (b) seed the \"toggle demo favorite\" action with a\n * real target id.\n */\nexport const GGNOMAD_FAVORITE_TARGETS_QUERY = gql`\n query GGNomadFavoriteTargets {\n ggnomadProperties(pagination: { limit: 100, offset: 0 }) {\n id\n name\n type\n pricePerNight\n currency\n rating\n reviewCount\n images\n }\n ggnomadTours(pagination: { limit: 100, offset: 0 }) {\n id\n name\n type\n price\n currency\n rating\n reviewCount\n images\n }\n ggnomadEvents(pagination: { limit: 100, offset: 0 }) {\n id\n name\n category\n price\n currency\n rating\n reviewCount\n images\n }\n ggnomadActivities(pagination: { limit: 100, offset: 0 }) {\n id\n name\n category\n price\n currency\n rating\n reviewCount\n images\n }\n ggnomadTrips(pagination: { limit: 100, offset: 0 }) {\n id\n name\n transportMode\n price\n currency\n }\n }\n`;\n\nexport const GGNOMAD_PROVIDERS_QUERY = gql`\n query GGNomadProviders($limit: Int, $offset: Int) {\n ggnomadProviders(pagination: { limit: $limit, offset: $offset }) {\n id\n name\n type\n status\n listingCount\n totalRevenue\n rating\n reviewCount\n description\n contactEmail\n contactPhone\n website\n createdAt\n }\n }\n`;\n\nexport const GGNOMAD_PROPERTIES_QUERY = gql`\n query GGNomadProperties(\n $limit: Int\n $offset: Int\n $status: GgnomadListingStatus\n $minSustainabilityScore: Int\n $hasAccessibilityFeatures: [GgnomadAccessibilityFeature!]\n ) {\n ggnomadProperties(\n pagination: { limit: $limit, offset: $offset }\n status: $status\n minSustainabilityScore: $minSustainabilityScore\n hasAccessibilityFeatures: $hasAccessibilityFeatures\n ) {\n id\n name\n type\n status\n description\n pricePerNight\n currency\n rating\n reviewCount\n maxGuests\n amenities\n images\n providerId\n instantBook\n sustainabilityScore\n accessibilityFeatures\n }\n }\n`;\n\nexport const GGNOMAD_PROPERTY_QUERY = gql`\n query GGNomadProperty($id: ID!) {\n ggnomadProperty(id: $id) {\n id\n name\n type\n status\n description\n address\n pricePerNight\n currency\n rating\n reviewCount\n bedrooms\n bathrooms\n maxGuests\n checkInTime\n checkOutTime\n amenities\n images\n instantBook\n sustainabilityScore\n sustainabilityPractices\n accessibilityFeatures\n provider {\n id\n name\n type\n rating\n reviewCount\n listingCount\n contactEmail\n website\n }\n }\n }\n`;\n\n// Query to get property details for booking - ensures id is included\nexport const GGNOMAD_PROPERTY_FOR_BOOKING_QUERY = gql`\n query GGNomadPropertyForBooking($id: ID!) {\n ggnomadProperty(id: $id) {\n id\n name\n pricePerNight\n currency\n }\n }\n`;\n\nexport const GGNOMAD_TOURS_QUERY = gql`\n query GGNomadTours(\n $limit: Int\n $offset: Int\n $status: GgnomadListingStatus\n $minSustainabilityScore: Int\n $hasAccessibilityFeatures: [GgnomadAccessibilityFeature!]\n ) {\n ggnomadTours(\n pagination: { limit: $limit, offset: $offset }\n status: $status\n minSustainabilityScore: $minSustainabilityScore\n hasAccessibilityFeatures: $hasAccessibilityFeatures\n ) {\n id\n name\n description\n type\n status\n duration\n difficulty\n price\n currency\n rating\n reviewCount\n highlights\n images\n maxGroupSize\n instantBook\n sustainabilityScore\n accessibilityFeatures\n }\n }\n`;\n\nexport const GGNOMAD_TOUR_QUERY = gql`\n query GGNomadTour($id: ID!) {\n ggnomadTour(id: $id) {\n id\n name\n description\n type\n status\n duration\n difficulty\n price\n currency\n rating\n reviewCount\n highlights\n images\n languages\n guideName\n location\n maxGroupSize\n instantBook\n sustainabilityScore\n sustainabilityPractices\n accessibilityFeatures\n provider {\n id\n name\n type\n rating\n reviewCount\n listingCount\n contactEmail\n website\n }\n }\n }\n`;\n\nexport const GGNOMAD_EVENTS_QUERY = gql`\n query GGNomadEvents(\n $limit: Int\n $offset: Int\n $status: GgnomadListingStatus\n $minSustainabilityScore: Int\n $hasAccessibilityFeatures: [GgnomadAccessibilityFeature!]\n ) {\n ggnomadEvents(\n pagination: { limit: $limit, offset: $offset }\n status: $status\n minSustainabilityScore: $minSustainabilityScore\n hasAccessibilityFeatures: $hasAccessibilityFeatures\n ) {\n id\n name\n description\n category\n status\n startsAt\n price\n currency\n rating\n reviewCount\n performers\n images\n venue\n instantBook\n sustainabilityScore\n accessibilityFeatures\n }\n }\n`;\n\nexport const GGNOMAD_EVENT_QUERY = gql`\n query GGNomadEvent($id: ID!) {\n ggnomadEvent(id: $id) {\n id\n name\n description\n category\n status\n startsAt\n endsAt\n venue\n price\n currency\n rating\n reviewCount\n performers\n images\n instantBook\n sustainabilityScore\n sustainabilityPractices\n accessibilityFeatures\n provider {\n id\n name\n type\n rating\n reviewCount\n listingCount\n contactEmail\n website\n }\n }\n }\n`;\n\nexport const GGNOMAD_ACTIVITIES_QUERY = gql`\n query GGNomadActivities(\n $limit: Int\n $offset: Int\n $status: GgnomadListingStatus\n $minSustainabilityScore: Int\n $hasAccessibilityFeatures: [GgnomadAccessibilityFeature!]\n ) {\n ggnomadActivities(\n pagination: { limit: $limit, offset: $offset }\n status: $status\n minSustainabilityScore: $minSustainabilityScore\n hasAccessibilityFeatures: $hasAccessibilityFeatures\n ) {\n id\n name\n description\n category\n status\n duration\n difficulty\n price\n currency\n rating\n reviewCount\n maxParticipants\n includes\n requirements\n images\n location\n instantBook\n sustainabilityScore\n accessibilityFeatures\n }\n }\n`;\n\nexport const GGNOMAD_ACTIVITY_QUERY = gql`\n query GGNomadActivity($id: ID!) {\n ggnomadActivity(id: $id) {\n id\n name\n description\n category\n status\n location\n duration\n difficulty\n price\n currency\n rating\n reviewCount\n maxParticipants\n includes\n requirements\n safetyInfo\n images\n instantBook\n sustainabilityScore\n sustainabilityPractices\n accessibilityFeatures\n provider {\n id\n name\n type\n rating\n reviewCount\n listingCount\n contactEmail\n website\n }\n }\n }\n`;\n\nexport const GGNOMAD_TRIPS_QUERY = gql`\n query GGNomadTrips($limit: Int, $offset: Int) {\n ggnomadTrips(pagination: { limit: $limit, offset: $offset }) {\n id\n name\n transportMode\n status\n origin\n destination\n departureAt\n arrivalAt\n isRoundTrip\n carrier\n class\n price\n currency\n passengers\n ecoFriendly\n carrierCode\n co2Emissions\n stops\n returnDepartureAt\n returnArrivalAt\n }\n }\n`;\n\nexport const GGNOMAD_BOOKINGS_QUERY = gql`\n query GGNomadBookings($limit: Int, $offset: Int, $status: GgnomadBookingStatus) {\n ggnomadBookings(pagination: { limit: $limit, offset: $offset }, status: $status) {\n id\n referenceCode\n bookingType\n status\n itemId\n itemName\n guestName\n guestEmail\n guestPhone\n guests\n checkIn\n checkOut\n eventDate\n totalPrice\n currency\n paymentStatus\n paymentMethod\n specialRequests\n carbonEstimateKg\n carbonEstimateMethod\n createdAt\n }\n }\n`;\n\nexport const GGNOMAD_FAVORITES_QUERY = gql`\n query GGNomadFavorites {\n ggnomadFavorites\n }\n`;\n\nexport const CREATE_GGNOMAD_BOOKING_MUTATION = gql`\n mutation CreateGGNomadBooking($input: CreateGgnomadBookingInput!) {\n createGgnomadBooking(input: $input) {\n id\n referenceCode\n bookingType\n status\n itemId\n itemName\n guestName\n totalPrice\n currency\n createdAt\n }\n }\n`;\n\nexport const TOGGLE_GGNOMAD_FAVORITE_MUTATION = gql`\n mutation ToggleGGNomadFavorite($input: ToggleGgnomadFavoriteInput!) {\n toggleGgnomadFavorite(input: $input)\n }\n`;\n\nexport const CANCEL_GGNOMAD_BOOKING_MUTATION = gql`\n mutation CancelGGNomadBooking($id: ID!, $reason: String) {\n cancelGgnomadBooking(id: $id, reason: $reason) {\n id\n status\n }\n }\n`;\n\n// Mobile tickets / QR-code redemption (BOFF-4362)\nexport const GGNOMAD_TICKETS_QUERY = gql`\n query GGNomadTickets($bookingId: String) {\n ggnomadTickets(bookingId: $bookingId) {\n id\n bookingId\n ticketCode\n qrCodeDataUrl\n status\n issuedAt\n redeemedAt\n redeemedBy\n revokedAt\n revokedReason\n }\n }\n`;\n\nexport const ISSUE_GGNOMAD_TICKET_MUTATION = gql`\n mutation IssueGGNomadTicket($bookingId: ID!) {\n issueGgnomadTicket(bookingId: $bookingId) {\n id\n bookingId\n ticketCode\n qrCodeDataUrl\n status\n issuedAt\n }\n }\n`;\n\nexport const REDEEM_GGNOMAD_TICKET_MUTATION = gql`\n mutation RedeemGGNomadTicket($token: String!) {\n redeemGgnomadTicket(token: $token) {\n id\n bookingId\n ticketCode\n status\n redeemedAt\n redeemedBy\n }\n }\n`;\n\nexport const REVOKE_GGNOMAD_TICKET_MUTATION = gql`\n mutation RevokeGGNomadTicket($id: ID!, $reason: String) {\n revokeGgnomadTicket(id: $id, reason: $reason) {\n id\n status\n revokedAt\n revokedReason\n }\n }\n`;\n\n// Trip Plan Queries\nexport const GGNOMAD_TRIP_PLANS_QUERY = gql`\n query GGNomadTripPlans($limit: Int, $offset: Int) {\n ggnomadTripPlans(pagination: { limit: $limit, offset: $offset }) {\n id\n name\n description\n startDate\n endDate\n travelers\n status\n total\n itemCount\n createdAt\n }\n }\n`;\n\nexport const GGNOMAD_TRIP_PLAN_QUERY = gql`\n query GGNomadTripPlan($id: ID!) {\n ggnomadTripPlan(id: $id) {\n id\n name\n description\n startDate\n endDate\n travelers\n status\n total\n itemCount\n items {\n id\n itemType\n itemId\n itemName\n day\n scheduledAt\n price\n currency\n notes\n }\n createdAt\n updatedAt\n }\n }\n`;\n\n// Trip Plan Mutations\nexport const CREATE_GGNOMAD_TRIP_PLAN_MUTATION = gql`\n mutation CreateGGNomadTripPlan($input: CreateGgnomadTripPlanInput!) {\n createGgnomadTripPlan(input: $input) {\n id\n name\n description\n startDate\n endDate\n travelers\n status\n total\n itemCount\n createdAt\n }\n }\n`;\n\nexport const UPDATE_GGNOMAD_TRIP_PLAN_MUTATION = gql`\n mutation UpdateGGNomadTripPlan($id: ID!, $input: UpdateGgnomadTripPlanInput!) {\n updateGgnomadTripPlan(id: $id, input: $input) {\n id\n name\n description\n startDate\n endDate\n travelers\n status\n total\n itemCount\n updatedAt\n }\n }\n`;\n\nexport const DELETE_GGNOMAD_TRIP_PLAN_MUTATION = gql`\n mutation DeleteGGNomadTripPlan($id: ID!) {\n deleteGgnomadTripPlan(id: $id)\n }\n`;\n\nexport const ADD_GGNOMAD_TRIP_PLAN_ITEM_MUTATION = gql`\n mutation AddGGNomadTripPlanItem($tripPlanId: ID!, $input: AddGgnomadTripPlanItemInput!) {\n addGgnomadTripPlanItem(tripPlanId: $tripPlanId, input: $input) {\n id\n itemType\n itemId\n itemName\n day\n scheduledAt\n price\n currency\n notes\n }\n }\n`;\n\nexport const REMOVE_GGNOMAD_TRIP_PLAN_ITEM_MUTATION = gql`\n mutation RemoveGGNomadTripPlanItem($id: ID!) {\n removeGgnomadTripPlanItem(id: $id)\n }\n`;\n\nexport const CREATE_GGNOMAD_PROVIDER_MUTATION = gql`\n mutation CreateGGNomadProvider($input: CreateGgnomadProviderInput!) {\n createGgnomadProvider(input: $input) {\n id\n name\n type\n status\n listingCount\n totalRevenue\n rating\n reviewCount\n description\n contactEmail\n contactPhone\n website\n createdAt\n }\n }\n`;\n\n// Review Queries\nexport const GGNOMAD_REVIEW_SUMMARY_QUERY = gql`\n query GGNomadReviewSummary($targetType: GgnomadBookingType!, $targetId: String!) {\n ggnomadReviewSummary(targetType: $targetType, targetId: $targetId) {\n average\n count\n distribution\n }\n }\n`;\n\nexport const GGNOMAD_REVIEWS_QUERY = gql`\n query GGNomadReviews(\n $targetType: GgnomadBookingType!\n $targetId: String!\n $limit: Int\n $offset: Int\n ) {\n ggnomadReviews(\n targetType: $targetType\n targetId: $targetId\n pagination: { limit: $limit, offset: $offset }\n ) {\n id\n rating\n title\n content\n images\n isVerified\n helpfulCount\n response\n respondedAt\n createdAt\n }\n }\n`;\n\n// Review Mutations\nexport const CREATE_GGNOMAD_REVIEW_MUTATION = gql`\n mutation CreateGGNomadReview($input: CreateGgnomadReviewInput!) {\n createGgnomadReview(input: $input) {\n id\n rating\n title\n content\n }\n }\n`;\n\nexport const RESPOND_GGNOMAD_REVIEW_MUTATION = gql`\n mutation RespondGGNomadReview($id: ID!, $response: String!) {\n respondGgnomadReview(id: $id, response: $response) {\n id\n response\n respondedAt\n }\n }\n`;\n\n// Listing Edit Mutations\nexport const UPDATE_GGNOMAD_PROPERTY_MUTATION = gql`\n mutation UpdateGGNomadProperty($id: ID!, $input: UpdateGgnomadPropertyInput!) {\n updateGgnomadProperty(id: $id, input: $input) {\n id\n name\n description\n pricePerNight\n status\n images\n }\n }\n`;\n\nexport const UPDATE_GGNOMAD_TOUR_MUTATION = gql`\n mutation UpdateGGNomadTour($id: ID!, $input: UpdateGgnomadTourInput!) {\n updateGgnomadTour(id: $id, input: $input) {\n id\n name\n description\n price\n status\n images\n }\n }\n`;\n\nexport const UPDATE_GGNOMAD_EVENT_MUTATION = gql`\n mutation UpdateGGNomadEvent($id: ID!, $input: UpdateGgnomadEventInput!) {\n updateGgnomadEvent(id: $id, input: $input) {\n id\n name\n description\n price\n status\n images\n }\n }\n`;\n\nexport const UPDATE_GGNOMAD_ACTIVITY_MUTATION = gql`\n mutation UpdateGGNomadActivity($id: ID!, $input: UpdateGgnomadActivityInput!) {\n updateGgnomadActivity(id: $id, input: $input) {\n id\n name\n description\n price\n status\n images\n }\n }\n`;\n\n// Corporate travel management — policy, budgets, approvals (BOFF-4365)\nexport const GGNOMAD_TRAVEL_POLICIES_QUERY = gql`\n query GGNomadTravelPolicies($limit: Int, $offset: Int) {\n ggnomadTravelPolicies(pagination: { limit: $limit, offset: $offset }) {\n id\n name\n isActive\n costCenter\n currency\n maxBookingAmount\n maxMonthlyPerTraveler\n blockedDestinations\n allowedTravelClasses\n requireApprovalAlways\n createdAt\n }\n }\n`;\n\nexport const CREATE_GGNOMAD_TRAVEL_POLICY_MUTATION = gql`\n mutation CreateGGNomadTravelPolicy($input: CreateGgnomadTravelPolicyInput!) {\n createGgnomadTravelPolicy(input: $input) {\n id\n name\n isActive\n costCenter\n currency\n maxBookingAmount\n maxMonthlyPerTraveler\n blockedDestinations\n allowedTravelClasses\n requireApprovalAlways\n }\n }\n`;\n\nexport const UPDATE_GGNOMAD_TRAVEL_POLICY_MUTATION = gql`\n mutation UpdateGGNomadTravelPolicy($id: ID!, $input: UpdateGgnomadTravelPolicyInput!) {\n updateGgnomadTravelPolicy(id: $id, input: $input) {\n id\n isActive\n }\n }\n`;\n\nexport const DELETE_GGNOMAD_TRAVEL_POLICY_MUTATION = gql`\n mutation DeleteGGNomadTravelPolicy($id: ID!) {\n deleteGgnomadTravelPolicy(id: $id)\n }\n`;\n\nexport const GGNOMAD_BOOKING_APPROVALS_QUERY = gql`\n query GGNomadBookingApprovals($status: GgnomadApprovalStatus, $limit: Int, $offset: Int) {\n ggnomadBookingApprovals(status: $status, pagination: { limit: $limit, offset: $offset }) {\n id\n bookingId\n requestedBy\n costCenter\n reasons\n status\n reviewedBy\n reviewedAt\n reviewNote\n createdAt\n booking {\n id\n referenceCode\n itemName\n totalPrice\n currency\n status\n paymentStatus\n }\n }\n }\n`;\n\nexport const APPROVE_GGNOMAD_BOOKING_APPROVAL_MUTATION = gql`\n mutation ApproveGGNomadBookingApproval($id: ID!, $note: String) {\n approveGgnomadBookingApproval(id: $id, note: $note) {\n id\n status\n reviewedBy\n reviewedAt\n }\n }\n`;\n\nexport const REJECT_GGNOMAD_BOOKING_APPROVAL_MUTATION = gql`\n mutation RejectGGNomadBookingApproval($id: ID!, $reason: String!) {\n rejectGgnomadBookingApproval(id: $id, reason: $reason) {\n id\n status\n reviewedBy\n reviewedAt\n reviewNote\n }\n }\n`;\n\nexport const GGNOMAD_SPEND_SUMMARY_QUERY = gql`\n query GGNomadSpendSummary($costCenter: String) {\n ggnomadSpendSummary(costCenter: $costCenter) {\n totalSpend\n bookingCount\n pendingApprovalCount\n pendingApprovalAmount\n byCostCenter\n }\n }\n`;\n\n// ─── BOFF-4388 — listing verification + booking lifecycle operations queue ─\n\nconst LISTING_QUEUE_FIELDS = `\n __typename\n ... on GgnomadProperty {\n id\n name\n status\n pricePerNight\n currency\n providerId\n updatedAt\n }\n ... on GgnomadTour {\n id\n name\n status\n price\n currency\n providerId\n updatedAt\n }\n ... on GgnomadEvent {\n id\n name\n status\n price\n currency\n providerId\n updatedAt\n }\n ... on GgnomadActivity {\n id\n name\n status\n price\n currency\n providerId\n updatedAt\n }\n`;\n\nexport const GGNOMAD_LISTING_REVIEW_QUEUE_QUERY = gql`\n query GGNomadListingReviewQueue($limit: Int, $offset: Int) {\n ggnomadListingReviewQueue(pagination: { limit: $limit, offset: $offset }) {\n ${LISTING_QUEUE_FIELDS}\n }\n }\n`;\n\nexport const SUBMIT_GGNOMAD_LISTING_FOR_REVIEW_MUTATION = gql`\n mutation SubmitGGNomadListingForReview($listingType: GgnomadListingType!, $id: ID!) {\n submitGgnomadListingForReview(listingType: $listingType, id: $id) {\n ${LISTING_QUEUE_FIELDS}\n }\n }\n`;\n\nexport const APPROVE_GGNOMAD_LISTING_MUTATION = gql`\n mutation ApproveGGNomadListing($listingType: GgnomadListingType!, $id: ID!, $note: String) {\n approveGgnomadListing(listingType: $listingType, id: $id, note: $note) {\n ${LISTING_QUEUE_FIELDS}\n }\n }\n`;\n\nexport const REJECT_GGNOMAD_LISTING_MUTATION = gql`\n mutation RejectGGNomadListing($listingType: GgnomadListingType!, $id: ID!, $reason: String!) {\n rejectGgnomadListing(listingType: $listingType, id: $id, reason: $reason) {\n ${LISTING_QUEUE_FIELDS}\n }\n }\n`;\n\nexport const PAUSE_GGNOMAD_LISTING_MUTATION = gql`\n mutation PauseGGNomadListing($listingType: GgnomadListingType!, $id: ID!, $reason: String) {\n pauseGgnomadListing(listingType: $listingType, id: $id, reason: $reason) {\n ${LISTING_QUEUE_FIELDS}\n }\n }\n`;\n\nexport const RESUME_GGNOMAD_LISTING_MUTATION = gql`\n mutation ResumeGGNomadListing($listingType: GgnomadListingType!, $id: ID!) {\n resumeGgnomadListing(listingType: $listingType, id: $id) {\n ${LISTING_QUEUE_FIELDS}\n }\n }\n`;\n\nexport const ARCHIVE_GGNOMAD_LISTING_MUTATION = gql`\n mutation ArchiveGGNomadListing($listingType: GgnomadListingType!, $id: ID!, $reason: String) {\n archiveGgnomadListing(listingType: $listingType, id: $id, reason: $reason) {\n ${LISTING_QUEUE_FIELDS}\n }\n }\n`;\n\nexport const GGNOMAD_BOOKING_QUEUE_QUERY = gql`\n query GGNomadBookingQueue($limit: Int, $offset: Int) {\n ggnomadBookingQueue(pagination: { limit: $limit, offset: $offset }) {\n id\n referenceCode\n bookingType\n status\n itemName\n guestName\n guests\n checkIn\n checkOut\n eventDate\n totalPrice\n currency\n createdAt\n }\n }\n`;\n\nexport const CHECK_IN_GGNOMAD_BOOKING_MUTATION = gql`\n mutation CheckInGGNomadBooking($id: ID!) {\n checkInGgnomadBooking(id: $id) {\n id\n status\n }\n }\n`;\n\nexport const COMPLETE_GGNOMAD_BOOKING_MUTATION = gql`\n mutation CompleteGGNomadBooking($id: ID!) {\n completeGgnomadBooking(id: $id) {\n id\n status\n }\n }\n`;\n\nexport const MARK_GGNOMAD_BOOKING_NO_SHOW_MUTATION = gql`\n mutation MarkGGNomadBookingNoShow($id: ID!, $reason: String) {\n markGgnomadBookingNoShow(id: $id, reason: $reason) {\n id\n status\n }\n }\n`;\n\nexport const GGNOMAD_AUDIT_LOG_QUERY = gql`\n query GGNomadAuditLog($entityType: String!, $entityId: String!, $limit: Int, $offset: Int) {\n ggnomadAuditLog(\n entityType: $entityType\n entityId: $entityId\n pagination: { limit: $limit, offset: $offset }\n ) {\n id\n action\n fromStatus\n toStatus\n reason\n actorId\n createdAt\n }\n }\n`;\n\n// ─── BOFF-4390 — provider analytics dashboards ─────────────────────────────\n\nexport const GGNOMAD_MY_PROVIDERS_QUERY = gql`\n query GGNomadMyProviders {\n myGgnomadProviders {\n id\n name\n type\n status\n }\n }\n`;\n\nexport const GGNOMAD_MY_PROVIDER_ANALYTICS_QUERY = gql`\n query GGNomadMyProviderAnalytics(\n $providerId: ID!\n $dateFrom: DateTime\n $dateTo: DateTime\n $granularity: String\n ) {\n myGgnomadProviderAnalytics(\n providerId: $providerId\n dateFrom: $dateFrom\n dateTo: $dateTo\n granularity: $granularity\n ) {\n providerId\n providerName\n dateFrom\n dateTo\n granularity\n totalBookings\n totalRevenue\n cancelledBookings\n cancellationRate\n capacityUtilizationRate\n bookingsOverTime {\n period\n bookings\n revenue\n }\n topListings {\n listingId\n listingType\n listingName\n bookings\n revenue\n cancellationRate\n capacityUtilizationRate\n }\n }\n }\n`;\n\n// ─── BOFF-4363 — white-label operator storefront ───────────────────────────\n\nexport const GGNOMAD_OPERATOR_STOREFRONT_QUERY = gql`\n query GGNomadOperatorStorefront($providerId: ID!) {\n ggnomadOperatorStorefront(providerId: $providerId) {\n id\n providerId\n slug\n displayName\n logoUrl\n primaryColor\n aboutText\n isPublished\n publishedAt\n }\n }\n`;\n\nexport const GGNOMAD_STOREFRONT_BY_SLUG_QUERY = gql`\n query GGNomadStorefrontBySlug($workspaceId: ID!, $slug: String!) {\n ggnomadStorefrontBySlug(workspaceId: $workspaceId, slug: $slug) {\n storefront {\n id\n displayName\n logoUrl\n primaryColor\n aboutText\n publishedAt\n }\n properties {\n id\n name\n pricePerNight\n currency\n images\n rating\n sustainabilityScore\n }\n tours {\n id\n name\n price\n currency\n images\n rating\n sustainabilityScore\n }\n events {\n id\n name\n price\n currency\n images\n startsAt\n sustainabilityScore\n }\n activities {\n id\n name\n price\n currency\n images\n rating\n sustainabilityScore\n }\n }\n }\n`;\n\nexport const CREATE_GGNOMAD_OPERATOR_STOREFRONT_MUTATION = gql`\n mutation CreateGGNomadOperatorStorefront($input: CreateGgnomadOperatorStorefrontInput!) {\n createGgnomadOperatorStorefront(input: $input) {\n id\n providerId\n slug\n displayName\n logoUrl\n primaryColor\n aboutText\n isPublished\n publishedAt\n }\n }\n`;\n\nexport const UPDATE_GGNOMAD_OPERATOR_STOREFRONT_MUTATION = gql`\n mutation UpdateGGNomadOperatorStorefront(\n $id: ID!\n $input: UpdateGgnomadOperatorStorefrontInput!\n ) {\n updateGgnomadOperatorStorefront(id: $id, input: $input) {\n id\n providerId\n slug\n displayName\n logoUrl\n primaryColor\n aboutText\n isPublished\n publishedAt\n }\n }\n`;\n\nexport const PUBLISH_GGNOMAD_OPERATOR_STOREFRONT_MUTATION = gql`\n mutation PublishGGNomadOperatorStorefront($id: ID!) {\n publishGgnomadOperatorStorefront(id: $id) {\n id\n isPublished\n publishedAt\n }\n }\n`;\n\nexport const UNPUBLISH_GGNOMAD_OPERATOR_STOREFRONT_MUTATION = gql`\n mutation UnpublishGGNomadOperatorStorefront($id: ID!) {\n unpublishGgnomadOperatorStorefront(id: $id) {\n id\n isPublished\n publishedAt\n }\n }\n`;\n\n// ─── BOFF-4361 — real-time availability slots for one listing ──────────────\n\nexport const GGNOMAD_BOOKING_SLOTS_QUERY = gql`\n query GGNomadBookingSlots(\n $listingId: ID!\n $listingType: GgnomadListingType!\n $dateFrom: DateTime\n $onlyAvailable: Boolean\n $limit: Int\n $offset: Int\n ) {\n ggnomadBookingSlots(\n listingId: $listingId\n listingType: $listingType\n dateFrom: $dateFrom\n onlyAvailable: $onlyAvailable\n pagination: { limit: $limit, offset: $offset }\n ) {\n id\n startAt\n endAt\n capacity\n bookedCount\n remainingCapacity\n isActive\n }\n }\n`;\n\n// ─── BOFF-4406 — transport inventory search + booking a searched leg ───────\n\nexport const GGNOMAD_TRANSPORT_SEARCH_QUERY = gql`\n query GGNomadTransportSearch($input: SearchGgnomadTransportInput!) {\n searchGgnomadTransport(input: $input) {\n offerId\n origin\n destination\n transportMode\n departureAt\n arrivalAt\n returnDepartureAt\n returnArrivalAt\n isRoundTrip\n carrier\n carrierCode\n class\n price\n currency\n passengers\n stops\n durationMinutes\n ecoFriendly\n co2Emissions\n providerName\n }\n }\n`;\n\nexport const CREATE_GGNOMAD_TRIP_MUTATION = gql`\n mutation CreateGGNomadTrip($input: CreateGgnomadTripInput!) {\n createGgnomadTrip(input: $input) {\n id\n name\n status\n transportMode\n departureAt\n arrivalAt\n price\n currency\n }\n }\n`;\n\n// ─── BOFF-4374 — group trips: members, item votes, cost split ──────────────\n\nexport const GGNOMAD_MY_GROUP_TRIPS_QUERY = gql`\n query GGNomadMyGroupTrips {\n myGgnomadGroupTrips {\n id\n name\n tripPlanId\n splitMethod\n currency\n createdBy\n createdAt\n members {\n id\n actorId\n displayName\n email\n createdAt\n }\n }\n }\n`;\n\nexport const GGNOMAD_GROUP_TRIP_COST_SPLIT_QUERY = gql`\n query GGNomadGroupTripCostSplit($groupTripId: ID!) {\n ggnomadGroupTripCostSplit(groupTripId: $groupTripId) {\n currency\n totalCost\n splitMethod\n shares {\n memberId\n actorId\n displayName\n amountOwed\n assignedTotal\n sharedTotal\n }\n }\n }\n`;\n\nexport const GGNOMAD_GROUP_TRIP_VOTES_QUERY = gql`\n query GGNomadGroupTripVotes($groupTripId: ID!) {\n ggnomadGroupTripVotes(groupTripId: $groupTripId) {\n tripPlanItemId\n yes\n no\n abstain\n votes {\n id\n actorId\n choice\n comment\n createdAt\n }\n }\n }\n`;\n\nexport const CREATE_GGNOMAD_GROUP_TRIP_MUTATION = gql`\n mutation CreateGGNomadGroupTrip($input: CreateGgnomadGroupTripInput!) {\n createGgnomadGroupTrip(input: $input) {\n id\n name\n tripPlanId\n splitMethod\n currency\n }\n }\n`;\n\nexport const ADD_GGNOMAD_GROUP_TRIP_MEMBER_MUTATION = gql`\n mutation AddGGNomadGroupTripMember($groupTripId: ID!, $input: AddGgnomadGroupTripMemberInput!) {\n addGgnomadGroupTripMember(groupTripId: $groupTripId, input: $input) {\n id\n actorId\n displayName\n email\n }\n }\n`;\n\nexport const REMOVE_GGNOMAD_GROUP_TRIP_MEMBER_MUTATION = gql`\n mutation RemoveGGNomadGroupTripMember($groupTripId: ID!, $memberId: ID!) {\n removeGgnomadGroupTripMember(groupTripId: $groupTripId, memberId: $memberId)\n }\n`;\n\nexport const VOTE_GGNOMAD_TRIP_PLAN_ITEM_MUTATION = gql`\n mutation VoteGGNomadTripPlanItem($groupTripId: ID!, $input: VoteGgnomadTripPlanItemInput!) {\n voteGgnomadTripPlanItem(groupTripId: $groupTripId, input: $input) {\n id\n tripPlanItemId\n choice\n comment\n }\n }\n`;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graphql.js","names":[],"sources":["../../src/ggnomad/graphql.ts"],"sourcesContent":["import { gql } from '@apollo/client/core';\n\nexport const GGNOMAD_OVERVIEW_QUERY = gql`\n query GGNomadOverview {\n ggnomadOverviewStats {\n users\n listings\n bookings\n monthlyRevenue\n }\n ggnomadAnalytics {\n totalRevenue\n totalBookings\n totalUsers\n conversionRate\n revenueByCategory\n monthlyTrends\n topDestinations\n }\n }\n`;\n\n/**\n * One bookable item of each type (properties are priced per night, the rest\n * carry a flat price). Used to seed the Bookings \"create demo booking\" action\n * with a REAL listing id so the mutation passes the backend's\n * assertTargetInWorkspace check instead of failing on a synthetic id.\n */\nexport const GGNOMAD_BOOKABLE_SAMPLE_QUERY = gql`\n query GGNomadBookableSample {\n ggnomadProperties(pagination: { limit: 1, offset: 0 }) {\n id\n name\n pricePerNight\n currency\n }\n ggnomadTours(pagination: { limit: 1, offset: 0 }) {\n id\n name\n price\n currency\n }\n ggnomadEvents(pagination: { limit: 1, offset: 0 }) {\n id\n name\n price\n currency\n }\n ggnomadActivities(pagination: { limit: 1, offset: 0 }) {\n id\n name\n price\n currency\n }\n }\n`;\n\n/**\n * id + name for every favouritable listing type, used to (a) resolve the real\n * entity name for a saved favorite (which the backend only exposes as\n * targetType + targetId) and (b) seed the \"toggle demo favorite\" action with a\n * real target id.\n */\nexport const GGNOMAD_FAVORITE_TARGETS_QUERY = gql`\n query GGNomadFavoriteTargets {\n ggnomadProperties(pagination: { limit: 100, offset: 0 }) {\n id\n name\n type\n pricePerNight\n currency\n rating\n reviewCount\n images\n }\n ggnomadTours(pagination: { limit: 100, offset: 0 }) {\n id\n name\n type\n price\n currency\n rating\n reviewCount\n images\n }\n ggnomadEvents(pagination: { limit: 100, offset: 0 }) {\n id\n name\n category\n price\n currency\n rating\n reviewCount\n images\n }\n ggnomadActivities(pagination: { limit: 100, offset: 0 }) {\n id\n name\n category\n price\n currency\n rating\n reviewCount\n images\n }\n ggnomadTrips(pagination: { limit: 100, offset: 0 }) {\n id\n name\n transportMode\n price\n currency\n }\n }\n`;\n\nexport const GGNOMAD_PROVIDERS_QUERY = gql`\n query GGNomadProviders($limit: Int, $offset: Int) {\n ggnomadProviders(pagination: { limit: $limit, offset: $offset }) {\n id\n name\n type\n status\n listingCount\n totalRevenue\n rating\n reviewCount\n description\n contactEmail\n contactPhone\n website\n createdAt\n }\n }\n`;\n\nexport const GGNOMAD_PROPERTIES_QUERY = gql`\n query GGNomadProperties(\n $limit: Int\n $offset: Int\n $status: GgnomadListingStatus\n $minSustainabilityScore: Int\n $hasAccessibilityFeatures: [GgnomadAccessibilityFeature!]\n ) {\n ggnomadProperties(\n pagination: { limit: $limit, offset: $offset }\n status: $status\n minSustainabilityScore: $minSustainabilityScore\n hasAccessibilityFeatures: $hasAccessibilityFeatures\n ) {\n id\n name\n type\n status\n description\n pricePerNight\n currency\n rating\n reviewCount\n maxGuests\n amenities\n images\n providerId\n instantBook\n sustainabilityScore\n accessibilityFeatures\n }\n }\n`;\n\nexport const GGNOMAD_PROPERTY_QUERY = gql`\n query GGNomadProperty($id: ID!) {\n ggnomadProperty(id: $id) {\n id\n name\n type\n status\n description\n address\n pricePerNight\n currency\n rating\n reviewCount\n bedrooms\n bathrooms\n maxGuests\n checkInTime\n checkOutTime\n amenities\n images\n instantBook\n sustainabilityScore\n sustainabilityPractices\n accessibilityFeatures\n provider {\n id\n name\n type\n rating\n reviewCount\n listingCount\n contactEmail\n website\n }\n }\n }\n`;\n\n// Query to get property details for booking - ensures id is included\nexport const GGNOMAD_PROPERTY_FOR_BOOKING_QUERY = gql`\n query GGNomadPropertyForBooking($id: ID!) {\n ggnomadProperty(id: $id) {\n id\n name\n pricePerNight\n currency\n }\n }\n`;\n\nexport const GGNOMAD_TOURS_QUERY = gql`\n query GGNomadTours(\n $limit: Int\n $offset: Int\n $status: GgnomadListingStatus\n $minSustainabilityScore: Int\n $hasAccessibilityFeatures: [GgnomadAccessibilityFeature!]\n ) {\n ggnomadTours(\n pagination: { limit: $limit, offset: $offset }\n status: $status\n minSustainabilityScore: $minSustainabilityScore\n hasAccessibilityFeatures: $hasAccessibilityFeatures\n ) {\n id\n name\n description\n type\n status\n duration\n difficulty\n price\n currency\n rating\n reviewCount\n highlights\n images\n maxGroupSize\n instantBook\n sustainabilityScore\n accessibilityFeatures\n }\n }\n`;\n\nexport const GGNOMAD_TOUR_QUERY = gql`\n query GGNomadTour($id: ID!) {\n ggnomadTour(id: $id) {\n id\n name\n description\n type\n status\n duration\n difficulty\n price\n currency\n rating\n reviewCount\n highlights\n images\n languages\n guideName\n location\n maxGroupSize\n instantBook\n sustainabilityScore\n sustainabilityPractices\n accessibilityFeatures\n provider {\n id\n name\n type\n rating\n reviewCount\n listingCount\n contactEmail\n website\n }\n }\n }\n`;\n\nexport const GGNOMAD_EVENTS_QUERY = gql`\n query GGNomadEvents(\n $limit: Int\n $offset: Int\n $status: GgnomadListingStatus\n $minSustainabilityScore: Int\n $hasAccessibilityFeatures: [GgnomadAccessibilityFeature!]\n ) {\n ggnomadEvents(\n pagination: { limit: $limit, offset: $offset }\n status: $status\n minSustainabilityScore: $minSustainabilityScore\n hasAccessibilityFeatures: $hasAccessibilityFeatures\n ) {\n id\n name\n description\n category\n status\n startsAt\n price\n currency\n rating\n reviewCount\n performers\n images\n venue\n instantBook\n sustainabilityScore\n accessibilityFeatures\n }\n }\n`;\n\nexport const GGNOMAD_EVENT_QUERY = gql`\n query GGNomadEvent($id: ID!) {\n ggnomadEvent(id: $id) {\n id\n name\n description\n category\n status\n startsAt\n endsAt\n venue\n price\n currency\n rating\n reviewCount\n performers\n images\n instantBook\n sustainabilityScore\n sustainabilityPractices\n accessibilityFeatures\n provider {\n id\n name\n type\n rating\n reviewCount\n listingCount\n contactEmail\n website\n }\n }\n }\n`;\n\nexport const GGNOMAD_ACTIVITIES_QUERY = gql`\n query GGNomadActivities(\n $limit: Int\n $offset: Int\n $status: GgnomadListingStatus\n $minSustainabilityScore: Int\n $hasAccessibilityFeatures: [GgnomadAccessibilityFeature!]\n ) {\n ggnomadActivities(\n pagination: { limit: $limit, offset: $offset }\n status: $status\n minSustainabilityScore: $minSustainabilityScore\n hasAccessibilityFeatures: $hasAccessibilityFeatures\n ) {\n id\n name\n description\n category\n status\n duration\n difficulty\n price\n currency\n rating\n reviewCount\n maxParticipants\n includes\n requirements\n images\n location\n instantBook\n sustainabilityScore\n accessibilityFeatures\n }\n }\n`;\n\nexport const GGNOMAD_ACTIVITY_QUERY = gql`\n query GGNomadActivity($id: ID!) {\n ggnomadActivity(id: $id) {\n id\n name\n description\n category\n status\n location\n duration\n difficulty\n price\n currency\n rating\n reviewCount\n maxParticipants\n includes\n requirements\n safetyInfo\n images\n instantBook\n sustainabilityScore\n sustainabilityPractices\n accessibilityFeatures\n provider {\n id\n name\n type\n rating\n reviewCount\n listingCount\n contactEmail\n website\n }\n }\n }\n`;\n\nexport const GGNOMAD_TRIPS_QUERY = gql`\n query GGNomadTrips($limit: Int, $offset: Int) {\n ggnomadTrips(pagination: { limit: $limit, offset: $offset }) {\n id\n name\n transportMode\n status\n origin\n destination\n departureAt\n arrivalAt\n isRoundTrip\n carrier\n class\n price\n currency\n passengers\n ecoFriendly\n carrierCode\n co2Emissions\n stops\n returnDepartureAt\n returnArrivalAt\n }\n }\n`;\n\nexport const GGNOMAD_BOOKINGS_QUERY = gql`\n query GGNomadBookings($limit: Int, $offset: Int, $status: GgnomadBookingStatus) {\n ggnomadBookings(pagination: { limit: $limit, offset: $offset }, status: $status) {\n id\n referenceCode\n bookingType\n status\n itemId\n itemName\n guestName\n guestEmail\n guestPhone\n guests\n checkIn\n checkOut\n eventDate\n totalPrice\n currency\n paymentStatus\n paymentMethod\n specialRequests\n carbonEstimateKg\n carbonEstimateMethod\n createdAt\n }\n }\n`;\n\nexport const GGNOMAD_FAVORITES_QUERY = gql`\n query GGNomadFavorites {\n ggnomadFavorites\n }\n`;\n\nexport const CREATE_GGNOMAD_BOOKING_MUTATION = gql`\n mutation CreateGGNomadBooking($input: CreateGgnomadBookingInput!) {\n createGgnomadBooking(input: $input) {\n id\n referenceCode\n bookingType\n status\n itemId\n itemName\n guestName\n totalPrice\n currency\n createdAt\n }\n }\n`;\n\nexport const TOGGLE_GGNOMAD_FAVORITE_MUTATION = gql`\n mutation ToggleGGNomadFavorite($input: ToggleGgnomadFavoriteInput!) {\n toggleGgnomadFavorite(input: $input)\n }\n`;\n\nexport const CANCEL_GGNOMAD_BOOKING_MUTATION = gql`\n mutation CancelGGNomadBooking($id: ID!, $reason: String) {\n cancelGgnomadBooking(id: $id, reason: $reason) {\n id\n status\n }\n }\n`;\n\n// Mobile tickets / QR-code redemption (BOFF-4362)\nexport const GGNOMAD_TICKETS_QUERY = gql`\n query GGNomadTickets($bookingId: String) {\n ggnomadTickets(bookingId: $bookingId) {\n id\n bookingId\n ticketCode\n qrCodeDataUrl\n status\n issuedAt\n redeemedAt\n redeemedBy\n revokedAt\n revokedReason\n }\n }\n`;\n\nexport const ISSUE_GGNOMAD_TICKET_MUTATION = gql`\n mutation IssueGGNomadTicket($bookingId: ID!) {\n issueGgnomadTicket(bookingId: $bookingId) {\n id\n bookingId\n ticketCode\n qrCodeDataUrl\n status\n issuedAt\n }\n }\n`;\n\nexport const REDEEM_GGNOMAD_TICKET_MUTATION = gql`\n mutation RedeemGGNomadTicket($token: String!) {\n redeemGgnomadTicket(token: $token) {\n id\n bookingId\n ticketCode\n status\n redeemedAt\n redeemedBy\n }\n }\n`;\n\nexport const REVOKE_GGNOMAD_TICKET_MUTATION = gql`\n mutation RevokeGGNomadTicket($id: ID!, $reason: String) {\n revokeGgnomadTicket(id: $id, reason: $reason) {\n id\n status\n revokedAt\n revokedReason\n }\n }\n`;\n\n// Trip Plan Queries\nexport const GGNOMAD_TRIP_PLANS_QUERY = gql`\n query GGNomadTripPlans($limit: Int, $offset: Int) {\n ggnomadTripPlans(pagination: { limit: $limit, offset: $offset }) {\n id\n name\n description\n startDate\n endDate\n travelers\n status\n total\n itemCount\n createdAt\n }\n }\n`;\n\nexport const GGNOMAD_TRIP_PLAN_QUERY = gql`\n query GGNomadTripPlan($id: ID!) {\n ggnomadTripPlan(id: $id) {\n id\n name\n description\n startDate\n endDate\n travelers\n status\n total\n itemCount\n items {\n id\n itemType\n itemId\n itemName\n day\n scheduledAt\n price\n currency\n notes\n }\n createdAt\n updatedAt\n }\n }\n`;\n\n// Trip Plan Mutations\nexport const CREATE_GGNOMAD_TRIP_PLAN_MUTATION = gql`\n mutation CreateGGNomadTripPlan($input: CreateGgnomadTripPlanInput!) {\n createGgnomadTripPlan(input: $input) {\n id\n name\n description\n startDate\n endDate\n travelers\n status\n total\n itemCount\n createdAt\n }\n }\n`;\n\nexport const UPDATE_GGNOMAD_TRIP_PLAN_MUTATION = gql`\n mutation UpdateGGNomadTripPlan($id: ID!, $input: UpdateGgnomadTripPlanInput!) {\n updateGgnomadTripPlan(id: $id, input: $input) {\n id\n name\n description\n startDate\n endDate\n travelers\n status\n total\n itemCount\n updatedAt\n }\n }\n`;\n\nexport const DELETE_GGNOMAD_TRIP_PLAN_MUTATION = gql`\n mutation DeleteGGNomadTripPlan($id: ID!) {\n deleteGgnomadTripPlan(id: $id)\n }\n`;\n\nexport const ADD_GGNOMAD_TRIP_PLAN_ITEM_MUTATION = gql`\n mutation AddGGNomadTripPlanItem($tripPlanId: ID!, $input: AddGgnomadTripPlanItemInput!) {\n addGgnomadTripPlanItem(tripPlanId: $tripPlanId, input: $input) {\n id\n itemType\n itemId\n itemName\n day\n scheduledAt\n price\n currency\n notes\n }\n }\n`;\n\nexport const REMOVE_GGNOMAD_TRIP_PLAN_ITEM_MUTATION = gql`\n mutation RemoveGGNomadTripPlanItem($id: ID!) {\n removeGgnomadTripPlanItem(id: $id)\n }\n`;\n\nexport const CREATE_GGNOMAD_PROVIDER_MUTATION = gql`\n mutation CreateGGNomadProvider($input: CreateGgnomadProviderInput!) {\n createGgnomadProvider(input: $input) {\n id\n name\n type\n status\n listingCount\n totalRevenue\n rating\n reviewCount\n description\n contactEmail\n contactPhone\n website\n createdAt\n }\n }\n`;\n\n// Review Queries\nexport const GGNOMAD_REVIEW_SUMMARY_QUERY = gql`\n query GGNomadReviewSummary($targetType: GgnomadBookingType!, $targetId: String!) {\n ggnomadReviewSummary(targetType: $targetType, targetId: $targetId) {\n average\n count\n distribution\n }\n }\n`;\n\nexport const GGNOMAD_REVIEWS_QUERY = gql`\n query GGNomadReviews(\n $targetType: GgnomadBookingType!\n $targetId: String!\n $limit: Int\n $offset: Int\n ) {\n ggnomadReviews(\n targetType: $targetType\n targetId: $targetId\n pagination: { limit: $limit, offset: $offset }\n ) {\n id\n rating\n title\n content\n images\n isVerified\n helpfulCount\n response\n respondedAt\n createdAt\n }\n }\n`;\n\n// Review Mutations\nexport const CREATE_GGNOMAD_REVIEW_MUTATION = gql`\n mutation CreateGGNomadReview($input: CreateGgnomadReviewInput!) {\n createGgnomadReview(input: $input) {\n id\n rating\n title\n content\n }\n }\n`;\n\nexport const RESPOND_GGNOMAD_REVIEW_MUTATION = gql`\n mutation RespondGGNomadReview($id: ID!, $response: String!) {\n respondGgnomadReview(id: $id, response: $response) {\n id\n response\n respondedAt\n }\n }\n`;\n\n// Listing Edit Mutations\nexport const UPDATE_GGNOMAD_PROPERTY_MUTATION = gql`\n mutation UpdateGGNomadProperty($id: ID!, $input: UpdateGgnomadPropertyInput!) {\n updateGgnomadProperty(id: $id, input: $input) {\n id\n name\n description\n pricePerNight\n status\n images\n }\n }\n`;\n\nexport const UPDATE_GGNOMAD_TOUR_MUTATION = gql`\n mutation UpdateGGNomadTour($id: ID!, $input: UpdateGgnomadTourInput!) {\n updateGgnomadTour(id: $id, input: $input) {\n id\n name\n description\n price\n status\n images\n }\n }\n`;\n\nexport const UPDATE_GGNOMAD_EVENT_MUTATION = gql`\n mutation UpdateGGNomadEvent($id: ID!, $input: UpdateGgnomadEventInput!) {\n updateGgnomadEvent(id: $id, input: $input) {\n id\n name\n description\n price\n status\n images\n }\n }\n`;\n\nexport const UPDATE_GGNOMAD_ACTIVITY_MUTATION = gql`\n mutation UpdateGGNomadActivity($id: ID!, $input: UpdateGgnomadActivityInput!) {\n updateGgnomadActivity(id: $id, input: $input) {\n id\n name\n description\n price\n status\n images\n }\n }\n`;\n\n// Corporate travel management — policy, budgets, approvals (BOFF-4365)\nexport const GGNOMAD_TRAVEL_POLICIES_QUERY = gql`\n query GGNomadTravelPolicies($limit: Int, $offset: Int) {\n ggnomadTravelPolicies(pagination: { limit: $limit, offset: $offset }) {\n id\n name\n isActive\n costCenter\n currency\n maxBookingAmount\n maxMonthlyPerTraveler\n blockedDestinations\n allowedTravelClasses\n requireApprovalAlways\n createdAt\n }\n }\n`;\n\nexport const CREATE_GGNOMAD_TRAVEL_POLICY_MUTATION = gql`\n mutation CreateGGNomadTravelPolicy($input: CreateGgnomadTravelPolicyInput!) {\n createGgnomadTravelPolicy(input: $input) {\n id\n name\n isActive\n costCenter\n currency\n maxBookingAmount\n maxMonthlyPerTraveler\n blockedDestinations\n allowedTravelClasses\n requireApprovalAlways\n }\n }\n`;\n\nexport const UPDATE_GGNOMAD_TRAVEL_POLICY_MUTATION = gql`\n mutation UpdateGGNomadTravelPolicy($id: ID!, $input: UpdateGgnomadTravelPolicyInput!) {\n updateGgnomadTravelPolicy(id: $id, input: $input) {\n id\n isActive\n }\n }\n`;\n\nexport const DELETE_GGNOMAD_TRAVEL_POLICY_MUTATION = gql`\n mutation DeleteGGNomadTravelPolicy($id: ID!) {\n deleteGgnomadTravelPolicy(id: $id)\n }\n`;\n\nexport const GGNOMAD_BOOKING_APPROVALS_QUERY = gql`\n query GGNomadBookingApprovals($status: GgnomadApprovalStatus, $limit: Int, $offset: Int) {\n ggnomadBookingApprovals(status: $status, pagination: { limit: $limit, offset: $offset }) {\n id\n bookingId\n requestedBy\n costCenter\n reasons\n status\n reviewedBy\n reviewedAt\n reviewNote\n createdAt\n booking {\n id\n referenceCode\n itemName\n totalPrice\n currency\n status\n paymentStatus\n }\n }\n }\n`;\n\nexport const APPROVE_GGNOMAD_BOOKING_APPROVAL_MUTATION = gql`\n mutation ApproveGGNomadBookingApproval($id: ID!, $note: String) {\n approveGgnomadBookingApproval(id: $id, note: $note) {\n id\n status\n reviewedBy\n reviewedAt\n }\n }\n`;\n\nexport const REJECT_GGNOMAD_BOOKING_APPROVAL_MUTATION = gql`\n mutation RejectGGNomadBookingApproval($id: ID!, $reason: String!) {\n rejectGgnomadBookingApproval(id: $id, reason: $reason) {\n id\n status\n reviewedBy\n reviewedAt\n reviewNote\n }\n }\n`;\n\nexport const GGNOMAD_SPEND_SUMMARY_QUERY = gql`\n query GGNomadSpendSummary($costCenter: String) {\n ggnomadSpendSummary(costCenter: $costCenter) {\n totalSpend\n bookingCount\n pendingApprovalCount\n pendingApprovalAmount\n byCostCenter\n }\n }\n`;\n\n// ─── BOFF-4388 — listing verification + booking lifecycle operations queue ─\n\nconst LISTING_QUEUE_FIELDS = `\n __typename\n ... on GgnomadProperty {\n id\n name\n status\n pricePerNight\n currency\n providerId\n updatedAt\n }\n ... on GgnomadTour {\n id\n name\n status\n price\n currency\n providerId\n updatedAt\n }\n ... on GgnomadEvent {\n id\n name\n status\n price\n currency\n providerId\n updatedAt\n }\n ... on GgnomadActivity {\n id\n name\n status\n price\n currency\n providerId\n updatedAt\n }\n`;\n\nexport const GGNOMAD_LISTING_REVIEW_QUEUE_QUERY = gql`\n query GGNomadListingReviewQueue($limit: Int, $offset: Int) {\n ggnomadListingReviewQueue(pagination: { limit: $limit, offset: $offset }) {\n ${LISTING_QUEUE_FIELDS}\n }\n }\n`;\n\nexport const SUBMIT_GGNOMAD_LISTING_FOR_REVIEW_MUTATION = gql`\n mutation SubmitGGNomadListingForReview($listingType: GgnomadListingType!, $id: ID!) {\n submitGgnomadListingForReview(listingType: $listingType, id: $id) {\n ${LISTING_QUEUE_FIELDS}\n }\n }\n`;\n\nexport const APPROVE_GGNOMAD_LISTING_MUTATION = gql`\n mutation ApproveGGNomadListing($listingType: GgnomadListingType!, $id: ID!, $note: String) {\n approveGgnomadListing(listingType: $listingType, id: $id, note: $note) {\n ${LISTING_QUEUE_FIELDS}\n }\n }\n`;\n\nexport const REJECT_GGNOMAD_LISTING_MUTATION = gql`\n mutation RejectGGNomadListing($listingType: GgnomadListingType!, $id: ID!, $reason: String!) {\n rejectGgnomadListing(listingType: $listingType, id: $id, reason: $reason) {\n ${LISTING_QUEUE_FIELDS}\n }\n }\n`;\n\nexport const PAUSE_GGNOMAD_LISTING_MUTATION = gql`\n mutation PauseGGNomadListing($listingType: GgnomadListingType!, $id: ID!, $reason: String) {\n pauseGgnomadListing(listingType: $listingType, id: $id, reason: $reason) {\n ${LISTING_QUEUE_FIELDS}\n }\n }\n`;\n\nexport const RESUME_GGNOMAD_LISTING_MUTATION = gql`\n mutation ResumeGGNomadListing($listingType: GgnomadListingType!, $id: ID!) {\n resumeGgnomadListing(listingType: $listingType, id: $id) {\n ${LISTING_QUEUE_FIELDS}\n }\n }\n`;\n\nexport const ARCHIVE_GGNOMAD_LISTING_MUTATION = gql`\n mutation ArchiveGGNomadListing($listingType: GgnomadListingType!, $id: ID!, $reason: String) {\n archiveGgnomadListing(listingType: $listingType, id: $id, reason: $reason) {\n ${LISTING_QUEUE_FIELDS}\n }\n }\n`;\n\nexport const GGNOMAD_BOOKING_QUEUE_QUERY = gql`\n query GGNomadBookingQueue($limit: Int, $offset: Int) {\n ggnomadBookingQueue(pagination: { limit: $limit, offset: $offset }) {\n id\n referenceCode\n bookingType\n status\n itemName\n guestName\n guests\n checkIn\n checkOut\n eventDate\n totalPrice\n currency\n createdAt\n }\n }\n`;\n\nexport const CHECK_IN_GGNOMAD_BOOKING_MUTATION = gql`\n mutation CheckInGGNomadBooking($id: ID!) {\n checkInGgnomadBooking(id: $id) {\n id\n status\n }\n }\n`;\n\nexport const COMPLETE_GGNOMAD_BOOKING_MUTATION = gql`\n mutation CompleteGGNomadBooking($id: ID!) {\n completeGgnomadBooking(id: $id) {\n id\n status\n }\n }\n`;\n\nexport const MARK_GGNOMAD_BOOKING_NO_SHOW_MUTATION = gql`\n mutation MarkGGNomadBookingNoShow($id: ID!, $reason: String) {\n markGgnomadBookingNoShow(id: $id, reason: $reason) {\n id\n status\n }\n }\n`;\n\nexport const GGNOMAD_AUDIT_LOG_QUERY = gql`\n query GGNomadAuditLog($entityType: String!, $entityId: String!, $limit: Int, $offset: Int) {\n ggnomadAuditLog(\n entityType: $entityType\n entityId: $entityId\n pagination: { limit: $limit, offset: $offset }\n ) {\n id\n action\n fromStatus\n toStatus\n reason\n actorId\n createdAt\n }\n }\n`;\n\n/**\n * BOFF-10248 — ggnomadAuditLog returns history only to the people involved in\n * an entity (a booking's traveler or host, a listing's owner). Operators\n * (ggnomad:manage) read any entity's history through this field.\n */\nexport const GGNOMAD_WORKSPACE_AUDIT_LOG_QUERY = gql`\n query GGNomadWorkspaceAuditLog(\n $entityType: String!\n $entityId: String!\n $limit: Int\n $offset: Int\n ) {\n ggnomadWorkspaceAuditLog(\n entityType: $entityType\n entityId: $entityId\n pagination: { limit: $limit, offset: $offset }\n ) {\n id\n action\n fromStatus\n toStatus\n reason\n actorId\n createdAt\n }\n }\n`;\n\n// ─── BOFF-4390 — provider analytics dashboards ─────────────────────────────\n\nexport const GGNOMAD_MY_PROVIDERS_QUERY = gql`\n query GGNomadMyProviders {\n myGgnomadProviders {\n id\n name\n type\n status\n }\n }\n`;\n\nexport const GGNOMAD_MY_PROVIDER_ANALYTICS_QUERY = gql`\n query GGNomadMyProviderAnalytics(\n $providerId: ID!\n $dateFrom: DateTime\n $dateTo: DateTime\n $granularity: String\n ) {\n myGgnomadProviderAnalytics(\n providerId: $providerId\n dateFrom: $dateFrom\n dateTo: $dateTo\n granularity: $granularity\n ) {\n providerId\n providerName\n dateFrom\n dateTo\n granularity\n totalBookings\n totalRevenue\n cancelledBookings\n cancellationRate\n capacityUtilizationRate\n bookingsOverTime {\n period\n bookings\n revenue\n }\n topListings {\n listingId\n listingType\n listingName\n bookings\n revenue\n cancellationRate\n capacityUtilizationRate\n }\n }\n }\n`;\n\n// ─── BOFF-4363 — white-label operator storefront ───────────────────────────\n\nexport const GGNOMAD_OPERATOR_STOREFRONT_QUERY = gql`\n query GGNomadOperatorStorefront($providerId: ID!) {\n ggnomadOperatorStorefront(providerId: $providerId) {\n id\n providerId\n slug\n displayName\n logoUrl\n primaryColor\n aboutText\n isPublished\n publishedAt\n }\n }\n`;\n\nexport const GGNOMAD_STOREFRONT_BY_SLUG_QUERY = gql`\n query GGNomadStorefrontBySlug($workspaceId: ID!, $slug: String!) {\n ggnomadStorefrontBySlug(workspaceId: $workspaceId, slug: $slug) {\n storefront {\n id\n displayName\n logoUrl\n primaryColor\n aboutText\n publishedAt\n }\n properties {\n id\n name\n pricePerNight\n currency\n images\n rating\n sustainabilityScore\n }\n tours {\n id\n name\n price\n currency\n images\n rating\n sustainabilityScore\n }\n events {\n id\n name\n price\n currency\n images\n startsAt\n sustainabilityScore\n }\n activities {\n id\n name\n price\n currency\n images\n rating\n sustainabilityScore\n }\n }\n }\n`;\n\nexport const CREATE_GGNOMAD_OPERATOR_STOREFRONT_MUTATION = gql`\n mutation CreateGGNomadOperatorStorefront($input: CreateGgnomadOperatorStorefrontInput!) {\n createGgnomadOperatorStorefront(input: $input) {\n id\n providerId\n slug\n displayName\n logoUrl\n primaryColor\n aboutText\n isPublished\n publishedAt\n }\n }\n`;\n\nexport const UPDATE_GGNOMAD_OPERATOR_STOREFRONT_MUTATION = gql`\n mutation UpdateGGNomadOperatorStorefront(\n $id: ID!\n $input: UpdateGgnomadOperatorStorefrontInput!\n ) {\n updateGgnomadOperatorStorefront(id: $id, input: $input) {\n id\n providerId\n slug\n displayName\n logoUrl\n primaryColor\n aboutText\n isPublished\n publishedAt\n }\n }\n`;\n\nexport const PUBLISH_GGNOMAD_OPERATOR_STOREFRONT_MUTATION = gql`\n mutation PublishGGNomadOperatorStorefront($id: ID!) {\n publishGgnomadOperatorStorefront(id: $id) {\n id\n isPublished\n publishedAt\n }\n }\n`;\n\nexport const UNPUBLISH_GGNOMAD_OPERATOR_STOREFRONT_MUTATION = gql`\n mutation UnpublishGGNomadOperatorStorefront($id: ID!) {\n unpublishGgnomadOperatorStorefront(id: $id) {\n id\n isPublished\n publishedAt\n }\n }\n`;\n\n// ─── BOFF-4361 — real-time availability slots for one listing ──────────────\n\nexport const GGNOMAD_BOOKING_SLOTS_QUERY = gql`\n query GGNomadBookingSlots(\n $listingId: ID!\n $listingType: GgnomadListingType!\n $dateFrom: DateTime\n $onlyAvailable: Boolean\n $limit: Int\n $offset: Int\n ) {\n ggnomadBookingSlots(\n listingId: $listingId\n listingType: $listingType\n dateFrom: $dateFrom\n onlyAvailable: $onlyAvailable\n pagination: { limit: $limit, offset: $offset }\n ) {\n id\n startAt\n endAt\n capacity\n bookedCount\n remainingCapacity\n isActive\n }\n }\n`;\n\n// ─── BOFF-4406 — transport inventory search + booking a searched leg ───────\n\nexport const GGNOMAD_TRANSPORT_SEARCH_QUERY = gql`\n query GGNomadTransportSearch($input: SearchGgnomadTransportInput!) {\n searchGgnomadTransport(input: $input) {\n offerId\n origin\n destination\n transportMode\n departureAt\n arrivalAt\n returnDepartureAt\n returnArrivalAt\n isRoundTrip\n carrier\n carrierCode\n class\n price\n currency\n passengers\n stops\n durationMinutes\n ecoFriendly\n co2Emissions\n providerName\n }\n }\n`;\n\nexport const CREATE_GGNOMAD_TRIP_MUTATION = gql`\n mutation CreateGGNomadTrip($input: CreateGgnomadTripInput!) {\n createGgnomadTrip(input: $input) {\n id\n name\n status\n transportMode\n departureAt\n arrivalAt\n price\n currency\n }\n }\n`;\n\n// ─── BOFF-4374 — group trips: members, item votes, cost split ──────────────\n\nexport const GGNOMAD_MY_GROUP_TRIPS_QUERY = gql`\n query GGNomadMyGroupTrips {\n myGgnomadGroupTrips {\n id\n name\n tripPlanId\n splitMethod\n currency\n createdBy\n createdAt\n members {\n id\n actorId\n displayName\n email\n createdAt\n }\n }\n }\n`;\n\nexport const GGNOMAD_GROUP_TRIP_COST_SPLIT_QUERY = gql`\n query GGNomadGroupTripCostSplit($groupTripId: ID!) {\n ggnomadGroupTripCostSplit(groupTripId: $groupTripId) {\n currency\n totalCost\n splitMethod\n shares {\n memberId\n actorId\n displayName\n amountOwed\n assignedTotal\n sharedTotal\n }\n }\n }\n`;\n\nexport const GGNOMAD_GROUP_TRIP_VOTES_QUERY = gql`\n query GGNomadGroupTripVotes($groupTripId: ID!) {\n ggnomadGroupTripVotes(groupTripId: $groupTripId) {\n tripPlanItemId\n yes\n no\n abstain\n votes {\n id\n actorId\n choice\n comment\n createdAt\n }\n }\n }\n`;\n\nexport const CREATE_GGNOMAD_GROUP_TRIP_MUTATION = gql`\n mutation CreateGGNomadGroupTrip($input: CreateGgnomadGroupTripInput!) {\n createGgnomadGroupTrip(input: $input) {\n id\n name\n tripPlanId\n splitMethod\n currency\n }\n }\n`;\n\nexport const ADD_GGNOMAD_GROUP_TRIP_MEMBER_MUTATION = gql`\n mutation AddGGNomadGroupTripMember($groupTripId: ID!, $input: AddGgnomadGroupTripMemberInput!) {\n addGgnomadGroupTripMember(groupTripId: $groupTripId, input: $input) {\n id\n actorId\n displayName\n email\n }\n }\n`;\n\nexport const REMOVE_GGNOMAD_GROUP_TRIP_MEMBER_MUTATION = gql`\n mutation RemoveGGNomadGroupTripMember($groupTripId: ID!, $memberId: ID!) {\n removeGgnomadGroupTripMember(groupTripId: $groupTripId, memberId: $memberId)\n }\n`;\n\nexport const VOTE_GGNOMAD_TRIP_PLAN_ITEM_MUTATION = gql`\n mutation VoteGGNomadTripPlanItem($groupTripId: ID!, $input: VoteGgnomadTripPlanItemInput!) {\n voteGgnomadTripPlanItem(groupTripId: $groupTripId, input: $input) {\n id\n tripPlanItemId\n choice\n comment\n }\n }\n`;\n"],"mappings":"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"}
|