diff options
Diffstat (limited to 'lulu.go')
| -rw-r--r-- | lulu.go | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -86,7 +86,7 @@ func (c *Client) ValidateInterior(ctx context.Context, srcUrl string, mfg PkgId) if err != nil { return InteriorValidation{}, err } - return c.pollInteriorValidation(ctx, id) + return c.pollInteriorValidation(ctx, id, InteriorStatusNormalized) } // ValidateInteriorBasic is like ValidateInterior but without the @@ -96,13 +96,15 @@ func (c *Client) ValidateInteriorBasic(ctx context.Context, srcUrl string) (Inte if err != nil { return InteriorValidation{}, err } - return c.pollInteriorValidation(ctx, id) + return c.pollInteriorValidation(ctx, id, InteriorStatusValidated) } -func (c *Client) pollInteriorValidation(ctx context.Context, id uint) (InteriorValidation, error) { +func (c *Client) pollInteriorValidation(ctx context.Context, id uint, wantStatus InteriorValidationStatus) (InteriorValidation, error) { return poll(ctx, func() (InteriorValidation, bool, error) { val, err := c.GetInteriorValidation(id) - return val, val.Status.IsFinal(), err + done := val.Status == wantStatus || + val.Status == InteriorStatusError + return val, done, err }) } |