ProfileAPI
Account profile, security settings, avatar upload, and deletion workflow.
A complete print example is in the Profile guide.
profile, _, err := client.ProfileAPI.MainApiV1GetMyProfileInfoGet(ctx).Execute()
heatmap, _, err := client.ProfileAPI.MainApiV1GetMyProfileActivityHeatmapGet(ctx).Execute()
twoFactorStatus, _, err := client.ProfileAPI.MainApiV1GetMy2faStatusGet(ctx).Execute()
deletionStatus, _, err := client.ProfileAPI.MainApiV1WhatIsMyStatusGet(ctx).Execute()
nameBody := analogwakatime.NewMainApiV1EditMyNamePostRequest("New name")
updatedName, _, err := client.ProfileAPI.
MainApiV1EditMyNamePost(ctx).
MainApiV1EditMyNamePostRequest(*nameBody).
Execute()
Two-factor authentication
setup, _, err := client.ProfileAPI.MainApiV1StartSetup2faPost(ctx).Execute()
enableBody := analogwakatime.NewMainApiV1StartEnable2faPostRequest("123456", true)
enabled, _, err := client.ProfileAPI.
MainApiV1StartEnable2faPost(ctx).
MainApiV1StartEnable2faPostRequest(*enableBody).
Execute()
disableBody := analogwakatime.NewMainApiV1StartDisable2faPostRequest()
disabled, _, err := client.ProfileAPI.
MainApiV1StartDisable2faPost(ctx).
MainApiV1StartDisable2faPostRequest(*disableBody).
Execute()
downloadBody := analogwakatime.NewMainApiV1DownloadMy2faBackupCodesPostRequest(
"DOWNLOAD_TOKEN_FROM_2FA_SETUP",
)
backupCodes, _, err := client.ProfileAPI.
MainApiV1DownloadMy2faBackupCodesPost(ctx).
MainApiV1DownloadMy2faBackupCodesPostRequest(*downloadBody).
Execute()
Avatar and account deletion
avatar, err := os.Open("avatar.png")
if err != nil {
return
}
defer avatar.Close()
uploaded, _, err := client.ProfileAPI.
MainApiV1UploadAvatarPost(ctx).
Avatar(avatar).
Execute()
deleteRequest := map[string]interface{}{"reason": "No longer needed"}
deletion, _, err := client.ProfileAPI.
MainApiV1StartDeleteMyAccountPost(ctx).
Body(deleteRequest).
Execute()
stopBody := analogwakatime.NewMainApiV1StopDeleteMyAccountPostRequest("Changed my mind")
stopped, _, err := client.ProfileAPI.
MainApiV1StopDeleteMyAccountPost(ctx).
MainApiV1StopDeleteMyAccountPostRequest(*stopBody).
Execute()