feat: move to forgejo sdk
This commit is contained in:
parent
d9bf396917
commit
9e053a1c5c
35 changed files with 316 additions and 714 deletions
94
forgejo/data_source_gitea_user.go
Normal file
94
forgejo/data_source_gitea_user.go
Normal file
|
@ -0,0 +1,94 @@
|
|||
package forgejo
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"strings"
|
||||
|
||||
"codeberg.org/mvdkleijn/forgejo-sdk/forgejo/v2"
|
||||
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
|
||||
)
|
||||
|
||||
func dataSourceGiteaUser() *schema.Resource {
|
||||
return &schema.Resource{
|
||||
Read: dataSourceGiteaUserRead,
|
||||
Schema: map[string]*schema.Schema{
|
||||
"id": {
|
||||
Type: schema.TypeInt,
|
||||
Computed: true,
|
||||
},
|
||||
"username": {
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
Optional: true,
|
||||
},
|
||||
"email": {
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
},
|
||||
"full_name": {
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
},
|
||||
"is_admin": {
|
||||
Type: schema.TypeBool,
|
||||
Computed: true,
|
||||
},
|
||||
"avatar_url": {
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
},
|
||||
"language": {
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
},
|
||||
"last_login": {
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
},
|
||||
"created": {
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func dataSourceGiteaUserRead(d *schema.ResourceData, meta interface{}) error {
|
||||
client := meta.(*forgejo.Client)
|
||||
|
||||
var user *forgejo.User
|
||||
var err error
|
||||
|
||||
log.Printf("[INFO] Reading Gitea user")
|
||||
|
||||
usernameData, usernameOk := d.GetOk("username")
|
||||
|
||||
if !usernameOk {
|
||||
user, _, err = client.GetMyUserInfo()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
username := strings.ToLower(usernameData.(string))
|
||||
|
||||
user, _, err = client.GetUserInfo(username)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
d.Set("id", user.ID)
|
||||
d.Set("username", user.UserName)
|
||||
d.Set("email", user.Email)
|
||||
d.Set("full_name", user.FullName)
|
||||
d.Set("is_admin", user.IsAdmin)
|
||||
d.Set("created", user.Created)
|
||||
d.Set("avatar_url", user.AvatarURL)
|
||||
d.Set("last_login", user.LastLogin)
|
||||
d.Set("language", user.Language)
|
||||
|
||||
d.SetId(fmt.Sprintf("%d", user.ID))
|
||||
|
||||
return nil
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue