11import strawberry
22from strawberry .types import Info
33
4+ from bcsd_api .authz .check import require_fee_edit
45from bcsd_api .graphql .context import GqlContext , require_user
5- from bcsd_api .graphql .convert import from_model
66
77from . import service
88from .schema import AnswerRequest
@@ -30,7 +30,8 @@ def resolve_submit(info: Info[GqlContext, None], input: SubmitInput) -> Applicat
3030def resolve_applications (
3131 info : Info [GqlContext , None ], form_id : str ,
3232) -> list [ApplicationType ]:
33- require_user (info .context )
33+ user = require_user (info .context )
34+ require_fee_edit (info .context .authz , user ["sub" ])
3435 ctx = info .context
3536 apps = service .list_applications (ctx .app_repo , ctx .ans_repo , form_id )
3637 return [_to_app_type (a ) for a in apps ]
@@ -39,7 +40,8 @@ def resolve_applications(
3940def resolve_application (
4041 info : Info [GqlContext , None ], id : strawberry .ID ,
4142) -> ApplicationType :
42- require_user (info .context )
43+ user = require_user (info .context )
44+ require_fee_edit (info .context .authz , user ["sub" ])
4345 ctx = info .context
4446 app = service .get_application (ctx .app_repo , ctx .ans_repo , id )
4547 return _to_app_type (app )
@@ -56,6 +58,7 @@ def resolve_confirm_payment(
5658 info : Info [GqlContext , None ], id : strawberry .ID ,
5759) -> ApplicationType :
5860 user = require_user (info .context )
61+ require_fee_edit (info .context .authz , user ["sub" ])
5962 app = service .confirm_payment (info .context .app_repo , id , user ["sub" ])
6063 return _to_app_type (app )
6164
@@ -64,10 +67,11 @@ def resolve_approve(
6467 info : Info [GqlContext , None ], ids : list [strawberry .ID ],
6568) -> list [ApplicationType ]:
6669 user = require_user (info .context )
70+ require_fee_edit (info .context .authz , user ["sub" ])
6771 ctx = info .context
6872 apps = service .approve (
6973 ctx .app_repo , ctx .member_repo , ctx .form_repo ,
70- ids , user ["sub" ],
74+ ids , user ["sub" ], ctx . authz ,
7175 )
7276 return [_to_app_type (a ) for a in apps ]
7377
0 commit comments