| 1503 | } |
| 1504 | |
| 1505 | func TemplateVersion(t testing.TB, db database.Store, orig database.TemplateVersion) database.TemplateVersion { |
| 1506 | var version database.TemplateVersion |
| 1507 | hasAITask := takeFirst(orig.HasAITask, sql.NullBool{}) |
| 1508 | hasExternalAgent := takeFirst(orig.HasExternalAgent, sql.NullBool{}) |
| 1509 | jobID := takeFirst(orig.JobID, uuid.New()) |
| 1510 | err := db.InTx(func(db database.Store) error { |
| 1511 | versionID := takeFirst(orig.ID, uuid.New()) |
| 1512 | err := db.InsertTemplateVersion(genCtx, database.InsertTemplateVersionParams{ |
| 1513 | ID: versionID, |
| 1514 | TemplateID: takeFirst(orig.TemplateID, uuid.NullUUID{}), |
| 1515 | OrganizationID: takeFirst(orig.OrganizationID, uuid.New()), |
| 1516 | CreatedAt: takeFirst(orig.CreatedAt, dbtime.Now()), |
| 1517 | UpdatedAt: takeFirst(orig.UpdatedAt, dbtime.Now()), |
| 1518 | Name: takeFirst(orig.Name, testutil.GetRandomName(t)), |
| 1519 | Message: orig.Message, |
| 1520 | Readme: takeFirst(orig.Readme, testutil.GetRandomName(t)), |
| 1521 | JobID: jobID, |
| 1522 | CreatedBy: takeFirst(orig.CreatedBy, uuid.New()), |
| 1523 | SourceExampleID: takeFirst(orig.SourceExampleID, sql.NullString{}), |
| 1524 | }) |
| 1525 | if err != nil { |
| 1526 | return err |
| 1527 | } |
| 1528 | |
| 1529 | if hasAITask.Valid || hasExternalAgent.Valid { |
| 1530 | require.NoError(t, db.UpdateTemplateVersionFlagsByJobID(genCtx, database.UpdateTemplateVersionFlagsByJobIDParams{ |
| 1531 | JobID: jobID, |
| 1532 | HasAITask: hasAITask, |
| 1533 | HasExternalAgent: hasExternalAgent, |
| 1534 | UpdatedAt: dbtime.Now(), |
| 1535 | })) |
| 1536 | } |
| 1537 | |
| 1538 | version, err = db.GetTemplateVersionByID(genCtx, versionID) |
| 1539 | if err != nil { |
| 1540 | return err |
| 1541 | } |
| 1542 | return nil |
| 1543 | }, nil) |
| 1544 | require.NoError(t, err, "insert template version") |
| 1545 | |
| 1546 | return version |
| 1547 | } |
| 1548 | |
| 1549 | func TemplateVersionVariable(t testing.TB, db database.Store, orig database.TemplateVersionVariable) database.TemplateVersionVariable { |
| 1550 | version, err := db.InsertTemplateVersionVariable(genCtx, database.InsertTemplateVersionVariableParams{ |