(ctx context.Context, tvid uuid.UUID)
| 4336 | } |
| 4337 | |
| 4338 | func (q *querier) GetTemplateVersionByID(ctx context.Context, tvid uuid.UUID) (database.TemplateVersion, error) { |
| 4339 | tv, err := q.db.GetTemplateVersionByID(ctx, tvid) |
| 4340 | if err != nil { |
| 4341 | return database.TemplateVersion{}, err |
| 4342 | } |
| 4343 | if !tv.TemplateID.Valid { |
| 4344 | // If no linked template exists, check if the actor can read a template in the organization. |
| 4345 | if err := q.authorizeContext(ctx, policy.ActionRead, rbac.ResourceTemplate.InOrg(tv.OrganizationID)); err != nil { |
| 4346 | return database.TemplateVersion{}, err |
| 4347 | } |
| 4348 | } else if _, err := q.GetTemplateByID(ctx, tv.TemplateID.UUID); err != nil { |
| 4349 | // An actor can read the template version if they can read the related template. |
| 4350 | return database.TemplateVersion{}, err |
| 4351 | } |
| 4352 | return tv, nil |
| 4353 | } |
| 4354 | |
| 4355 | func (q *querier) GetTemplateVersionByJobID(ctx context.Context, jobID uuid.UUID) (database.TemplateVersion, error) { |
| 4356 | tv, err := q.db.GetTemplateVersionByJobID(ctx, jobID) |
no test coverage detected