Skip to content

Commit 8147f8a

Browse files
authored
32356 - Remove Old Director Search (#3613)
1 parent 4f25c2d commit 8147f8a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+326
-1905
lines changed

auth-api/migrations/versions/9c58b78727c8_users_type.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,6 @@ def upgrade():
3131
login_source = user.login_source
3232
if user.login_source in [LoginSource.BCEID.value, LoginSource.BCSC.value]:
3333
user_type = Role.PUBLIC_USER.name
34-
elif user.login_source == LoginSource.BCROS.value or user.username.startswith("bcros/"):
35-
user_type = Role.ANONYMOUS_USER.name
36-
login_source = LoginSource.BCSC.value
3734
elif user.login_source == LoginSource.STAFF.value:
3835
user_type = Role.STAFF.name
3936

auth-api/src/auth_api/config.py

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -119,12 +119,6 @@ class _Config: # pylint: disable=too-few-public-methods
119119
ENTITY_SVC_CLIENT_ID = os.getenv("ENTITY_SVC_CLIENT_ID")
120120
ENTITY_SVC_CLIENT_SECRET = os.getenv("ENTITY_SVC_CLIENT_SECRET")
121121

122-
# Upstream Keycloak setting - should be removed
123-
KEYCLOAK_BCROS_BASE_URL = os.getenv("KEYCLOAK_BCROS_BASE_URL")
124-
KEYCLOAK_BCROS_REALMNAME = os.getenv("KEYCLOAK_BCROS_REALMNAME")
125-
KEYCLOAK_BCROS_ADMIN_CLIENTID = os.getenv("KEYCLOAK_BCROS_ADMIN_CLIENTID")
126-
KEYCLOAK_BCROS_ADMIN_SECRET = os.getenv("KEYCLOAK_BCROS_ADMIN_SECRET")
127-
128122
# API Endpoints
129123
BCOL_API_URL = os.getenv("BCOL_API_URL", "") + os.getenv("BCOL_API_VERSION", "")
130124
NAMEX_API_URL = os.getenv("NAMEX_API_URL", "") + os.getenv("NAMEX_API_VERSION", "")
@@ -277,10 +271,10 @@ class TestConfig(_Config): # pylint: disable=too-few-public-methods
277271
4H8UZcVFN95vEKxJiLRjAmj6g273pu9kK4ymXNEjWWJn
278272
-----END RSA PRIVATE KEY-----"""
279273

280-
KEYCLOAK_ADMIN_USERNAME = KEYCLOAK_BCROS_ADMIN_CLIENTID = os.getenv("KEYCLOAK_TEST_ADMIN_CLIENTID")
281-
KEYCLOAK_ADMIN_SECRET = KEYCLOAK_BCROS_ADMIN_SECRET = os.getenv("KEYCLOAK_TEST_ADMIN_SECRET")
282-
KEYCLOAK_BASE_URL = KEYCLOAK_BCROS_BASE_URL = os.getenv("KEYCLOAK_TEST_BASE_URL")
283-
KEYCLOAK_REALMNAME = KEYCLOAK_BCROS_REALMNAME = os.getenv("KEYCLOAK_TEST_REALMNAME")
274+
KEYCLOAK_ADMIN_USERNAME = os.getenv("KEYCLOAK_TEST_ADMIN_CLIENTID")
275+
KEYCLOAK_ADMIN_SECRET = os.getenv("KEYCLOAK_TEST_ADMIN_SECRET")
276+
KEYCLOAK_BASE_URL = os.getenv("KEYCLOAK_TEST_BASE_URL")
277+
KEYCLOAK_REALMNAME = os.getenv("KEYCLOAK_TEST_REALMNAME")
284278
JWT_OIDC_AUDIENCE = os.getenv("JWT_OIDC_TEST_AUDIENCE")
285279
JWT_OIDC_CLIENT_SECRET = os.getenv("JWT_OIDC_TEST_CLIENT_SECRET")
286280
JWT_OIDC_ISSUER = os.getenv("JWT_OIDC_TEST_ISSUER")

auth-api/src/auth_api/exceptions/errors.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,7 @@ class Error(Enum):
8282
ORG_CANNOT_BE_DISSOLVED = "Organization cannot be dissolved", HTTPStatus.NOT_ACCEPTABLE
8383
FAILED_ADDING_USER_IN_KEYCLOAK = "Error adding user to keycloak", HTTPStatus.INTERNAL_SERVER_ERROR
8484
ACCCESS_TYPE_MANDATORY = "staff created orgs needs access type", HTTPStatus.BAD_REQUEST
85-
USER_CANT_CREATE_ANONYMOUS_ORG = "Only staff can create anonymous org", HTTPStatus.UNAUTHORIZED
86-
USER_CANT_CREATE_GOVM_ORG = "Only staff can create govt ministy org", HTTPStatus.UNAUTHORIZED
85+
USER_CANT_CREATE_GOVM_ORG = "Only staff can create govt ministry org", HTTPStatus.UNAUTHORIZED
8786

8887
USER_CANT_CREATE_EXTRA_PROVINCIAL_ORG = (
8988
"Only out of province users can create extra provincial org",

auth-api/src/auth_api/exceptions/exceptions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
status_code - where possible use HTTP Error Codes
88
"""
99

10-
from auth_api.exceptions.errors import Error # noqa: I001, I003
10+
from auth_api.exceptions.errors import Error # noqa: I001
1111

1212

1313
class BusinessException(Exception): # noqa: N818

auth-api/src/auth_api/models/org.py

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class Org(Versioned, BaseModel): # pylint: disable=too-few-public-methods,too-m
5353
status_code = Column(ForeignKey("org_statuses.code"), nullable=False)
5454
name = Column(String(250), index=True)
5555
branch_name = Column(String(100), nullable=True, default="") # used for any additional info as branch name
56-
access_type = Column(String(250), index=True, nullable=True) # for ANONYMOUS ACCESS
56+
access_type = Column(String(250), index=True, nullable=True)
5757
decision_made_by = Column(String(250))
5858
decision_made_on = Column(DateTime, nullable=True)
5959
bcol_user_id = Column(String(20))
@@ -259,16 +259,9 @@ def _search_for_statuses(cls, query, statuses):
259259
.outerjoin(Invitation, Invitation.id == InvitationMembership.invitation_id)
260260
.filter(Invitation.invitation_status_code == InvitationStatus.PENDING.value)
261261
.filter(
262-
(
263-
(Invitation.type == InvitationType.DIRECTOR_SEARCH.value)
264-
& (Org.status_code == OrgStatusEnum.ACTIVE.value)
265-
& (Org.access_type == AccessType.ANONYMOUS.value)
266-
)
267-
| (
268-
(Invitation.type == InvitationType.GOVM.value)
269-
& (Org.status_code == OrgStatusEnum.PENDING_INVITE_ACCEPT.value)
270-
& (Org.access_type == AccessType.GOVM.value)
271-
)
262+
(Invitation.type == InvitationType.GOVM.value)
263+
& (Org.status_code == OrgStatusEnum.PENDING_INVITE_ACCEPT.value)
264+
& (Org.access_type == AccessType.GOVM.value)
272265
)
273266
)
274267
query = query.filter(Org.id.notin_(pending_inv_subquery))
@@ -284,16 +277,9 @@ def search_pending_activation_orgs(cls, name: str):
284277
.options(contains_eager(Org.invitations).load_only(InvitationMembership.invitation_id))
285278
.filter(Invitation.invitation_status_code == InvitationStatus.PENDING.value)
286279
.filter(
287-
(
288-
(Invitation.type == InvitationType.DIRECTOR_SEARCH.value)
289-
& (Org.status_code == OrgStatusEnum.ACTIVE.value)
290-
& (Org.access_type == AccessType.ANONYMOUS.value)
291-
)
292-
| (
293-
(Invitation.type == InvitationType.GOVM.value)
294-
& (Org.status_code == OrgStatusEnum.PENDING_INVITE_ACCEPT.value)
295-
& (Org.access_type == AccessType.GOVM.value)
296-
)
280+
(Invitation.type == InvitationType.GOVM.value)
281+
& (Org.status_code == OrgStatusEnum.PENDING_INVITE_ACCEPT.value)
282+
& (Org.access_type == AccessType.GOVM.value)
297283
)
298284
)
299285
if name:

