zephinzer/dev

View on GitHub
internal/types/account.go

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
package types

import (
    "fmt"
    "strings"
)

type Account interface {
    GetName() *string
    GetUsername() *string
    GetEmail() *string
    GetLink() *string
    GetCreatedAt() *string
    GetLastSeen() *string
    GetFollowerCount() *int
    GetProjectCount() *int
    GetIsAdmin() *bool
}

func PrintAccount(account Account) string {
    var output strings.Builder
    if account.GetName() != nil {
        output.WriteString(fmt.Sprintf("name          : %s\n", *account.GetName()))
    }
    if account.GetUsername() != nil {
        output.WriteString(fmt.Sprintf("username      : %s\n", *account.GetUsername()))
    }
    if account.GetEmail() != nil {
        output.WriteString(fmt.Sprintf("email         : %s\n", *account.GetEmail()))
    }
    if account.GetLink() != nil {
        output.WriteString(fmt.Sprintf("link          : %s\n", *account.GetLink()))
    }
    if account.GetCreatedAt() != nil {
        output.WriteString(fmt.Sprintf("created at    : %s\n", *account.GetCreatedAt()))
    }
    if account.GetLastSeen() != nil {
        output.WriteString(fmt.Sprintf("last updated  : %s\n", *account.GetLastSeen()))
    }
    if account.GetProjectCount() != nil {
        output.WriteString(fmt.Sprintf("project count : %v\n", *account.GetProjectCount()))
    }
    if account.GetFollowerCount() != nil {
        output.WriteString(fmt.Sprintf("follower count: %v\n", *account.GetFollowerCount()))
    }
    if account.GetIsAdmin() != nil {
        output.WriteString(fmt.Sprintf("is admin      : %v\n", *account.GetIsAdmin()))
    }
    return output.String()
}