package models

import "github.com/zeromicro/go-zero/core/stores/sqlx"

var _ AiInstanceCenterModel = (*customAiInstanceCenterModel)(nil)

type (
	// AiInstanceCenterModel is an interface to be customized, add more methods here,
	// and implement the added methods in customAiInstanceCenterModel.
	AiInstanceCenterModel interface {
		aiInstanceCenterModel
		withSession(session sqlx.Session) AiInstanceCenterModel
	}

	customAiInstanceCenterModel struct {
		*defaultAiInstanceCenterModel
	}
)

// NewAiInstanceCenterModel returns a model for the database table.
func NewAiInstanceCenterModel(conn sqlx.SqlConn) AiInstanceCenterModel {
	return &customAiInstanceCenterModel{
		defaultAiInstanceCenterModel: newAiInstanceCenterModel(conn),
	}
}

func (m *customAiInstanceCenterModel) withSession(session sqlx.Session) AiInstanceCenterModel {
	return NewAiInstanceCenterModel(sqlx.NewSqlConnFromSession(session))
}
