-
Notifications
You must be signed in to change notification settings - Fork 1
/
update.go
45 lines (36 loc) · 1.48 KB
/
update.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package webuserresponse
import (
"context"
"fmt"
"github.com/CheckPointSW/terraform-provider-infinity-next/internal/api"
models "github.com/CheckPointSW/terraform-provider-infinity-next/internal/models/web-user-response"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
)
func UpdateWebUserResponseBehaviorInputFromResourceData(d *schema.ResourceData) (models.UpdateWebUserResponseBehaviorInput, error) {
var res models.UpdateWebUserResponseBehaviorInput
res.Name = d.Get("name").(string)
res.Mode = d.Get("mode").(string)
res.MessageTitle = d.Get("message_title").(string)
res.MessageBody = d.Get("message_body").(string)
res.HTTPResponseCode = d.Get("http_response_code").(int)
res.RedirectURL = d.Get("redirect_url").(string)
res.XEventID = d.Get("x_event_id").(bool)
return res, nil
}
func UpdateWebUserResponseBehavior(ctx context.Context, c *api.Client, id string, input models.UpdateWebUserResponseBehaviorInput) (bool, error) {
vars := map[string]any{"behaviorInput": input, "id": id}
res, err := c.MakeGraphQLRequest(ctx, `
mutation updateWebUserResponseBehavior($behaviorInput: WebUserResponseBehaviorUpdateInput, $id: ID!)
{
updateWebUserResponseBehavior(behaviorInput: $behaviorInput, id: $id)
}
`, "updateWebUserResponseBehavior", vars)
if err != nil {
return false, err
}
isUpdated, ok := res.(bool)
if !ok {
return false, fmt.Errorf("invalid updateWebUserResponseBehavior response %#v should be of type bool", res)
}
return isUpdated, err
}