@intelligo-dev/auth 1.0.0-beta.2 → 1.0.0-beta.5
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/README.md +39 -0
- package/dist/helpers.js +8 -8
- package/dist/helpers.js.map +1 -1
- package/dist/impersonation.js +4 -4
- package/dist/impersonation.js.map +1 -1
- package/dist/index.js +18 -18
- package/dist/onboarding/schemas.js +4 -5
- package/dist/onboarding/schemas.js.map +1 -1
- package/dist/onboarding/service.js +6 -6
- package/dist/org-api.js +10 -10
- package/dist/profile/schemas.js +2 -3
- package/dist/profile/schemas.js.map +1 -1
- package/dist/profile/service.js +9 -9
- package/dist/profile/service.js.map +1 -1
- package/dist/server.js +23 -7
- package/dist/server.js.map +1 -1
- package/dist/team/schemas.js +2 -2
- package/dist/team/service.js +24 -24
- package/dist/team/service.js.map +1 -1
- package/dist/trusted-origins.js +31 -0
- package/dist/trusted-origins.js.map +1 -0
- package/dist/workspace/schemas.js +2 -2
- package/dist/workspace/service.js +18 -18
- package/dist/workspace/service.js.map +1 -1
- package/dist/workspace-init.js +1 -1
- package/package.json +17 -10
- package/src/helpers.ts +6 -6
- package/src/impersonation.ts +3 -3
- package/src/onboarding/schemas.ts +4 -5
- package/src/onboarding/service.ts +3 -3
- package/src/org-api.ts +9 -9
- package/src/profile/schemas.ts +2 -3
- package/src/profile/service.ts +5 -5
- package/src/server.ts +24 -7
- package/src/team/schemas.ts +2 -2
- package/src/team/service.ts +20 -20
- package/src/trusted-origins.ts +32 -0
- package/src/workspace/schemas.ts +2 -2
- package/src/workspace/service.ts +13 -13
package/dist/team/service.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Team management service — the durable business rules behind
|
|
3
|
-
* workspace membership and invitations,
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* workspace membership and invitations, lifted out of the first
|
|
4
|
+
* product's team actions (first slice of the page/registry migration,
|
|
5
|
+
* section C1).
|
|
6
6
|
*
|
|
7
7
|
* Mirrors `createExecutions(ports)` (packages/executions/src/lifecycle.ts):
|
|
8
8
|
* a factory over optional ports, so this package's allowlisted
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
* option, the hook fires on every `inviteMember()` call this service
|
|
39
39
|
* makes — there is no code path where it does not.
|
|
40
40
|
*
|
|
41
|
-
*
|
|
41
|
+
* The product's original `actions/team.ts` ALSO called
|
|
42
42
|
* `@intelligo-dev/core/email`'s `sendInvitationEmail` directly after the
|
|
43
43
|
* same `/organization/invite-member` call. That means **two** emails
|
|
44
44
|
* go out per invitation today. This is a live duplication bug, not a
|
|
@@ -71,13 +71,13 @@
|
|
|
71
71
|
* resolved `workspace.id` (or, in `acceptInvitation`, the invitation's
|
|
72
72
|
* own `organizationId`).
|
|
73
73
|
*/
|
|
74
|
-
import {
|
|
74
|
+
import { getRequestHeaders } from "@intelligo-dev/core/request-context";
|
|
75
75
|
import { createLogger } from "@intelligo-dev/core/logger";
|
|
76
|
-
import { auth } from "../server";
|
|
77
|
-
import { requireAuth, requireRole, requireWorkspace } from "../helpers";
|
|
78
|
-
import { orgApi } from "../org-api";
|
|
79
|
-
import { inviteMemberSchema, updateRoleSchema } from "./schemas";
|
|
80
|
-
import { TeamServiceError, isTeamServiceError } from "./errors";
|
|
76
|
+
import { auth } from "../server.js";
|
|
77
|
+
import { requireAuth, requireRole, requireWorkspace } from "../helpers.js";
|
|
78
|
+
import { orgApi } from "../org-api.js";
|
|
79
|
+
import { inviteMemberSchema, updateRoleSchema } from "./schemas.js";
|
|
80
|
+
import { TeamServiceError, isTeamServiceError } from "./errors.js";
|
|
81
81
|
const log = createLogger("TeamService");
|
|
82
82
|
function errorMessage(error) {
|
|
83
83
|
return error instanceof Error ? error.message : String(error);
|
|
@@ -140,7 +140,7 @@ export function createTeamService(ports = {}) {
|
|
|
140
140
|
*/
|
|
141
141
|
async function listMembers() {
|
|
142
142
|
const { workspace } = await callRequireWorkspace();
|
|
143
|
-
const hdrs = await
|
|
143
|
+
const hdrs = await getRequestHeaders();
|
|
144
144
|
const org = await callOrgApi("getFullOrganization", () => auth.api.getFullOrganization({
|
|
145
145
|
headers: hdrs,
|
|
146
146
|
query: { organizationId: workspace.id },
|
|
@@ -152,7 +152,7 @@ export function createTeamService(ports = {}) {
|
|
|
152
152
|
*/
|
|
153
153
|
async function listInvitations() {
|
|
154
154
|
const { workspace } = await callRequireWorkspace();
|
|
155
|
-
const hdrs = await
|
|
155
|
+
const hdrs = await getRequestHeaders();
|
|
156
156
|
const org = await callOrgApi("getFullOrganization", () => auth.api.getFullOrganization({
|
|
157
157
|
headers: hdrs,
|
|
158
158
|
query: { organizationId: workspace.id },
|
|
@@ -169,7 +169,7 @@ export function createTeamService(ports = {}) {
|
|
|
169
169
|
async function inviteMember(input) {
|
|
170
170
|
const { workspace, user } = await callRequireRole(["owner", "admin"]);
|
|
171
171
|
const validated = parseInput(inviteMemberSchema, input);
|
|
172
|
-
const hdrs = await
|
|
172
|
+
const hdrs = await getRequestHeaders();
|
|
173
173
|
// Check team member limit (FLAG-05), via port only.
|
|
174
174
|
if (ports.checkMemberLimit) {
|
|
175
175
|
const org = await callOrgApi("getFullOrganization", () => auth.api.getFullOrganization({
|
|
@@ -184,7 +184,7 @@ export function createTeamService(ports = {}) {
|
|
|
184
184
|
}
|
|
185
185
|
// Better-Auth's own duplicate-pending-invite guard
|
|
186
186
|
// (USER_IS_ALREADY_INVITED_TO_THIS_ORGANIZATION) runs inside this
|
|
187
|
-
// call and surfaces as a provider_error if tripped —
|
|
187
|
+
// call and surfaces as a provider_error if tripped — the original
|
|
188
188
|
// action never added a second check on top of it, so neither does
|
|
189
189
|
// this service.
|
|
190
190
|
const result = await callOrgApi("invite-member", () => orgApi["/organization/invite-member"]({
|
|
@@ -225,7 +225,7 @@ export function createTeamService(ports = {}) {
|
|
|
225
225
|
*/
|
|
226
226
|
async function acceptInvitation(invitationId) {
|
|
227
227
|
const { user } = await callRequireAuth();
|
|
228
|
-
const hdrs = await
|
|
228
|
+
const hdrs = await getRequestHeaders();
|
|
229
229
|
if (typeof invitationId !== "string" || invitationId.length === 0) {
|
|
230
230
|
throw new TeamServiceError("invalid_input", "Invalid invitation id");
|
|
231
231
|
}
|
|
@@ -259,7 +259,7 @@ export function createTeamService(ports = {}) {
|
|
|
259
259
|
//
|
|
260
260
|
// Reuses `targetOrg` from the post-check above (scoped to
|
|
261
261
|
// `matched.organizationId`, the org the caller just joined) rather
|
|
262
|
-
// than re-fetching "the active org" the way
|
|
262
|
+
// than re-fetching "the active org" the way the original
|
|
263
263
|
// action did: Better-Auth's org plugin needs a
|
|
264
264
|
// `sessions.activeOrganizationId` column to resolve an org from
|
|
265
265
|
// headers alone, and this repo's Drizzle schema for `sessions`
|
|
@@ -306,7 +306,7 @@ export function createTeamService(ports = {}) {
|
|
|
306
306
|
*/
|
|
307
307
|
async function rejectInvitation(invitationId) {
|
|
308
308
|
await callRequireAuth();
|
|
309
|
-
const hdrs = await
|
|
309
|
+
const hdrs = await getRequestHeaders();
|
|
310
310
|
if (typeof invitationId !== "string" || invitationId.length === 0) {
|
|
311
311
|
throw new TeamServiceError("invalid_input", "Invalid invitation id");
|
|
312
312
|
}
|
|
@@ -324,7 +324,7 @@ export function createTeamService(ports = {}) {
|
|
|
324
324
|
*/
|
|
325
325
|
async function cancelInvitation(invitationId) {
|
|
326
326
|
await callRequireRole(["owner", "admin"]);
|
|
327
|
-
const hdrs = await
|
|
327
|
+
const hdrs = await getRequestHeaders();
|
|
328
328
|
await callOrgApi("cancel-invitation", () => orgApi["/organization/cancel-invitation"]({
|
|
329
329
|
headers: hdrs,
|
|
330
330
|
body: { invitationId },
|
|
@@ -335,7 +335,7 @@ export function createTeamService(ports = {}) {
|
|
|
335
335
|
*/
|
|
336
336
|
async function removeMember(memberId) {
|
|
337
337
|
const { workspace } = await callRequireRole(["owner", "admin"]);
|
|
338
|
-
const hdrs = await
|
|
338
|
+
const hdrs = await getRequestHeaders();
|
|
339
339
|
await callOrgApi("remove-member", () => orgApi["/organization/remove-member"]({
|
|
340
340
|
headers: hdrs,
|
|
341
341
|
body: { memberIdOrEmail: memberId, organizationId: workspace.id },
|
|
@@ -347,7 +347,7 @@ export function createTeamService(ports = {}) {
|
|
|
347
347
|
async function updateMemberRole(input) {
|
|
348
348
|
const { workspace } = await callRequireRole(["owner", "admin"]);
|
|
349
349
|
const validated = parseInput(updateRoleSchema, input);
|
|
350
|
-
const hdrs = await
|
|
350
|
+
const hdrs = await getRequestHeaders();
|
|
351
351
|
await callOrgApi("update-member-role", () => orgApi["/organization/update-member-role"]({
|
|
352
352
|
headers: hdrs,
|
|
353
353
|
body: {
|
|
@@ -363,7 +363,7 @@ export function createTeamService(ports = {}) {
|
|
|
363
363
|
*/
|
|
364
364
|
async function leaveWorkspace() {
|
|
365
365
|
const { workspace, membership } = await callRequireWorkspace();
|
|
366
|
-
const hdrs = await
|
|
366
|
+
const hdrs = await getRequestHeaders();
|
|
367
367
|
if (membership.role === "owner") {
|
|
368
368
|
const org = await callOrgApi("getFullOrganization", () => auth.api.getFullOrganization({
|
|
369
369
|
headers: hdrs,
|
|
@@ -392,7 +392,7 @@ export function createTeamService(ports = {}) {
|
|
|
392
392
|
*/
|
|
393
393
|
async function transferOwnership(targetMemberId) {
|
|
394
394
|
const { workspace } = await callRequireRole(["owner"]);
|
|
395
|
-
const hdrs = await
|
|
395
|
+
const hdrs = await getRequestHeaders();
|
|
396
396
|
// Promote target to owner. Note: Better-Auth may handle demotion of
|
|
397
397
|
// the previous owner automatically. If not, the old owner remains
|
|
398
398
|
// as co-owner, which is acceptable (ported behavior).
|
|
@@ -409,10 +409,10 @@ export function createTeamService(ports = {}) {
|
|
|
409
409
|
* Get the caller's own pending invitations (for the invitation
|
|
410
410
|
* accept page). No explicit requireAuth here — Better-Auth's
|
|
411
411
|
* list-user-invitations endpoint reads the session off `headers`
|
|
412
|
-
* itself; ported as-is from
|
|
412
|
+
* itself; ported as-is from the original action.
|
|
413
413
|
*/
|
|
414
414
|
async function getUserInvitations() {
|
|
415
|
-
const hdrs = await
|
|
415
|
+
const hdrs = await getRequestHeaders();
|
|
416
416
|
const invitations = await callOrgApi("list-user-invitations", () => orgApi["/organization/list-user-invitations"]({ headers: hdrs }));
|
|
417
417
|
return invitations ?? [];
|
|
418
418
|
}
|
package/dist/team/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/team/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/team/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which origins Better-Auth's CSRF check accepts.
|
|
3
|
+
*
|
|
4
|
+
* Split out of `server.ts` so the rule can be tested without standing
|
|
5
|
+
* up the whole auth instance (which reaches the database and the email
|
|
6
|
+
* provider at module load).
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Resolve the trusted-origin list from the environment.
|
|
10
|
+
*
|
|
11
|
+
* `NEXT_PUBLIC_APP_URL` is a required variable, and when it is set it
|
|
12
|
+
* is the only origin trusted — in every environment.
|
|
13
|
+
*
|
|
14
|
+
* When it is unset the answer depends on where we are. A guessed port
|
|
15
|
+
* is the worst possible default: the reference app serves on 4002, a
|
|
16
|
+
* scaffolded app on 3000, so a fixed guess rejects every sign-in with
|
|
17
|
+
* `403 INVALID_ORIGIN` while the log names only the rejected origin —
|
|
18
|
+
* nothing points back at the missing variable. Outside production we
|
|
19
|
+
* therefore trust any loopback port, so a fresh checkout works on
|
|
20
|
+
* whatever port Next picked. In production we trust nothing: an unset
|
|
21
|
+
* variable there is a configuration error, and failing closed is the
|
|
22
|
+
* only safe reading of it.
|
|
23
|
+
*/
|
|
24
|
+
export function resolveTrustedOrigins(env) {
|
|
25
|
+
if (env.NEXT_PUBLIC_APP_URL)
|
|
26
|
+
return [env.NEXT_PUBLIC_APP_URL];
|
|
27
|
+
if (env.NODE_ENV === "production")
|
|
28
|
+
return [];
|
|
29
|
+
return ["http://localhost:*", "http://127.0.0.1:*"];
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=trusted-origins.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trusted-origins.js","sourceRoot":"","sources":["../src/trusted-origins.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAGrC;IACC,IAAI,GAAG,CAAC,mBAAmB;QAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC9D,IAAI,GAAG,CAAC,QAAQ,KAAK,YAAY;QAAE,OAAO,EAAE,CAAC;IAC7C,OAAO,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;AACtD,CAAC"}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Zod schemas for workspace create/update inputs, shared by the
|
|
5
5
|
* workspace service and its transports.
|
|
6
6
|
*
|
|
7
|
-
* (Ported from the product
|
|
8
|
-
* same semantics.
|
|
7
|
+
* (Ported from the first product's workspace validation module —
|
|
8
|
+
* same semantics.)
|
|
9
9
|
*/
|
|
10
10
|
import { z } from "zod";
|
|
11
11
|
/**
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Workspace management service — the durable business rules behind
|
|
3
3
|
* workspace listing, creation, switching, editing and deletion,
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* lifted out of the first product's workspace actions (page/registry
|
|
5
|
+
* migration, `workspace-settings` family, roadmap item 8).
|
|
6
6
|
*
|
|
7
7
|
* Mirrors `createTeamService(ports)` (./../team/service.ts) one
|
|
8
8
|
* directory over: a factory over optional ports, so this package's
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
* Why `checkWorkspaceLimit` takes a `userId`, not a `workspaceId`
|
|
25
25
|
* ---------------------------------------------------------------------
|
|
26
26
|
* `createWorkspace` has no workspace to check the plan of yet — it is
|
|
27
|
-
* the thing being created.
|
|
27
|
+
* the thing being created. The product's original action worked around this
|
|
28
28
|
* by reading the caller's *existing* workspaces and using the first
|
|
29
29
|
* one's id to look up a plan via `@intelligo-dev/billing`'s
|
|
30
30
|
* `checkPlanLimit(workspaceId, "workspaces", currentCount)`, i.e. it
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
* `userId` and how many workspaces they already have. The composition
|
|
35
35
|
* root's binding (`checkWorkspaceLimit`) is where a consumer decides
|
|
36
36
|
* how to resolve "this user's plan" — by reading their first workspace
|
|
37
|
-
* the same way
|
|
37
|
+
* the same way the first product did, or by a real per-user plan lookup if one
|
|
38
38
|
* exists.
|
|
39
39
|
*
|
|
40
40
|
* ---------------------------------------------------------------------
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
* updateOrganization, deleteOrganization, getFullOrganization}`
|
|
52
52
|
* directly for the base organization CRUD surface, which is not
|
|
53
53
|
* part of `orgApi`'s typed table (the same approach
|
|
54
|
-
* `../team/service.ts` takes for `getFullOrganization`).
|
|
54
|
+
* `../team/service.ts` takes for `getFullOrganization`). The product's
|
|
55
55
|
* original `actions/workspace.ts` already called these four by
|
|
56
56
|
* their correct `auth.api` names directly (it never went through a
|
|
57
57
|
* path-keyed cast), so there is no method-name bug to fix here.
|
|
@@ -63,13 +63,13 @@
|
|
|
63
63
|
* `requireWorkspace()` first (which has its own explicit-id
|
|
64
64
|
* fallback) and passes that id explicitly to `getFullOrganization`.
|
|
65
65
|
*/
|
|
66
|
-
import {
|
|
66
|
+
import { getRequestHeaders } from "@intelligo-dev/core/request-context";
|
|
67
67
|
import { createLogger } from "@intelligo-dev/core/logger";
|
|
68
|
-
import { auth } from "../server";
|
|
69
|
-
import { requireAuth, requireRole, requireWorkspace } from "../helpers";
|
|
70
|
-
import { orgApi } from "../org-api";
|
|
71
|
-
import { createWorkspaceSchema, updateWorkspaceSchema, } from "./schemas";
|
|
72
|
-
import { WorkspaceServiceError, isWorkspaceServiceError } from "./errors";
|
|
68
|
+
import { auth } from "../server.js";
|
|
69
|
+
import { requireAuth, requireRole, requireWorkspace } from "../helpers.js";
|
|
70
|
+
import { orgApi } from "../org-api.js";
|
|
71
|
+
import { createWorkspaceSchema, updateWorkspaceSchema, } from "./schemas.js";
|
|
72
|
+
import { WorkspaceServiceError, isWorkspaceServiceError } from "./errors.js";
|
|
73
73
|
const log = createLogger("WorkspaceService");
|
|
74
74
|
function errorMessage(error) {
|
|
75
75
|
return error instanceof Error ? error.message : String(error);
|
|
@@ -140,7 +140,7 @@ export function createWorkspaceService(ports = {}) {
|
|
|
140
140
|
*/
|
|
141
141
|
async function listWorkspaces() {
|
|
142
142
|
await callRequireAuth();
|
|
143
|
-
const hdrs = await
|
|
143
|
+
const hdrs = await getRequestHeaders();
|
|
144
144
|
const orgs = await callOrgApi("list", () => orgApi["/organization/list"]({ headers: hdrs }));
|
|
145
145
|
return orgs ?? [];
|
|
146
146
|
}
|
|
@@ -154,7 +154,7 @@ export function createWorkspaceService(ports = {}) {
|
|
|
154
154
|
async function createWorkspace(input) {
|
|
155
155
|
const { user } = await callRequireAuth();
|
|
156
156
|
const validated = parseInput(createWorkspaceSchema, input);
|
|
157
|
-
const hdrs = await
|
|
157
|
+
const hdrs = await getRequestHeaders();
|
|
158
158
|
const existing = await callOrgApi("list", () => orgApi["/organization/list"]({ headers: hdrs }));
|
|
159
159
|
const existingCount = existing?.length ?? 0;
|
|
160
160
|
if (ports.checkWorkspaceLimit && existingCount > 0) {
|
|
@@ -187,7 +187,7 @@ export function createWorkspaceService(ports = {}) {
|
|
|
187
187
|
if (typeof organizationId !== "string" || organizationId.length === 0) {
|
|
188
188
|
throw new WorkspaceServiceError("invalid_input", "Invalid workspace id");
|
|
189
189
|
}
|
|
190
|
-
const hdrs = await
|
|
190
|
+
const hdrs = await getRequestHeaders();
|
|
191
191
|
await callOrgApi("set-active", () => orgApi["/organization/set-active"]({
|
|
192
192
|
headers: hdrs,
|
|
193
193
|
body: { organizationId },
|
|
@@ -199,7 +199,7 @@ export function createWorkspaceService(ports = {}) {
|
|
|
199
199
|
async function updateWorkspace(input) {
|
|
200
200
|
const { workspace } = await callRequireRole(["owner", "admin"]);
|
|
201
201
|
const validated = parseInput(updateWorkspaceSchema, input);
|
|
202
|
-
const hdrs = await
|
|
202
|
+
const hdrs = await getRequestHeaders();
|
|
203
203
|
const updateData = {};
|
|
204
204
|
if (validated.name)
|
|
205
205
|
updateData.name = validated.name;
|
|
@@ -222,7 +222,7 @@ export function createWorkspaceService(ports = {}) {
|
|
|
222
222
|
*/
|
|
223
223
|
async function deleteWorkspace() {
|
|
224
224
|
const { workspace } = await callRequireRole(["owner"]);
|
|
225
|
-
const hdrs = await
|
|
225
|
+
const hdrs = await getRequestHeaders();
|
|
226
226
|
await callOrgApi("delete", () => auth.api.deleteOrganization({
|
|
227
227
|
headers: hdrs,
|
|
228
228
|
body: { organizationId: workspace.id },
|
|
@@ -237,13 +237,13 @@ export function createWorkspaceService(ports = {}) {
|
|
|
237
237
|
}
|
|
238
238
|
/**
|
|
239
239
|
* Get the caller's active workspace, fully resolved. Unlike
|
|
240
|
-
*
|
|
240
|
+
* the original action (see the module doc comment), this resolves the
|
|
241
241
|
* workspace id explicitly via `requireWorkspace()` rather than
|
|
242
242
|
* relying on a non-existent `sessions.activeOrganizationId` fallback.
|
|
243
243
|
*/
|
|
244
244
|
async function getActiveWorkspace() {
|
|
245
245
|
const { workspace } = await callRequireWorkspace();
|
|
246
|
-
const hdrs = await
|
|
246
|
+
const hdrs = await getRequestHeaders();
|
|
247
247
|
const org = (await callOrgApi("getFullOrganization", () => auth.api.getFullOrganization({
|
|
248
248
|
headers: hdrs,
|
|
249
249
|
query: { organizationId: workspace.id },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/workspace/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/workspace/service.ts"],"names":[],"mappings":"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"}
|
package/dist/workspace-init.js
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* imports billing.
|
|
17
17
|
* This breaks the auth → billing circular dependency before Phase 43 extraction.
|
|
18
18
|
*/
|
|
19
|
-
import { auth } from "./server";
|
|
19
|
+
import { auth } from "./server.js";
|
|
20
20
|
import { createLogger } from "@intelligo-dev/core/logger";
|
|
21
21
|
const log = createLogger("WorkspaceInit");
|
|
22
22
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@intelligo-dev/auth",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.5",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -27,32 +27,39 @@
|
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"better-auth": "~1.6.30",
|
|
31
|
-
"drizzle-orm": "^0.45.1",
|
|
32
30
|
"server-only": "^0.0.1",
|
|
33
|
-
"
|
|
34
|
-
"@intelligo-dev/core": "1.0.0-beta.2"
|
|
31
|
+
"@intelligo-dev/core": "1.0.0-beta.5"
|
|
35
32
|
},
|
|
36
33
|
"peerDependencies": {
|
|
37
|
-
"
|
|
34
|
+
"better-auth": "~1.6.30",
|
|
35
|
+
"drizzle-orm": "^0.45.1",
|
|
36
|
+
"zod": "^3.24.1"
|
|
38
37
|
},
|
|
39
38
|
"devDependencies": {
|
|
40
39
|
"@types/react": "^19.0.10",
|
|
41
|
-
"
|
|
42
|
-
"
|
|
40
|
+
"better-auth": "~1.6.30",
|
|
41
|
+
"drizzle-orm": "^0.45.1",
|
|
42
|
+
"typescript": "^5.7.2",
|
|
43
|
+
"zod": "^3.24.1"
|
|
43
44
|
},
|
|
44
45
|
"files": [
|
|
45
46
|
"dist",
|
|
46
47
|
"src",
|
|
47
48
|
"!src/**/*.test.ts",
|
|
48
|
-
"!src/**/*.test.tsx"
|
|
49
|
+
"!src/**/*.test.tsx",
|
|
50
|
+
"LICENSE",
|
|
51
|
+
"README.md",
|
|
52
|
+
"!dist/**/*.tsbuildinfo"
|
|
49
53
|
],
|
|
50
54
|
"publishConfig": {
|
|
51
55
|
"access": "public"
|
|
52
56
|
},
|
|
57
|
+
"engines": {
|
|
58
|
+
"node": ">=22"
|
|
59
|
+
},
|
|
53
60
|
"scripts": {
|
|
54
61
|
"type-check": "tsc --noEmit",
|
|
55
62
|
"lint": "eslint .",
|
|
56
|
-
"build": "tsc -p tsconfig.build.json"
|
|
63
|
+
"build": "tsc -p tsconfig.build.json && node ../../scripts/fix-esm-extensions.mjs dist"
|
|
57
64
|
}
|
|
58
65
|
}
|
package/src/helpers.ts
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* ```
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
|
-
import {
|
|
16
|
+
import { getRequestHeaders } from "@intelligo-dev/core/request-context";
|
|
17
17
|
import { auth } from "./server";
|
|
18
18
|
import { createLogger } from "@intelligo-dev/core/logger";
|
|
19
19
|
import { db } from "@intelligo-dev/core/db";
|
|
@@ -38,7 +38,7 @@ export async function getAuthSession(): Promise<{
|
|
|
38
38
|
user: User;
|
|
39
39
|
} | null> {
|
|
40
40
|
const session = await auth.api.getSession({
|
|
41
|
-
headers: await
|
|
41
|
+
headers: await getRequestHeaders(),
|
|
42
42
|
});
|
|
43
43
|
|
|
44
44
|
if (!session?.user) {
|
|
@@ -94,7 +94,7 @@ export async function getWorkspaceContextById(organizationId: string): Promise<{
|
|
|
94
94
|
|
|
95
95
|
// Get organization by ID directly (not from session)
|
|
96
96
|
const org = await auth.api.getFullOrganization({
|
|
97
|
-
headers: await
|
|
97
|
+
headers: await getRequestHeaders(),
|
|
98
98
|
query: { organizationId },
|
|
99
99
|
});
|
|
100
100
|
|
|
@@ -156,7 +156,7 @@ export async function getWorkspaceContext(): Promise<{
|
|
|
156
156
|
// "no active workspace" so the fallback below runs instead of the
|
|
157
157
|
// provider error escaping as an unexplained failure.
|
|
158
158
|
let activeOrg = await auth.api
|
|
159
|
-
.getFullOrganization({ headers: await
|
|
159
|
+
.getFullOrganization({ headers: await getRequestHeaders() })
|
|
160
160
|
.catch((error: unknown) => {
|
|
161
161
|
log.debug("getWorkspaceContext: active org not readable", {
|
|
162
162
|
error: error instanceof Error ? error.message : String(error),
|
|
@@ -170,7 +170,7 @@ export async function getWorkspaceContext(): Promise<{
|
|
|
170
170
|
if (!activeOrg) {
|
|
171
171
|
log.debug("getWorkspaceContext: no active org, checking workspaces");
|
|
172
172
|
const orgs: any = await auth.api.listOrganizations({
|
|
173
|
-
headers: await
|
|
173
|
+
headers: await getRequestHeaders(),
|
|
174
174
|
});
|
|
175
175
|
|
|
176
176
|
if (orgs && orgs.length > 0) {
|
|
@@ -179,7 +179,7 @@ export async function getWorkspaceContext(): Promise<{
|
|
|
179
179
|
});
|
|
180
180
|
// Fetch full organization details for the first workspace
|
|
181
181
|
activeOrg = await auth.api.getFullOrganization({
|
|
182
|
-
headers: await
|
|
182
|
+
headers: await getRequestHeaders(),
|
|
183
183
|
query: { organizationId: orgs[0].id },
|
|
184
184
|
});
|
|
185
185
|
}
|
package/src/impersonation.ts
CHANGED
|
@@ -15,7 +15,7 @@ import "server-only";
|
|
|
15
15
|
* workspace role.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import {
|
|
18
|
+
import { getRequestHeaders } from "@intelligo-dev/core/request-context";
|
|
19
19
|
|
|
20
20
|
import { auth } from "./server";
|
|
21
21
|
|
|
@@ -38,7 +38,7 @@ export async function impersonateUser(
|
|
|
38
38
|
): Promise<ImpersonatedSession> {
|
|
39
39
|
const result = (await auth.api.impersonateUser({
|
|
40
40
|
body: { userId: targetUserId },
|
|
41
|
-
headers: await
|
|
41
|
+
headers: await getRequestHeaders(),
|
|
42
42
|
})) as { session?: { expiresAt?: string | Date } };
|
|
43
43
|
|
|
44
44
|
const expiresAt = result.session?.expiresAt;
|
|
@@ -53,5 +53,5 @@ export async function impersonateUser(
|
|
|
53
53
|
|
|
54
54
|
/** Restore the admin's own session. */
|
|
55
55
|
export async function stopImpersonating(): Promise<void> {
|
|
56
|
-
await auth.api.stopImpersonating({ headers: await
|
|
56
|
+
await auth.api.stopImpersonating({ headers: await getRequestHeaders() });
|
|
57
57
|
}
|
|
@@ -3,17 +3,16 @@
|
|
|
3
3
|
*
|
|
4
4
|
* A single generic step-id validator — see the module doc comment on
|
|
5
5
|
* `./service.ts` for why this is a bare, bounded string rather than a
|
|
6
|
-
* product-specific enum.
|
|
6
|
+
* product-specific enum. The first product's original
|
|
7
7
|
* `lib/validations/onboarding.ts` pinned this to
|
|
8
|
-
* `z.enum(["role", "profile", "complete"])`,
|
|
8
|
+
* `z.enum(["role", "profile", "complete"])`, its own 3-step wizard
|
|
9
9
|
* shape. The `users.onboarding_step` column itself is untyped `text`,
|
|
10
10
|
* so that enum was a product-level constraint bolted onto a generic
|
|
11
11
|
* column, not something this shared contract should require. A
|
|
12
12
|
* consumer defines its own step ids (typically the `id` field of a
|
|
13
13
|
* steps-config array it owns) and passes them straight through;
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* bounded string".
|
|
14
|
+
* A consumer keeps its own enum-shaped schema at the transport layer
|
|
15
|
+
* if it wants stricter validation than "non-empty, bounded string".
|
|
17
16
|
*/
|
|
18
17
|
|
|
19
18
|
import { z } from "zod";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Onboarding service — the durable business rules behind a user's
|
|
3
|
-
* first-run onboarding flow,
|
|
3
|
+
* first-run onboarding flow, lifted out of the first product's
|
|
4
4
|
* onboarding actions (page/registry migration, `onboarding` family,
|
|
5
5
|
* roadmap item 11).
|
|
6
6
|
*
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* No ports: `complete()` and `skip()` only flip those two columns and
|
|
13
13
|
* return the resulting state — they do NOT provision trial credits,
|
|
14
14
|
* record referrals, or perform any other first-workspace bootstrapping.
|
|
15
|
-
*
|
|
15
|
+
* The product's original `completeOnboarding()` action did exactly that
|
|
16
16
|
* (`provisionTrialCredits`/`recordReferralSignup`/`grantReferralUpgrade`
|
|
17
17
|
* inline), but that work belongs to the consumer's own
|
|
18
18
|
* `onWorkspaceCreated` binding instead — see `../workspace-init.ts`'s
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
* Why `skip()` has the same durable effect as `complete()`
|
|
39
39
|
* ---------------------------------------------------------------------
|
|
40
40
|
* The `users` table has no separate "skipped" column, so there is
|
|
41
|
-
* nothing else to persist.
|
|
41
|
+
* nothing else to persist. The product's original `skipOnboarding()` action
|
|
42
42
|
* logged an analytics event and then delegated to `completeOnboarding()`
|
|
43
43
|
* unchanged; this service mirrors that shape as two distinct methods
|
|
44
44
|
* (rather than collapsing `skip` into an alias) so a transport can
|
package/src/org-api.ts
CHANGED
|
@@ -13,12 +13,12 @@
|
|
|
13
13
|
* which is the vocabulary the rest of this package's `team/` module
|
|
14
14
|
* uses.
|
|
15
15
|
*
|
|
16
|
-
* (Ported from the product
|
|
17
|
-
* team-settings backend
|
|
18
|
-
* contract now
|
|
16
|
+
* (Ported from the first product's Better-Auth type wrapper when the
|
|
17
|
+
* team-settings backend moved into the framework — packages/auth owns
|
|
18
|
+
* the org-api contract now.)
|
|
19
19
|
*
|
|
20
20
|
* IMPORTANT — found while wiring the real-DB integration test for this
|
|
21
|
-
*
|
|
21
|
+
* move: the product's original module built `orgApi` as
|
|
22
22
|
* `auth.api as unknown as OrgApi`, i.e. a bare type-cast that assumes
|
|
23
23
|
* `auth.api` is keyed by these HTTP path strings. It is not. Better-Auth's
|
|
24
24
|
* organization plugin (`better-auth@1.6.30`,
|
|
@@ -44,13 +44,13 @@
|
|
|
44
44
|
* function` at runtime for every call whose row above differs in the
|
|
45
45
|
* first two columns — i.e. invite-member, leave, list, and set-active
|
|
46
46
|
* unconditionally, since their server ids aren't just a casing change
|
|
47
|
-
* of the path. This was invisible in
|
|
47
|
+
* of the path. This was invisible in the product's test suite because
|
|
48
48
|
* `actions/__tests__/team.test.ts` mocks `@/types/better-auth` (the
|
|
49
49
|
* whole `orgApi` object) rather than exercising the cast against a
|
|
50
|
-
* real `auth.api`, and only surfaced once this
|
|
51
|
-
* `service.integration.test.ts` called the real thing. It
|
|
52
|
-
* bug in
|
|
53
|
-
* hypothetical
|
|
50
|
+
* real `auth.api`, and only surfaced once this package's
|
|
51
|
+
* `service.integration.test.ts` called the real thing. It was a live
|
|
52
|
+
* bug in the product's shipped team-management actions, not a
|
|
53
|
+
* hypothetical.
|
|
54
54
|
*
|
|
55
55
|
* `orgApi` below is therefore a real object, not a cast: each path key
|
|
56
56
|
* forwards to the correctly-named `auth.api` method. The `OrgApi`
|