├── .coveragerc ├── .deepsource.toml ├── .editorconfig ├── .gitignore ├── .pre-commit-config.yaml ├── .pyup.yml ├── .travis.yml ├── CHANGES.rst ├── LICENSE.txt ├── MANIFEST.in ├── README.md ├── config.rb ├── dev_requirements.txt ├── features ├── environment.py ├── failed_login.feature ├── failed_registration.feature ├── login.feature ├── registration.feature └── steps │ ├── failed_login.py │ ├── failed_registration.py │ ├── login.py │ └── registration.py ├── instance ├── settings-sample.py └── testing.py ├── lastuser_core ├── __init__.py ├── models │ ├── __init__.py │ ├── auth_client.py │ ├── helpers.py │ ├── notification.py │ ├── user.py │ └── user_session.py ├── registry.py ├── signals.py └── utils.py ├── lastuser_oauth ├── __init__.py ├── forms │ ├── __init__.py │ ├── auth.py │ ├── login.py │ └── profile.py ├── mailclient.py ├── providers │ ├── __init__.py │ ├── flask_oauth.py │ ├── github.py │ ├── google.py │ ├── linkedin.py │ ├── openid.py │ └── twitter.py ├── static │ ├── css │ │ └── app.css │ ├── img │ │ ├── ajax-loader.gif │ │ ├── favicon.ico │ │ ├── github.png │ │ ├── github.svg │ │ ├── google.png │ │ ├── google.svg │ │ ├── home.png │ │ ├── linkedin.png │ │ ├── linkedin.svg │ │ ├── logo.png │ │ ├── logo@2x.png │ │ ├── openid.png │ │ ├── twitter.png │ │ └── twitter.svg │ ├── js │ │ └── app.js │ └── sass │ │ └── app.sass ├── templates │ ├── authorize.html.jinja2 │ ├── emailreset.html.jinja2 │ ├── emailverify.html.jinja2 │ ├── forms │ │ └── login.html.jinja2 │ ├── login.html.jinja2 │ ├── login_beacon.html.jinja2 │ ├── loginform.html.jinja2 │ ├── merge.html.jinja2 │ ├── oauth403.html.jinja2 │ └── oauth_public_redirect.html.jinja2 └── views │ ├── __init__.py │ ├── account.py │ ├── helpers.py │ ├── login.py │ ├── notify.py │ ├── oauth.py │ ├── profile.py │ └── resource.py ├── lastuser_ui ├── __init__.py ├── forms │ ├── __init__.py │ ├── auth_client.py │ ├── org.py │ └── profile.py ├── templates │ ├── account.html.jinja2 │ ├── client_cred.html.jinja2 │ ├── client_info.html.jinja2 │ ├── client_list.html.jinja2 │ ├── dashboard.html.jinja2 │ ├── index.html.jinja2 │ ├── org_info.html.jinja2 │ └── org_list.html.jinja2 └── views │ ├── __init__.py │ ├── auth_client.py │ ├── dashboard.py │ ├── index.py │ ├── org.py │ ├── profile.py │ └── sms.py ├── lastuserapp ├── __init__.py ├── _version.py ├── static │ ├── .well-known │ │ └── assetlinks.json │ └── robots.txt ├── templates │ └── layout.html.jinja2 └── views │ └── __init__.py ├── manage.py ├── migrations ├── README ├── alembic.ini ├── env.py ├── script.py.mako └── versions │ ├── 039d2745e628_remove_user_flash_message.py │ ├── 065146599a21_useremail_email_index_pattern.py │ ├── 07f975f81f03_remove_team_domain.py │ ├── 10c4a18dea0_check_constraint.py │ ├── 11a71745a9a8_referring_user_for_i.py │ ├── 120ee669cc20_user_avatar.py │ ├── 165f20377abe_timestamp_team_membe.py │ ├── 16f88a0a1ad3_client_ids_for_user_.py │ ├── 184ed1055383_init.py │ ├── 1bfb508c7ceb_client_confidential_flag.py │ ├── 1f10aa945af0_remove_resource_models.py │ ├── 20ce0d0f1ee9_remove_client_plaintext_secrets.py │ ├── 25c7f8680a52_longer_external_usernames.py │ ├── 25e7a9839cd4_user_status_flag.py │ ├── 2661b24d343f_clients_can_have_null_scope.py │ ├── 28eeea165ad_email_phone_type_and_private_columns.py │ ├── 2b0f9d6ddf96_switch_to_timestamptz.py │ ├── 2dcc6f5ab4cf_one_claim_per_email_.py │ ├── 3506dcc19f7a_updated_primary_trigger.py │ ├── 351ec61f8b07_resource_uri_is_depr.py │ ├── 35a6ffd7a079_restricted_resources.py │ ├── 3a4e0ea70ef_user_sessions.py │ ├── 3b17b62bf8e4_make_email_lowercase_unique.py │ ├── 3b3583fcbaea_namespace_column.py │ ├── 3d4b7578d2e9_scope_for_trusted_clients.py │ ├── 3e15e2b894d5_longer_scope.py │ ├── 4072c5dbca9f_email_length.py │ ├── 4171046d4f62_linkedin_recommends_1000_char_token_.py │ ├── 4279e1e5aec2_remove_members_team.py │ ├── 4b6d120b1612_remove_unused_client_iframe_uri.py │ ├── 4d19ada674c2_user_name_index.py │ ├── 4d2baa5b1c46_user_password_and_client_credentials.py │ ├── 4e206c5ddabd_uuid_userid.py │ ├── 50c29617571d_email_domain.py │ ├── 518321b25909_username_model.py │ ├── 51eadbed921b_track_clients_that_verify_sessions.py │ ├── 666cdfe6da55_change_auth_client_user_session_columns.py │ ├── 77893cc3830a_fix_team_membership_columns.py │ ├── 7adaca745f63_remove_user_bio_field.py │ ├── 7b0ba76b89e_resource_namespace.py │ ├── 83d3ede06c_uuids_for_principals.py │ ├── 87fc422c81f9_use_uuid_for_user_session.py │ ├── 8a9bf9d385c2_make_client_key_a_uuid.py │ ├── 9d8dd321cea7_index_password_reset_request.py │ ├── a4bea3d02a3d_use_unicodetext_columns.py │ ├── b332c012c57d_use_add_primary_relationship_for_email_.py │ ├── bc9dda290638_remove_permission_model.py │ ├── c446b9bc0691_remove_org_and_team_ownership_of_email_.py │ ├── cb427668346f_remove_client_id_from_user_org_team.py │ ├── cc8cfbcf8f1_resourceaction_index.py │ ├── cefeae5ffcf9_remove_noticetype_model.py │ ├── d055b3e2c89_members_team.py │ ├── d94bd59a2f0_email_and_phone_linked_to_org_and_team.py │ ├── ee6107769222_sanitize_table_names.py │ ├── f0b1ec57c79_public_client_auth_token.py │ ├── f1185c3c4505_count_phone_verification_attempts.py │ ├── f324b0ecd05c_external_id_last_used_at.py │ ├── f65c00c0cfc3_remove_obsolete_clientteamaccess.py │ └── f7f0f385f6b_client_related_model_indexes.py ├── pyproject.toml ├── requirements.txt ├── rq.sh ├── rqinit.py ├── runserver.py ├── runtests.sh ├── runtestserver.py ├── secrets.test.sample ├── setup.cfg ├── sitecustomize.py ├── test_requirements.txt ├── tests ├── __init__.py └── unit │ ├── __init__.py │ ├── lastuser_core │ ├── __init__.py │ ├── fixtures.py │ ├── test_db.py │ ├── test_model_client_AuthCode.py │ ├── test_model_client_AuthToken.py │ ├── test_model_client_Client.py │ ├── test_model_client_ClientCredential.py │ ├── test_model_client_ScopeMixin.py │ ├── test_model_client_TeamClientPermissions.py │ ├── test_model_client_UserClientPermissions.py │ ├── test_model_user_Name.py │ ├── test_model_user_Organization.py │ ├── test_model_user_PasswordResetRequest.py │ ├── test_model_user_Team.py │ ├── test_model_user_User.py │ ├── test_model_user_UserEmail.py │ ├── test_model_user_UserEmailClaim.py │ ├── test_model_user_UserExternalId.py │ ├── test_model_user_UserOldId.py │ ├── test_model_user_UserPhone.py │ ├── test_model_user_UserPhoneClaim.py │ ├── test_models.py │ ├── test_registry_LoginProvider.py │ ├── test_registry_LoginProviderRegistry.py │ ├── test_registry_ResourceRegistry.py │ ├── test_session_UserSession.py │ ├── test_signals.py │ └── test_utils.py │ └── lastuser_oauth │ ├── __init__.py │ ├── fixtures.py │ ├── providers │ ├── __init__.py │ ├── fixtures.py │ ├── test_db.py │ ├── test_providers_GithubProvider.py │ ├── test_providers_GoogleProvider.py │ ├── test_providers_LinkedIn.py │ └── test_providers_TwitterProvider.py │ └── test_db.py └── website.py /.coveragerc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/.coveragerc -------------------------------------------------------------------------------- /.deepsource.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/.deepsource.toml -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/.editorconfig -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /.pyup.yml: -------------------------------------------------------------------------------- 1 | schedule: "every month" 2 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/.travis.yml -------------------------------------------------------------------------------- /CHANGES.rst: -------------------------------------------------------------------------------- 1 | 0.1 2 | --- 3 | 4 | - Initial version 5 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/MANIFEST.in -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/README.md -------------------------------------------------------------------------------- /config.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/config.rb -------------------------------------------------------------------------------- /dev_requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/dev_requirements.txt -------------------------------------------------------------------------------- /features/environment.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/features/environment.py -------------------------------------------------------------------------------- /features/failed_login.feature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/features/failed_login.feature -------------------------------------------------------------------------------- /features/failed_registration.feature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/features/failed_registration.feature -------------------------------------------------------------------------------- /features/login.feature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/features/login.feature -------------------------------------------------------------------------------- /features/registration.feature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/features/registration.feature -------------------------------------------------------------------------------- /features/steps/failed_login.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/features/steps/failed_login.py -------------------------------------------------------------------------------- /features/steps/failed_registration.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/features/steps/failed_registration.py -------------------------------------------------------------------------------- /features/steps/login.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/features/steps/login.py -------------------------------------------------------------------------------- /features/steps/registration.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/features/steps/registration.py -------------------------------------------------------------------------------- /instance/settings-sample.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/instance/settings-sample.py -------------------------------------------------------------------------------- /instance/testing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/instance/testing.py -------------------------------------------------------------------------------- /lastuser_core/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_core/__init__.py -------------------------------------------------------------------------------- /lastuser_core/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_core/models/__init__.py -------------------------------------------------------------------------------- /lastuser_core/models/auth_client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_core/models/auth_client.py -------------------------------------------------------------------------------- /lastuser_core/models/helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_core/models/helpers.py -------------------------------------------------------------------------------- /lastuser_core/models/notification.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_core/models/notification.py -------------------------------------------------------------------------------- /lastuser_core/models/user.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_core/models/user.py -------------------------------------------------------------------------------- /lastuser_core/models/user_session.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_core/models/user_session.py -------------------------------------------------------------------------------- /lastuser_core/registry.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_core/registry.py -------------------------------------------------------------------------------- /lastuser_core/signals.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_core/signals.py -------------------------------------------------------------------------------- /lastuser_core/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_core/utils.py -------------------------------------------------------------------------------- /lastuser_oauth/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/__init__.py -------------------------------------------------------------------------------- /lastuser_oauth/forms/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/forms/__init__.py -------------------------------------------------------------------------------- /lastuser_oauth/forms/auth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/forms/auth.py -------------------------------------------------------------------------------- /lastuser_oauth/forms/login.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/forms/login.py -------------------------------------------------------------------------------- /lastuser_oauth/forms/profile.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/forms/profile.py -------------------------------------------------------------------------------- /lastuser_oauth/mailclient.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/mailclient.py -------------------------------------------------------------------------------- /lastuser_oauth/providers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/providers/__init__.py -------------------------------------------------------------------------------- /lastuser_oauth/providers/flask_oauth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/providers/flask_oauth.py -------------------------------------------------------------------------------- /lastuser_oauth/providers/github.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/providers/github.py -------------------------------------------------------------------------------- /lastuser_oauth/providers/google.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/providers/google.py -------------------------------------------------------------------------------- /lastuser_oauth/providers/linkedin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/providers/linkedin.py -------------------------------------------------------------------------------- /lastuser_oauth/providers/openid.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/providers/openid.py -------------------------------------------------------------------------------- /lastuser_oauth/providers/twitter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/providers/twitter.py -------------------------------------------------------------------------------- /lastuser_oauth/static/css/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/static/css/app.css -------------------------------------------------------------------------------- /lastuser_oauth/static/img/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/static/img/ajax-loader.gif -------------------------------------------------------------------------------- /lastuser_oauth/static/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/static/img/favicon.ico -------------------------------------------------------------------------------- /lastuser_oauth/static/img/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/static/img/github.png -------------------------------------------------------------------------------- /lastuser_oauth/static/img/github.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/static/img/github.svg -------------------------------------------------------------------------------- /lastuser_oauth/static/img/google.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/static/img/google.png -------------------------------------------------------------------------------- /lastuser_oauth/static/img/google.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/static/img/google.svg -------------------------------------------------------------------------------- /lastuser_oauth/static/img/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/static/img/home.png -------------------------------------------------------------------------------- /lastuser_oauth/static/img/linkedin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/static/img/linkedin.png -------------------------------------------------------------------------------- /lastuser_oauth/static/img/linkedin.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/static/img/linkedin.svg -------------------------------------------------------------------------------- /lastuser_oauth/static/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/static/img/logo.png -------------------------------------------------------------------------------- /lastuser_oauth/static/img/logo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/static/img/logo@2x.png -------------------------------------------------------------------------------- /lastuser_oauth/static/img/openid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/static/img/openid.png -------------------------------------------------------------------------------- /lastuser_oauth/static/img/twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/static/img/twitter.png -------------------------------------------------------------------------------- /lastuser_oauth/static/img/twitter.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/static/img/twitter.svg -------------------------------------------------------------------------------- /lastuser_oauth/static/js/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/static/js/app.js -------------------------------------------------------------------------------- /lastuser_oauth/static/sass/app.sass: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/static/sass/app.sass -------------------------------------------------------------------------------- /lastuser_oauth/templates/authorize.html.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/templates/authorize.html.jinja2 -------------------------------------------------------------------------------- /lastuser_oauth/templates/emailreset.html.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/templates/emailreset.html.jinja2 -------------------------------------------------------------------------------- /lastuser_oauth/templates/emailverify.html.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/templates/emailverify.html.jinja2 -------------------------------------------------------------------------------- /lastuser_oauth/templates/forms/login.html.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/templates/forms/login.html.jinja2 -------------------------------------------------------------------------------- /lastuser_oauth/templates/login.html.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/templates/login.html.jinja2 -------------------------------------------------------------------------------- /lastuser_oauth/templates/login_beacon.html.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/templates/login_beacon.html.jinja2 -------------------------------------------------------------------------------- /lastuser_oauth/templates/loginform.html.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/templates/loginform.html.jinja2 -------------------------------------------------------------------------------- /lastuser_oauth/templates/merge.html.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/templates/merge.html.jinja2 -------------------------------------------------------------------------------- /lastuser_oauth/templates/oauth403.html.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/templates/oauth403.html.jinja2 -------------------------------------------------------------------------------- /lastuser_oauth/templates/oauth_public_redirect.html.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/templates/oauth_public_redirect.html.jinja2 -------------------------------------------------------------------------------- /lastuser_oauth/views/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/views/__init__.py -------------------------------------------------------------------------------- /lastuser_oauth/views/account.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/views/account.py -------------------------------------------------------------------------------- /lastuser_oauth/views/helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/views/helpers.py -------------------------------------------------------------------------------- /lastuser_oauth/views/login.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/views/login.py -------------------------------------------------------------------------------- /lastuser_oauth/views/notify.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/views/notify.py -------------------------------------------------------------------------------- /lastuser_oauth/views/oauth.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/views/oauth.py -------------------------------------------------------------------------------- /lastuser_oauth/views/profile.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/views/profile.py -------------------------------------------------------------------------------- /lastuser_oauth/views/resource.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_oauth/views/resource.py -------------------------------------------------------------------------------- /lastuser_ui/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_ui/__init__.py -------------------------------------------------------------------------------- /lastuser_ui/forms/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_ui/forms/__init__.py -------------------------------------------------------------------------------- /lastuser_ui/forms/auth_client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_ui/forms/auth_client.py -------------------------------------------------------------------------------- /lastuser_ui/forms/org.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_ui/forms/org.py -------------------------------------------------------------------------------- /lastuser_ui/forms/profile.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_ui/forms/profile.py -------------------------------------------------------------------------------- /lastuser_ui/templates/account.html.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_ui/templates/account.html.jinja2 -------------------------------------------------------------------------------- /lastuser_ui/templates/client_cred.html.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_ui/templates/client_cred.html.jinja2 -------------------------------------------------------------------------------- /lastuser_ui/templates/client_info.html.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_ui/templates/client_info.html.jinja2 -------------------------------------------------------------------------------- /lastuser_ui/templates/client_list.html.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_ui/templates/client_list.html.jinja2 -------------------------------------------------------------------------------- /lastuser_ui/templates/dashboard.html.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_ui/templates/dashboard.html.jinja2 -------------------------------------------------------------------------------- /lastuser_ui/templates/index.html.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_ui/templates/index.html.jinja2 -------------------------------------------------------------------------------- /lastuser_ui/templates/org_info.html.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_ui/templates/org_info.html.jinja2 -------------------------------------------------------------------------------- /lastuser_ui/templates/org_list.html.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_ui/templates/org_list.html.jinja2 -------------------------------------------------------------------------------- /lastuser_ui/views/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_ui/views/__init__.py -------------------------------------------------------------------------------- /lastuser_ui/views/auth_client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_ui/views/auth_client.py -------------------------------------------------------------------------------- /lastuser_ui/views/dashboard.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_ui/views/dashboard.py -------------------------------------------------------------------------------- /lastuser_ui/views/index.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_ui/views/index.py -------------------------------------------------------------------------------- /lastuser_ui/views/org.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_ui/views/org.py -------------------------------------------------------------------------------- /lastuser_ui/views/profile.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_ui/views/profile.py -------------------------------------------------------------------------------- /lastuser_ui/views/sms.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuser_ui/views/sms.py -------------------------------------------------------------------------------- /lastuserapp/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuserapp/__init__.py -------------------------------------------------------------------------------- /lastuserapp/_version.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuserapp/_version.py -------------------------------------------------------------------------------- /lastuserapp/static/.well-known/assetlinks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuserapp/static/.well-known/assetlinks.json -------------------------------------------------------------------------------- /lastuserapp/static/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuserapp/static/robots.txt -------------------------------------------------------------------------------- /lastuserapp/templates/layout.html.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuserapp/templates/layout.html.jinja2 -------------------------------------------------------------------------------- /lastuserapp/views/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/lastuserapp/views/__init__.py -------------------------------------------------------------------------------- /manage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/manage.py -------------------------------------------------------------------------------- /migrations/README: -------------------------------------------------------------------------------- 1 | Generic single-database configuration. 2 | -------------------------------------------------------------------------------- /migrations/alembic.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/alembic.ini -------------------------------------------------------------------------------- /migrations/env.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/env.py -------------------------------------------------------------------------------- /migrations/script.py.mako: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/script.py.mako -------------------------------------------------------------------------------- /migrations/versions/039d2745e628_remove_user_flash_message.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/039d2745e628_remove_user_flash_message.py -------------------------------------------------------------------------------- /migrations/versions/065146599a21_useremail_email_index_pattern.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/065146599a21_useremail_email_index_pattern.py -------------------------------------------------------------------------------- /migrations/versions/07f975f81f03_remove_team_domain.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/07f975f81f03_remove_team_domain.py -------------------------------------------------------------------------------- /migrations/versions/10c4a18dea0_check_constraint.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/10c4a18dea0_check_constraint.py -------------------------------------------------------------------------------- /migrations/versions/11a71745a9a8_referring_user_for_i.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/11a71745a9a8_referring_user_for_i.py -------------------------------------------------------------------------------- /migrations/versions/120ee669cc20_user_avatar.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/120ee669cc20_user_avatar.py -------------------------------------------------------------------------------- /migrations/versions/165f20377abe_timestamp_team_membe.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/165f20377abe_timestamp_team_membe.py -------------------------------------------------------------------------------- /migrations/versions/16f88a0a1ad3_client_ids_for_user_.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/16f88a0a1ad3_client_ids_for_user_.py -------------------------------------------------------------------------------- /migrations/versions/184ed1055383_init.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/184ed1055383_init.py -------------------------------------------------------------------------------- /migrations/versions/1bfb508c7ceb_client_confidential_flag.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/1bfb508c7ceb_client_confidential_flag.py -------------------------------------------------------------------------------- /migrations/versions/1f10aa945af0_remove_resource_models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/1f10aa945af0_remove_resource_models.py -------------------------------------------------------------------------------- /migrations/versions/20ce0d0f1ee9_remove_client_plaintext_secrets.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/20ce0d0f1ee9_remove_client_plaintext_secrets.py -------------------------------------------------------------------------------- /migrations/versions/25c7f8680a52_longer_external_usernames.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/25c7f8680a52_longer_external_usernames.py -------------------------------------------------------------------------------- /migrations/versions/25e7a9839cd4_user_status_flag.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/25e7a9839cd4_user_status_flag.py -------------------------------------------------------------------------------- /migrations/versions/2661b24d343f_clients_can_have_null_scope.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/2661b24d343f_clients_can_have_null_scope.py -------------------------------------------------------------------------------- /migrations/versions/28eeea165ad_email_phone_type_and_private_columns.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/28eeea165ad_email_phone_type_and_private_columns.py -------------------------------------------------------------------------------- /migrations/versions/2b0f9d6ddf96_switch_to_timestamptz.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/2b0f9d6ddf96_switch_to_timestamptz.py -------------------------------------------------------------------------------- /migrations/versions/2dcc6f5ab4cf_one_claim_per_email_.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/2dcc6f5ab4cf_one_claim_per_email_.py -------------------------------------------------------------------------------- /migrations/versions/3506dcc19f7a_updated_primary_trigger.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/3506dcc19f7a_updated_primary_trigger.py -------------------------------------------------------------------------------- /migrations/versions/351ec61f8b07_resource_uri_is_depr.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/351ec61f8b07_resource_uri_is_depr.py -------------------------------------------------------------------------------- /migrations/versions/35a6ffd7a079_restricted_resources.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/35a6ffd7a079_restricted_resources.py -------------------------------------------------------------------------------- /migrations/versions/3a4e0ea70ef_user_sessions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/3a4e0ea70ef_user_sessions.py -------------------------------------------------------------------------------- /migrations/versions/3b17b62bf8e4_make_email_lowercase_unique.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/3b17b62bf8e4_make_email_lowercase_unique.py -------------------------------------------------------------------------------- /migrations/versions/3b3583fcbaea_namespace_column.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/3b3583fcbaea_namespace_column.py -------------------------------------------------------------------------------- /migrations/versions/3d4b7578d2e9_scope_for_trusted_clients.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/3d4b7578d2e9_scope_for_trusted_clients.py -------------------------------------------------------------------------------- /migrations/versions/3e15e2b894d5_longer_scope.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/3e15e2b894d5_longer_scope.py -------------------------------------------------------------------------------- /migrations/versions/4072c5dbca9f_email_length.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/4072c5dbca9f_email_length.py -------------------------------------------------------------------------------- /migrations/versions/4171046d4f62_linkedin_recommends_1000_char_token_.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/4171046d4f62_linkedin_recommends_1000_char_token_.py -------------------------------------------------------------------------------- /migrations/versions/4279e1e5aec2_remove_members_team.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/4279e1e5aec2_remove_members_team.py -------------------------------------------------------------------------------- /migrations/versions/4b6d120b1612_remove_unused_client_iframe_uri.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/4b6d120b1612_remove_unused_client_iframe_uri.py -------------------------------------------------------------------------------- /migrations/versions/4d19ada674c2_user_name_index.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/4d19ada674c2_user_name_index.py -------------------------------------------------------------------------------- /migrations/versions/4d2baa5b1c46_user_password_and_client_credentials.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/4d2baa5b1c46_user_password_and_client_credentials.py -------------------------------------------------------------------------------- /migrations/versions/4e206c5ddabd_uuid_userid.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/4e206c5ddabd_uuid_userid.py -------------------------------------------------------------------------------- /migrations/versions/50c29617571d_email_domain.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/50c29617571d_email_domain.py -------------------------------------------------------------------------------- /migrations/versions/518321b25909_username_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/518321b25909_username_model.py -------------------------------------------------------------------------------- /migrations/versions/51eadbed921b_track_clients_that_verify_sessions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/51eadbed921b_track_clients_that_verify_sessions.py -------------------------------------------------------------------------------- /migrations/versions/666cdfe6da55_change_auth_client_user_session_columns.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/666cdfe6da55_change_auth_client_user_session_columns.py -------------------------------------------------------------------------------- /migrations/versions/77893cc3830a_fix_team_membership_columns.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/77893cc3830a_fix_team_membership_columns.py -------------------------------------------------------------------------------- /migrations/versions/7adaca745f63_remove_user_bio_field.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/7adaca745f63_remove_user_bio_field.py -------------------------------------------------------------------------------- /migrations/versions/7b0ba76b89e_resource_namespace.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/7b0ba76b89e_resource_namespace.py -------------------------------------------------------------------------------- /migrations/versions/83d3ede06c_uuids_for_principals.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/83d3ede06c_uuids_for_principals.py -------------------------------------------------------------------------------- /migrations/versions/87fc422c81f9_use_uuid_for_user_session.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/87fc422c81f9_use_uuid_for_user_session.py -------------------------------------------------------------------------------- /migrations/versions/8a9bf9d385c2_make_client_key_a_uuid.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/8a9bf9d385c2_make_client_key_a_uuid.py -------------------------------------------------------------------------------- /migrations/versions/9d8dd321cea7_index_password_reset_request.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/9d8dd321cea7_index_password_reset_request.py -------------------------------------------------------------------------------- /migrations/versions/a4bea3d02a3d_use_unicodetext_columns.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/a4bea3d02a3d_use_unicodetext_columns.py -------------------------------------------------------------------------------- /migrations/versions/b332c012c57d_use_add_primary_relationship_for_email_.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/b332c012c57d_use_add_primary_relationship_for_email_.py -------------------------------------------------------------------------------- /migrations/versions/bc9dda290638_remove_permission_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/bc9dda290638_remove_permission_model.py -------------------------------------------------------------------------------- /migrations/versions/c446b9bc0691_remove_org_and_team_ownership_of_email_.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/c446b9bc0691_remove_org_and_team_ownership_of_email_.py -------------------------------------------------------------------------------- /migrations/versions/cb427668346f_remove_client_id_from_user_org_team.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/cb427668346f_remove_client_id_from_user_org_team.py -------------------------------------------------------------------------------- /migrations/versions/cc8cfbcf8f1_resourceaction_index.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/cc8cfbcf8f1_resourceaction_index.py -------------------------------------------------------------------------------- /migrations/versions/cefeae5ffcf9_remove_noticetype_model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/cefeae5ffcf9_remove_noticetype_model.py -------------------------------------------------------------------------------- /migrations/versions/d055b3e2c89_members_team.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/d055b3e2c89_members_team.py -------------------------------------------------------------------------------- /migrations/versions/d94bd59a2f0_email_and_phone_linked_to_org_and_team.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/d94bd59a2f0_email_and_phone_linked_to_org_and_team.py -------------------------------------------------------------------------------- /migrations/versions/ee6107769222_sanitize_table_names.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/ee6107769222_sanitize_table_names.py -------------------------------------------------------------------------------- /migrations/versions/f0b1ec57c79_public_client_auth_token.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/f0b1ec57c79_public_client_auth_token.py -------------------------------------------------------------------------------- /migrations/versions/f1185c3c4505_count_phone_verification_attempts.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/f1185c3c4505_count_phone_verification_attempts.py -------------------------------------------------------------------------------- /migrations/versions/f324b0ecd05c_external_id_last_used_at.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/f324b0ecd05c_external_id_last_used_at.py -------------------------------------------------------------------------------- /migrations/versions/f65c00c0cfc3_remove_obsolete_clientteamaccess.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/f65c00c0cfc3_remove_obsolete_clientteamaccess.py -------------------------------------------------------------------------------- /migrations/versions/f7f0f385f6b_client_related_model_indexes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/migrations/versions/f7f0f385f6b_client_related_model_indexes.py -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/pyproject.toml -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/requirements.txt -------------------------------------------------------------------------------- /rq.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | rqworker -c rqinit lastuser 4 | -------------------------------------------------------------------------------- /rqinit.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/rqinit.py -------------------------------------------------------------------------------- /runserver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/runserver.py -------------------------------------------------------------------------------- /runtests.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/runtests.sh -------------------------------------------------------------------------------- /runtestserver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/runtestserver.py -------------------------------------------------------------------------------- /secrets.test.sample: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/secrets.test.sample -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/setup.cfg -------------------------------------------------------------------------------- /sitecustomize.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/sitecustomize.py -------------------------------------------------------------------------------- /test_requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/test_requirements.txt -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/lastuser_core/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/lastuser_core/fixtures.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/fixtures.py -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_db.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/test_db.py -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_model_client_AuthCode.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/test_model_client_AuthCode.py -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_model_client_AuthToken.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/test_model_client_AuthToken.py -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_model_client_Client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/test_model_client_Client.py -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_model_client_ClientCredential.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/test_model_client_ClientCredential.py -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_model_client_ScopeMixin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/test_model_client_ScopeMixin.py -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_model_client_TeamClientPermissions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/test_model_client_TeamClientPermissions.py -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_model_client_UserClientPermissions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/test_model_client_UserClientPermissions.py -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_model_user_Name.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/test_model_user_Name.py -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_model_user_Organization.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/test_model_user_Organization.py -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_model_user_PasswordResetRequest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/test_model_user_PasswordResetRequest.py -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_model_user_Team.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/test_model_user_Team.py -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_model_user_User.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/test_model_user_User.py -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_model_user_UserEmail.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/test_model_user_UserEmail.py -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_model_user_UserEmailClaim.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/test_model_user_UserEmailClaim.py -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_model_user_UserExternalId.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/test_model_user_UserExternalId.py -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_model_user_UserOldId.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/test_model_user_UserOldId.py -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_model_user_UserPhone.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/test_model_user_UserPhone.py -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_model_user_UserPhoneClaim.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/test_model_user_UserPhoneClaim.py -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/test_models.py -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_registry_LoginProvider.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/test_registry_LoginProvider.py -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_registry_LoginProviderRegistry.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/test_registry_LoginProviderRegistry.py -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_registry_ResourceRegistry.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/test_registry_ResourceRegistry.py -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_session_UserSession.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/test_session_UserSession.py -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_signals.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/lastuser_core/test_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_core/test_utils.py -------------------------------------------------------------------------------- /tests/unit/lastuser_oauth/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/lastuser_oauth/fixtures.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/lastuser_oauth/providers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/lastuser_oauth/providers/fixtures.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_oauth/providers/fixtures.py -------------------------------------------------------------------------------- /tests/unit/lastuser_oauth/providers/test_db.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_oauth/providers/test_db.py -------------------------------------------------------------------------------- /tests/unit/lastuser_oauth/providers/test_providers_GithubProvider.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/tests/unit/lastuser_oauth/providers/test_providers_GithubProvider.py -------------------------------------------------------------------------------- /tests/unit/lastuser_oauth/providers/test_providers_GoogleProvider.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/lastuser_oauth/providers/test_providers_LinkedIn.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/lastuser_oauth/providers/test_providers_TwitterProvider.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/unit/lastuser_oauth/test_db.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /website.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hasgeek/lastuser/HEAD/website.py --------------------------------------------------------------------------------