def login()

in modular_api/index.py [0:0]


def login(allowed_commands, user_meta):
    _trace_id = get_trace_id(tracer=tracer)
    version_warning, error_response = __validate_cli_version(
        _trace_id=_trace_id
    )
    if error_response:
        return error_response

    username, _ = request.auth
    meta_param = request.params.dict.get('meta')
    meta_return = False
    if meta_param:
        if isinstance(meta_param, list) and meta_param:
            meta_return = meta_param[0]
        meta_return = True if meta_return.lower() == 'true' else False
    jwt_token = encode_data_to_jwt(username=username)
    # Generate and store a refresh JWT token
    rt_version = gen_refresh_token_version()
    refresh_token = encode_data_to_refresh_jwt(username, rt_version)
    RefreshTokenService.create_and_save(username, rt_version)
    data = {
        'jwt': jwt_token,
        'refresh_token': refresh_token,
        'version': __version__
    }
    if meta_return:
        add_versions_to_allowed_modules(allowed_commands)
        data['meta'] = allowed_commands
    if version_warning:
        data['warnings'] = version_warning
    return build_response(
        _trace_id=_trace_id, http_code=HTTPStatus.OK, content=data
    )