Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file.
Empty file.
39 changes: 39 additions & 0 deletions src/api/endpoints/contributions/leaderboard/query.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
from typing import Sequence

Check warning on line 1 in src/api/endpoints/contributions/leaderboard/query.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/leaderboard/query.py#L1 <100>

Missing docstring in public module
Raw output
./src/api/endpoints/contributions/leaderboard/query.py:1:1: D100 Missing docstring in public module

from sqlalchemy import select, RowMapping
from sqlalchemy.ext.asyncio import AsyncSession

from src.api.endpoints.contributions.leaderboard.response import ContributionsLeaderboardResponse, \
ContributionsLeaderboardInnerResponse
from src.api.endpoints.contributions.shared.contributions import ContributionsCTEContainer
from src.db.helpers.session import session_helper as sh
from src.db.queries.base.builder import QueryBuilderBase


class GetContributionsLeaderboardQueryBuilder(QueryBuilderBase):

Check warning on line 13 in src/api/endpoints/contributions/leaderboard/query.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/leaderboard/query.py#L13 <101>

Missing docstring in public class
Raw output
./src/api/endpoints/contributions/leaderboard/query.py:13:1: D101 Missing docstring in public class

async def run(self, session: AsyncSession) -> ContributionsLeaderboardResponse:

Check warning on line 15 in src/api/endpoints/contributions/leaderboard/query.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/leaderboard/query.py#L15 <102>

Missing docstring in public method
Raw output
./src/api/endpoints/contributions/leaderboard/query.py:15:1: D102 Missing docstring in public method
cte = ContributionsCTEContainer()

query = (
select(
cte.user_id,
cte.count,
)
.order_by(
cte.count.desc()
)
)

mappings: Sequence[RowMapping] = await sh.mappings(session, query=query)
inner_responses = [
ContributionsLeaderboardInnerResponse(
user_id=mapping["user_id"],
count=mapping["count"]
)
for mapping in mappings
]

return ContributionsLeaderboardResponse(
leaderboard=inner_responses
)

Check warning on line 39 in src/api/endpoints/contributions/leaderboard/query.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/leaderboard/query.py#L39 <292>

no newline at end of file
Raw output
./src/api/endpoints/contributions/leaderboard/query.py:39:10: W292 no newline at end of file
9 changes: 9 additions & 0 deletions src/api/endpoints/contributions/leaderboard/response.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
from pydantic import BaseModel

Check warning on line 1 in src/api/endpoints/contributions/leaderboard/response.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/leaderboard/response.py#L1 <100>

Missing docstring in public module
Raw output
./src/api/endpoints/contributions/leaderboard/response.py:1:1: D100 Missing docstring in public module


class ContributionsLeaderboardInnerResponse(BaseModel):

Check warning on line 4 in src/api/endpoints/contributions/leaderboard/response.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/leaderboard/response.py#L4 <101>

Missing docstring in public class
Raw output
./src/api/endpoints/contributions/leaderboard/response.py:4:1: D101 Missing docstring in public class
user_id: int
count: int

class ContributionsLeaderboardResponse(BaseModel):

Check warning on line 8 in src/api/endpoints/contributions/leaderboard/response.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/leaderboard/response.py#L8 <101>

Missing docstring in public class
Raw output
./src/api/endpoints/contributions/leaderboard/response.py:8:1: D101 Missing docstring in public class
leaderboard: list[ContributionsLeaderboardInnerResponse]

Check warning on line 9 in src/api/endpoints/contributions/leaderboard/response.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/leaderboard/response.py#L9 <292>

no newline at end of file
Raw output
./src/api/endpoints/contributions/leaderboard/response.py:9:61: W292 no newline at end of file
33 changes: 33 additions & 0 deletions src/api/endpoints/contributions/routes.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
from fastapi import APIRouter, Depends

Check warning on line 1 in src/api/endpoints/contributions/routes.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/routes.py#L1 <100>

Missing docstring in public module
Raw output
./src/api/endpoints/contributions/routes.py:1:1: D100 Missing docstring in public module

from src.api.dependencies import get_async_core
from src.api.endpoints.contributions.leaderboard.query import GetContributionsLeaderboardQueryBuilder
from src.api.endpoints.contributions.leaderboard.response import ContributionsLeaderboardResponse
from src.api.endpoints.contributions.user.queries.core import GetUserContributionsQueryBuilder
from src.api.endpoints.contributions.user.response import ContributionsUserResponse
from src.core.core import AsyncCore
from src.security.dtos.access_info import AccessInfo
from src.security.manager import get_access_info

