From b61ca57784938806e4af05c4b0b44024a93658f5 Mon Sep 17 00:00:00 2001 From: devabdulsamad Date: Tue, 2 May 2023 23:31:40 +0100 Subject: [PATCH 1/4] first commit --- ui/.env | 8 +- ui/.env.development | 2 +- ui/components/AuthenticationForm.tsx | 31 +- ui/components/Header/index.tsx | 3 + ui/package-lock.json | 32151 ++++++++++++++++ ui/package.json | 4 +- .../auth/{facebook => facebooks}/callback.ts | 0 .../api/auth/{facebook => facebooks}/index.ts | 0 ui/pages/api/auth/magiclink/callback.ts | 1 + ui/pages/api/auth/web3/auth.ts | 33 + ui/pages/api/auth/web3/callback.ts | 17 + ui/pages/api/auth/web3/index.ts | 35 + ui/pages/api/auth/web3/lib/auth.ts | 25 + ui/pages/api/auth/web3/lib/passport.js | 30 + ui/pages/api/auth/web3/lib/web3.js | 24 + ui/server/passport/magicLink.ts | 2 + ui/server/prisma/index.ts | 5 + .../migration.sql | 2 - .../migration.sql | 2 - .../migration.sql | 14 - .../migration.sql | 65 - .../migration.sql | 15 - .../migration.sql | 2 - .../migration.sql | 5 - .../migration.sql | 16 - .../migration.sql | 2 - .../migration.sql | 20 - .../migration.sql | 13 - .../migration.sql | 77 - .../migration.sql | 8 - .../migration.sql | 25 - .../migration.sql | 15 - .../migration.sql | 8 - .../migration.sql | 2 - .../migration.sql | 8 - .../migration.sql | 11 - .../migration.sql | 11 - .../20220409154942_invite_nonce/migration.sql | 2 - .../migration.sql | 9 - .../migration.sql | 2 - .../migration.sql | 4 - .../migration.sql | 9 - .../20220505200203_vat_as_int/migration.sql | 8 - .../migration.sql | 2 - .../migration.sql | 2 - .../migration.sql | 5 - .../migration.sql | 2 - .../migration.sql | 2 - .../migration.sql | 2 - .../migration.sql | 18 - .../migration.sql | 2 - .../20220717202704_typo_fix/migration.sql | 9 - .../migration.sql | 3 - .../migration.sql | 2 - .../migration.sql | 3 - .../migration.sql | 2 - .../20220731195031_group_invite/migration.sql | 2 - .../migration.sql | 10 - .../migration.sql | 2 - .../20221017200421_mail_updates/migration.sql | 2 - .../migration.sql | 2 - .../migration.sql | 2 - .../migration.sql | 2 - .../migration.sql | 8 - .../migration.sql | 2 - .../migration.sql | 2 - .../20230318195034_expense/migration.sql | 33 - .../migration.sql | 8 - .../migration.sql | 8 - .../migration.sql | 5 - .../migration.sql | 271 +- ui/server/prisma/schema.prisma | 1 + ui/yarn.lock | 17883 +++++---- 73 files changed, 42340 insertions(+), 8683 deletions(-) create mode 100644 ui/package-lock.json rename ui/pages/api/auth/{facebook => facebooks}/callback.ts (100%) rename ui/pages/api/auth/{facebook => facebooks}/index.ts (100%) create mode 100644 ui/pages/api/auth/web3/auth.ts create mode 100644 ui/pages/api/auth/web3/callback.ts create mode 100644 ui/pages/api/auth/web3/index.ts create mode 100644 ui/pages/api/auth/web3/lib/auth.ts create mode 100644 ui/pages/api/auth/web3/lib/passport.js create mode 100644 ui/pages/api/auth/web3/lib/web3.js delete mode 100644 ui/server/prisma/migrations/20211110110418_add_deleted_to_buckets/migration.sql delete mode 100644 ui/server/prisma/migrations/20211122181835_org_info_field/migration.sql delete mode 100644 ui/server/prisma/migrations/20211129175454_make_bucket_required_on_comment/migration.sql delete mode 100644 ui/server/prisma/migrations/20211210132239_make_orgs_optional/migration.sql delete mode 100644 ui/server/prisma/migrations/20211214144419_use_a_root_org_for_single_collections/migration.sql delete mode 100644 ui/server/prisma/migrations/20211229162954_add_bucket_approval_setting/migration.sql delete mode 100644 ui/server/prisma/migrations/20220114083817_add_visibility_enum_to_collections/migration.sql delete mode 100644 ui/server/prisma/migrations/20220114110055_remove_private_visibility_option/migration.sql delete mode 100644 ui/server/prisma/migrations/20220209132556_collection_member_has_joined_col/migration.sql delete mode 100644 ui/server/prisma/migrations/20220210140418_add_emailsettings/migration.sql delete mode 100644 ui/server/prisma/migrations/20220212174405_extent_allocation_and_contribution/migration.sql delete mode 100644 ui/server/prisma/migrations/20220225001805_add_accounts_and_transactions/migration.sql delete mode 100644 ui/server/prisma/migrations/20220225102335_make_collection_member_id_optional_on_transaction/migration.sql delete mode 100644 ui/server/prisma/migrations/20220301134355_add_status_account_to_round_and_outgoing_account_to_bucket/migration.sql delete mode 100644 ui/server/prisma/migrations/20220302003727_drop_type_from_transaction_and_add_user/migration.sql delete mode 100644 ui/server/prisma/migrations/20220316112718_change_name_of_bucket_member_relation/migration.sql delete mode 100644 ui/server/prisma/migrations/20220317163736_is_removed_field_on_coll_members/migration.sql delete mode 100644 ui/server/prisma/migrations/20220324131905_remove_custom_domain/migration.sql delete mode 100644 ui/server/prisma/migrations/20220327195349_add_facebook_id_to_user/migration.sql delete mode 100644 ui/server/prisma/migrations/20220401165804_add_google_id_to_user/migration.sql delete mode 100644 ui/server/prisma/migrations/20220409154942_invite_nonce/migration.sql delete mode 100644 ui/server/prisma/migrations/20220410104856_invite_nonce_type/migration.sql delete mode 100644 ui/server/prisma/migrations/20220415235032_round_join_request_col/migration.sql delete mode 100644 ui/server/prisma/migrations/20220418123858_direct_funding_stripe/migration.sql delete mode 100644 ui/server/prisma/migrations/20220423214424_direct_funding_buckets/migration.sql delete mode 100644 ui/server/prisma/migrations/20220505200203_vat_as_int/migration.sql delete mode 100644 ui/server/prisma/migrations/20220508212742_bucket_published_change_default_value/migration.sql delete mode 100644 ui/server/prisma/migrations/20220526153057_stripe_session_id_on_transactions/migration.sql delete mode 100644 ui/server/prisma/migrations/20220527151447_stripe_session_id_on_allocation_and_contribution/migration.sql delete mode 100644 ui/server/prisma/migrations/20220602134234_add_accepted_terms_at/migration.sql delete mode 100644 ui/server/prisma/migrations/20220607140636_experimental_features_flag_on_groups/migration.sql delete mode 100644 ui/server/prisma/migrations/20220618193918_percentge_funded_col/migration.sql delete mode 100644 ui/server/prisma/migrations/20220627145125_add_stripe_subscription_fields_to_group/migration.sql delete mode 100644 ui/server/prisma/migrations/20220717202010_contribtuions_count/migration.sql delete mode 100644 ui/server/prisma/migrations/20220717202704_typo_fix/migration.sql delete mode 100644 ui/server/prisma/migrations/20220717204059_bucket_stat_defaults/migration.sql delete mode 100644 ui/server/prisma/migrations/20220718061438_group_registration_policy/migration.sql delete mode 100644 ui/server/prisma/migrations/20220724180941_group_member_fields/migration.sql delete mode 100644 ui/server/prisma/migrations/20220725060403_group_visibility/migration.sql delete mode 100644 ui/server/prisma/migrations/20220731195031_group_invite/migration.sql delete mode 100644 ui/server/prisma/migrations/20220829183946_super_admin_session/migration.sql delete mode 100644 ui/server/prisma/migrations/20220912185014_super_admin_user/migration.sql delete mode 100644 ui/server/prisma/migrations/20221017200421_mail_updates/migration.sql delete mode 100644 ui/server/prisma/migrations/20230119194927_corcreator_funding_permission/migration.sql delete mode 100644 ui/server/prisma/migrations/20230121204840_cocreator_editing_permission/migration.sql delete mode 100644 ui/server/prisma/migrations/20230122210321_ready_for_funding_status/migration.sql delete mode 100644 ui/server/prisma/migrations/20230201184916_remove_require_bucket_approval/migration.sql delete mode 100644 ui/server/prisma/migrations/20230225185603_opencollective_integration/migration.sql delete mode 100644 ui/server/prisma/migrations/20230227194512_oc_project_id/migration.sql delete mode 100644 ui/server/prisma/migrations/20230318195034_expense/migration.sql delete mode 100644 ui/server/prisma/migrations/20230319090545_add_expense_title/migration.sql delete mode 100644 ui/server/prisma/migrations/20230319171055_expense_submitted_by/migration.sql delete mode 100644 ui/server/prisma/migrations/20230402115408_expense_status/migration.sql rename ui/server/prisma/migrations/{20211108105425_initial_migration => 20230416170012_init}/migration.sql (53%) diff --git a/ui/.env b/ui/.env index 6281a0125..9478ef927 100644 --- a/ui/.env +++ b/ui/.env @@ -1,9 +1,15 @@ KEYCLOAK_CLIENT_ID="dreams" KEYCLOAK_REALM=plato -DATABASE_URL='postgres://postgres:postgres@localhost:35432/cobudget' +# DATABASE_URL='postgres://postgres:postgres@localhost:35432/cobudget' +DATABASE_URL='postgresql://postgres:vWDXHXpIZytwF3lF@db.zdderyqdnmrgwrtaefxa.supabase.co:5432/postgres' SINGLE_GROUP_MODE=false BUCKET_NAME_SINGULAR="bucket" BUCKET_NAME_PLURAL="buckets" PLATFORM_NAME="Cobudget" PLATFORM_LOGO="https://cobudget.com/logo_400.jpg" + +COOKIE_SECRET="A_LONG_RANDOM_VALUE_THAT_IS_NOT_THIS_STRING" +POSTMARK_API_TOKEN="fake" +MAGIC_LINK_SECRET="fake" +FROM_EMAIL="fake@example.com" diff --git a/ui/.env.development b/ui/.env.development index 327f6e71a..be04c48a8 100644 --- a/ui/.env.development +++ b/ui/.env.development @@ -5,7 +5,7 @@ REALITIES_DEPLOY_URL="localhost:2550" REACT_APP_GRAPHQL_ENDPOINT=http://localhost:3100/graphql REACT_APP_GRAPHQL_SUBSCRIPTION=ws://localhost:3100/graphql -DATABASE_URL='postgres://postgres:postgres@localhost:35432/cobudget' +DATABASE_URL='postgresql://postgres:vWDXHXpIZytwF3lF@db.zdderyqdnmrgwrtaefxa.supabase.co:5432/postgres' NEXTAUTH_URL=http://localhost:3000 # For the Discourse integration, don't use these in production diff --git a/ui/components/AuthenticationForm.tsx b/ui/components/AuthenticationForm.tsx index 9ba8903ca..1b0b41f49 100644 --- a/ui/components/AuthenticationForm.tsx +++ b/ui/components/AuthenticationForm.tsx @@ -5,6 +5,7 @@ import TextField from "./TextField"; import Button from "./Button"; import Banner from "components/Banner"; import { FormattedMessage, useIntl } from "react-intl"; +import Web3 from "web3"; export default function AuthenticationForm({ fbEmailError = false, @@ -23,9 +24,11 @@ export default function AuthenticationForm({ const redirect = r?.toString(); const intl = useIntl(); + + return (
-
{ evt.preventDefault(); setLoading(true); @@ -77,14 +80,26 @@ export default function AuthenticationForm({ > - + - {(fbLoginEnabled || googleLoginEnabled) && ( + {(!fbLoginEnabled || googleLoginEnabled) && (
)} - {fbLoginEnabled && ( -
+ { +
+ +
+ } + {!fbLoginEnabled && ( +
{fbEmailError && (
)} - {googleLoginEnabled && ( + {!googleLoginEnabled && (