ああ

# m_sh_api_key table 新規作成
def create_mshapikey(db: Session, request: MshapikeyBase):

    data_arr =

    if Mshapikey.hashed_api_key : 
        data_arr.append('hashed_api_key = request.hashed_api_key') 
    if Mshapikey.allow_host : 
        data_arr.append('allow_host = request.allow_host') 
    if Mshapikey.allow_path : 
        data_arr.append('allow_path = request.allow_path') 
    if Mshapikey.allow_user_identifier : 
        data_arr.append('allow_user_identifier = request.allow_user_identifier') 
    if Mshapikey.is_deleted : 
        data_arr.append('is_deleted = request.is_deleted') 

    new_mshapikey = Mshapikey( ','.join( data_arr ) )

    db.add(new_mshapikey)
    db.commit()
    db.refresh(new_mshapikey)

    return new_mshapikey


# m_sh_api_key table 検索
def get_mshapikeys_all(db: Session , 
    hashed_api_key: text,
    allow_host: text,
    allow_path: text,
    allow_user_identifier: text,
    is_deleted: text,
):
    where_list=
    if hashed_api_key : 
        where_list.append( Mshapikey.hashed_api_key.like( '%'+hashed_api_key+'%' ) )
    if allow_host : 
        where_list.append( Mshapikey.allow_host.like( '%'+allow_host+'%' ) )
    if allow_path : 
        where_list.append( Mshapikey.allow_path.like( '%'+allow_path+'%' ) )
    if allow_user_identifier : 
        where_list.append( Mshapikey.allow_user_identifier.like( '%'+allow_user_identifier+'%' ) )
    if is_deleted : 
        where_list.append( Mshapikey.is_deleted.like( '%'+is_deleted+'%' ) )
    r = db.query(Mshapikey).filter( *where_list ).all()  

    return r


# m_sh_api_key table 検索 by id (詳細用)
def get_mshapikey(db: Session, hashed_api_key: int):
    return db.query(Mshapikey).filter(Mshapikey.hashed_api_key == hashed_api_key).first()


# m_sh_api_key table 更新
def update_mshapikey(db: Session, hashed_api_key: int, request: MshapikeyCreate):
    mshapikey = db.query(Mshapikey).filter(Mshapikey.hashed_api_key == hashed_api_key)
    data_set = {}

    if Mshapikey.hashed_api_key : 
        data_set[Mshapikey.hashed_api_key] = request.hashed_api_key

    if Mshapikey.allow_host : 
        data_set[Mshapikey.allow_host] = request.allow_host

    if Mshapikey.allow_path : 
        data_set[Mshapikey.allow_path] = request.allow_path

    if Mshapikey.allow_user_identifier : 
        data_set[Mshapikey.allow_user_identifier] = request.allow_user_identifier

    if Mshapikey.is_deleted : 
        data_set[Mshapikey.is_deleted] = request.is_deleted


    mshapikey.update(data_set)

    db.commit()

    return {'message': 'success'}


# m_sh_api_key table 行削除
def delete_mshapikey(db: Session, hashed_api_key: int):
    mshapikey = db.query(Mshapikey).filter(Mshapikey.hashed_api_key == hashed_api_key)
    mshapikey.delete()
    db.commit()

    return {'message': 'success'}