weave-typescript 0.35.0 → 0.36.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.
@@ -54,6 +54,63 @@ export interface GetUserPrimaryOrganizationAuthLinkRow {
54
54
  updatedAt: Date;
55
55
  }
56
56
  export declare function getUserPrimaryOrganizationAuthLink(client: Client, args: GetUserPrimaryOrganizationAuthLinkArgs): Promise<GetUserPrimaryOrganizationAuthLinkRow | null>;
57
+ export declare const getUserAuthPreferencesQuery = "-- name: GetUserAuthPreferences :one\nSELECT\n u.id AS user_id,\n u.primary_organization_id AS default_organization_id,\n default_org.slug AS default_organization_slug,\n u.last_organization_id,\n last_org.slug AS last_organization_slug,\n u.organization_page_positions,\n COALESCE(p.theme, 'system') AS theme,\n u.updated_at\nFROM weave.users AS u\nLEFT JOIN weave.organizations AS default_org\n ON default_org.id = u.primary_organization_id\nLEFT JOIN weave.organizations AS last_org\n ON last_org.id = u.last_organization_id\nLEFT JOIN weave.user_profiles AS p\n ON p.user_id = u.id\nWHERE u.id = $1\n AND u.status = 'active'";
58
+ export interface GetUserAuthPreferencesArgs {
59
+ userId: string;
60
+ }
61
+ export interface GetUserAuthPreferencesRow {
62
+ userId: string;
63
+ defaultOrganizationId: string | null;
64
+ defaultOrganizationSlug: string | null;
65
+ lastOrganizationId: string | null;
66
+ lastOrganizationSlug: string | null;
67
+ organizationPagePositions: any;
68
+ theme: string;
69
+ updatedAt: Date;
70
+ }
71
+ export declare function getUserAuthPreferences(client: Client, args: GetUserAuthPreferencesArgs): Promise<GetUserAuthPreferencesRow | null>;
72
+ export declare const setUserLastOrganizationQuery = "-- name: SetUserLastOrganization :one\nUPDATE weave.users AS u\nSET\n last_organization_id = o.id,\n updated_at = now()\nFROM weave.organizations AS o\nJOIN weave.organization_memberships AS m\n ON m.organization_id = o.id\n AND m.user_id = $1\n AND m.status = 'active'\nWHERE u.id = $1\n AND u.status = 'active'\n AND o.slug = $2\nRETURNING\n u.id AS user_id,\n o.id AS last_organization_id,\n o.slug AS last_organization_slug,\n u.updated_at";
73
+ export interface SetUserLastOrganizationArgs {
74
+ userId: string;
75
+ organizationSlug: string;
76
+ }
77
+ export interface SetUserLastOrganizationRow {
78
+ userId: string;
79
+ lastOrganizationId: string;
80
+ lastOrganizationSlug: string;
81
+ updatedAt: Date;
82
+ }
83
+ export declare function setUserLastOrganization(client: Client, args: SetUserLastOrganizationArgs): Promise<SetUserLastOrganizationRow | null>;
84
+ export declare const setUserOrganizationPagePositionQuery = "-- name: SetUserOrganizationPagePosition :one\nUPDATE weave.users AS u\nSET\n organization_page_positions =\n u.organization_page_positions || jsonb_build_object(o.slug, $1::text),\n updated_at = now()\nFROM weave.organizations AS o\nJOIN weave.organization_memberships AS m\n ON m.organization_id = o.id\n AND m.user_id = $2\n AND m.status = 'active'\nWHERE u.id = $2\n AND u.status = 'active'\n AND o.slug = $3\nRETURNING\n u.id AS user_id,\n o.id AS organization_id,\n o.slug AS organization_slug,\n u.organization_page_positions,\n u.updated_at";
85
+ export interface SetUserOrganizationPagePositionArgs {
86
+ href: string;
87
+ userId: string;
88
+ organizationSlug: string;
89
+ }
90
+ export interface SetUserOrganizationPagePositionRow {
91
+ userId: string;
92
+ organizationId: string;
93
+ organizationSlug: string;
94
+ organizationPagePositions: any;
95
+ updatedAt: Date;
96
+ }
97
+ export declare function setUserOrganizationPagePosition(client: Client, args: SetUserOrganizationPagePositionArgs): Promise<SetUserOrganizationPagePositionRow | null>;
98
+ export declare const updateUserProfileThemeQuery = "-- name: UpdateUserProfileTheme :one\nUPDATE weave.user_profiles\nSET\n theme = $1,\n updated_at = now()\nWHERE user_id = $2\nRETURNING\n user_id,\n display_name,\n job_title,\n email,\n avatar_url,\n theme,\n created_at,\n updated_at";
99
+ export interface UpdateUserProfileThemeArgs {
100
+ theme: string;
101
+ userId: string;
102
+ }
103
+ export interface UpdateUserProfileThemeRow {
104
+ userId: string;
105
+ displayName: string;
106
+ jobTitle: string;
107
+ email: string;
108
+ avatarUrl: string;
109
+ theme: string;
110
+ createdAt: Date;
111
+ updatedAt: Date;
112
+ }
113
+ export declare function updateUserProfileTheme(client: Client, args: UpdateUserProfileThemeArgs): Promise<UpdateUserProfileThemeRow | null>;
57
114
  export declare const resolvePrimaryOrganizationAuthLinkByDomainQuery = "-- name: ResolvePrimaryOrganizationAuthLinkByDomain :one\nSELECT\n o.id AS organization_id,\n o.slug AS organization_slug,\n o.name AS organization_name,\n l.stytch_organization_id,\n l.stytch_organization_slug,\n l.stytch_organization_kind,\n d.domain,\n l.allowed_domains,\n l.auth_policy_summary,\n l.created_at,\n l.updated_at\nFROM weave.organization_auth_domains AS d\nJOIN weave.organization_auth_links AS l\n ON l.organization_id = d.organization_id\nJOIN weave.organizations AS o\n ON o.id = d.organization_id\nWHERE d.domain = lower($1)\n AND d.is_primary_login\n AND d.status = 'active'";
