I love auto-generated CRUD router so far. However, I wonder if I can apply some kind of callback after the method/endpoint is finished. Something similar to dependencies, I presume.
For example, I want to assign access permissions to a newly created user.
async def user_create_callback(db_instance):
"""The `db_instance` is what was created in POST-request user_create()..."""
# Get `db_instance`'s data...
user_id = db_instance.id
# Create a new authorization rule...
add_user_to_group(user_id=user_id, group='regulars')
crud_manager = FastCRUD(model=User)
users_router = crud_router(
session=get_session,
model=User,
create_schema=UserCreateRequestSchema,
update_schema=UserUpdateRequestSchema,
select_schema=UserSchema,
path='',
crud=crud_manager,
tags=['users'],
create_callback=user_create_callback,
included_methods=['create', 'read', 'read_multi', 'update'],
)
I love auto-generated CRUD router so far. However, I wonder if I can apply some kind of callback after the method/endpoint is finished. Something similar to dependencies, I presume.
For example, I want to assign access permissions to a newly created user.