@@ -25,7 +25,7 @@ func (o *userResourceType) ResourceType(_ context.Context) *v2.ResourceType {
2525}
2626
2727// Create a new connector resource for a Tableau user.
28- func userResource (ctx context. Context , user * tableau.User , parentResourceID * v2.ResourceId ) (* v2.Resource , error ) {
28+ func userResource (user * tableau.User , parentResourceID * v2.ResourceId ) (* v2.Resource , error ) {
2929 names := strings .SplitN (user .FullName , " " , 2 )
3030 var firstName , lastName string
3131 switch len (names ) {
@@ -77,7 +77,7 @@ func (o *userResourceType) List(ctx context.Context, parentId *v2.ResourceId, to
7777 var rv []* v2.Resource
7878 for _ , user := range users {
7979 userCopy := user
80- ur , err := userResource (ctx , & userCopy , parentId )
80+ ur , err := userResource (& userCopy , parentId )
8181 if err != nil {
8282 return nil , "" , nil , err
8383 }
@@ -99,7 +99,6 @@ func (u *userResourceType) CreateAccountCapabilityDetails(ctx context.Context) (
9999 return & v2.CredentialDetailsAccountProvisioning {
100100 SupportedCredentialOptions : []v2.CapabilityDetailCredentialOption {
101101 v2 .CapabilityDetailCredentialOption_CAPABILITY_DETAIL_CREDENTIAL_OPTION_NO_PASSWORD ,
102- v2 .CapabilityDetailCredentialOption_CAPABILITY_DETAIL_CREDENTIAL_OPTION_RANDOM_PASSWORD ,
103102 },
104103 PreferredCredentialOption : v2 .CapabilityDetailCredentialOption_CAPABILITY_DETAIL_CREDENTIAL_OPTION_NO_PASSWORD ,
105104 }, nil , nil
@@ -122,17 +121,21 @@ func (o *userResourceType) CreateAccount(ctx context.Context, accountInfo *v2.Ac
122121 return nil , nil , nil , fmt .Errorf ("baton-tableau: siteRole not found in profile" )
123122 }
124123
125- err := o .client .AddUserToSite (ctx , tableau.CreateUserRequest {
124+ user , err := o .client .AddUserToSite (ctx , tableau.CreateUserRequest {
126125 Email : email ,
127126 SiteRole : siteRole ,
128127 })
129128 if err != nil {
130129 return nil , nil , nil , fmt .Errorf ("baton-tableau: failed to create user %s: %w" , email , err )
131130 }
132131
133- return & v2.CreateAccountResponse_ActionRequiredResult {
134- Message : fmt .Sprintf ("User %s invitation sent successfully" , email ),
135- IsCreateAccountResult : true ,
132+ resource , err := userResource (user , nil )
133+ if err != nil {
134+ return nil , nil , nil , fmt .Errorf ("baton-tableau: failed to parse user resource for %s: %w" , email , err )
135+ }
136+
137+ return & v2.CreateAccountResponse_SuccessResult {
138+ Resource : resource ,
136139 }, nil , nil , nil
137140}
138141
0 commit comments