58
115
  export interface ResolvePrimaryOrganizationAuthLinkByDomainArgs {
59
116
  domain: string;
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deleteExpiredAuthInviteSessionsQuery = exports.revokeAuthInviteSessionsByMemberQuery = exports.markAuthInviteSessionRecoveryRequiredQuery = exports.markAuthInviteSessionCompletedQuery = exports.setAuthInviteSessionOAuthStateQuery = exports.getAuthInviteSessionQuery = exports.createAuthInviteSessionQuery = exports.deleteExpiredApplicationSessionsQuery = exports.markApplicationSessionOrganizationSessionStateQuery = exports.listApplicationSessionOrganizationSessionStatesQuery = exports.getApplicationSessionOrganizationSessionQuery = exports.upsertApplicationSessionOrganizationSessionQuery = exports.revokeApplicationSessionQuery = exports.setApplicationSessionActiveOrganizationQuery = exports.getApplicationSessionQuery = exports.createApplicationSessionQuery = exports.insertAuthAuditEventQuery = exports.endSupportAccessSessionQuery = exports.createSupportAccessSessionQuery = exports.createPlatformAdminGrantQuery = exports.listActivePlatformAdminGrantsForUserQuery = exports.listOrganizationMembersQuery = exports.listOrganizationMembershipsForUserQuery = exports.getOrganizationMembershipQuery = exports.upsertOrganizationMembershipQuery = exports.upsertOrganizationAuthLinkQuery = exports.getOrganizationAuthLinkByOrganizationIDQuery = exports.getOrganizationAuthLinkByStytchIDQuery = exports.upsertIdentityLinkQuery = exports.getIdentityLinkByStytchMemberQuery = exports.getUserProfileQuery = exports.upsertUserProfileQuery = exports.deleteOrganizationAuthDomainQuery = exports.listOrganizationAuthDomainsQuery = exports.upsertOrganizationAuthDomainQuery = exports.resolvePrimaryOrganizationAuthLinkByDomainQuery = exports.getUserPrimaryOrganizationAuthLinkQuery = exports.setUserPrimaryOrganizationQuery = exports.getUserByIDQuery = exports.createUserQuery = void 0;
3
+ exports.deleteExpiredAuthInviteSessionsQuery = exports.revokeAuthInviteSessionsByMemberQuery = exports.markAuthInviteSessionRecoveryRequiredQuery = exports.markAuthInviteSessionCompletedQuery = exports.setAuthInviteSessionOAuthStateQuery = exports.getAuthInviteSessionQuery = exports.createAuthInviteSessionQuery = exports.deleteExpiredApplicationSessionsQuery = exports.markApplicationSessionOrganizationSessionStateQuery = exports.listApplicationSessionOrganizationSessionStatesQuery = exports.getApplicationSessionOrganizationSessionQuery = exports.upsertApplicationSessionOrganizationSessionQuery = exports.revokeApplicationSessionQuery = exports.setApplicationSessionActiveOrganizationQuery = exports.getApplicationSessionQuery = exports.createApplicationSessionQuery = exports.insertAuthAuditEventQuery = exports.endSupportAccessSessionQuery = exports.createSupportAccessSessionQuery = exports.createPlatformAdminGrantQuery = exports.listActivePlatformAdminGrantsForUserQuery = exports.listOrganizationMembersQuery = exports.listOrganizationMembershipsForUserQuery = exports.getOrganizationMembershipQuery = exports.upsertOrganizationMembershipQuery = exports.upsertOrganizationAuthLinkQuery = exports.getOrganizationAuthLinkByOrganizationIDQuery = exports.getOrganizationAuthLinkByStytchIDQuery = exports.upsertIdentityLinkQuery = exports.getIdentityLinkByStytchMemberQuery = exports.getUserProfileQuery = exports.upsertUserProfileQuery = exports.deleteOrganizationAuthDomainQuery = exports.listOrganizationAuthDomainsQuery = exports.upsertOrganizationAuthDomainQuery = exports.resolvePrimaryOrganizationAuthLinkByDomainQuery = exports.updateUserProfileThemeQuery = exports.setUserOrganizationPagePositionQuery = exports.setUserLastOrganizationQuery = exports.getUserAuthPreferencesQuery = exports.getUserPrimaryOrganizationAuthLinkQuery = exports.setUserPrimaryOrganizationQuery = exports.getUserByIDQuery = exports.createUserQuery = void 0;
4
4
  exports.createUser = createUser;
5
5
  exports.getUserByID = getUserByID;
6
6
  exports.setUserPrimaryOrganization = setUserPrimaryOrganization;
7
7
  exports.getUserPrimaryOrganizationAuthLink = getUserPrimaryOrganizationAuthLink;
8
+ exports.getUserAuthPreferences = getUserAuthPreferences;
9
+ exports.setUserLastOrganization = setUserLastOrganization;
10
+ exports.setUserOrganizationPagePosition = setUserOrganizationPagePosition;
11
+ exports.updateUserProfileTheme = updateUserProfileTheme;
8
12
  exports.resolvePrimaryOrganizationAuthLinkByDomain = resolvePrimaryOrganizationAuthLinkByDomain;
9
13
  exports.upsertOrganizationAuthDomain = upsertOrganizationAuthDomain;
10
14
  exports.listOrganizationAuthDomains = listOrganizationAuthDomains;
@@ -149,6 +153,155 @@ async function getUserPrimaryOrganizationAuthLink(client, args) {
149
153
  updatedAt: row[9]
150
154
  };
151
155
  }
