API tokens
Token management uses client.AuthAPI with the same authenticated context as
other protected calls.
Create
request := analogwakatime.NewCreateApiTokenRequest("reporting-service")
created, _, err := client.AuthAPI.
CreateApiToken(ctx).
CreateApiTokenRequest(*request).
Execute()
if err != nil {
return
}
fmt.Println(created.ApiToken.Uuid)
fmt.Println(created.ApiToken.Prefix)
fmt.Println(created.Token)
created.Token is the full secret and is returned only once.
Optional expiration:
expiresAt := time.Date(2099, 1, 1, 0, 0, 0, 0, time.UTC)
request.SetExpiresAt(expiresAt)
List
tokens, _, err := client.AuthAPI.GetApiTokens(ctx).Execute()
if err != nil {
return
}
for _, token := range tokens.ApiTokens {
fmt.Println(token.Uuid, token.Name, token.Prefix, token.IsActive)
}
Disable / enable
update := analogwakatime.NewUpdateApiTokenRequest(false) // or true to enable
updated, _, err := client.AuthAPI.
UpdateApiToken(ctx, tokenUUID).
UpdateApiTokenRequest(*update).
Execute()
Delete
deleted, _, err := client.AuthAPI.
DeleteApiToken(ctx, tokenUUID).
Execute()