Skip to content

Commit

Permalink
Not failing when prompt files are not transcoded properly
Browse files Browse the repository at this point in the history
  • Loading branch information
charliecon committed Jan 28, 2025
1 parent 5cd5460 commit 1fd2bdf
Showing 1 changed file with 21 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,13 @@ func deleteArchitectUserPromptResourceFn(_ context.Context, p *architectUserProm
return p.architectApi.DeleteArchitectPromptResource(id, languageCode)
}

func createOrUpdateArchitectUserPromptResourcesFn(ctx context.Context, p *architectUserPromptProxy, d *schema.ResourceData, promptId string, create bool) (*platformclientv2.APIResponse, error) {
func createOrUpdateArchitectUserPromptResourcesFn(ctx context.Context, p *architectUserPromptProxy, d *schema.ResourceData, promptId string, create bool) (_ *platformclientv2.APIResponse, err error) {
defer func() {
if err != nil {
err = fmt.Errorf("in createOrUpdateArchitectUserPromptResourcesFn: %w", err)
}
}()

var allLanguages []string

resourcesToCreate, resourcesToUpdate, resourcesToDelete, resp, err := p.buildUserPromptResourcesForCreateAndUpdate(ctx, d, promptId, create)
Expand All @@ -279,27 +285,29 @@ func createOrUpdateArchitectUserPromptResourcesFn(ctx context.Context, p *archit
}

for _, r := range resourcesToCreate {
var resource *platformclientv2.Promptasset
log.Printf("Creating user prompt resource for language: %s", *r.Language)
resource, resp, err := p.createArchitectUserPromptResource(ctx, promptId, r)
resource, resp, err = p.createArchitectUserPromptResource(ctx, promptId, r)
if err != nil {
return resp, fmt.Errorf("failed to create user prompt resource for language '%s': %v", *r.Language, err)
return resp, fmt.Errorf("failed to create user prompt resource for language '%s': %w", *r.Language, err)
}

if err := p.retrieveFilenameAndUploadPromptAsset(ctx, resource); err != nil {
if err = p.retrieveFilenameAndUploadPromptAsset(ctx, resource); err != nil {
return nil, err
}

allLanguages = append(allLanguages, *r.Language)
}

for _, r := range resourcesToUpdate {
var resource *platformclientv2.Promptasset
log.Printf("Updating user prompt resource for language: %s", *r.Language)
resource, resp, err := p.updateArchitectUserPromptResource(ctx, d.Id(), *r.Language, r)
resource, resp, err = p.updateArchitectUserPromptResource(ctx, d.Id(), *r.Language, r)
if err != nil {
return resp, fmt.Errorf("failed to update user prompt resource for language '%s': %v", *r.Language, err)
return resp, fmt.Errorf("failed to update user prompt resource for language '%s': %w", *r.Language, err)
}

if err := p.retrieveFilenameAndUploadPromptAsset(ctx, resource); err != nil {
if err = p.retrieveFilenameAndUploadPromptAsset(ctx, resource); err != nil {
return nil, err
}

Expand All @@ -308,15 +316,18 @@ func createOrUpdateArchitectUserPromptResourcesFn(ctx context.Context, p *archit

for _, language := range resourcesToDelete {
log.Printf("Deleting user prompt resource for language: %s", language)
resp, err := p.deleteArchitectUserPromptResource(ctx, d.Id(), language)
resp, err = p.deleteArchitectUserPromptResource(ctx, d.Id(), language)
if err != nil {
return resp, fmt.Errorf("failed to delete user prompt resource for language '%s': %v", language, err)
return resp, fmt.Errorf("failed to delete user prompt resource for language '%s': %w", language, err)
}

removeByValue(allLanguages, language)
}

return p.verifyPromptResourceFilesAreTranscoded(ctx, promptId, allLanguages)
if _, verifyErr := p.verifyPromptResourceFilesAreTranscoded(ctx, promptId, allLanguages); verifyErr != nil {
log.Printf("Failed to verify that all resource files were transcoded: %s", verifyErr.Error())
}
return resp, nil
}

func removeByValue(slice []string, value string) []string {
Expand Down

0 comments on commit 1fd2bdf

Please sign in to comment.