(internal *dbsqlc.RiverJob)
| 1562 | } |
| 1563 | |
| 1564 | func jobRowFromInternal(internal *dbsqlc.RiverJob) (*rivertype.JobRow, error) { |
| 1565 | var attemptedAt *time.Time |
| 1566 | if internal.AttemptedAt != nil { |
| 1567 | t := internal.AttemptedAt.UTC() |
| 1568 | attemptedAt = &t |
| 1569 | } |
| 1570 | |
| 1571 | var attemptedBy []string |
| 1572 | if internal.AttemptedBy != nil { |
| 1573 | if err := json.Unmarshal(internal.AttemptedBy, &attemptedBy); err != nil { |
| 1574 | return nil, fmt.Errorf("error unmarshaling `attempted_by`: %w", err) |
| 1575 | } |
| 1576 | } |
| 1577 | |
| 1578 | var errors []rivertype.AttemptError |
| 1579 | if internal.Errors != nil { |
| 1580 | if err := json.Unmarshal(internal.Errors, &errors); err != nil { |
| 1581 | return nil, fmt.Errorf("error unmarshaling `errors`: %w", err) |
| 1582 | } |
| 1583 | } |
| 1584 | |
| 1585 | var finalizedAt *time.Time |
| 1586 | if internal.FinalizedAt != nil { |
| 1587 | t := internal.FinalizedAt.UTC() |
| 1588 | finalizedAt = &t |
| 1589 | } |
| 1590 | |
| 1591 | var tags []string |
| 1592 | if err := json.Unmarshal(internal.Tags, &tags); err != nil { |
| 1593 | return nil, fmt.Errorf("error unmarshaling `tags`: %w", err) |
| 1594 | } |
| 1595 | |
| 1596 | var uniqueStatesByte byte |
| 1597 | if internal.UniqueStates != nil { |
| 1598 | if *internal.UniqueStates < 0 || *internal.UniqueStates > 255 { |
| 1599 | return nil, fmt.Errorf("value out of range for byte: %d", *internal.UniqueStates) |
| 1600 | } |
| 1601 | uniqueStatesByte = byte(*internal.UniqueStates) |
| 1602 | } |
| 1603 | |
| 1604 | return &rivertype.JobRow{ |
| 1605 | ID: internal.ID, |
| 1606 | Attempt: max(int(internal.Attempt), 0), |
| 1607 | AttemptedAt: attemptedAt, |
| 1608 | AttemptedBy: attemptedBy, |
| 1609 | CreatedAt: internal.CreatedAt.UTC(), |
| 1610 | EncodedArgs: internal.Args, |
| 1611 | Errors: errors, |
| 1612 | FinalizedAt: finalizedAt, |
| 1613 | Kind: internal.Kind, |
| 1614 | MaxAttempts: max(int(internal.MaxAttempts), 0), |
| 1615 | Metadata: internal.Metadata, |
| 1616 | Priority: max(int(internal.Priority), 0), |
| 1617 | Queue: internal.Queue, |
| 1618 | ScheduledAt: internal.ScheduledAt.UTC(), |
| 1619 | State: rivertype.JobState(internal.State), |
| 1620 | Tags: tags, |
| 1621 | UniqueKey: internal.UniqueKey, |
no test coverage detected
searching dependent graphs…