package generator import ( "fmt" "strings" ) // GenerateManager generates the manager class func GenerateManager(ctx *Context) (string, error) { var b strings.Builder // Imports b.WriteString("from televend_core.databases.base_manager import CRUDManager\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(fmt.Sprintf("from televend_core.databases.televend_repositories.%s.repository import (\n", ctx.ModuleName)) b.WriteString(fmt.Sprintf(" %sRepository,\n", ctx.EntityName)) b.WriteString(")\n") b.WriteString("\n\n") // Class definition b.WriteString(fmt.Sprintf("class %sManager(\n", ctx.EntityName)) b.WriteString(fmt.Sprintf(" CRUDManager[%s, %sFilter, %sRepository]\n", ctx.EntityName, ctx.EntityName, ctx.EntityName)) b.WriteString("):\n") b.WriteString(fmt.Sprintf(" repository_cls = %sRepository\n", ctx.EntityName)) return b.String(), nil }