156
+ exports.getUserAuthPreferencesQuery = `-- name: GetUserAuthPreferences :one
157
+ SELECT
158
+ u.id AS user_id,
159
+ u.primary_organization_id AS default_organization_id,
160
+ default_org.slug AS default_organization_slug,
161
+ u.last_organization_id,
162
+ last_org.slug AS last_organization_slug,
163
+ u.organization_page_positions,
164
+ COALESCE(p.theme, 'system') AS theme,
165
+ u.updated_at
166
+ FROM weave.users AS u
167
+ LEFT JOIN weave.organizations AS default_org
168
+ ON default_org.id = u.primary_organization_id
169
+ LEFT JOIN weave.organizations AS last_org
170
+ ON last_org.id = u.last_organization_id
171
+ LEFT JOIN weave.user_profiles AS p
172
+ ON p.user_id = u.id
173
+ WHERE u.id = $1
174
+ AND u.status = 'active'`;
175
+ async function getUserAuthPreferences(client, args) {
176
+ const result = await client.query({
177
+ text: exports.getUserAuthPreferencesQuery,
178
+ values: [args.userId],
179
+ rowMode: "array"
180
+ });
181
+ if (result.rows.length !== 1) {
182
+ return null;
183
+ }
184
+ const row = result.rows[0];
185
+ return {
186
+ userId: row[0],
187
+ defaultOrganizationId: row[1],
188
+ defaultOrganizationSlug: row[2],
189
+ lastOrganizationId: row[3],
190
+ lastOrganizationSlug: row[4],
191
+ organizationPagePositions: row[5],
192
+ theme: row[6],
193
+ updatedAt: row[7]
194
+ };
195
+ }
196
+ exports.setUserLastOrganizationQuery = `-- name: SetUserLastOrganization :one
197
+ UPDATE weave.users AS u
198
+ SET
199
+ last_organization_id = o.id,
200
+ updated_at = now()
201
+ FROM weave.organizations AS o
202
+ JOIN weave.organization_memberships AS m
203
+ ON m.organization_id = o.id
204
+ AND m.user_id = $1
205
+ AND m.status = 'active'
206
+ WHERE u.id = $1
207
+ AND u.status = 'active'
208
+ AND o.slug = $2
209
+ RETURNING
210
+ u.id AS user_id,
211
+ o.id AS last_organization_id,
212
+ o.slug AS last_organization_slug,
213
+ u.updated_at`;
214
+ async function setUserLastOrganization(client, args) {
215
+ const result = await client.query({
216
+ text: exports.setUserLastOrganizationQuery,
217
+ values: [args.userId, args.organizationSlug],
218
+ rowMode: "array"
219
+ });
220
+ if (result.rows.length !== 1) {
221
+ return null;
222
+ }
223
+ const row = result.rows[0];
224
+ return {
225
+ userId: row[0],
226
+ lastOrganizationId: row[1],
227
+ lastOrganizationSlug: row[2],
228
+ updatedAt: row[3]
229
+ };
230
+ }
231
+ exports.setUserOrganizationPagePositionQuery = `-- name: SetUserOrganizationPagePosition :one
232
+ UPDATE weave.users AS u
233
+ SET
234
+ organization_page_positions =
235
+ u.organization_page_positions || jsonb_build_object(o.slug, $1::text),
236
+ updated_at = now()
237
+ FROM weave.organizations AS o
238
+ JOIN weave.organization_memberships AS m
239
+ ON m.organization_id = o.id
240
+ AND m.user_id = $2
241
+ AND m.status = 'active'
242
+ WHERE u.id = $2
243
+ AND u.status = 'active'
244
+ AND o.slug = $3
245
+ RETURNING
246
+ u.id AS user_id,
247
+ o.id AS organization_id,
248
+ o.slug AS organization_slug,
249
+ u.organization_page_positions,
250
+ u.updated_at`;
251
+ async function setUserOrganizationPagePosition(client, args) {
252
+ const result = await client.query({
253
+ text: exports.setUserOrganizationPagePositionQuery,
254
+ values: [args.href, args.userId, args.organizationSlug],
255
+ rowMode: "array"
256
+ });
257
+ if (result.rows.length !== 1) {
258
+ return null;
259
+ }
260
+ const row = result.rows[0];
261
+ return {
262
+ userId: row[0],
263
+ organizationId: row[1],
264
+ organizationSlug: row[2],
265
+ organizationPagePositions: row[3],
266
+ updatedAt: row[4]
267
+ };
268
+ }
269
+ exports.updateUserProfileThemeQuery = `-- name: UpdateUserProfileTheme :one
270
+ UPDATE weave.user_profiles
271
+ SET
272
+ theme = $1,
273
+ updated_at = now()
274
+ WHERE user_id = $2
275
+ RETURNING
276
+ user_id,
277
+ display_name,
278
+ job_title,
279
+ email,
280
+ avatar_url,
281
+ theme,
282
+ created_at,
283
+ updated_at`;
284
+ async function updateUserProfileTheme(client, args) {
285
+ const result = await client.query({
286
+ text: exports.updateUserProfileThemeQuery,
287
+ values: [args.theme, args.userId],
288
+ rowMode: "array"
289
+ });
290
+ if (result.rows.length !== 1) {
291
+ return null;
292
+ }
293
+ const row = result.rows[0];
294
+ return {
295
+ userId: row[0],
296
+ displayName: row[1],
297
+ jobTitle: row[2],
298
+ email: row[3],
299
+ avatarUrl: row[4],
300
+ theme: row[5],
301
+ createdAt: row[6],
302
+ updatedAt: row[7]
303
+ };
304
+ }
152
305
  exports.resolvePrimaryOrganizationAuthLinkByDomainQuery = `-- name: ResolvePrimaryOrganizationAuthLinkByDomain :one
153
306
  SELECT
154
307
  o.id AS organization_id,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "weave-typescript",
3
- "version": "0.35.0",
3
+ "version": "0.36.0",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [