package generator import ( "fmt" "strings" ) // GenerateRepository generates the repository class func GenerateRepository(ctx *Context) (string, error) { var b strings.Builder // Imports b.WriteString("from televend_core.databases.base_repository import CRUDRepository\n") b.WriteString(fmt.Sprintf("from televend_core.databases.televend_repositories.%s.filter import (\n", ctx.ModuleName)) b.WriteString(fmt.Sprintf(" %sFilter,\n", ctx.EntityName)) b.WriteString(")\n") b.WriteString(fmt.Sprintf("from televend_core.databases.televend_repositories.%s.model import %s\n", ctx.ModuleName, ctx.EntityName)) b.WriteString("\n\n") // Class definition b.WriteString(fmt.Sprintf("class %sRepository(CRUDRepository[%s, %sFilter]):\n", ctx.EntityName, ctx.EntityName, ctx.EntityName)) b.WriteString(fmt.Sprintf(" model_cls = %s\n", ctx.EntityName)) return b.String(), nil }