Skip to content

Commit

Permalink
Styling improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
daniellohausen committed Dec 21, 2018
1 parent 2d59ab5 commit f2e3129
Showing 1 changed file with 27 additions and 34 deletions.
61 changes: 27 additions & 34 deletions jumpcloud/resource_user.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ package jumpcloud

import (
"context"
// "net/http"
"fmt"
"net/http"

jcapiv1 "github.com/TheJumpCloud/jcapi-go/v1"
jcapiv2 "github.com/TheJumpCloud/jcapi-go/v2"
Expand Down Expand Up @@ -42,26 +42,32 @@ func resourceUser() *schema.Resource {
Type: schema.TypeBool,
Optional: true,
},
// Currently, only the options necessary for our use.case are implemented
// JumopCloud offers a lot more
},
Importer: &schema.ResourceImporter{
State: schema.ImportStatePassthrough,
},
}
}

func resourceUserCreate(d *schema.ResourceData, m interface{}) error {
configv2 := m.(*jcapiv2.Configuration)
configv1 := jcapiv1.NewConfiguration()
configv1.AddDefaultHeader("x-api-key", configv2.DefaultHeader["x-api-key"])

client := jcapiv1.NewAPIClient(configv1)

var payload jcapiv1.Systemuserputpost
func populateUserPayload(payload *jcapiv1.Systemuserputpost, d *schema.ResourceData) {
payload.Username = d.Get("username").(string)
payload.Email = d.Get("email").(string)
payload.Firstname = d.Get("firstname").(string)
payload.Lastname = d.Get("lastname").(string)
payload.EnableUserPortalMultifactor = d.Get("enable_mfa").(bool)
}

func resourceUserCreate(d *schema.ResourceData, m interface{}) error {
// We receive a v2config but need a v1config to continue. So, we take the only
// preloaded element (the x-api-key) and populate the v1config with it.
configv1 := jcapiv1.NewConfiguration()
configv1.AddDefaultHeader("x-api-key", m.(*jcapiv2.Configuration).DefaultHeader["x-api-key"])
client := jcapiv1.NewAPIClient(configv1)

var payload jcapiv1.Systemuserputpost
populateUserPayload(&payload, d)

req := map[string]interface{}{
"body": payload,
Expand All @@ -77,27 +83,23 @@ func resourceUserCreate(d *schema.ResourceData, m interface{}) error {
}

func resourceUserRead(d *schema.ResourceData, m interface{}) error {
configv2 := m.(*jcapiv2.Configuration)
configv1 := jcapiv1.NewConfiguration()
configv1.AddDefaultHeader("x-api-key", configv2.DefaultHeader["x-api-key"])

configv1.AddDefaultHeader("x-api-key", m.(*jcapiv2.Configuration).DefaultHeader["x-api-key"])
client := jcapiv1.NewAPIClient(configv1)

res, _, err := client.SystemusersApi.SystemusersGet(context.TODO(),
res, httpresponse, err := client.SystemusersApi.SystemusersGet(context.TODO(),
d.Id(), "", "", nil)

if err != nil {
return err
}

// Need to understand why we need this
/*
if !ok {
// not found
d.SetId("")
return nil
}
*/
// If the object does not exist in our infrastructure
if httpresponse.StatusCode == http.StatusNotFound {
d.SetId("")
return nil
}

d.SetId(res.Id)

if err := d.Set("username", res.Username); err != nil {
Expand All @@ -112,26 +114,19 @@ func resourceUserRead(d *schema.ResourceData, m interface{}) error {
if err := d.Set("lastname", res.Lastname); err != nil {
return err
}

if err := d.Set("enable_mfa", res.EnableUserPortalMultifactor); err != nil {
return err
}
return nil
}

func resourceUserUpdate(d *schema.ResourceData, m interface{}) error {
configv2 := m.(*jcapiv2.Configuration)
configv1 := jcapiv1.NewConfiguration()
configv1.AddDefaultHeader("x-api-key", configv2.DefaultHeader["x-api-key"])

configv1.AddDefaultHeader("x-api-key", m.(*jcapiv2.Configuration).DefaultHeader["x-api-key"])
client := jcapiv1.NewAPIClient(configv1)

var payload jcapiv1.Systemuserput
payload.Username = d.Get("username").(string)
payload.Email = d.Get("email").(string)
payload.Firstname = d.Get("firstname").(string)
payload.Lastname = d.Get("lastname").(string)
payload.EnableUserPortalMultifactor = d.Get("enable_mfa").(bool)
var payload jcapiv1.Systemuserputpost
populateUserPayload(&payload, d)

req := map[string]interface{}{
"body": payload,
Expand All @@ -146,10 +141,8 @@ func resourceUserUpdate(d *schema.ResourceData, m interface{}) error {
}

func resourceUserDelete(d *schema.ResourceData, m interface{}) error {
configv2 := m.(*jcapiv2.Configuration)
configv1 := jcapiv1.NewConfiguration()
configv1.AddDefaultHeader("x-api-key", configv2.DefaultHeader["x-api-key"])

configv1.AddDefaultHeader("x-api-key", m.(*jcapiv2.Configuration).DefaultHeader["x-api-key"])
client := jcapiv1.NewAPIClient(configv1)

res, _, err := client.SystemusersApi.SystemusersDelete(context.TODO(),
Expand Down

0 comments on commit f2e3129

Please sign in to comment.