internal.queries.admin_issue_reports
1# Code generated by sqlc. DO NOT EDIT. 2# versions: 3# sqlc v1.30.0 4# source: admin_issue_reports.sql 5import pydantic 6from typing import AsyncIterator, Optional 7 8import sqlalchemy 9import sqlalchemy.ext.asyncio 10 11from internal.queries import models 12 13 14CREATE_ADMIN_ISSUE_REPORT = """-- name: create_admin_issue_report \\:one 15INSERT INTO admin_issue_reports (user_id, issue_type, description) 16VALUES (:p1, :p2, :p3) 17RETURNING report_id, user_id, issue_type, description, created_at, status 18""" 19 20 21class CreateAdminIssueReportParams(pydantic.BaseModel): 22 user_id: int 23 issue_type: models.AdminIssueType 24 description: str 25 26 27DELETE_ADMIN_ISSUE_REPORT = """-- name: delete_admin_issue_report \\:one 28DELETE FROM admin_issue_reports 29WHERE report_id = :p1 30RETURNING report_id, user_id, issue_type, description, created_at, status 31""" 32 33 34GET_ADMIN_ISSUE_REPORTS = """-- name: get_admin_issue_reports \\:many 35SELECT report_id, user_id, issue_type, description, created_at, status FROM admin_issue_reports 36""" 37 38 39GET_ADMIN_ISSUE_REPORTS_BY_USER = """-- name: get_admin_issue_reports_by_user \\:many 40SELECT report_id, user_id, issue_type, description, created_at, status FROM admin_issue_reports 41WHERE user_id = :p1 42""" 43 44 45UPDATE_ADMIN_ISSUE_REPORT_STATUS = """-- name: update_admin_issue_report_status \\:one 46UPDATE admin_issue_reports 47SET status = :p2 48WHERE report_id = :p1 49RETURNING report_id, user_id, issue_type, description, created_at, status 50""" 51 52 53class UpdateAdminIssueReportStatusParams(pydantic.BaseModel): 54 report_id: int 55 status: models.IssueStatus 56 57 58class AsyncQuerier: 59 def __init__(self, conn: sqlalchemy.ext.asyncio.AsyncConnection): 60 self._conn = conn 61 62 async def create_admin_issue_report(self, arg: CreateAdminIssueReportParams) -> Optional[models.AdminIssueReport]: 63 row = (await self._conn.execute(sqlalchemy.text(CREATE_ADMIN_ISSUE_REPORT), {"p1": arg.user_id, "p2": arg.issue_type, "p3": arg.description})).first() 64 if row is None: 65 return None 66 return models.AdminIssueReport( 67 report_id=row[0], 68 user_id=row[1], 69 issue_type=row[2], 70 description=row[3], 71 created_at=row[4], 72 status=row[5], 73 ) 74 75 async def delete_admin_issue_report(self, *, report_id: int) -> Optional[models.AdminIssueReport]: 76 row = (await self._conn.execute(sqlalchemy.text(DELETE_ADMIN_ISSUE_REPORT), {"p1": report_id})).first() 77 if row is None: 78 return None 79 return models.AdminIssueReport( 80 report_id=row[0], 81 user_id=row[1], 82 issue_type=row[2], 83 description=row[3], 84 created_at=row[4], 85 status=row[5], 86 ) 87 88 async def get_admin_issue_reports(self) -> AsyncIterator[models.AdminIssueReport]: 89 result = await self._conn.stream(sqlalchemy.text(GET_ADMIN_ISSUE_REPORTS)) 90 async for row in result: 91 yield models.AdminIssueReport( 92 report_id=row[0], 93 user_id=row[1], 94 issue_type=row[2], 95 description=row[3], 96 created_at=row[4], 97 status=row[5], 98 ) 99 100 async def get_admin_issue_reports_by_user(self, *, user_id: int) -> AsyncIterator[models.AdminIssueReport]: 101 result = await self._conn.stream(sqlalchemy.text(GET_ADMIN_ISSUE_REPORTS_BY_USER), {"p1": user_id}) 102 async for row in result: 103 yield models.AdminIssueReport( 104 report_id=row[0], 105 user_id=row[1], 106 issue_type=row[2], 107 description=row[3], 108 created_at=row[4], 109 status=row[5], 110 ) 111 112 async def update_admin_issue_report_status(self, arg: UpdateAdminIssueReportStatusParams) -> Optional[models.AdminIssueReport]: 113 row = (await self._conn.execute(sqlalchemy.text(UPDATE_ADMIN_ISSUE_REPORT_STATUS), {"p1": arg.report_id, "p2": arg.status})).first() 114 if row is None: 115 return None 116 return models.AdminIssueReport( 117 report_id=row[0], 118 user_id=row[1], 119 issue_type=row[2], 120 description=row[3], 121 created_at=row[4], 122 status=row[5], 123 )
CREATE_ADMIN_ISSUE_REPORT =
'-- name: create_admin_issue_report \\:one\nINSERT INTO admin_issue_reports (user_id, issue_type, description)\nVALUES (:p1, :p2, :p3)\nRETURNING report_id, user_id, issue_type, description, created_at, status\n'
class
CreateAdminIssueReportParams(pydantic.main.BaseModel):
22class CreateAdminIssueReportParams(pydantic.BaseModel): 23 user_id: int 24 issue_type: models.AdminIssueType 25 description: str
!!! abstract "Usage Documentation" Models
A base class for creating Pydantic models.
Attributes:
- __class_vars__: The names of the class variables defined on the model.
- __private_attributes__: Metadata about the private attributes of the model.
- __signature__: The synthesized
__init__[Signature][inspect.Signature] of the model. - __pydantic_complete__: Whether model building is completed, or if there are still undefined fields.
- __pydantic_core_schema__: The core schema of the model.
- __pydantic_custom_init__: Whether the model has a custom
__init__function. - __pydantic_decorators__: Metadata containing the decorators defined on the model.
This replaces
Model.__validators__andModel.__root_validators__from Pydantic V1. - __pydantic_generic_metadata__: Metadata for generic models; contains data used for a similar purpose to __args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these.
- __pydantic_parent_namespace__: Parent namespace of the model, used for automatic rebuilding of models.
- __pydantic_post_init__: The name of the post-init method for the model, if defined.
- __pydantic_root_model__: Whether the model is a [
RootModel][pydantic.root_model.RootModel]. - __pydantic_serializer__: The
pydantic-coreSchemaSerializerused to dump instances of the model. - __pydantic_validator__: The
pydantic-coreSchemaValidatorused to validate instances of the model. - __pydantic_fields__: A dictionary of field names and their corresponding [
FieldInfo][pydantic.fields.FieldInfo] objects. - __pydantic_computed_fields__: A dictionary of computed field names and their corresponding [
ComputedFieldInfo][pydantic.fields.ComputedFieldInfo] objects. - __pydantic_extra__: A dictionary containing extra values, if [
extra][pydantic.config.ConfigDict.extra] is set to'allow'. - __pydantic_fields_set__: The names of fields explicitly set during instantiation.
- __pydantic_private__: Values of private attributes set on the model instance.
DELETE_ADMIN_ISSUE_REPORT =
'-- name: delete_admin_issue_report \\:one\nDELETE FROM admin_issue_reports\nWHERE report_id = :p1\nRETURNING report_id, user_id, issue_type, description, created_at, status\n'
GET_ADMIN_ISSUE_REPORTS =
'-- name: get_admin_issue_reports \\:many\nSELECT report_id, user_id, issue_type, description, created_at, status FROM admin_issue_reports\n'
GET_ADMIN_ISSUE_REPORTS_BY_USER =
'-- name: get_admin_issue_reports_by_user \\:many\nSELECT report_id, user_id, issue_type, description, created_at, status FROM admin_issue_reports\nWHERE user_id = :p1\n'
UPDATE_ADMIN_ISSUE_REPORT_STATUS =
'-- name: update_admin_issue_report_status \\:one\nUPDATE admin_issue_reports\nSET status = :p2\nWHERE report_id = :p1\nRETURNING report_id, user_id, issue_type, description, created_at, status\n'
class
UpdateAdminIssueReportStatusParams(pydantic.main.BaseModel):
54class UpdateAdminIssueReportStatusParams(pydantic.BaseModel): 55 report_id: int 56 status: models.IssueStatus
!!! abstract "Usage Documentation" Models
A base class for creating Pydantic models.
Attributes:
- __class_vars__: The names of the class variables defined on the model.
- __private_attributes__: Metadata about the private attributes of the model.
- __signature__: The synthesized
__init__[Signature][inspect.Signature] of the model. - __pydantic_complete__: Whether model building is completed, or if there are still undefined fields.
- __pydantic_core_schema__: The core schema of the model.
- __pydantic_custom_init__: Whether the model has a custom
__init__function. - __pydantic_decorators__: Metadata containing the decorators defined on the model.
This replaces
Model.__validators__andModel.__root_validators__from Pydantic V1. - __pydantic_generic_metadata__: Metadata for generic models; contains data used for a similar purpose to __args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these.
- __pydantic_parent_namespace__: Parent namespace of the model, used for automatic rebuilding of models.
- __pydantic_post_init__: The name of the post-init method for the model, if defined.
- __pydantic_root_model__: Whether the model is a [
RootModel][pydantic.root_model.RootModel]. - __pydantic_serializer__: The
pydantic-coreSchemaSerializerused to dump instances of the model. - __pydantic_validator__: The
pydantic-coreSchemaValidatorused to validate instances of the model. - __pydantic_fields__: A dictionary of field names and their corresponding [
FieldInfo][pydantic.fields.FieldInfo] objects. - __pydantic_computed_fields__: A dictionary of computed field names and their corresponding [
ComputedFieldInfo][pydantic.fields.ComputedFieldInfo] objects. - __pydantic_extra__: A dictionary containing extra values, if [
extra][pydantic.config.ConfigDict.extra] is set to'allow'. - __pydantic_fields_set__: The names of fields explicitly set during instantiation.
- __pydantic_private__: Values of private attributes set on the model instance.
class
AsyncQuerier:
59class AsyncQuerier: 60 def __init__(self, conn: sqlalchemy.ext.asyncio.AsyncConnection): 61 self._conn = conn 62 63 async def create_admin_issue_report(self, arg: CreateAdminIssueReportParams) -> Optional[models.AdminIssueReport]: 64 row = (await self._conn.execute(sqlalchemy.text(CREATE_ADMIN_ISSUE_REPORT), {"p1": arg.user_id, "p2": arg.issue_type, "p3": arg.description})).first() 65 if row is None: 66 return None 67 return models.AdminIssueReport( 68 report_id=row[0], 69 user_id=row[1], 70 issue_type=row[2], 71 description=row[3], 72 created_at=row[4], 73 status=row[5], 74 ) 75 76 async def delete_admin_issue_report(self, *, report_id: int) -> Optional[models.AdminIssueReport]: 77 row = (await self._conn.execute(sqlalchemy.text(DELETE_ADMIN_ISSUE_REPORT), {"p1": report_id})).first() 78 if row is None: 79 return None 80 return models.AdminIssueReport( 81 report_id=row[0], 82 user_id=row[1], 83 issue_type=row[2], 84 description=row[3], 85 created_at=row[4], 86 status=row[5], 87 ) 88 89 async def get_admin_issue_reports(self) -> AsyncIterator[models.AdminIssueReport]: 90 result = await self._conn.stream(sqlalchemy.text(GET_ADMIN_ISSUE_REPORTS)) 91 async for row in result: 92 yield models.AdminIssueReport( 93 report_id=row[0], 94 user_id=row[1], 95 issue_type=row[2], 96 description=row[3], 97 created_at=row[4], 98 status=row[5], 99 ) 100 101 async def get_admin_issue_reports_by_user(self, *, user_id: int) -> AsyncIterator[models.AdminIssueReport]: 102 result = await self._conn.stream(sqlalchemy.text(GET_ADMIN_ISSUE_REPORTS_BY_USER), {"p1": user_id}) 103 async for row in result: 104 yield models.AdminIssueReport( 105 report_id=row[0], 106 user_id=row[1], 107 issue_type=row[2], 108 description=row[3], 109 created_at=row[4], 110 status=row[5], 111 ) 112 113 async def update_admin_issue_report_status(self, arg: UpdateAdminIssueReportStatusParams) -> Optional[models.AdminIssueReport]: 114 row = (await self._conn.execute(sqlalchemy.text(UPDATE_ADMIN_ISSUE_REPORT_STATUS), {"p1": arg.report_id, "p2": arg.status})).first() 115 if row is None: 116 return None 117 return models.AdminIssueReport( 118 report_id=row[0], 119 user_id=row[1], 120 issue_type=row[2], 121 description=row[3], 122 created_at=row[4], 123 status=row[5], 124 )
async def
create_admin_issue_report( self, arg: CreateAdminIssueReportParams) -> internal.queries.models.AdminIssueReport | None:
63 async def create_admin_issue_report(self, arg: CreateAdminIssueReportParams) -> Optional[models.AdminIssueReport]: 64 row = (await self._conn.execute(sqlalchemy.text(CREATE_ADMIN_ISSUE_REPORT), {"p1": arg.user_id, "p2": arg.issue_type, "p3": arg.description})).first() 65 if row is None: 66 return None 67 return models.AdminIssueReport( 68 report_id=row[0], 69 user_id=row[1], 70 issue_type=row[2], 71 description=row[3], 72 created_at=row[4], 73 status=row[5], 74 )
async def
delete_admin_issue_report( self, *, report_id: int) -> internal.queries.models.AdminIssueReport | None:
76 async def delete_admin_issue_report(self, *, report_id: int) -> Optional[models.AdminIssueReport]: 77 row = (await self._conn.execute(sqlalchemy.text(DELETE_ADMIN_ISSUE_REPORT), {"p1": report_id})).first() 78 if row is None: 79 return None 80 return models.AdminIssueReport( 81 report_id=row[0], 82 user_id=row[1], 83 issue_type=row[2], 84 description=row[3], 85 created_at=row[4], 86 status=row[5], 87 )
89 async def get_admin_issue_reports(self) -> AsyncIterator[models.AdminIssueReport]: 90 result = await self._conn.stream(sqlalchemy.text(GET_ADMIN_ISSUE_REPORTS)) 91 async for row in result: 92 yield models.AdminIssueReport( 93 report_id=row[0], 94 user_id=row[1], 95 issue_type=row[2], 96 description=row[3], 97 created_at=row[4], 98 status=row[5], 99 )
async def
get_admin_issue_reports_by_user( self, *, user_id: int) -> AsyncIterator[internal.queries.models.AdminIssueReport]:
101 async def get_admin_issue_reports_by_user(self, *, user_id: int) -> AsyncIterator[models.AdminIssueReport]: 102 result = await self._conn.stream(sqlalchemy.text(GET_ADMIN_ISSUE_REPORTS_BY_USER), {"p1": user_id}) 103 async for row in result: 104 yield models.AdminIssueReport( 105 report_id=row[0], 106 user_id=row[1], 107 issue_type=row[2], 108 description=row[3], 109 created_at=row[4], 110 status=row[5], 111 )
async def
update_admin_issue_report_status( self, arg: UpdateAdminIssueReportStatusParams) -> internal.queries.models.AdminIssueReport | None:
113 async def update_admin_issue_report_status(self, arg: UpdateAdminIssueReportStatusParams) -> Optional[models.AdminIssueReport]: 114 row = (await self._conn.execute(sqlalchemy.text(UPDATE_ADMIN_ISSUE_REPORT_STATUS), {"p1": arg.report_id, "p2": arg.status})).first() 115 if row is None: 116 return None 117 return models.AdminIssueReport( 118 report_id=row[0], 119 user_id=row[1], 120 issue_type=row[2], 121 description=row[3], 122 created_at=row[4], 123 status=row[5], 124 )