auth-api/src/auth_api/models/user.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,13 @@ class User(Versioned, BaseModel):
5252
"keycloak_guid",
5353
UUID(as_uuid=True),
5454
unique=True,
55-
nullable=True, # bcros users comes with no guid
55+
nullable=True,
5656
)
5757

5858
is_terms_of_use_accepted = Column(Boolean(), default=False, nullable=True)
5959
terms_of_use_accepted_version = Column(ForeignKey("documents.version_id"), nullable=True)
6060

61-
# a type for the user to identify what kind of user it is..ie anonymous , bcsc etc ..similar to login source
61+
# a type for the user to identify what kind of user it is..bcsc etc ..similar to login source
6262
type = Column("type", String(200), nullable=True)
6363
status = Column(ForeignKey("user_status_codes.id"))
6464
idp_userid = Column("idp_userid", String(256), index=True)
@@ -272,12 +272,7 @@ def _get_type(cls, user_from_context: UserContext) -> str:
272272
"""Return type of the user from the token info."""
273273
user_type: str = None
274274
if user_from_context.roles:
275-
if (
276-
Role.ANONYMOUS_USER.value in user_from_context.roles
277-
or user_from_context.login_source == LoginSource.BCROS.value
278-
):
279-
user_type = Role.ANONYMOUS_USER.name
280-
elif user_from_context.is_staff():
275+
if user_from_context.is_staff():
281276
user_type = Role.STAFF.name
282277
elif Role.GOV_ACCOUNT_USER.value in user_from_context.roles:
283278
user_type = Role.GOV_ACCOUNT_USER.name

auth-api/src/auth_api/resources/v1/__init__.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
from .activity_log import bp as activity_log_bp
2525
from .affiliation_invitation import bp as affiliation_invitation_bp
2626
from .bcol_profiles import bp as bcol_profiles_bp
27-
from .bulk_user import bp as bulk_user_bp
2827
from .codes import bp as codes_bp
2928
from .documents import bp as documents_bp
3029
from .documents_affidavit import bp as documents_affidavit_bp
@@ -60,7 +59,6 @@ def init_app(self, app):
6059
self.app.register_blueprint(activity_log_bp)
6160
self.app.register_blueprint(affiliation_invitation_bp)
6261
self.app.register_blueprint(bcol_profiles_bp)
63-
self.app.register_blueprint(bulk_user_bp)
6462
self.app.register_blueprint(codes_bp)
6563
self.app.register_blueprint(documents_bp)
6664
self.app.register_blueprint(documents_affidavit_bp)

auth-api/src/auth_api/resources/v1/bulk_user.py

Lines changed: 0 additions & 47 deletions
This file was deleted.

auth-api/src/auth_api/resources/v1/documents.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
from auth_api.services.google_store import GoogleStoreService
2525
from auth_api.utils.auth import jwt as _jwt
2626
from auth_api.utils.endpoints_enums import EndpointEnum
27-
from auth_api.utils.enums import AccessType, DocumentType, LoginSource
27+
from auth_api.utils.enums import DocumentType, LoginSource
2828

2929
bp = Blueprint("DOCUMENTS", __name__, url_prefix=f"{EndpointEnum.API_V1.value}/documents")
3030

@@ -37,11 +37,7 @@ def get_document_by_type(document_type):
3737
try:
3838
if document_type == DocumentType.TERMS_OF_USE.value:
3939
token = g.jwt_oidc_token_info
40-
if token.get("accessType", None) == AccessType.ANONYMOUS.value:
41-
document_type = DocumentType.TERMS_OF_USE_DIRECTOR_SEARCH.value
42-
elif (
43-
token.get("loginSource", None) == LoginSource.STAFF.value
44-
): # ideally for govm user who logs in with IDIR
40+
if token.get("loginSource", None) == LoginSource.STAFF.value: # ideally for govm user who logs in with IDIR
4541
document_type = DocumentType.TERMS_OF_USE_GOVM.value
4642

4743
doc = DocumentService.fetch_latest_document(document_type)

auth-api/src/auth_api/resources/v1/invitation.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ def accept_invitation_token(invitation_token):
126126
response, status = (
127127
InvitationService.accept_invitation(invitation_id, user, origin).as_dict(),
128128
HTTPStatus.OK,
129-
) # noqa:E127
129+
)
130130

131131
except BusinessException as exception:
132132
response, status = {"code": exception.code, "message": exception.message}, exception.status_code

0 commit comments

Comments
 (0)