contributions_router = APIRouter(
prefix="/contributions",
tags=["Contributions"],
)

@contributions_router.get("/leaderboard")
async def get_leaderboard(

Check warning on line 18 in src/api/endpoints/contributions/routes.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/routes.py#L18 <103>

Missing docstring in public function
Raw output
./src/api/endpoints/contributions/routes.py:18:1: D103 Missing docstring in public function
core: AsyncCore = Depends(get_async_core),
access_info: AccessInfo = Depends(get_access_info)

Check warning on line 20 in src/api/endpoints/contributions/routes.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/routes.py#L20 <100>

Unused argument 'access_info'
Raw output
./src/api/endpoints/contributions/routes.py:20:5: U100 Unused argument 'access_info'
) -> ContributionsLeaderboardResponse:
return await core.adb_client.run_query_builder(
GetContributionsLeaderboardQueryBuilder()
)

@contributions_router.get("/user")
async def get_user_contributions(

Check warning on line 27 in src/api/endpoints/contributions/routes.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/routes.py#L27 <103>

Missing docstring in public function
Raw output
./src/api/endpoints/contributions/routes.py:27:1: D103 Missing docstring in public function
core: AsyncCore = Depends(get_async_core),
access_info: AccessInfo = Depends(get_access_info)
) -> ContributionsUserResponse:
return await core.adb_client.run_query_builder(
GetUserContributionsQueryBuilder(access_info.user_id)
)

Check warning on line 33 in src/api/endpoints/contributions/routes.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/routes.py#L33 <292>

no newline at end of file
Raw output
./src/api/endpoints/contributions/routes.py:33:6: W292 no newline at end of file
Empty file.
31 changes: 31 additions & 0 deletions src/api/endpoints/contributions/shared/contributions.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
from sqlalchemy import select, func, CTE, Column

Check warning on line 1 in src/api/endpoints/contributions/shared/contributions.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/shared/contributions.py#L1 <100>

Missing docstring in public module
Raw output
./src/api/endpoints/contributions/shared/contributions.py:1:1: D100 Missing docstring in public module

from src.db.models.impl.url.suggestion.relevant.user import UserURLTypeSuggestion


class ContributionsCTEContainer:

Check warning on line 6 in src/api/endpoints/contributions/shared/contributions.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/shared/contributions.py#L6 <101>

Missing docstring in public class
Raw output
./src/api/endpoints/contributions/shared/contributions.py:6:1: D101 Missing docstring in public class

def __init__(self):

Check warning on line 8 in src/api/endpoints/contributions/shared/contributions.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/shared/contributions.py#L8 <107>

Missing docstring in __init__
Raw output
./src/api/endpoints/contributions/shared/contributions.py:8:1: D107 Missing docstring in __init__
self._cte = (
select(
UserURLTypeSuggestion.user_id,
func.count().label("count")
)
.group_by(
UserURLTypeSuggestion.user_id
)
.cte("contributions")
)

@property
def cte(self) -> CTE:

Check warning on line 21 in src/api/endpoints/contributions/shared/contributions.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/shared/contributions.py#L21 <102>

Missing docstring in public method
Raw output
./src/api/endpoints/contributions/shared/contributions.py:21:1: D102 Missing docstring in public method
return self._cte

@property
def count(self) -> Column[int]:

Check warning on line 25 in src/api/endpoints/contributions/shared/contributions.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/shared/contributions.py#L25 <102>

Missing docstring in public method
Raw output
./src/api/endpoints/contributions/shared/contributions.py:25:1: D102 Missing docstring in public method
return self.cte.c.count

@property
def user_id(self) -> Column[int]:

Check warning on line 29 in src/api/endpoints/contributions/shared/contributions.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/shared/contributions.py#L29 <102>

Missing docstring in public method
Raw output
./src/api/endpoints/contributions/shared/contributions.py:29:1: D102 Missing docstring in public method
return self.cte.c.user_id

Check warning on line 31 in src/api/endpoints/contributions/shared/contributions.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/shared/contributions.py#L31 <391>

blank line at end of file
Raw output
./src/api/endpoints/contributions/shared/contributions.py:31:1: W391 blank line at end of file
Empty file.
Empty file.
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
from sqlalchemy import select, func, exists

Check warning on line 1 in src/api/endpoints/contributions/user/queries/agreement/agency.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/user/queries/agreement/agency.py#L1 <100>

Missing docstring in public module
Raw output
./src/api/endpoints/contributions/user/queries/agreement/agency.py:1:1: D100 Missing docstring in public module

