Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: fixes storage handling for non-auth recipes #203

Merged
merged 7 commits into from
Mar 5, 2024

Conversation

sattvikc
Copy link
Collaborator

@sattvikc sattvikc commented Mar 1, 2024

Summary of change

  • Implements deleteAllUserRoleAssociationsForRole
  • Drops (app_id, role) foreign key constraint on user_roles table

Related issues

Test Plan

(Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work. Bonus points for screenshots and videos!)

Documentation changes

(If relevant, please create a PR in our docs repo, or create a checklist here highlighting the necessary changes)

Checklist for important updates

  • Changelog has been updated
  • pluginInterfaceSupported.json file has been updated (if needed)
  • Changes to the version if needed
    • In build.gradle
  • Had installed and ran the pre-commit hook
  • If there are new dependencies that have been added in build.gradle, please make sure to add them in implementationDependencies.json.
  • Issue this PR against the latest non released version branch.
    • To know which one it is, run find the latest released tag (git tag) in the format vX.Y.Z, and then find the latest branch (git branch --all) whose X.Y is greater than the latest released tag.
    • If no such branch exists, then create one from the latest released branch.

Remaining TODOs for this PR

  • Item1
  • Item2

@sattvikc sattvikc self-assigned this Mar 1, 2024
@sattvikc sattvikc changed the title fix: non auth fix: fixes storage handling for non-auth recipes Mar 5, 2024
@rishabhpoddar rishabhpoddar changed the base branch from 5.0 to 6.0 March 5, 2024 07:39
@rishabhpoddar rishabhpoddar merged commit 4bf90e0 into 6.0 Mar 5, 2024
8 of 15 checks passed
@rishabhpoddar rishabhpoddar deleted the multitenancy-nonauth branch March 5, 2024 07:39
sattvikc added a commit that referenced this pull request Mar 7, 2024
* fix: remove db password from logs (#181)

* fix: remove db password from logs

* fix: Update version

* fix: mask db password

* fix: Add tests

* fix: Add more tests

* fix: PR changes

* fix: PR changes

* fix: Connection pool issue (#182)

* fix: test connection pool

* fix: changelog

* fix: test for downtime during connection pool change

* fix: assert that there should be down time

* fix: cleanup

* adding dev-v5.0.7 tag to this commit to ensure building

* fix: cicd tests (#185)

* fix: logging test (#187)

* adding dev-v5.0.7 tag to this commit to ensure building

* fix: flaky test (#188)

* adding dev-v5.0.7 tag to this commit to ensure building

* fix: adds idle timeout and minimum idle configs (#184)

* fix: adds idle timeout and minimum idle configs

* fix: protected props

* fix: changelog

* fix: test protected config

* adding dev-v5.0.7 tag to this commit to ensure building

* fix: cicd (#189)

* fix: cicd

* fix: test

* adding dev-v5.0.7 tag to this commit to ensure building

* fixes tests

* adding dev-v5.0.7 tag to this commit to ensure building

* fix: vulnerability fix (#192)

* fix: vulnerability fix

* fix: vulnerability fix

* adding dev-v5.0.8 tag to this commit to ensure building

* fix: dependencies (#195)

* adding dev-v5.0.8 tag to this commit to ensure building

* fix: version update (#198)

* adding dev-v5.0.8 tag to this commit to ensure building

* fix: fixes storage handling for non-auth recipes (#203)

* fix: tests

* fix: user role table constraint

* fix: pr comments

* fix: according to updated interface

* fix: user roles

* fix: version and changelog

* fix: plugin interface version

* adding dev-v6.0.0 tag to this commit to ensure building

---------

Co-authored-by: Ankit Tiwari <[email protected]>
Co-authored-by: rishabhpoddar <[email protected]>
rishabhpoddar added a commit that referenced this pull request Mar 13, 2024
* changes storage layer to take json instead of config file path

* adds new functions skeleton

* adds checks for conflicting configs for user pools

* changes to tests to make them pass

* adds skeleton for multi tenancy functions

* fixes bug

* adds connection pool ID function

* changes as per interface change

* adds one test for multi tenany storage layer

* adds more tests

* fixes bugs

* adds more tests and changes config parsing to prioritise connection uri input

* fixes a few config parsing bugs

* adds more tests

* modifies testing to clear multiple user pools after each test

* makes initlogging idempotent

* fixes all tests

* fixes tests

* adds more placeholder functions

* removes use of quiteprogramexception

* small change

* adds new function skeleton

* adds more skeleton functions

* updates exception import

* adds skeleton for tenantIdentifier for emailpassword and useridmapping recipes

* changes to incorporate tenantIndetifier for key value storage

* changes to session receipe to add tenantIdentifier

* introduces the concept of appIdentifier vs tenantIdentifier

* fixes test compilation issues

* changes as per plugin change

* modifes user roles functions to add tenantidentifier and appidentifiers

* modifies emailpassword functions

* changes to a few functions

* adds appidentifier to email verfication

* makes tests pass

* adds tenant identifier to third party

* adds tenantidentifier to passwordless

* function name changes

* fix: Multitenancy schema updates (#59)

* fix: few schema changes and multitenancy impl

* fix: handling pkey constraint

* fix: pr comments

* fix: pr comments

* fix: pr comments

* fix: pr comments

* fix: typo and logical mistakes

* fix: null handling and new exceptions

* fix: refactored provider SQLs

* fix: refactored select all

* fix: fix for concurrent test

* fix: cleanup

* fix: cleanup and handle null boolean

* fix: Multitenant emailpassword recipe changes (#60)

* fix: emailpassword schema

* fix: ep, ev and pless schema

* fix: prepare for ep review

* fix: app_id_to_user_id table

* fix: ep recipe impl

* fix: removed todo

* fix: updated as per plugin interface

* fix: fixed index

* fix: pr comments

* fix: removed backward compatibility

* fix: minor fix (#62)

* fix: Multitenant schema changes (#64)

* fix: ev and pless impl

* fix: ev fixes

* fix: pless and tp changes

* fix: revert delete user

* fix: pless impl

* fix: cleanup and fixed deleteUser

* fix: simplified queries and added fkey checks in ep

* fix: fkey checks for pless

* fix: fkey checks for thirdparty

* fix: fkey checks for emailverification

* fix: fixed test

* fix: updated to join query for ep

* fix: updated join queries

* fix: constraints

* fix: test fix

* fix: pr comments

* fix: to support PR comments on core (#65)

* fix: from core pr comments

* fix: updated tenant identifier conversion

* fix: Multitenant userroles (#69)

* fix: user roles impl

* fix: handling fkey

* fix: transaction fix

* fix: transaction fix

* fix: Multitenant usermetadata (#70)

* fix: user roles impl

* fix: handling fkey

* fix: usermetadata impl

* fix: transaction fix

* fix: transaction fix

* fix: ep storage (#71)

* fix: thirdparty storage (#74)

* fix: Multitenant thirdparty changes for update email (#75)

* fix: thirdparty storage

* fix: thirdparty changes

* fix: pr comments

* fix: Multitenant emailverification storage (#76)

* fix: thirdparty storage

* fix: emailverification storage

* fix: tokens tenant specific (#77)

* fix: Multitenant session (#78)

* fix: session changes

* fix: session changes

* fix: session changes

* comment modification

* fix: Multitenant session changes (#80)

* fix: key value changes

* fix: pr comments

* fix: adding tenant or app not found exceptions

* Multi tenant merging with latest (#79)

* merges with latest

* fixes test compilation issue

* increases threshold of deadlock retries

* adds simple test for loading 50 storages

* many fixes

* fix: jwt changes (#82)

* fix: Multitenant General Queries (#84)

* fix: updated general queries

* fix: fixed queries

* fix: Multitenant dashboard (#85)

* fix: updated general queries

* fix: fixed queries

* fix: dashboard queries

* fix: added fk contstraint

* fix: fixed index

* fix: Multitenant totp (#86)

* fix: totp queries

* fix: handling fk

* fix: pr comment

* merges (#87)

* adds new config

* fix: multitenancy changes (#88)

* fix: multitenancy changes

* fix: multitenant queries

* fix: add userid to tenant

* fix: saas test

* fix: remove DeletionInProgressException

* fix: pr comments

* fix: recipe id in appid_to_userid table

* fix: pr comment

* fix: query fixes

* fix: fixed validation

* fix: added comments

* fix: Misc changes (#89)

* fix: session expiry index

* fix: active users

* feat: Introduce MFA recipe in postgresql plugin

* chores: Mention MFA recipe support in CHANGELOG

* fix: Tenantid in userobjects (#90)

* fix: adding tenant ids to user objects

* fix: create user type

* fix: test fixes

* fix: transaction

* fix: refactored ep and tp

* fix: refactor pless

* fix: pr comment

* fix: pr comment

* fix: test fix (#92)

* fix: Startup log (#93)

* fix: removed log to console

* fix: tenant id in loadConfig

* fix: Userpool test (#94)

* fix: userpool test

* fix: added test with server restart

* fix: delete non auth user (#95)

* fix: Delete nonauth user (#96)

* fix: nonAuthRecipeuserData to take tenantIdentifier

* fix: pr comments

* feat: Add active user stat queries for MFA

* fix: Update user_id length in mfa_user_factors table

* Set factor_id VARCHAR length to 16

* fix: config validation (#97)

* fix: config per tenant, per app annotations (#98)

* feat: Consider multitenancy when getting MFA stats

* test: Fix mistake in MFA table create query

* feat: Add query to delete user from a tenant

* fix: config annotation (#102)

* fix: config annotation

* fix: removed comments

* Update src/main/java/io/supertokens/storage/postgresql/config/PostgreSQLConfig.java

* Update src/main/java/io/supertokens/storage/postgresql/config/PostgreSQLConfig.java

---------

Co-authored-by: Rishabh Poddar <[email protected]>

* fix: added setLogLevels (#103)

* fix: merge issue

* Overload deleteMfaInfoForUser and set factor column size to 64

* fix: fkey names (#104)

* fix: fixed fkey names on user tables

* fix: catching fkey constraints

* fix: added comments

* fix: Postgres migration (#105)

* fix: fixed fkey names on user tables

* fix: catching fkey constraints

* fix: added comments

* fix: changelog

* fix: changelog

* fix: pr comment

* fix: Fkey indexes (#109)

* fix: fkey indexes

* fix: fixes

* fix: active users storage stuff

* fix: active users storage stuff

* fix: fixed index name

* fix: updated migration script

* fix: Revert irrelevant changes

* refactor: Replace TotpNotEnabledError with UnknownUserIdTotpError (#133)

* refactor: Replace totp not enabled error with unknown device error

* Replace TotpNotEnabledError with UnknownUserIdTotpError

* chores: Update CHANGELOG

* fix: build

* fix: totp queries

---------

Co-authored-by: Sattvik Chakravarthy <[email protected]>

* fix: queries

* fix: changes as per plugin interface (#163)

* fix: mfa cleanup (#164)

* fix: mfa cleanup

* fix: pr comments

* Mfa multitenancy (#167)

* fix: mfa multitenancy queries

* fix: mfa cleanup

* fix: mfa config storage

* fix: mfa

* fix: tests

* fix: default values

* fix: pr comments

* fix: pr comments

* fix: minor fix

* fix: pr comments

* fix: set

* fix: pr comment

* fix: constraint

* fix: created_at in totp devices (#169)

* fix: created_at in totp devices

* fix: add createdat to totp device

* fix: mfa stats (#170)

* fix: mfa stats

* fix: pr comments

* fix: index name

* fix: mfa changes (#177)

* feat: make refresh update the signing key type of sessions (#180)

* fix: Merge latest (#199)

* fix: remove db password from logs (#181)

* fix: remove db password from logs

* fix: Update version

* fix: mask db password

* fix: Add tests

* fix: Add more tests

* fix: PR changes

* fix: PR changes

* fix: Connection pool issue (#182)

* fix: test connection pool

* fix: changelog

* fix: test for downtime during connection pool change

* fix: assert that there should be down time

* fix: cleanup

* adding dev-v5.0.7 tag to this commit to ensure building

* fix: cicd tests (#185)

* fix: logging test (#187)

* adding dev-v5.0.7 tag to this commit to ensure building

* fix: flaky test (#188)

* adding dev-v5.0.7 tag to this commit to ensure building

* fix: adds idle timeout and minimum idle configs (#184)

* fix: adds idle timeout and minimum idle configs

* fix: protected props

* fix: changelog

* fix: test protected config

* adding dev-v5.0.7 tag to this commit to ensure building

* fix: cicd (#189)

* fix: cicd

* fix: test

* adding dev-v5.0.7 tag to this commit to ensure building

* fixes tests

* adding dev-v5.0.7 tag to this commit to ensure building

* fix: vulnerability fix (#192)

* fix: vulnerability fix

* fix: vulnerability fix

* adding dev-v5.0.8 tag to this commit to ensure building

* fix: dependencies (#195)

* adding dev-v5.0.8 tag to this commit to ensure building

* fix: version update (#198)

* adding dev-v5.0.8 tag to this commit to ensure building

---------

Co-authored-by: Ankit Tiwari <[email protected]>
Co-authored-by: rishabhpoddar <[email protected]>

* merge latest (#204)

* fix: remove db password from logs (#181)

* fix: remove db password from logs

* fix: Update version

* fix: mask db password

* fix: Add tests

* fix: Add more tests

* fix: PR changes

* fix: PR changes

* fix: Connection pool issue (#182)

* fix: test connection pool

* fix: changelog

* fix: test for downtime during connection pool change

* fix: assert that there should be down time

* fix: cleanup

* adding dev-v5.0.7 tag to this commit to ensure building

* fix: cicd tests (#185)

* fix: logging test (#187)

* adding dev-v5.0.7 tag to this commit to ensure building

* fix: flaky test (#188)

* adding dev-v5.0.7 tag to this commit to ensure building

* fix: adds idle timeout and minimum idle configs (#184)

* fix: adds idle timeout and minimum idle configs

* fix: protected props

* fix: changelog

* fix: test protected config

* adding dev-v5.0.7 tag to this commit to ensure building

* fix: cicd (#189)

* fix: cicd

* fix: test

* adding dev-v5.0.7 tag to this commit to ensure building

* fixes tests

* adding dev-v5.0.7 tag to this commit to ensure building

* fix: vulnerability fix (#192)

* fix: vulnerability fix

* fix: vulnerability fix

* adding dev-v5.0.8 tag to this commit to ensure building

* fix: dependencies (#195)

* adding dev-v5.0.8 tag to this commit to ensure building

* fix: version update (#198)

* adding dev-v5.0.8 tag to this commit to ensure building

* fix: fixes storage handling for non-auth recipes (#203)

* fix: tests

* fix: user role table constraint

* fix: pr comments

* fix: according to updated interface

* fix: user roles

* fix: version and changelog

* fix: plugin interface version

* adding dev-v6.0.0 tag to this commit to ensure building

---------

Co-authored-by: Ankit Tiwari <[email protected]>
Co-authored-by: rishabhpoddar <[email protected]>

* fix: One million users test (#196)

* test: one million users first version

* fix: user data

* fix: update test

* fix: update cicd

* fix: wip

* fix: measurements

* fix: test

* fix: adding memory tests

* fix: memory limit

* fix: pass appId to getUserIdMappingForSuperTokensIds

* fix: one million users test

* fix: versions

* fix: versions

* Remaining changes (#206)

* fix: pass appId to getUserIdMappingForSuperTokensIds

* fix: one million users test

* fix: versions

* fix: versions

* fix: one million users

---------

Co-authored-by: rishabhpoddar <[email protected]>
Co-authored-by: KShivendu <[email protected]>
Co-authored-by: KShivendu <[email protected]>
Co-authored-by: Mihály Lengyel <[email protected]>
Co-authored-by: Ankit Tiwari <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants