Skip to content

Commit 3d971db

Browse files
authored
Refactoring Old API Stuff (canada-ca#581)
* Moved find_org_by slug into its own directory * Created findDomainBySlug * Created findDomainsByOrg * Only find domains by org slug * fix query and resolver to only deal out a field not a list * Fix all tests to new queries * Remove users query, has been replaced by user list * Remove resolvers/domains.py has been replaced * Move test user claims into own schemas directory * Remove Old Organizations resolver, create findMyOrganizations Query, refactor findOrganizationDetailBySlug resolver to use correct schema, update files that use organizations schema * Create tests for findMyOrganizationsQuery, refactor findOrganizationDetailsBySlug name to match schema directory, and corrected name for org model tests * Restructure organizations queries tests * fix findMyOrganizations test * updated faker * Created findMyDomains query * Fix names and descriptions * Fix missing in caplog.text, and have tests for findMyDomains Query * Update frontend, and faker
1 parent 56488ab commit 3d971db

47 files changed

Lines changed: 1920 additions & 2186 deletions

Some content is hidden

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

api/models/Domains.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,3 @@ class Domains(Base):
3232
def __init__(self, **kwargs):
3333
super(Domains, self).__init__(**kwargs)
3434
self.slug = slugify_value(kwargs.get("domain", ""))
35-

api/queries.py

Lines changed: 26 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
# Utility Imports
22
import graphene
33
from graphene import relay
4-
from graphene_sqlalchemy import SQLAlchemyConnectionField
54
from scalars.email_address import EmailAddress
6-
from scalars.slug import Slug
7-
from enums.roles import RoleEnums
85

96
# --- Query Imports ---
107
# Domain Imports
11-
from schemas.domain import Domain
12-
from resolvers.domains import resolve_domain, resolve_domains
8+
from schemas.find_domain_by_slug import find_domain_by_slug
9+
from schemas.find_domains_by_org import find_domains_by_org, resolve_find_domains_by_org
10+
from schemas.find_my_domains import find_my_domains, resolve_find_my_domains
1311

1412
# Get Dmarc Report Bar Graph Data
1513
from schemas.dmarc_report_summary_list import (
@@ -33,8 +31,14 @@
3331
from schemas.is_user_admin import is_user_admin
3432

3533
# Organization Imports
36-
from schemas.organizations import Organization, OrganizationDetail
37-
from resolvers.organizations import resolve_organization, resolve_organizations
34+
from schemas.find_organization_detail_by_slug import find_organization_detail_by_slug
35+
from schemas.find_my_organizations import (
36+
find_my_organizations,
37+
resolve_find_my_organizations,
38+
)
39+
40+
# Test User Claims
41+
from schemas.test_user_claims import test_user_claims
3842

3943
# User List Imports
4044
from schemas.user_list import user_list, resolve_user_list
@@ -43,15 +47,12 @@
4347
from schemas.user_page import user_page, resolve_user_page
4448

4549
# Need to be updated
46-
from schemas.users import Users
47-
from resolvers.users import resolve_users
4850
from schemas.User.user import User
4951
from resolvers.user import resolve_user
5052
from resolvers.notification_emails import (
5153
resolve_send_password_reset,
5254
resolve_send_validation_email,
5355
)
54-
from resolvers.user_affiliations import resolve_test_user_claims
5556
from resolvers.user import resolve_generate_otp_url
5657
from schemas.notification_email import NotificationEmail
5758

@@ -102,17 +103,6 @@ class Query(graphene.ObjectType):
102103
node = relay.Node.Field()
103104

104105
# --- Start User Queries ---
105-
106-
users = SQLAlchemyConnectionField(
107-
Users._meta.connection,
108-
org_slug=graphene.Argument(Slug, required=True),
109-
sort=None,
110-
description="Select list of users belonging to an organization.",
111-
)
112-
113-
def resolve_users(self, info, **kwargs):
114-
return resolve_users(self, info, **kwargs)
115-
116106
user = graphene.List(
117107
lambda: User,
118108
user_name=graphene.Argument(EmailAddress, required=False),
@@ -137,49 +127,33 @@ def resolve_user_list(self, info, **kwargs):
137127
# Is user an admin or super admin
138128
is_user_admin = is_user_admin
139129

130+
# Test User Claims
131+
test_user_claims = test_user_claims
132+
140133
# --- End User Queries
141134

142135
# --- Start Organization Queries ---
143-
find_organization_detail_by_slug = graphene.Field(
144-
lambda: OrganizationDetail,
145-
slug=graphene.Argument(Slug, required=True),
146-
resolver=resolve_organization,
147-
description="Select all information on a selected organization that a "
148-
"user has access to.",
149-
)
136+
find_organization_detail_by_slug = find_organization_detail_by_slug
150137

151-
organizations = SQLAlchemyConnectionField(
152-
Organization._meta.connection,
153-
sort=None,
154-
description="Select all information on all organizations that a user "
155-
"has access to.",
156-
)
138+
find_my_organizations = find_my_organizations
157139

158-
def resolve_organizations(self, info, **kwargs):
159-
return resolve_organizations(self, info, **kwargs)
140+
def resolve_find_my_organizations(self, info, **kwargs):
141+
return resolve_find_my_organizations(self, info, **kwargs)
160142

161143
# --- End Organization Queries ---
162144

163145
# --- Start Domain Queries ---
164-
domain = graphene.List(
165-
lambda: Domain,
166-
url_slug=graphene.Argument(Slug, required=True),
167-
description="Select information on a specific domain.",
168-
)
146+
find_domain_by_slug = find_domain_by_slug
169147

170-
def resolve_domain(self, info, **kwargs):
171-
return resolve_domain(self, info, **kwargs)
148+
find_domains_by_org = find_domains_by_org
172149

173-
domains = SQLAlchemyConnectionField(
174-
Domain._meta.connection,
175-
org_slug=graphene.Argument(Slug, required=False),
176-
sort=None,
177-
description="Select information on an organizations domains, or all "
178-
"domains a user has access to.",
179-
)
150+
def resolve_find_domains_by_org(self, info, **kwargs):
151+
return resolve_find_domains_by_org(self, info, **kwargs)
180152

181-
def resolve_domains(self, info, **kwargs):
182-
return resolve_domains(self, info, **kwargs)
153+
find_my_domains = find_my_domains
154+
155+
def resolve_find_my_domains(self, info, **kwargs):
156+
return resolve_find_my_domains(self, info, **kwargs)
183157

184158
# --- End Domain Queries ---
185159

@@ -203,13 +177,6 @@ def resolve_domains(self, info, **kwargs):
203177
description="An api endpoint used to generate a OTP url used for two factor authentication.",
204178
)
205179

206-
test_user_claims = graphene.String(
207-
org_slug=graphene.Argument(Slug, required=True),
208-
role=graphene.Argument(RoleEnums, required=True),
209-
resolver=resolve_test_user_claims,
210-
description="An api endpoint to view a current user's claims -- Requires an active JWT.",
211-
)
212-
213180
send_password_reset = graphene.Field(
214181
NotificationEmail,
215182
email=graphene.Argument(EmailAddress, required=True),

api/resolvers/domains.py

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

0 commit comments

Comments
 (0)