from src.api.endpoints.contributions.user.queries.annotated_and_validated import AnnotatedAndValidatedCTEContainer
from src.api.endpoints.contributions.user.queries.templates.agreement import AgreementCTEContainer
from src.db.models.impl.link.url_agency.sqlalchemy import LinkURLAgency
from src.db.models.impl.url.suggestion.agency.user import UserUrlAgencySuggestion


def get_agency_agreement_cte_container(

Check warning on line 9 in src/api/endpoints/contributions/user/queries/agreement/agency.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/user/queries/agreement/agency.py#L9 <103>

Missing docstring in public function
Raw output
./src/api/endpoints/contributions/user/queries/agreement/agency.py:9:1: D103 Missing docstring in public function
inner_cte: AnnotatedAndValidatedCTEContainer
) -> AgreementCTEContainer:

count_cte = (
select(
inner_cte.user_id,
func.count()
)
.join(
UserUrlAgencySuggestion,
inner_cte.user_id == UserUrlAgencySuggestion.user_id
)
.group_by(
inner_cte.user_id
)
.cte("agency_count_total")
)

agreed_cte = (
select(
inner_cte.user_id,
func.count()
)
.join(
UserUrlAgencySuggestion,
inner_cte.user_id == UserUrlAgencySuggestion.user_id
)
.where(
exists()
.where(
LinkURLAgency.url_id == UserUrlAgencySuggestion.url_id,
LinkURLAgency.agency_id == UserUrlAgencySuggestion.agency_id
)
)
.group_by(
inner_cte.user_id
)
.cte("agency_count_agreed")
)

