@fusebase/fusebase-gate-sdk 2.3.32-sdk.3 → 2.3.34-sdk.0
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/apis/AppMagicLinksApi.d.ts +27 -1
- package/dist/apis/AppMagicLinksApi.js +29 -0
- package/dist/types/app-magic-link/app-magic-link.d.ts +60 -0
- package/dist/types/index.d.ts +1 -1
- package/package.json +1 -1
- package/release-notes/2.3.34-sdk.0.md +9 -0
- package/release-notes/latest.md +3 -3
- package/release-notes/2.3.32-sdk.3.md +0 -9
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Domain: app-magic-links
|
|
6
6
|
*/
|
|
7
7
|
import type { Client } from "../runtime/transport";
|
|
8
|
-
import type { ActivateAppMagicLinkResponseContract, BulkCreateAppMagicLinksRequestContract, BulkCreateAppMagicLinksResponseContract, CreateAppMagicLinkRequestContract, CreateAppMagicLinkResponseContract, orgIdInPathRequired, RequestAppMagicLinkRequestContract, RequestAppMagicLinkResponseContract } from "../types";
|
|
8
|
+
import type { ActivateAppMagicLinkResponseContract, BulkCreateAppMagicLinksRequestContract, BulkCreateAppMagicLinksResponseContract, CreateAppMagicLinkRequestContract, CreateAppMagicLinkResponseContract, ListAppMagicLinksResponseContract, orgIdInPathRequired, RequestAppMagicLinkRequestContract, RequestAppMagicLinkResponseContract, RevokeAppMagicLinkResponseContract } from "../types";
|
|
9
9
|
export declare class AppMagicLinksApi {
|
|
10
10
|
private client;
|
|
11
11
|
constructor(client: Client);
|
|
@@ -43,6 +43,20 @@ export declare class AppMagicLinksApi {
|
|
|
43
43
|
headers?: Record<string, string>;
|
|
44
44
|
body: CreateAppMagicLinkRequestContract;
|
|
45
45
|
}): Promise<CreateAppMagicLinkResponseContract>;
|
|
46
|
+
/**
|
|
47
|
+
* List app magic links (support/debug)
|
|
48
|
+
* Owner/admin support/debug flow. Lists the app's active (non-revoked) magic links, newest first, with an optional email filter. Never returns token material — only row metadata (email, mode, redirectPath, timestamps). Pair with revokeAppMagicLink to find and clear an orphaned invite. Requires app_magic_link.write and org access. appId is the Product id.
|
|
49
|
+
*/
|
|
50
|
+
listAppMagicLinks(params: {
|
|
51
|
+
path: {
|
|
52
|
+
orgId: orgIdInPathRequired;
|
|
53
|
+
appId: string;
|
|
54
|
+
};
|
|
55
|
+
query?: {
|
|
56
|
+
email?: string;
|
|
57
|
+
};
|
|
58
|
+
headers?: Record<string, string>;
|
|
59
|
+
}): Promise<ListAppMagicLinksResponseContract>;
|
|
46
60
|
/**
|
|
47
61
|
* Request an app magic link (visitor self-service flow)
|
|
48
62
|
* Unauthenticated visitor flow. The link is dispatched only when the email already has access to the app under its current accessPrincipals; otherwise the call is a no-op. Always returns 200 with `{ ok: true }` so the response cannot be used to enumerate emails or access. Apply per-IP rate limiting upstream of this call.
|
|
@@ -54,4 +68,16 @@ export declare class AppMagicLinksApi {
|
|
|
54
68
|
headers?: Record<string, string>;
|
|
55
69
|
body: RequestAppMagicLinkRequestContract;
|
|
56
70
|
}): Promise<RequestAppMagicLinkResponseContract>;
|
|
71
|
+
/**
|
|
72
|
+
* Revoke an app magic link
|
|
73
|
+
* Owner/admin revoke flow. Soft-deletes the magic link identified by globalId so it can no longer be activated (activation then returns 404) and the recipient email can be invited again — the fix for orphaned invites that block re-invites for 24h. Returns 404 when the link does not exist under the org/app on the path or is already revoked. Requires app_magic_link.write and org access. appId is the Product id.
|
|
74
|
+
*/
|
|
75
|
+
revokeAppMagicLink(params: {
|
|
76
|
+
path: {
|
|
77
|
+
orgId: orgIdInPathRequired;
|
|
78
|
+
appId: string;
|
|
79
|
+
globalId: string;
|
|
80
|
+
};
|
|
81
|
+
headers?: Record<string, string>;
|
|
82
|
+
}): Promise<RevokeAppMagicLinkResponseContract>;
|
|
57
83
|
}
|
|
@@ -55,6 +55,21 @@ class AppMagicLinksApi {
|
|
|
55
55
|
expectedContentType: "application/json",
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* List app magic links (support/debug)
|
|
60
|
+
* Owner/admin support/debug flow. Lists the app's active (non-revoked) magic links, newest first, with an optional email filter. Never returns token material — only row metadata (email, mode, redirectPath, timestamps). Pair with revokeAppMagicLink to find and clear an orphaned invite. Requires app_magic_link.write and org access. appId is the Product id.
|
|
61
|
+
*/
|
|
62
|
+
async listAppMagicLinks(params) {
|
|
63
|
+
return this.client.request({
|
|
64
|
+
method: "GET",
|
|
65
|
+
path: "/:orgId/apps/:appId/magic-links",
|
|
66
|
+
pathParams: params.path,
|
|
67
|
+
query: params.query,
|
|
68
|
+
headers: params.headers,
|
|
69
|
+
opId: "listAppMagicLinks",
|
|
70
|
+
expectedContentType: "application/json",
|
|
71
|
+
});
|
|
72
|
+
}
|
|
58
73
|
/**
|
|
59
74
|
* Request an app magic link (visitor self-service flow)
|
|
60
75
|
* Unauthenticated visitor flow. The link is dispatched only when the email already has access to the app under its current accessPrincipals; otherwise the call is a no-op. Always returns 200 with `{ ok: true }` so the response cannot be used to enumerate emails or access. Apply per-IP rate limiting upstream of this call.
|
|
@@ -70,5 +85,19 @@ class AppMagicLinksApi {
|
|
|
70
85
|
expectedContentType: "application/json",
|
|
71
86
|
});
|
|
72
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Revoke an app magic link
|
|
90
|
+
* Owner/admin revoke flow. Soft-deletes the magic link identified by globalId so it can no longer be activated (activation then returns 404) and the recipient email can be invited again — the fix for orphaned invites that block re-invites for 24h. Returns 404 when the link does not exist under the org/app on the path or is already revoked. Requires app_magic_link.write and org access. appId is the Product id.
|
|
91
|
+
*/
|
|
92
|
+
async revokeAppMagicLink(params) {
|
|
93
|
+
return this.client.request({
|
|
94
|
+
method: "POST",
|
|
95
|
+
path: "/:orgId/apps/:appId/magic-links/:globalId/revoke",
|
|
96
|
+
pathParams: params.path,
|
|
97
|
+
headers: params.headers,
|
|
98
|
+
opId: "revokeAppMagicLink",
|
|
99
|
+
expectedContentType: "application/json",
|
|
100
|
+
});
|
|
101
|
+
}
|
|
73
102
|
}
|
|
74
103
|
exports.AppMagicLinksApi = AppMagicLinksApi;
|
|
@@ -122,6 +122,66 @@ export interface ActivateAppMagicLinkResponseContract {
|
|
|
122
122
|
*/
|
|
123
123
|
appFeatureId: string;
|
|
124
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* Response body for revokeAppMagicLink.
|
|
127
|
+
*/
|
|
128
|
+
export interface RevokeAppMagicLinkResponseContract {
|
|
129
|
+
/** Always true on success. */
|
|
130
|
+
ok: boolean;
|
|
131
|
+
/** globalId of the revoked magic link. */
|
|
132
|
+
id: string;
|
|
133
|
+
/**
|
|
134
|
+
* Unix timestamp (seconds) when the link was revoked (its deletedAt value).
|
|
135
|
+
*/
|
|
136
|
+
revokedAt: number;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* A single app magic-link row in the support/debug listing. Never carries token
|
|
140
|
+
* material — only metadata safe for an owner/support view.
|
|
141
|
+
*/
|
|
142
|
+
export interface AppMagicLinkSummaryContract {
|
|
143
|
+
/** globalId of the magic link row. */
|
|
144
|
+
id: string;
|
|
145
|
+
/**
|
|
146
|
+
* Recipient email the link was issued to.
|
|
147
|
+
* @nullable true
|
|
148
|
+
*/
|
|
149
|
+
email?: string | null;
|
|
150
|
+
/** How the link was created: `invite` (owner/admin) or `self_service`. */
|
|
151
|
+
mode: string;
|
|
152
|
+
/**
|
|
153
|
+
* Relative app path the recipient lands on after activation, or null for root.
|
|
154
|
+
* @nullable true
|
|
155
|
+
*/
|
|
156
|
+
redirectPath?: string | null;
|
|
157
|
+
/**
|
|
158
|
+
* Child app (feature) globalId the link is scoped to; null for legacy rows.
|
|
159
|
+
* @nullable true
|
|
160
|
+
*/
|
|
161
|
+
appFeatureId?: string | null;
|
|
162
|
+
/**
|
|
163
|
+
* User id of the owner/admin who created the invite; null for self-service.
|
|
164
|
+
* @nullable true
|
|
165
|
+
*/
|
|
166
|
+
createdByUserId?: number | null;
|
|
167
|
+
/** Unix timestamp (seconds) when the link expires. */
|
|
168
|
+
expiresAt: number;
|
|
169
|
+
/**
|
|
170
|
+
* Unix timestamp (seconds) of the most recent activation, or null if never
|
|
171
|
+
* activated.
|
|
172
|
+
* @nullable true
|
|
173
|
+
*/
|
|
174
|
+
usedAt?: number | null;
|
|
175
|
+
/** Unix timestamp (seconds) when the link was created. */
|
|
176
|
+
createdAt: number;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Response body for listAppMagicLinks (support/debug).
|
|
180
|
+
*/
|
|
181
|
+
export interface ListAppMagicLinksResponseContract {
|
|
182
|
+
/** Active (non-revoked) magic links for the product, newest first. */
|
|
183
|
+
links: AppMagicLinkSummaryContract[];
|
|
184
|
+
}
|
|
125
185
|
/** A single invitee in a bulk app magic-link request. */
|
|
126
186
|
export interface BulkAppMagicLinkInvitationContract {
|
|
127
187
|
/**
|
package/dist/types/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
export type { AuthenticatedUserSummaryContract, MyOrgAccessResponseContract } from "./access/access";
|
|
8
8
|
export type { AppApiOperationContract, AppApiOperationListResponseContract, CallAppApiRequestContract, CallAppApiResponseContract, PublishedAppContract, PublishedAppListResponseContract, VerifyAppApiContractsRequestContract, VerifyAppApiContractsResponseContract, VerifyCaseResultContract } from "./app-api/app-api";
|
|
9
9
|
export type { AppPortalEmbedContract, ListAppPortalEmbedsResponseContract } from "./app-embed-targets/app-embed-targets";
|
|
10
|
-
export type { ActivateAppMagicLinkResponseContract, BulkAppMagicLinkInvitationContract, BulkAppMagicLinkResultItemContract, BulkCreateAppMagicLinksRequestContract, BulkCreateAppMagicLinksResponseContract, CreateAppClientInviteRequestContract, CreateAppMagicLinkRequestContract, CreateAppMagicLinkResponseContract, RequestAppMagicLinkRequestContract, RequestAppMagicLinkResponseContract } from "./app-magic-link/app-magic-link";
|
|
10
|
+
export type { ActivateAppMagicLinkResponseContract, AppMagicLinkSummaryContract, BulkAppMagicLinkInvitationContract, BulkAppMagicLinkResultItemContract, BulkCreateAppMagicLinksRequestContract, BulkCreateAppMagicLinksResponseContract, CreateAppClientInviteRequestContract, CreateAppMagicLinkRequestContract, CreateAppMagicLinkResponseContract, ListAppMagicLinksResponseContract, RequestAppMagicLinkRequestContract, RequestAppMagicLinkResponseContract, RevokeAppMagicLinkResponseContract } from "./app-magic-link/app-magic-link";
|
|
11
11
|
export * from "./billing/billing";
|
|
12
12
|
export type { OrgEmailSendRequestContract, OrgEmailSendResponseContract } from "./email/email";
|
|
13
13
|
export * from "./file/file";
|
package/package.json
CHANGED
package/release-notes/latest.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# Release Notes 2.3.
|
|
1
|
+
# Release Notes 2.3.34-sdk.0
|
|
2
2
|
|
|
3
3
|
- Current ref: `HEAD`
|
|
4
|
-
- Previous tag: `v2.3.
|
|
5
|
-
- Generated at: 2026-07-
|
|
4
|
+
- Previous tag: `v2.3.34-sdk.0`
|
|
5
|
+
- Generated at: 2026-07-20T11:13:33.778Z
|
|
6
6
|
|
|
7
7
|
## Included Drafts
|
|
8
8
|
|