Skip to content

Commit

Permalink
fix: keep user email from onboarding (#581)
Browse files Browse the repository at this point in the history
  • Loading branch information
matmut7 authored Oct 11, 2023
1 parent ab93b00 commit 037ab55
Show file tree
Hide file tree
Showing 21 changed files with 120 additions and 60 deletions.
16 changes: 16 additions & 0 deletions .talismanrc
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,22 @@ fileignoreconfig:
checksum: 690d463633eb908fa7ed3eade9597d8aa9ded3c5d892206e3837596e35d88cd4
- filename: next.config.js
checksum: 855b09fc06f8388ba51dccbaaf7c76375f45c36a89ace9b51cd665d290f1d9f4
- filename: packages/hasura/migrations/default/1696938677969_alter_table_public_users_add_column_email/down.sql
checksum: 1e47fbc2dccbf99c13549c8d6e669c54815be24d7e42f0edd78219377fdc63f4
- filename: packages/hasura/migrations/default/1696938677969_alter_table_public_users_add_column_email/up.sql
checksum: c97a7b91dc05e94fca2ba43f8bc4bb743450cdbb552175bb0c10fee01fe86882
- filename: packages/hasura/migrations/default/1696938751031_alter_table_public_users_add_column_onboardind_request_id/down.sql
checksum: 3f27790c9d3f5c08440f56b3d238f90014352ecf5967b80a93a910459aa6e7b8
- filename: packages/hasura/migrations/default/1696938751031_alter_table_public_users_add_column_onboardind_request_id/up.sql
checksum: 3dbfd37ba006e639f12a4c375fa44626a04c27e2bb5d4356a1782576fff9b199
- filename: packages/hasura/migrations/default/1696938764795_alter_table_public_users_alter_column_email/down.sql
checksum: cc4f4de24bd74f2be73cbdc45f562a3d485826bcc2189b1becce143cde11ccb2
- filename: packages/hasura/migrations/default/1696938764795_alter_table_public_users_alter_column_email/up.sql
checksum: 7fc715964fdbc2fdd70a5316e0ec68dfc0f8255869682ec6abf31b2b71ce4948
- filename: packages/hasura/migrations/default/1696938864227_alter_table_public_users_alter_column_onboardind_request_id/down.sql
checksum: d4a7960f08d3af47c48d30cb3436fdb1739b38078bce92e18f394e2ea4bf9a86
- filename: packages/hasura/migrations/default/1696938864227_alter_table_public_users_alter_column_onboardind_request_id/up.sql
checksum: 623d5d32a6aabc5790d7ae05656b340f8a6c8a55e2d99b767194b98f4bf080f2
- filename: sentry.client.config.js
checksum: c099a2c12302135ea90b784b7f17827d985de03d2b667750551cb9f8cde0ea81
- filename: sentry.edge.config.js
Expand Down
1 change: 1 addition & 0 deletions packages/hasura/metadata/actions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ actions:
method: DELETE
query_params: {}
template_engine: Kriti
version: 1
permissions:
- role: user
custom_types:
Expand Down
1 change: 1 addition & 0 deletions packages/hasura/metadata/backend_configs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{}
4 changes: 2 additions & 2 deletions packages/hasura/metadata/databases/databases.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
kind: postgres
configuration:
connection_info:
use_prepared_statements: true
database_url:
from_env: HASURA_GRAPHQL_DATABASE_URL
isolation_level: read-committed
pool_settings:
connection_lifetime: 600
retries: 1
idle_timeout: 180
max_connections: 50
retries: 1
use_prepared_statements: true
tables: "!include default/tables/tables.yaml"
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
table:
schema: public
name: logs
schema: public
insert_permissions:
- role: user
permission:
Expand All @@ -9,7 +9,6 @@ insert_permissions:
- action
- parameters
- user
backend_only: false
select_permissions:
- role: user
permission:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
table:
schema: public
name: onboarding_requests
schema: public
object_relationships:
- name: user
using:
manual_configuration:
column_mapping:
id: onboarding_request_id
insertion_order: null
remote_table:
name: users
schema: public
select_permissions:
- role: user
permission:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
table:
schema: public
name: services
schema: public
object_relationships:
- name: users
using:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,29 @@
table:
schema: public
name: users
schema: public
object_relationships:
- name: onboarding_request
using:
manual_configuration:
column_mapping:
onboarding_request_id: id
insertion_order: null
remote_table:
name: onboarding_requests
schema: public
array_relationships:
- name: services
using:
foreign_key_constraint_on:
column: user_id
table:
schema: public
name: services
schema: public
insert_permissions:
- role: user
permission:
check: {}
columns: []
backend_only: false
select_permissions:
- role: user
permission:
Expand Down
1 change: 1 addition & 0 deletions packages/hasura/metadata/metrics_config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{}
1 change: 1 addition & 0 deletions packages/hasura/metadata/opentelemetry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{}
74 changes: 31 additions & 43 deletions packages/hasura/metadata/remote_schemas.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,73 +10,61 @@
permissions:
- role: user
definition:
schema: |-
enum SearchType {
USER
}
schema: |
scalar URI
type User {
name: String
login: String!
avatarUrl: URI!
}
union SearchResultItem = User
type PageInfo {
hasNextPage: Boolean!
hasPreviousPage: Boolean!
}
type Query {
search(first: Int, query: String!, type: SearchType!): SearchResultItemConnection!
}
type SearchResultItemConnection {
codeCount: Int!
userCount: Int!
wikiCount: Int!
discussionCount: Int!
issueCount: Int!
nodes: [SearchResultItem]
pageInfo: PageInfo!
discussionCount: Int!
repositoryCount: Int!
nodes: [SearchResultItem]
userCount: Int!
wikiCount: Int!
}
type Query {
search(first: Int, query: String!, type: SearchType!): SearchResultItemConnection!
type User {
avatarUrl: URI!
login: String!
name: String
}
- role: anonymous
definition:
schema: |-
union SearchResultItem = User
enum SearchType {
USER
}
- role: anonymous
definition:
schema: |
scalar URI
type User {
name: String
login: String!
avatarUrl: URI!
}
union SearchResultItem = User
type PageInfo {
hasNextPage: Boolean!
hasPreviousPage: Boolean!
}
type Query {
search(first: Int, query: String!, type: SearchType!): SearchResultItemConnection!
}
type SearchResultItemConnection {
codeCount: Int!
userCount: Int!
wikiCount: Int!
discussionCount: Int!
issueCount: Int!
nodes: [SearchResultItem]
pageInfo: PageInfo!
discussionCount: Int!
repositoryCount: Int!
nodes: [SearchResultItem]
userCount: Int!
wikiCount: Int!
}
type Query {
search(first: Int, query: String!, type: SearchType!): SearchResultItemConnection!
type User {
avatarUrl: URI!
login: String!
name: String
}
union SearchResultItem = User
enum SearchType {
USER
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
-- Could not auto-generate a down migration.
-- Please write an appropriate down migration for the SQL below:
-- alter table "public"."users" add column "email" text
-- null;
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
alter table "public"."users" add column "email" text
null;
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
-- Could not auto-generate a down migration.
-- Please write an appropriate down migration for the SQL below:
-- alter table "public"."users" add column "onboardind_request_id" uuid
-- null unique;
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
alter table "public"."users" add column "onboardind_request_id" uuid
null unique;
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
alter table "public"."users" drop constraint "users_email_key";
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
alter table "public"."users" add constraint "users_email_key" unique ("email");
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
alter table "public"."users" rename column "onboarding_request_id" to "onboardind_request_id";
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
alter table "public"."users" rename column "onboardind_request_id" to "onboarding_request_id";
2 changes: 1 addition & 1 deletion src/pages/api/onboarding/review.ts
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ const Review = async (req: NextApiRequest, res: NextApiResponse) => {
parameters: JSON.stringify(data),
})

const result = await onboard(data)
const result = await onboard(data, id)
sendReviewMail(result, data.email)

res.status(200).json(result)
Expand Down
32 changes: 25 additions & 7 deletions src/services/onboard.ts
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,16 @@ const shouldInsertAccount = (serviceName: string, response: APIResponse) =>
ACCOUNTS_TO_CREATE_ON_SUCCESS.includes(serviceName)

const createAccountsOnSuccess = async (
{ departure, arrival }: { arrival: string; departure: string },
{
departure,
arrival,
email,
}: {
arrival: string
departure: string
email: string
},
onboardingRequestId: string,
responses: Record<string, APIResponse>
) => {
if (
Expand All @@ -211,7 +220,12 @@ const createAccountsOnSuccess = async (
query: insertUser,
token,
parameters: {
user: { arrival, departure },
user: {
arrival,
departure,
email,
onboarding_request_id: onboardingRequestId,
},
},
})

Expand All @@ -233,10 +247,10 @@ const createAccountsOnSuccess = async (
}
}

const onboard = async ({
services,
...user
}: OnboardingData): Promise<OnboardingResponses> => {
const onboard = async (
{ services, ...user }: OnboardingData,
onboardingRequestId: string
): Promise<OnboardingResponses> => {
const servicesToCreate = [
...SERVICES.filter(
(serviceName) => serviceName in services && services[serviceName] === true
Expand All @@ -263,7 +277,11 @@ const onboard = async ({
{}
)

await createAccountsOnSuccess(user, servicesCreationResponses)
await createAccountsOnSuccess(
user,
onboardingRequestId,
servicesCreationResponses
)

logger.info(
{
Expand Down

0 comments on commit 037ab55

Please sign in to comment.