return AgreementCTEContainer(
count_cte=count_cte,
agreed_cte=agreed_cte,
name="agency"
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
from sqlalchemy import select, func, and_

Check warning on line 1 in src/api/endpoints/contributions/user/queries/agreement/record_type.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/user/queries/agreement/record_type.py#L1 <100>

Missing docstring in public module
Raw output
./src/api/endpoints/contributions/user/queries/agreement/record_type.py:1:1: D100 Missing docstring in public module

from src.api.endpoints.contributions.user.queries.annotated_and_validated import AnnotatedAndValidatedCTEContainer
from src.api.endpoints.contributions.user.queries.templates.agreement import AgreementCTEContainer
from src.db.models.impl.url.record_type.sqlalchemy import URLRecordType
from src.db.models.impl.url.suggestion.record_type.user import UserRecordTypeSuggestion


def get_record_type_agreement_cte_container(

Check warning on line 9 in src/api/endpoints/contributions/user/queries/agreement/record_type.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/user/queries/agreement/record_type.py#L9 <103>

Missing docstring in public function
Raw output
./src/api/endpoints/contributions/user/queries/agreement/record_type.py:9:1: D103 Missing docstring in public function
inner_cte: AnnotatedAndValidatedCTEContainer
) -> AgreementCTEContainer:

count_cte = (
select(
inner_cte.user_id,
func.count()
)
.join(
UserRecordTypeSuggestion,
UserRecordTypeSuggestion.url_id == inner_cte.url_id
)
.group_by(
inner_cte.user_id
)
.cte("record_type_count_total")
)

agreed_cte = (
select(
inner_cte.user_id,
func.count()
)
.join(
UserRecordTypeSuggestion,
UserRecordTypeSuggestion.url_id == inner_cte.url_id
)
.join(
URLRecordType,
and_(
URLRecordType.url_id == inner_cte.url_id,
URLRecordType.record_type == UserRecordTypeSuggestion.record_type
)
)
.group_by(
inner_cte.user_id
)
.cte("record_type_count_agreed")
)

return AgreementCTEContainer(
count_cte=count_cte,
agreed_cte=agreed_cte,
name="record_type"
)

Check warning on line 54 in src/api/endpoints/contributions/user/queries/agreement/record_type.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/user/queries/agreement/record_type.py#L54 <292>

no newline at end of file
Raw output
./src/api/endpoints/contributions/user/queries/agreement/record_type.py:54:6: W292 no newline at end of file
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
from sqlalchemy import select, func, and_

Check warning on line 1 in src/api/endpoints/contributions/user/queries/agreement/url_type.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/user/queries/agreement/url_type.py#L1 <100>

Missing docstring in public module
Raw output
./src/api/endpoints/contributions/user/queries/agreement/url_type.py:1:1: D100 Missing docstring in public module

from src.api.endpoints.contributions.user.queries.annotated_and_validated import AnnotatedAndValidatedCTEContainer
from src.api.endpoints.contributions.user.queries.templates.agreement import AgreementCTEContainer
from src.db.models.impl.flag.url_validated.sqlalchemy import FlagURLValidated
from src.db.models.impl.url.suggestion.relevant.user import UserURLTypeSuggestion


def get_url_type_agreement_cte_container(

Check warning on line 9 in src/api/endpoints/contributions/user/queries/agreement/url_type.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/user/queries/agreement/url_type.py#L9 <103>

Missing docstring in public function
Raw output
./src/api/endpoints/contributions/user/queries/agreement/url_type.py:9:1: D103 Missing docstring in public function
inner_cte: AnnotatedAndValidatedCTEContainer
) -> AgreementCTEContainer:

# Count CTE is number of User URL Type Suggestions
count_cte = (
select(
inner_cte.user_id,
func.count()
)
.join(
UserURLTypeSuggestion,
UserURLTypeSuggestion.url_id == inner_cte.url_id
)
.join(
FlagURLValidated,
FlagURLValidated.url_id == inner_cte.url_id
)
.group_by(
inner_cte.user_id
)
.cte("url_type_count_total")
)

agreed_cte = (
select(
inner_cte.user_id,
func.count()
)
.join(
UserURLTypeSuggestion,
UserURLTypeSuggestion.url_id == inner_cte.url_id
)
.join(
FlagURLValidated,
and_(
FlagURLValidated.url_id == inner_cte.url_id,
UserURLTypeSuggestion.type == FlagURLValidated.type

)
)
.group_by(
inner_cte.user_id
)
.cte("url_type_count_agreed")
)

return AgreementCTEContainer(
count_cte=count_cte,
agreed_cte=agreed_cte,
name="url_type"
)

Check warning on line 61 in src/api/endpoints/contributions/user/queries/agreement/url_type.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/user/queries/agreement/url_type.py#L61 <391>

blank line at end of file
Raw output
./src/api/endpoints/contributions/user/queries/agreement/url_type.py:61:1: W391 blank line at end of file
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
from sqlalchemy import select, Column, CTE

Check warning on line 1 in src/api/endpoints/contributions/user/queries/annotated_and_validated.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/user/queries/annotated_and_validated.py#L1 <100>

Missing docstring in public module
Raw output
./src/api/endpoints/contributions/user/queries/annotated_and_validated.py:1:1: D100 Missing docstring in public module

from src.db.models.impl.flag.url_validated.sqlalchemy import FlagURLValidated
from src.db.models.impl.url.suggestion.relevant.user import UserURLTypeSuggestion


class AnnotatedAndValidatedCTEContainer:

Check warning on line 7 in src/api/endpoints/contributions/user/queries/annotated_and_validated.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/user/queries/annotated_and_validated.py#L7 <101>

Missing docstring in public class
Raw output
./src/api/endpoints/contributions/user/queries/annotated_and_validated.py:7:1: D101 Missing docstring in public class

def __init__(self, user_id: int | None):

Check warning on line 9 in src/api/endpoints/contributions/user/queries/annotated_and_validated.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/user/queries/annotated_and_validated.py#L9 <107>

Missing docstring in __init__
Raw output
./src/api/endpoints/contributions/user/queries/annotated_and_validated.py:9:1: D107 Missing docstring in __init__
self._cte = (
select(
UserURLTypeSuggestion.user_id,
UserURLTypeSuggestion.url_id
)
.join(
FlagURLValidated,
FlagURLValidated.url_id == UserURLTypeSuggestion.url_id
)
)
if user_id is not None:
self._cte = self._cte.where(UserURLTypeSuggestion.user_id == user_id)
self._cte = self._cte.cte("annotated_and_validated")

@property
def cte(self) -> CTE:

Check warning on line 25 in src/api/endpoints/contributions/user/queries/annotated_and_validated.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/user/queries/annotated_and_validated.py#L25 <102>

Missing docstring in public method
Raw output
./src/api/endpoints/contributions/user/queries/annotated_and_validated.py:25:1: D102 Missing docstring in public method
return self._cte

@property
def url_id(self) -> Column[int]:

Check warning on line 29 in src/api/endpoints/contributions/user/queries/annotated_and_validated.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/user/queries/annotated_and_validated.py#L29 <102>

Missing docstring in public method
Raw output
./src/api/endpoints/contributions/user/queries/annotated_and_validated.py:29:1: D102 Missing docstring in public method
return self.cte.c.url_id

@property
def user_id(self) -> Column[int]:

Check warning on line 33 in src/api/endpoints/contributions/user/queries/annotated_and_validated.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/user/queries/annotated_and_validated.py#L33 <102>

Missing docstring in public method
Raw output
./src/api/endpoints/contributions/user/queries/annotated_and_validated.py:33:1: D102 Missing docstring in public method
return self.cte.c.user_id

Check warning on line 34 in src/api/endpoints/contributions/user/queries/annotated_and_validated.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/user/queries/annotated_and_validated.py#L34 <292>

no newline at end of file
Raw output
./src/api/endpoints/contributions/user/queries/annotated_and_validated.py:34:34: W292 no newline at end of file
59 changes: 59 additions & 0 deletions src/api/endpoints/contributions/user/queries/core.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
from sqlalchemy import select, RowMapping

Check warning on line 1 in src/api/endpoints/contributions/user/queries/core.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/user/queries/core.py#L1 <100>

Missing docstring in public module
Raw output
./src/api/endpoints/contributions/user/queries/core.py:1:1: D100 Missing docstring in public module
from sqlalchemy.ext.asyncio import AsyncSession

from src.api.endpoints.contributions.shared.contributions import ContributionsCTEContainer
from src.api.endpoints.contributions.user.queries.agreement.agency import get_agency_agreement_cte_container
from src.api.endpoints.contributions.user.queries.agreement.record_type import get_record_type_agreement_cte_container
from src.api.endpoints.contributions.user.queries.agreement.url_type import get_url_type_agreement_cte_container
from src.api.endpoints.contributions.user.queries.annotated_and_validated import AnnotatedAndValidatedCTEContainer
from src.api.endpoints.contributions.user.queries.templates.agreement import AgreementCTEContainer
from src.api.endpoints.contributions.user.response import ContributionsUserResponse, ContributionsUserAgreement
from src.db.helpers.session import session_helper as sh
from src.db.queries.base.builder import QueryBuilderBase


class GetUserContributionsQueryBuilder(QueryBuilderBase):

Check warning on line 15 in src/api/endpoints/contributions/user/queries/core.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/user/queries/core.py#L15 <101>

Missing docstring in public class
Raw output
./src/api/endpoints/contributions/user/queries/core.py:15:1: D101 Missing docstring in public class

def __init__(self, user_id: int):

Check warning on line 17 in src/api/endpoints/contributions/user/queries/core.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/user/queries/core.py#L17 <107>

Missing docstring in __init__
Raw output
./src/api/endpoints/contributions/user/queries/core.py:17:1: D107 Missing docstring in __init__
super().__init__()
self.user_id = user_id

async def run(self, session: AsyncSession) -> ContributionsUserResponse:

Check warning on line 21 in src/api/endpoints/contributions/user/queries/core.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/user/queries/core.py#L21 <102>

Missing docstring in public method
Raw output
./src/api/endpoints/contributions/user/queries/core.py:21:1: D102 Missing docstring in public method
inner_cte = AnnotatedAndValidatedCTEContainer(self.user_id)

contributions_cte = ContributionsCTEContainer()
record_type_agree: AgreementCTEContainer = get_record_type_agreement_cte_container(inner_cte)
agency_agree: AgreementCTEContainer = get_agency_agreement_cte_container(inner_cte)
url_type_agree: AgreementCTEContainer = get_url_type_agreement_cte_container(inner_cte)

query = (
select(
contributions_cte.count,
record_type_agree.agreement.label("record_type"),
agency_agree.agreement.label("agency"),
url_type_agree.agreement.label("url_type")
)
.join(
record_type_agree.cte,
contributions_cte.user_id == record_type_agree.user_id
)
.join(
agency_agree.cte,
contributions_cte.user_id == agency_agree.user_id
)
.join(
url_type_agree.cte,
contributions_cte.user_id == url_type_agree.user_id
)
)

mapping: RowMapping = await sh.mapping(session, query=query)

return ContributionsUserResponse(
count_validated=mapping.count,
agreement=ContributionsUserAgreement(
record_type=mapping.record_type,
agency=mapping.agency,
url_type=mapping.url_type
)
)

Check warning on line 59 in src/api/endpoints/contributions/user/queries/core.py

View workflow job for this annotation

GitHub Actions / flake8

[flake8] src/api/endpoints/contributions/user/queries/core.py#L59 <292>

no newline at end of file
Raw output
./src/api/endpoints/contributions/user/queries/core.py:59:10: W292 no newline at end of file
Empty file.
Loading