Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: logto-io/logto
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 182991af7fcdab4075142a4a237427d1ffa98b98
Choose a base ref
..
head repository: logto-io/logto
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: c03b7a3b2c5faaef88d5ee9e7c3f4e611c3dca5f
Choose a head ref
Showing with 12 additions and 7 deletions.
  1. +12 −7 packages/core/src/libraries/user.ts
19 changes: 12 additions & 7 deletions packages/core/src/libraries/user.ts
Original file line number Diff line number Diff line change
@@ -123,14 +123,20 @@ export const createUserLibrary = (queries: Queries) => {
set: Partial<OmitAutoSetFields<CreateUser>>,
jsonbMode?: 'replace' | 'merge'
) => {
const { primaryPhone, ...rest } = set;
const validPhoneNumber = conditional(
typeof primaryPhone === 'string' && getValidPhoneNumber(primaryPhone)
typeof set.primaryPhone === 'string' && getValidPhoneNumber(set.primaryPhone)
);

return updateUserByIdQuery(
id,
{ ...rest, ...conditional(validPhoneNumber && { primaryPhone: validPhoneNumber }) },
{
...set,
...conditional(
validPhoneNumber && {
primaryPhone: validPhoneNumber,
}

Check warning on line 137 in packages/core/src/libraries/user.ts

Codecov / codecov/patch

packages/core/src/libraries/user.ts#L136-L137

Added lines #L136 - L137 were not covered by tests
),
},
jsonbMode
);
};
@@ -147,9 +153,8 @@ export const createUserLibrary = (queries: Queries) => {

assertThat(parameterRoles.length === roleNames.length, 'role.default_role_missing');

const { primaryPhone, ...rest } = data;
const validPhoneNumber = conditional(
typeof primaryPhone === 'string' && getValidPhoneNumber(primaryPhone)
typeof data.primaryPhone === 'string' && getValidPhoneNumber(data.primaryPhone)
);

Check warning on line 159 in packages/core/src/libraries/user.ts

Codecov / codecov/patch

packages/core/src/libraries/user.ts#L156-L159

Added lines #L156 - L159 were not covered by tests
return pool.transaction(async (connection) => {
@@ -158,7 +163,7 @@ export const createUserLibrary = (queries: Queries) => {
});

const user = await insertUserQuery({
...rest,
...data,
...conditional(validPhoneNumber && { primaryPhone: validPhoneNumber }),
});

Check warning on line 168 in packages/core/src/libraries/user.ts

Codecov / codecov/patch

packages/core/src/libraries/user.ts#L165-L168

Added lines #L165 - L168 were not covered by tests
const roles = deduplicateByKey([...parameterRoles, ...defaultRoles], 'id');
@@ -172,7 +177,7 @@ export const createUserLibrary = (queries: Queries) => {

const provisionOrganizations = async (): Promise<readonly string[]> => {
// Just-in-time organization provisioning
const userEmailDomain = rest.primaryEmail?.split('@')[1];
const userEmailDomain = data.primaryEmail?.split('@')[1];
// TODO: Remove this check when launching

Check warning on line 181 in packages/core/src/libraries/user.ts

GitHub Actions / ESLint Report Analysis

packages/core/src/libraries/user.ts#L181

[no-warning-comments] Unexpected 'todo' comment: 'TODO: Remove this check when launching'.
if (EnvSet.values.isDevFeaturesEnabled && userEmailDomain) {
const organizationQueries = new OrganizationQueries(connection);