lib/api/sfgate/sfgate_models/user.go

395 lines
8.9 KiB
Go
Raw Permalink Normal View History

2021-08-05 19:37:53 +00:00
// Code generated by go-swagger; DO NOT EDIT.
// (c) 2012-2020 by Taxnexus, Inc.
// All rights reserved worldwide.
// Proprietary product; unlicensed use is not allowed
package sfgate_models
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
import (
"context"
"strconv"
"github.com/go-openapi/errors"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
)
// User user
//
// swagger:model User
type User struct {
2023-03-28 17:47:34 +00:00
// API Key
APIKey string `json:"APIKey,omitempty"`
2021-08-05 19:37:53 +00:00
// About Me
2023-03-28 17:47:34 +00:00
AboutMe string `json:"AboutMe,omitempty"`
2021-08-05 19:37:53 +00:00
// Account ID
2023-03-28 17:47:34 +00:00
AccountID string `json:"AccountID,omitempty"`
2021-08-05 19:37:53 +00:00
// address
2023-03-28 17:47:34 +00:00
Address *Address `json:"Address,omitempty"`
2021-08-05 19:37:53 +00:00
// Alias
2023-03-28 17:47:34 +00:00
Alias string `json:"Alias,omitempty"`
2021-08-05 19:37:53 +00:00
2023-03-28 17:47:34 +00:00
// Auth0 User Id
Auth0UserID string `json:"Auth0UserID,omitempty"`
2021-08-05 19:37:53 +00:00
// Nickname
2023-03-28 17:47:34 +00:00
CommunityNickname string `json:"CommunityNickname,omitempty"`
2021-08-05 19:37:53 +00:00
// Company Name
2023-03-28 17:47:34 +00:00
CompanyName string `json:"CompanyName,omitempty"`
2021-08-05 19:37:53 +00:00
// Contact
2023-03-28 17:47:34 +00:00
ContactID string `json:"ContactID,omitempty"`
2021-08-05 19:37:53 +00:00
// Created User ID
2023-03-28 17:47:34 +00:00
CreatedByID string `json:"CreatedByID,omitempty"`
2021-08-05 19:37:53 +00:00
// Date Created
2023-03-28 17:47:34 +00:00
CreatedDate string `json:"CreatedDate,omitempty"`
2021-08-05 19:37:53 +00:00
// Delegated Approver
2023-03-28 17:47:34 +00:00
DelegatedApproverID string `json:"DelegatedApproverID,omitempty"`
2021-08-05 19:37:53 +00:00
// Department
2023-03-28 17:47:34 +00:00
Department string `json:"Department,omitempty"`
2021-08-05 19:37:53 +00:00
// Division
2023-03-28 17:47:34 +00:00
Division string `json:"Division,omitempty"`
2021-08-05 19:37:53 +00:00
// Email address
2023-03-28 17:47:34 +00:00
Email string `json:"Email,omitempty"`
2021-08-05 19:37:53 +00:00
// Employee Number
2023-03-28 17:47:34 +00:00
EmployeeNumber string `json:"EmployeeNumber,omitempty"`
2021-08-05 19:37:53 +00:00
// Time day ends
2023-03-28 17:47:34 +00:00
EndOfDay string `json:"EndOfDay,omitempty"`
2021-08-05 19:37:53 +00:00
// Environment
2023-03-28 17:47:34 +00:00
Environment string `json:"Environment,omitempty"`
2021-08-05 19:37:53 +00:00
// Extension
2023-03-28 17:47:34 +00:00
Extension string `json:"Extension,omitempty"`
2021-08-05 19:37:53 +00:00
// Fabric API Key
2023-03-28 17:47:34 +00:00
FabricAPIKey string `json:"FabricAPIKey,omitempty"`
2021-08-05 19:37:53 +00:00
// Fax
2023-03-28 17:47:34 +00:00
Fax string `json:"Fax,omitempty"`
2021-08-05 19:37:53 +00:00
// The first name
2023-03-28 17:47:34 +00:00
FirstName string `json:"FirstName,omitempty"`
2021-08-05 19:37:53 +00:00
// Allow Forecasting
2023-03-28 17:47:34 +00:00
ForecastEnabled bool `json:"ForecastEnabled,omitempty"`
2021-08-05 19:37:53 +00:00
// Full Photo URL
2023-03-28 17:47:34 +00:00
FullPhotoURL string `json:"FullPhotoURL,omitempty"`
2021-08-05 19:37:53 +00:00
2023-03-28 17:47:34 +00:00
// Record ID
ID string `json:"ID,omitempty"`
2021-08-05 19:37:53 +00:00
// Active
2023-03-28 17:47:34 +00:00
IsActive bool `json:"IsActive,omitempty"`
2021-08-05 19:37:53 +00:00
// Is the user enabled for Communities?
2023-03-28 17:47:34 +00:00
IsPortalEnabled bool `json:"IsPortalEnabled,omitempty"`
2021-08-05 19:37:53 +00:00
// Has Profile Photo
2023-03-29 23:07:04 +00:00
IsProfilePhotoActive bool `json:"IsProfilePhotoActive,omitempty"`
2021-08-05 19:37:53 +00:00
2023-03-28 17:47:34 +00:00
// is system controlled
IsSystemControlled bool `json:"IsSystemControlled,omitempty"`
2021-08-05 19:37:53 +00:00
2023-03-28 17:47:34 +00:00
// IP address of last login
LastIP string `json:"LastIP,omitempty"`
2021-08-05 19:37:53 +00:00
2023-03-28 17:47:34 +00:00
// Last login time
LastLogin string `json:"LastLogin,omitempty"`
2021-08-05 19:37:53 +00:00
// Last Modified User ID
2023-03-28 17:47:34 +00:00
LastModifiedByID string `json:"LastModifiedByID,omitempty"`
2021-08-05 19:37:53 +00:00
// Last Modified Date
2023-03-28 17:47:34 +00:00
LastModifiedDate string `json:"LastModifiedDate,omitempty"`
2021-08-05 19:37:53 +00:00
// The Last Name
2023-03-28 17:47:34 +00:00
LastName string `json:"LastName,omitempty"`
2021-08-05 19:37:53 +00:00
2023-03-28 17:47:34 +00:00
// Number of times user has logged in
LoginCount int64 `json:"LoginCount,omitempty"`
2021-08-05 19:37:53 +00:00
// Manager
2023-03-28 17:47:34 +00:00
ManagerID string `json:"ManagerID,omitempty"`
2021-08-05 19:37:53 +00:00
// Mobile
2023-03-28 17:47:34 +00:00
MobilePhone string `json:"MobilePhone,omitempty"`
2021-08-05 19:37:53 +00:00
// Name
2023-03-28 17:47:34 +00:00
Name string `json:"Name,omitempty"`
2021-08-05 19:37:53 +00:00
// Out of office message
2023-03-28 17:47:34 +00:00
OutOfOfficeMessage string `json:"OutOfOfficeMessage,omitempty"`
2021-08-05 19:37:53 +00:00
// Phone
2023-03-28 17:47:34 +00:00
Phone string `json:"Phone,omitempty"`
2021-08-05 19:37:53 +00:00
// Portal Role Level
2023-03-28 17:47:34 +00:00
PortalRole string `json:"PortalRole,omitempty"`
2021-08-05 19:37:53 +00:00
// Profile
2023-03-28 17:47:34 +00:00
ProfileID string `json:"ProfileID,omitempty"`
2021-08-05 19:37:53 +00:00
// Info Emails
2023-03-28 17:47:34 +00:00
ReceivesAdminEmails bool `json:"ReceivesAdminEmails,omitempty"`
// Admin Info Emails
ReceivesAdminInfoEmails bool `json:"ReceivesAdminInfoEmails,omitempty"`
2021-08-05 19:37:53 +00:00
2023-04-11 21:22:39 +00:00
// Info Emails
ReceivesInfoEmails bool `json:"ReceivesInfoEmails,omitempty"`
2021-08-05 19:37:53 +00:00
// Email Sender Address
2023-03-28 17:47:34 +00:00
SenderEmail string `json:"SenderEmail,omitempty"`
2021-08-05 19:37:53 +00:00
// Email Sender Name
2023-03-28 17:47:34 +00:00
SenderName string `json:"SenderName,omitempty"`
2021-08-05 19:37:53 +00:00
// Email Signature
2023-03-28 17:47:34 +00:00
Signature string `json:"Signature,omitempty"`
2021-08-05 19:37:53 +00:00
// Small Photo URL
2023-03-28 17:47:34 +00:00
SmallPhotoURL string `json:"SmallPhotoURL,omitempty"`
2021-08-05 19:37:53 +00:00
// The time day starts
2023-03-28 17:47:34 +00:00
StartOfDay string `json:"StartOfDay,omitempty"`
2021-08-05 19:37:53 +00:00
2023-04-11 21:22:39 +00:00
// Status
Status string `json:"Status,omitempty"`
2021-08-05 19:37:53 +00:00
// Taxnexus Account
2023-03-28 17:47:34 +00:00
TaxnexusAccount string `json:"TaxnexusAccount,omitempty"`
2021-08-05 19:37:53 +00:00
2023-03-28 17:47:34 +00:00
// Tenant ID associated with this user
TenantID string `json:"TenantID,omitempty"`
2021-08-05 19:37:53 +00:00
2023-03-28 17:47:34 +00:00
// tenant users
TenantUsers []*TenantUser `json:"TenantUsers"`
2021-08-05 19:37:53 +00:00
// Time Zone
2023-03-28 17:47:34 +00:00
TimeZone string `json:"TimeZone,omitempty"`
2021-08-05 19:37:53 +00:00
// Title
2023-03-28 17:47:34 +00:00
Title string `json:"Title,omitempty"`
2021-08-05 19:37:53 +00:00
// Role
2023-03-28 17:47:34 +00:00
UserRoleID string `json:"UserRoleID,omitempty"`
2021-08-05 19:37:53 +00:00
2023-03-28 17:47:34 +00:00
// user roles
UserRoles []*UserRole `json:"UserRoles"`
2021-08-05 19:37:53 +00:00
// User Type
2023-03-28 17:47:34 +00:00
UserType string `json:"UserType,omitempty"`
// Username
Username string `json:"Username,omitempty"`
2021-08-05 19:37:53 +00:00
}
// Validate validates this user
func (m *User) Validate(formats strfmt.Registry) error {
var res []error
if err := m.validateAddress(formats); err != nil {
res = append(res, err)
}
2023-03-28 17:47:34 +00:00
if err := m.validateTenantUsers(formats); err != nil {
2021-08-05 19:37:53 +00:00
res = append(res, err)
}
2023-03-28 17:47:34 +00:00
if err := m.validateUserRoles(formats); err != nil {
2021-08-05 19:37:53 +00:00
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
func (m *User) validateAddress(formats strfmt.Registry) error {
if swag.IsZero(m.Address) { // not required
return nil
}
if m.Address != nil {
if err := m.Address.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
2023-03-28 17:47:34 +00:00
return ve.ValidateName("Address")
2022-05-28 19:45:41 +00:00
} else if ce, ok := err.(*errors.CompositeError); ok {
2023-03-28 17:47:34 +00:00
return ce.ValidateName("Address")
2021-08-05 19:37:53 +00:00
}
return err
}
}
return nil
}
2023-03-28 17:47:34 +00:00
func (m *User) validateTenantUsers(formats strfmt.Registry) error {
if swag.IsZero(m.TenantUsers) { // not required
2021-08-05 19:37:53 +00:00
return nil
}
2023-03-28 17:47:34 +00:00
for i := 0; i < len(m.TenantUsers); i++ {
if swag.IsZero(m.TenantUsers[i]) { // not required
2021-08-05 19:37:53 +00:00
continue
}
2023-03-28 17:47:34 +00:00
if m.TenantUsers[i] != nil {
if err := m.TenantUsers[i].Validate(formats); err != nil {
2021-08-05 19:37:53 +00:00
if ve, ok := err.(*errors.Validation); ok {
2023-03-28 17:47:34 +00:00
return ve.ValidateName("TenantUsers" + "." + strconv.Itoa(i))
2022-05-28 19:45:41 +00:00
} else if ce, ok := err.(*errors.CompositeError); ok {
2023-03-28 17:47:34 +00:00
return ce.ValidateName("TenantUsers" + "." + strconv.Itoa(i))
2021-08-05 19:37:53 +00:00
}
return err
}
}
}
return nil
}
2023-03-28 17:47:34 +00:00
func (m *User) validateUserRoles(formats strfmt.Registry) error {
if swag.IsZero(m.UserRoles) { // not required
2021-08-05 19:37:53 +00:00
return nil
}
2023-03-28 17:47:34 +00:00
for i := 0; i < len(m.UserRoles); i++ {
if swag.IsZero(m.UserRoles[i]) { // not required
2021-08-05 19:37:53 +00:00
continue
}
2023-03-28 17:47:34 +00:00
if m.UserRoles[i] != nil {
if err := m.UserRoles[i].Validate(formats); err != nil {
2021-08-05 19:37:53 +00:00
if ve, ok := err.(*errors.Validation); ok {
2023-03-28 17:47:34 +00:00
return ve.ValidateName("UserRoles" + "." + strconv.Itoa(i))
2022-05-28 19:45:41 +00:00
} else if ce, ok := err.(*errors.CompositeError); ok {
2023-03-28 17:47:34 +00:00
return ce.ValidateName("UserRoles" + "." + strconv.Itoa(i))
2021-08-05 19:37:53 +00:00
}
return err
}
}
}
return nil
}
// ContextValidate validate this user based on the context it is used
func (m *User) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := m.contextValidateAddress(ctx, formats); err != nil {
res = append(res, err)
}
2023-03-28 17:47:34 +00:00
if err := m.contextValidateTenantUsers(ctx, formats); err != nil {
2021-08-05 19:37:53 +00:00
res = append(res, err)
}
2023-03-28 17:47:34 +00:00
if err := m.contextValidateUserRoles(ctx, formats); err != nil {
2021-08-05 19:37:53 +00:00
res = append(res, err)
}
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
return nil
}
func (m *User) contextValidateAddress(ctx context.Context, formats strfmt.Registry) error {
if m.Address != nil {
if err := m.Address.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
2023-03-28 17:47:34 +00:00
return ve.ValidateName("Address")
2022-05-28 19:45:41 +00:00
} else if ce, ok := err.(*errors.CompositeError); ok {
2023-03-28 17:47:34 +00:00
return ce.ValidateName("Address")
2021-08-05 19:37:53 +00:00
}
return err
}
}
return nil
}
2023-03-28 17:47:34 +00:00
func (m *User) contextValidateTenantUsers(ctx context.Context, formats strfmt.Registry) error {
2021-08-05 19:37:53 +00:00
2023-03-28 17:47:34 +00:00
for i := 0; i < len(m.TenantUsers); i++ {
2021-08-05 19:37:53 +00:00
2023-03-28 17:47:34 +00:00
if m.TenantUsers[i] != nil {
if err := m.TenantUsers[i].ContextValidate(ctx, formats); err != nil {
2021-08-05 19:37:53 +00:00
if ve, ok := err.(*errors.Validation); ok {
2023-03-28 17:47:34 +00:00
return ve.ValidateName("TenantUsers" + "." + strconv.Itoa(i))
2022-05-28 19:45:41 +00:00
} else if ce, ok := err.(*errors.CompositeError); ok {
2023-03-28 17:47:34 +00:00
return ce.ValidateName("TenantUsers" + "." + strconv.Itoa(i))
2021-08-05 19:37:53 +00:00
}
return err
}
}
}
return nil
}
2023-03-28 17:47:34 +00:00
func (m *User) contextValidateUserRoles(ctx context.Context, formats strfmt.Registry) error {
2021-08-05 19:37:53 +00:00
2023-03-28 17:47:34 +00:00
for i := 0; i < len(m.UserRoles); i++ {
2021-08-05 19:37:53 +00:00
2023-03-28 17:47:34 +00:00
if m.UserRoles[i] != nil {
if err := m.UserRoles[i].ContextValidate(ctx, formats); err != nil {
2021-08-05 19:37:53 +00:00
if ve, ok := err.(*errors.Validation); ok {
2023-03-28 17:47:34 +00:00
return ve.ValidateName("UserRoles" + "." + strconv.Itoa(i))
2022-05-28 19:45:41 +00:00
} else if ce, ok := err.(*errors.CompositeError); ok {
2023-03-28 17:47:34 +00:00
return ce.ValidateName("UserRoles" + "." + strconv.Itoa(i))
2021-08-05 19:37:53 +00:00
}
return err
}
}
}
return nil
}
// MarshalBinary interface implementation
func (m *User) MarshalBinary() ([]byte, error) {
if m == nil {
return nil, nil
}
return swag.WriteJSON(m)
}
// UnmarshalBinary interface implementation
func (m *User) UnmarshalBinary(b []byte) error {
var res User
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
*m = res
return nil
}