Skip to content

Commit

Permalink
Fixed companies / company pages from name to domain
Browse files Browse the repository at this point in the history
  • Loading branch information
ddxv committed Oct 14, 2024
1 parent 47780c7 commit 522ed9e
Show file tree
Hide file tree
Showing 5 changed files with 62 additions and 35 deletions.
8 changes: 4 additions & 4 deletions backend/api_app/controllers/companies.py
Original file line number Diff line number Diff line change
Expand Up @@ -609,7 +609,7 @@ async def company_tree(
"""
logger.info(f"GET /api/companies/{company_name}/tree start")

df = get_company_tree(company_name=company_name)
df = get_company_tree(company_domain=company_name)

parent_company = df["parent_company_name"].tolist()[0]

Expand All @@ -620,7 +620,7 @@ async def company_tree(
df[
~(parent_company == df["company_name"])
& (company_name == df["company_name"])
]["domain"]
]["company_domain"]
.unique()
.tolist()
)
Expand All @@ -630,7 +630,7 @@ async def company_tree(
~(parent_company == df["company_name"])
& (company_name != df["company_name"])
]
.rename(columns={"domain": "domains"})
.rename(columns={"company_domain": "domains"})
.groupby(["company_name"])["domains"]
.apply(lambda x: list(x))
.reset_index()
Expand Down Expand Up @@ -669,7 +669,7 @@ async def company_sdks(
"""
logger.info(f"GET /api/companies/{company_name}/sdks start")

df = get_company_sdks(company_name=company_name)
df = get_company_sdks(company_domain=company_name)

mydict = CompanyPatternsDict(
companies={
Expand Down
14 changes: 7 additions & 7 deletions backend/dbcon/queries.py
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,7 @@ def get_company_overview(company_domain: str) -> pd.DataFrame:
df = pd.read_sql(
QUERY_COMPANY_PARENT_OVERVIEW,
DBCON.engine,
params={"company": company_domain},
params={"company_domain": company_domain},
)
if df.empty:
df = pd.read_sql(
Expand All @@ -267,24 +267,24 @@ def get_company_overview(company_domain: str) -> pd.DataFrame:
return df


def get_company_tree(company_name: str) -> pd.DataFrame:
def get_company_tree(company_domain: str) -> pd.DataFrame:
"""Get a company tree with parent companies and domains."""
logger.info(f"query company tree: {company_name=}")
logger.info(f"query company tree: {company_domain=}")
df = pd.read_sql(
QUERY_COMPANY_TREE,
DBCON.engine,
params={"company": company_name},
params={"company_domain": company_domain},
)
return df


def get_company_sdks(company_name: str) -> pd.DataFrame:
def get_company_sdks(company_domain: str) -> pd.DataFrame:
"""Get a company tree with parent companies and domains."""
logger.info(f"query company sdks: {company_name=}")
logger.info(f"query company sdks: {company_domain=}")
df = pd.read_sql(
QUERY_COMPANY_SDKS,
DBCON.engine,
params={"company": company_name},
params={"company_domain": company_domain},
)
return df

Expand Down
2 changes: 1 addition & 1 deletion backend/dbcon/sql/query_company_parent_overview.sql
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ SELECT
FROM
adtech.companies_parent_app_counts
WHERE company_domain = :company_domain
GROUP BY company_domain, store, tag_source, app_category
GROUP BY company_domain, company_name, store, tag_source, app_category
ORDER BY app_count DESC;
16 changes: 14 additions & 2 deletions backend/dbcon/sql/query_company_sdks.sql
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,18 @@ FROM
LEFT JOIN adtech.companies AS cc
ON
c.parent_company_id = cc.id
LEFT JOIN adtech.company_domain_mapping AS cdm
ON
c.id = cdm.company_id
LEFT JOIN adtech.company_domain_mapping AS pcdm
ON
cc.id = pcdm.company_id
LEFT JOIN ad_domains AS ad
ON
cdm.domain_id = ad.id
LEFT JOIN ad_domains AS parad
ON
pcdm.domain_id = parad.id
LEFT JOIN adtech.sdk_packages AS sp
ON
c.id = sp.company_id
Expand All @@ -20,5 +32,5 @@ LEFT JOIN adtech.sdk_paths AS sp2
c.id = sp2.company_id
OR cc.id = sp2.company_id
WHERE
c.name = :company
OR cc.name = :company;
ad.domain = :company_domain
OR parad.domain = :company_domain
57 changes: 36 additions & 21 deletions backend/dbcon/sql/query_company_tree.sql
Original file line number Diff line number Diff line change
@@ -1,23 +1,38 @@
SELECT
c.name AS company_name,
ad.domain,
COALESCE(
cc.name,
c.name,
ad.domain
) AS parent_company_name
WITH mytree AS (
SELECT
c.name AS company_name,
ad.domain AS company_domain,
COALESCE(
parad.domain,
ad.domain
) AS parent_company_domain,
COALESCE(
cc.name,
c.name,
ad.domain
) AS parent_company_name
FROM
adtech.companies AS c
LEFT JOIN adtech.companies AS cc
ON
c.parent_company_id = cc.id
LEFT JOIN adtech.company_domain_mapping AS cdm
ON
c.id = cdm.company_id
LEFT JOIN adtech.company_domain_mapping AS pcdm
ON
cc.id = pcdm.company_id
FULL OUTER JOIN ad_domains AS ad
ON
cdm.domain_id = ad.id
LEFT JOIN ad_domains AS parad
ON
pcdm.domain_id = parad.id
)

SELECT *
FROM
adtech.companies AS c
LEFT JOIN adtech.companies AS cc
ON
c.parent_company_id = cc.id
LEFT JOIN adtech.company_domain_mapping AS cdm
ON
c.id = cdm.company_id
FULL OUTER JOIN ad_domains AS ad
ON
cdm.domain_id = ad.id
mytree
WHERE
c.name = :company
OR cc.name = :company
OR ad.domain ILIKE :company || '%';
company_domain = :company_domain
OR parent_company_domain = :company_domain;

0 comments on commit 522ed9e

Please sign in to comment.