diff --git a/go.mod b/go.mod index d2dd4c0..6709300 100644 --- a/go.mod +++ b/go.mod @@ -8,6 +8,7 @@ require ( github.com/go-openapi/strfmt v0.19.11 github.com/go-openapi/swag v0.19.12 github.com/go-openapi/validate v0.20.0 + github.com/go-sql-driver/mysql v1.5.0 github.com/prometheus/client_golang v0.9.3 github.com/rs/cors v1.7.0 github.com/spf13/viper v1.7.1 diff --git a/go.sum b/go.sum index 94e5c85..0d1858c 100644 --- a/go.sum +++ b/go.sum @@ -145,6 +145,7 @@ github.com/go-openapi/validate v0.19.12/go.mod h1:Rzou8hA/CBw8donlS6WNEUQupNvUZ0 github.com/go-openapi/validate v0.19.15/go.mod h1:tbn/fdOwYHgrhPBzidZfJC2MIVvs9GA7monOmWBbeCI= github.com/go-openapi/validate v0.20.0 h1:pzutNCCBZGZlE+u8HD3JZyWdc/TVbtVwlWUp8/vgUKk= github.com/go-openapi/validate v0.20.0/go.mod h1:b60iJT+xNNLfaQJUqLI7946tYiFEOuE9E4k54HpKcJ0= +github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= diff --git a/types/account.go b/types/account.go new file mode 100644 index 0000000..ee4a74c --- /dev/null +++ b/types/account.go @@ -0,0 +1,95 @@ +package types + +import "database/sql" + +// Account is a DB struct +type Account struct { + ID string + AccountNumber string + AccountSource string + Active bool + AdministrativeLevel string + Amount float64 + AmountInvoiced float64 + AmountPaid float64 + AnnualRevenue float64 + Balance float64 + BillingAddress Address + BillingContactID string + BillingPreference string + BusinessAddress Address + CannabisCustomer bool + ChannelProgramLevelName string + ChannelProgramName string + ClientEndDate sql.NullTime + ClientStartDate sql.NullTime + CompanyID string + CoordinateID string + CreatedByID string + CreatedDate sql.NullTime + CustomerID string + CustomerPriority string + DandBCompanyID string + DBA string + DefaultAddress Address + DefaultBackendID string + DefaultDeliveryContactID string + DefaultEndUserID string + Description string + DunsNumber string + EIN string + Email string + EnrollmentStatus string + Fax string + Industry string + IsCustomerPortal bool + IsPartner bool + ISPCustomer bool + Jigsaw string + LastModifiedByID string + LastModifiedDate sql.NullTime + MSPCustomer bool + NaicsCode string + NaicsDesc string + Name string + NumberOfEmployees int64 + NumberOfLocations int64 + OpenCharges float64 + OrderContactID string + OrderEmail string + OwnerID string + Ownership string + ParentFK string + ParentID string + Phone string + PlaceID string + PreparerID string + Rating string + RatingEngineID string + Ref string + RevenueBase float64 + RevenueNet float64 + RevenueNotTaxable float64 + ShippingAddress Address + ShippingCensusTract string + ShippingContactID string + ShippingCounty string + SIC string + SicDesc string + Site string + Status string + TaxExemption string + TaxOnTax float64 + TelecomCustomer bool + TenantID string + TickerSymbol string + TradeStyle string + Type string + UnappliedPayments float64 + UnitBase float64 + UpsellOpportunity string + Website string + WHMCSClientID int64 + XeroContactID string + YearStarted string +} diff --git a/types/accountingrule.go b/types/accountingrule.go new file mode 100644 index 0000000..74d1e6f --- /dev/null +++ b/types/accountingrule.go @@ -0,0 +1,27 @@ +package types + +import "database/sql" + +// AccountingRule is a first class object type +type AccountingRule struct { + ID string + AccountID string + Code string + COGSaccountID string + COGSaccountName string + CreatedByID string + CreatedDate sql.NullTime + CreditAccountID string + CreditAccountName string + DebitAccountID string + DebitAccountName string + Description string + InventoryAccountID string + InventoryAccountName string + IsDeferred bool + LastModifiedByID string + LastModifiedDate sql.NullTime + ParentFK string + Proportion float64 + TenantID string +} diff --git a/types/accountingruleset.go b/types/accountingruleset.go new file mode 100644 index 0000000..3783595 --- /dev/null +++ b/types/accountingruleset.go @@ -0,0 +1,19 @@ +package types + +import "database/sql" + +// AccountingRuleset is exported +type AccountingRuleset struct { + ID string + Items []*AccountingRulesetItem + AccountID string + Code string + CreatedByID string + CreatedDate sql.NullTime + Description string + LastModifiedByID string + LastModifiedDate sql.NullTime + ParentFK string + RuleCount int64 + TenantID string +} diff --git a/types/accountingrulesetitem.go b/types/accountingrulesetitem.go new file mode 100644 index 0000000..f2c9812 --- /dev/null +++ b/types/accountingrulesetitem.go @@ -0,0 +1,15 @@ +package types + +import "database/sql" + +// AccountingRulesetItem is a first class object type +type AccountingRulesetItem struct { + ID string + AccountingRuleCode string + AccountingRulesetID string + CreatedByID string + CreatedDate sql.NullTime + LastModifiedByID string + LastModifiedDate sql.NullTime + TenantID string +} diff --git a/types/address.go b/types/address.go new file mode 100644 index 0000000..2a8eff7 --- /dev/null +++ b/types/address.go @@ -0,0 +1,45 @@ +package types + +import ( + "code.tnxs.net/taxnexus/lib/api/crm/crm_models" +) + +// Address address struct +type Address struct { + City string + Country string + CountryCode string + PostalCode string + State string + StateCode string + Street string +} + +func (obj *Address) marshalToCrmSwagger() *crm_models.Address { + if obj != nil { + return &crm_models.Address{ + City: obj.City, + Country: obj.Country, + CountryCode: obj.CountryCode, + PostalCode: obj.PostalCode, + State: obj.State, + StateCode: obj.StateCode, + Street: obj.Street, + } + } + return nil +} +func unMarshalCrmAddress(swag *crm_models.Address) Address { + if swag != nil { + return Address{ + City: swag.City, + Country: swag.Country, + CountryCode: swag.CountryCode, + PostalCode: swag.PostalCode, + State: swag.State, + StateCode: swag.StateCode, + Street: swag.Street, + } + } + return Address{} +} diff --git a/types/applog.go b/types/applog.go new file mode 100644 index 0000000..0098e1b --- /dev/null +++ b/types/applog.go @@ -0,0 +1,18 @@ +package types + +import "database/sql" + +// AppLog is a first class object type +type AppLog struct { + ID string + AccountID string + CompanyID string + CreatedByID string + CreatedDate sql.NullTime + Message string + ObjectType string + ObjectID string + Severity string + Source string + SourceTimestamp sql.NullTime +} diff --git a/types/backend.go b/types/backend.go new file mode 100644 index 0000000..b8ad1be --- /dev/null +++ b/types/backend.go @@ -0,0 +1,44 @@ +package types + +import "database/sql" + +// Backend is a first class object type +type Backend struct { + ID string + AccountID string + Active bool + APIKey string + ApplicationName string + AuthType string + BackendName string + BaseURL string + CallbackURL string + ClientID string + ClientSecret string + CreatedByID string + CreatedDate sql.NullTime + CompanyID string + Description string + LastModifiedByID string + LastModifiedDate sql.NullTime + LoginURL string + ManagementPassword string + ManagementURL string + ManagementUsername string + MetrcLicense string + MetrcState string + OwnerID string + Password string + ProjectID string + ProviderCredentials string + Realm string + Ref string + ResellerBackendID string + SecurityToken string + TenantID string + Timeout int64 + TokenURI string + Type string + Username string + Vendor string +} diff --git a/types/cashreceipt.go b/types/cashreceipt.go new file mode 100644 index 0000000..aec045f --- /dev/null +++ b/types/cashreceipt.go @@ -0,0 +1,41 @@ +package types + +import "database/sql" + +// CashReceipt is a first class object type +type CashReceipt struct { + ID string + AccountID string + Amount float64 + AppliedAmount float64 + BillingContactID string + BillingRunID string + CashReceiptDate sql.NullTime + CashReceiptNumber string + CreatedByID string + CreatedDate sql.NullTime + Description string + Gateway string + GatewayKey string + GatewayMessage string + GatewayTransaction bool + InvoiceID string + IsValid bool + LastModifiedByID string + LastModifiedDate sql.NullTime + PartnerAccountID string + PaymentMethodID string + PeriodID string + Posted bool + RecordType string + Ref string + Rejected bool + Source string + Status string + TemplateID string + TenantID string + Type string + UnappliedAmount float64 + ValidPayment bool + XeroID string +} diff --git a/types/charge.go b/types/charge.go new file mode 100644 index 0000000..8e90253 --- /dev/null +++ b/types/charge.go @@ -0,0 +1,34 @@ +package types + +import "database/sql" + +// Charge is a first class object type +type Charge struct { + ID string + AccountID string + AccountingRulesetCode string + Amount float64 + BillingContactID string + BillingEmail string + BillingRunID string + ContractHourlyRate float64 + ContractID string + CreatedByID string + CreatedDate sql.NullTime + Description string + EmailMessage string + JournalDate sql.NullTime + LastModifiedByID string + LastModifiedDate sql.NullTime + PartnerAccountID string + PaymentTerms string + PeriodID string + Posted bool + ProductID string + Quantity float64 + Ref string + TemplateID string + TenantID string + Type string + UnitPrice float64 +} diff --git a/types/cluster.go b/types/cluster.go new file mode 100644 index 0000000..97464b2 --- /dev/null +++ b/types/cluster.go @@ -0,0 +1,24 @@ +package types + +import "database/sql" + +// Cluster is a first class object type +type Cluster struct { + ID string + CreatedByID string + CreatedDate sql.NullTime + Description string + Environment string + Gateway string + IPAddress string + LastModifiedByID string + LastModifiedDate sql.NullTime + Name string + OwnerID string + Ref string + Status string + Subnet string + TenantID string + Type string + Zone string +} diff --git a/types/company.go b/types/company.go new file mode 100644 index 0000000..d722883 --- /dev/null +++ b/types/company.go @@ -0,0 +1,47 @@ +package types + +import "database/sql" + +// Company is a DB struct +type Company struct { + ID string + AccountID string + AccountNumberPrefix string + AdvancePeriodID string + BillingAddress Address + BillingAdvice string + BillingContactID string + BillingEmail string + BillingPhone string + BillingWebsite string + CoaTemplateID string + ColorAccent1 string + ColorAccent2 string + ColorPrimary string + ClosedPeriodID string + CreatedByID string + CreatedDate sql.NullTime + CurrentPeriodID string + CurrentPeriodStatus string + CustomerSuccessID string + DateClosed sql.NullTime + DefaultAddress Address + DefaultCompany bool + FontBody string + FontHeading string + FontHeadingNarrow string + FontLink string + FontMono string + International bool + LastAccountNumber int64 + LastModifiedByID string + LastModifiedDate sql.NullTime + LastTaxtypeNumber int64 + Logo string + Name string + OwnerID string + PreparerID string + PricebookID string + TenantID string + UserTechLeadID string +} diff --git a/types/contact.go b/types/contact.go new file mode 100644 index 0000000..cc65a35 --- /dev/null +++ b/types/contact.go @@ -0,0 +1,52 @@ +package types + +import "database/sql" + +// Contact is a first-class object +type Contact struct { + ID string + AccountID string + AssistantName string + AssistantPhone string + BirthDate sql.NullTime + CreatedByID string + CreatedDate sql.NullTime + Department string + Description string + DoNotCall bool + Email string + EmailBounceDate sql.NullTime + EmailBouncedReason string + EnrollmentStatus string + Fax string + FirstName string + HasOptedOutOfEmail bool + HasOptedOutOfFax bool + HomePhone string + IsEmailBounced bool + IsProvisioned bool + LastModifiedByID string + LastModifiedDate sql.NullTime + LastName string + LeadSource string + Level string + LinkedIn string + MailingAddress Address + MailingLists string + MobilePhone string + Name string + OtherAddress Address + OtherPhone string + OwnerID string + PersonalEmail string + Phone string + PhotoURL string + RecruitingStatus string + Ref string + ReportsToID string + Salutation string + Status string + TenantID string + Title string + Type string +} diff --git a/types/coordinate.go b/types/coordinate.go new file mode 100644 index 0000000..a55eb3f --- /dev/null +++ b/types/coordinate.go @@ -0,0 +1,56 @@ +package types + +import ( + "database/sql" +) + +// CoordinateBasic is a first class object type +type CoordinateBasic struct { + ID string + CountryID string + CountyID string + Focus string + Geocode string + IsDistrict bool + Name string + PlaceID string + Ref string + StateID string + TaxTypes []*string +} + +// Coordinate is a first class object type +type Coordinate struct { + ID string + Country string + CountryID string + County string + CountyID string + CreatedByID string + CreatedDate sql.NullTime + Focus string + FormattedAddress string + Geocode string + IsDistrict bool + LastModifiedByID string + LastModifiedDate sql.NullTime + Latitude float64 + Longitude float64 + Name string + Neighborhood string + Map []byte + OwnerID string + Place string + PlaceID string + PostalCode string + Ref string + State string + StateID string + Status string + Street string + StreetNumber string + StreetView []byte + TaxRate *TaxRate + TaxTypes []*TaxType + TaxTypeIDs []*string +} diff --git a/types/country.go b/types/country.go new file mode 100644 index 0000000..44bbf7e --- /dev/null +++ b/types/country.go @@ -0,0 +1,38 @@ +package types + +import "database/sql" + +// Country is a first class object type +type Country struct { + ID string + AccountID string + Amount float64 + Code string + ContactID string + CreatedByID string + CreatedDate sql.NullTime + EnrollmentStatus string + Interest float64 + LastModifiedByID string + LastModifiedDate sql.NullTime + Longitude float64 + Latitude float64 + Name string + OwnerID string + Penalty float64 + Ref string + ReportedAdjustments float64 + ReportedDeductions float64 + ReportedNetRevenue float64 + ReportedRate float64 + ReportedRevenue float64 + RevenueBase float64 + RevenueNet float64 + RevenueNotTaxable float64 + Status string + Subtotal float64 + TaxInstances []*TaxInstance + TemplateID string + TotalAmount float64 + UnitBase float64 +} diff --git a/types/county.go b/types/county.go new file mode 100644 index 0000000..6da72a9 --- /dev/null +++ b/types/county.go @@ -0,0 +1,50 @@ +package types + +import "database/sql" + +// County is a first class object type +type County struct { + ID string + AccountID string + Amount float64 + AreaDescription string + ContactID string + CountryID string + CreatedByID string + CreatedDate sql.NullTime + EnrollmentStatus string + FIPS string + FIPSclass string + FunctionalStatus string + Geocode string + GNIS int64 + HasDistrictTaxes bool + Interest float64 + LandArea int64 + LastModifiedByID string + LastModifiedDate sql.NullTime + Longitude float64 + Latitude float64 + LegalName string + Name string + Penalty float64 + Ref string + ReportedAdjustments float64 + ReportedDeductions float64 + ReportedNetRevenue float64 + ReportedRate float64 + ReportedRevenue float64 + RevenueBase float64 + RevenueNet float64 + RevenueNotTaxable float64 + SalesTaxRate *TaxRate + StateID string + Status string + Subtotal float64 + TaxInstances []*TaxInstance + TemplateID string + TotalAmount float64 + TotalArea int64 + UnitBase float64 + WaterArea int64 +} diff --git a/types/database.go b/types/database.go new file mode 100644 index 0000000..4473338 --- /dev/null +++ b/types/database.go @@ -0,0 +1,20 @@ +package types + +import "database/sql" + +// Database is a first-class object type +type Database struct { + ID string + Active bool + ClusterID string + CreatedByID string + CreatedDate sql.NullTime + DatabaseName string + DSN string + LastModifiedByID string + LastModifiedDate sql.NullTime + Microservices string + Status string + TenantID string + Type string +} diff --git a/types/domain.go b/types/domain.go new file mode 100644 index 0000000..1fb5594 --- /dev/null +++ b/types/domain.go @@ -0,0 +1,9 @@ +package types + +// Domain is a first class object type +type Domain struct { + ID string `json:"id,omitempty"` + Active bool `json:"active,omitempty"` + Description string `json:"description,omitempty"` + Name string `json:"name,omitempty"` +} diff --git a/types/eft.go b/types/eft.go new file mode 100644 index 0000000..84826fb --- /dev/null +++ b/types/eft.go @@ -0,0 +1,30 @@ +package types + +import "database/sql" + +// Eft is a first class object type +type Eft struct { + ID string + AccountID string + Amount float64 + AttemptNumber float64 + BackendID string + BillingRunID string + CashReceiptID string + CreatedByID string + CreatedDate sql.NullTime + Executed sql.NullTime + Fee float64 + Gateway string + GatewayKey string + GatewayMessage string + JournalDate sql.NullTime + LastModifiedByID string + LastModifiedDate sql.NullTime + PaymentMethodID string + Ref string + Status string + TenantID string + TransactionID string + Items []*EftItem +} diff --git a/types/eftitem.go b/types/eftitem.go new file mode 100644 index 0000000..aaa5626 --- /dev/null +++ b/types/eftitem.go @@ -0,0 +1,16 @@ +package types + +import "database/sql" + +// EftItem is a first class object type +type EftItem struct { + ID string + Amount float64 + CreatedByID string + CreatedDate sql.NullTime + EftID string + InvoiceID string + LastModifiedByID string + LastModifiedDate sql.NullTime + TenantID string +} diff --git a/types/emailmessage.go b/types/emailmessage.go new file mode 100644 index 0000000..3d1a6df --- /dev/null +++ b/types/emailmessage.go @@ -0,0 +1,48 @@ +package types + +import ( + "database/sql" +) + +// EmailMessage is a first class object type +type EmailMessage struct { + ID string + ActivityID string + BCCAddress string + CCAddress string + CreatedByID string + CreatedDate sql.NullTime + EmailMessageID string + FromAddress string + FromName string + HasAttachment bool + Headers []*Header + HTML []byte + Incoming bool + IsClientManaged bool + IsExternallyManaged bool + LastModifiedByID string + LastModifiedDate sql.NullTime + MessageDate sql.NullTime + MessageIdentifier string + ParentID string + RelatedToID string + RelationAddress string + RelationID string + RelationObjectType string + RelationType string + ReplyToEmailMessageID string + Status string + Subject string + Text []byte + ThreadIdentifier string + ToAddress string + ToName string + ValidatedFromAddress string +} + +// Header is a first class object type +type Header struct { + Key string + Values []string +} diff --git a/types/emaitemplate.go b/types/emaitemplate.go new file mode 100644 index 0000000..ddab191 --- /dev/null +++ b/types/emaitemplate.go @@ -0,0 +1,34 @@ +package types + +import ( + "database/sql" +) + +// EmailTemplate is a first class object type +type EmailTemplate struct { + ID string + APIVersion string + Body []byte + BrandTemplateID string + CreatedByID string + CreatedDate sql.NullTime + Description string + DeveloperName string + Encoding string + FolderID string + HTMLValue []byte + IsActive bool + LastModifiedByID string + LastModifiedDate sql.NullTime + LastUsedDate sql.NullTime + Markup []byte + Name string + NamespacePrefix string + OwnerID string + RelatedEntityType string + Subject string + TemplateStyle string + TemplateType string + TimesUsed int + UIType string +} diff --git a/types/filing.go b/types/filing.go new file mode 100644 index 0000000..e16c15a --- /dev/null +++ b/types/filing.go @@ -0,0 +1,50 @@ +package types + +import "database/sql" + +// Filing is a first class object type +type Filing struct { + ID string + AccountName string + Amount float64 + AuthorityID string + ContactID string + CreatedByID string + CreatedDate sql.NullTime + Date sql.NullTime + DueDate sql.NullTime + FilingNumber string + FilingTypeID string + Frequency string + Interest float64 + InterestRate float64 + LastModifiedByID string + LastModifiedDate sql.NullTime + MonthNumber int64 + OwnerID string + Penalty float64 + PenaltyDays float64 + PenaltyRate float64 + PeriodID string + PreparerID string + QuarterNumber int64 + Ref string + ReportedAdjustments float64 + ReportedDeductions float64 + ReportedNetRevenue float64 + ReportedRate float64 + ReportedRevenue float64 + RevenueBase float64 + RevenueNet float64 + RevenueNotTaxable float64 + SemiannualNumber int64 + Status string + SubmissionID string + Subtotal float64 + TaxOnTax float64 + TaxTypeAccountID string + TenantID string + TotalAmount float64 + UnitBase float64 + YearNumber int64 +} diff --git a/types/filingscheduleitem.go b/types/filingscheduleitem.go new file mode 100644 index 0000000..5759a80 --- /dev/null +++ b/types/filingscheduleitem.go @@ -0,0 +1,15 @@ +package types + +import "database/sql" + +// FilingScheduleItem is a first class object type +type FilingScheduleItem struct { + ID string + CreatedByID string + CreatedDate sql.NullTime + FilingTypeID string + Description string + DueDate sql.NullTime + LastModifiedByID string + LastModifiedDate sql.NullTime +} diff --git a/types/filingtype.go b/types/filingtype.go new file mode 100644 index 0000000..ea19d8b --- /dev/null +++ b/types/filingtype.go @@ -0,0 +1,32 @@ +package types + +import "database/sql" + +// FilingType is a first class object type +type FilingType struct { + AccountID string + ContactID string + CreatedByID string + CreatedDate sql.NullTime + DueDates []*FilingScheduleItem + FilingCity string + FilingCountry string + FilingPostalCode string + FilingState string + FilingStreet string + FormName string + FormVersion string + Frequency string + FullName string + ID string + Instances []*FilingTypeInstance + LastModifiedByID string + LastModifiedDate sql.NullTime + Level string + Name string + OwnerID string + SagaType string + SubmissionMethod string + TemplateInstructionsID string + TemplateReturnID string +} diff --git a/types/filingtypeinstance.go b/types/filingtypeinstance.go new file mode 100644 index 0000000..696486c --- /dev/null +++ b/types/filingtypeinstance.go @@ -0,0 +1,18 @@ +package types + +import "database/sql" + +// FilingTypeInstance is a first class object type +type FilingTypeInstance struct { + ID string + CountryID string + CountyID string + CreatedByID string + CreatedDate sql.NullTime + FilingTypeID string + LastModifiedByID string + LastModifiedDate sql.NullTime + ObjectType string + PlaceID string + StateID string +} diff --git a/types/folder.go b/types/folder.go new file mode 100644 index 0000000..fd828b0 --- /dev/null +++ b/types/folder.go @@ -0,0 +1,31 @@ +package types + +import ( + "database/sql" +) + +// Folder is a first class object type +type Folder struct { + AccessType string + ChildRecordID string + ContentOfFolderID string + ContentSize int + CreatedByID string + CreatedDate sql.NullTime + DeveloperName string + EnableFolderStatus string + FileExtension string + FileType string + ID string + IsFolder bool + IsReadonly bool + LastModifiedByID string + LastModifiedDate sql.NullTime + Name string + NamespacePrefix string + ParentContentFolderID string + ParentEntityID string + ParentID string + Title string + Type string +} diff --git a/types/glaccount.go b/types/glaccount.go new file mode 100644 index 0000000..c55cadf --- /dev/null +++ b/types/glaccount.go @@ -0,0 +1,28 @@ +package types + +import "database/sql" + +// GlAccount is a first class object type +type GlAccount struct { + ID string + AccountID string + AccountLevel float64 + AccountName string + AccountNumber float64 + AccountSign string + AccountType string + CreatedByID string + CreatedDate sql.NullTime + Description string + IsActive bool + IsBankAccount bool + IsSummary bool + LastModifiedByID string + LastModifiedDate sql.NullTime + Name string + ParentFK string + ParentGlAccountID string + Ref string + Status string + TenantID string +} diff --git a/types/glbalance.go b/types/glbalance.go new file mode 100644 index 0000000..f507ff2 --- /dev/null +++ b/types/glbalance.go @@ -0,0 +1,26 @@ +package types + +import "database/sql" + +// GlBalance is a first class object type +type GlBalance struct { + ID string + AccountName string + Amount float64 + CloseDate sql.NullTime + CreatedByID string + CreatedDate sql.NullTime + Credits float64 + Debits float64 + Description string + GlAccountID string + GlAccountDisplay string + LastModifiedByID string + LastModifiedDate sql.NullTime + PeriodID string + Ref string + RollupCredits float64 + RollupDebits float64 + Status string + TenantID string +} diff --git a/types/ingest.go b/types/ingest.go new file mode 100644 index 0000000..88c6661 --- /dev/null +++ b/types/ingest.go @@ -0,0 +1,46 @@ +package types + +import "database/sql" + +// Ingest is a first class object type +type Ingest struct { + ID string + AccountID string + Amount float64 + BackendID string + CompanyID string + CreatedByID string + CreatedDate sql.NullTime + Description string + EndDate sql.NullTime + Filename string + IngestDate sql.NullTime + IngestFailureReason string + IngestType string + InvoiceCount int64 + JobID string + LastModifiedByID string + LastModifiedDate sql.NullTime + MetrcLastModifiedEnd sql.NullTime + MetrcLastModifiedStart sql.NullTime + MetrcLicense string + MetrcSalesReceiptID int64 + MetrcState string + ObjectType string + ParentFK string + PeriodID string + PoCount int64 + PostFailureReason string + RatingEngineID string + Ref string + RevenueBase float64 + RevenueNet float64 + RevenueNotTaxable float64 + StartDate sql.NullTime + Status string + TaxOnTax float64 + TaxTransactionCount int64 + TenantID string + TemplateID string + UnitBase int64 +} diff --git a/types/invoice.go b/types/invoice.go new file mode 100644 index 0000000..ee19fee --- /dev/null +++ b/types/invoice.go @@ -0,0 +1,100 @@ +package types + +import "database/sql" + +// Invoice is the in-memory struct for invoices +type Invoice struct { + ID string + AccountID string + Advance bool + Amount float64 + AmountAdjustment float64 + AmountDue float64 + AmountPaid float64 + AuditMessage string + BillingAddress *Address + BillingContact string + BillingRunID string + BusinessAddress *Address + BusinessTax float64 + CannabisTax float64 + ContractID string + CoordinateID string + CreatedByID string + CreatedDate sql.NullTime + CustomerID string + DateIssued sql.NullTime + DaysDue int64 + DepositAmount float64 + Description string + Discount float64 + EstimatedAmount float64 + EstimatedBusinessTax float64 + EstimatedCannabisTax float64 + EstimatedCOGS float64 + EstimatedDiscount float64 + EstimatedSalesTax float64 + EstimatedSubtotal float64 + IngestID string + InvoiceDate sql.NullTime + InvoiceNumber string + IsInternational bool + IssuedAccountBalance float64 + IssuedAmountDue float64 + IssuedByID string + IsValid bool + Items []*InvoiceItem + JobID string + LastModifiedByID string + LastModifiedDate sql.NullTime + MinimumPaymentDue float64 + MonthlyAmount float64 + OpportunityID string + OrderID string + OverDue0 float64 + OverDue120 float64 + OverDue30 float64 + OverDue45 float64 + OverDue60 float64 + OverDue90 float64 + ParentFK string + PartnerAccountID string + PaymentDue sql.NullTime + PaymentMethodDescription string + PaymentMethodID string + PaymentTerms string + PeriodID string + PlaceGeoCode string + Posted bool + PriorAccountBalance float64 + PriorAdjustments float64 + PriorInvoiceAmount float64 + PriorInvoiceDate sql.NullTime + PriorInvoiceID string + PriorPaymentAmount float64 + PriorPaymentDate sql.NullTime + PriorPaymentID string + PriorPaymentMemo string + Prorated bool + ProratedDays float64 + PurchaseAmount float64 + QuoteID string + RatingEngineID string + Ref string + Reference string + SalesRegulation string + SalesTax float64 + ScheduledPaymentDate sql.NullTime + ServiceTerm string + ShippingAddress *Address + ShippingHandling float64 + Status string + Subtotal float64 + TaxTransactions []*TaxTransaction + TelecomTax float64 + TemplateID string + TenantID string + Total *Total + TotalID string + Type string +} diff --git a/types/invoiceitem.go b/types/invoiceitem.go new file mode 100644 index 0000000..642a637 --- /dev/null +++ b/types/invoiceitem.go @@ -0,0 +1,50 @@ +package types + +import ( + "database/sql" +) + +// InvoiceItem is a large struct +type InvoiceItem struct { + ID string + COGS float64 + CreatedByID string + CreatedDate sql.NullTime + Description string + Family string + InvoiceID string + LastModifiedByID string + LastModifiedDate sql.NullTime + ListPrice float64 + MRCInterval int64 + OrderItemID string + ParentFK string + ProductCode string + ProductName string + ProductID string + Quantity float64 + QuoteItemID string + Ref string + RejectedQuantity float64 + ShippedQuantity float64 + ShippingHandling float64 + SKU string + SubscriptionID string + Subtotal float64 + TaxnexusCodeDisplay string + TaxnexusCodeID string + TenantID string + TotalPrice float64 + UnitPrice float64 + Units string +} + +// ItemFamily defines a subtotal an a converged invoice +type ItemFamily struct { + MonthlySubtotal float64 + PurchaseSubtotal float64 + ItemCount int64 + MonthlyAmount string + Name string + PurchaseAmount string +} diff --git a/types/job.go b/types/job.go new file mode 100644 index 0000000..d5b04a9 --- /dev/null +++ b/types/job.go @@ -0,0 +1,44 @@ +package types + +import ( + "database/sql" +) + +// Job is a first class object type +type Job struct { + ID string + AccountID string + BackendID string + CompanyID string + CoordinateID string + CreatedByID string + CreatedDate sql.NullTime + Duration string + EndDate sql.NullTime + ErrorReason string + Interval string + JobDate sql.NullTime + LastModifiedByID string + LastModifiedDate sql.NullTime + Month int64 + NextJobID string + ObjectType string + OwnerID string + Parameters string + PeriodID string + Quarter int64 + RatingEngineID string + Ref string + Reschedule bool + RescheduleInterval int64 + SagaID string + SagaType string + Semiannual int64 + Source string + StartDate sql.NullTime + Status string + Target string + TenantID string + Type string + Year int64 +} diff --git a/types/journalentry.go b/types/journalentry.go new file mode 100644 index 0000000..d9e67a3 --- /dev/null +++ b/types/journalentry.go @@ -0,0 +1,27 @@ +package types + +import "database/sql" + +// JournalEntry is a first class object type +type JournalEntry struct { + ID string + AccountID string + Balanced bool + CreatedByID string + CreatedDate sql.NullTime + Credits float64 + Debits float64 + Description string + IngestID string + Items []*JournalItem + JournalDate sql.NullTime + LastModifiedByID string + LastModifiedDate sql.NullTime + ParentFK string + PeriodID string + Posted bool + Ref string + SalesRegulation string + Status string + TenantID string +} diff --git a/types/journalitem.go b/types/journalitem.go new file mode 100644 index 0000000..6f93d9c --- /dev/null +++ b/types/journalitem.go @@ -0,0 +1,28 @@ +package types + +import "database/sql" + +// JournalItem is a first class object type +type JournalItem struct { + ID string + CreatedByID string + CreatedDate sql.NullTime + Credit float64 + Debit float64 + GlAccountID string + GlAccountDisplay string + GlBalance string + InvoiceItemID string + JournalEntryID string + LastModifiedDate sql.NullTime + LastModifiedByID string + PoItemID string + ProductID string + ProductCode string + ReferenceType string + SalesRegulation string + TaxnexusCodeID string + TaxnexusCodeDisplay string + TaxTransactionID string + TenantID string +} diff --git a/types/lead.go b/types/lead.go new file mode 100644 index 0000000..57ec318 --- /dev/null +++ b/types/lead.go @@ -0,0 +1,35 @@ +package types + +import "database/sql" + +// Lead is a first-class object type +type Lead struct { + ID string + Address Address + Company string + CreatedByID string + CreatedDate sql.NullTime + Description string + Email string + FirstName string + LastName string + LastModifiedByID string + LastModifiedDate sql.NullTime + MobilePhone string + Name string + OwnerID string + PartnerAccountID string + Phone string + ProductID string + RefererURL string + Status string + TenantID string + Title string + Type string + UTMCampaign string + UTMContent string + UTMMedium string + UTMSource string + UTMTerm string + Website string +} diff --git a/types/license.go b/types/license.go new file mode 100644 index 0000000..e775c3e --- /dev/null +++ b/types/license.go @@ -0,0 +1,27 @@ +package types + +import "database/sql" + +// License is a first class object type +type License struct { + ID string + AccountID string + BackendID string + ContactID string + CreatedByID string + CreatedDate sql.NullTime + DateIssued sql.NullTime + Designation string + ExpirationDate sql.NullTime + IsCanceled bool + IsRevoked bool + LastModifiedByID string + LastModifiedDate sql.NullTime + LicenseNumber string + LicenseTypeID string + OwnerID string + ParentFK string + Ref string + Status string + TenantID string +} diff --git a/types/licensetype.go b/types/licensetype.go new file mode 100644 index 0000000..c23176e --- /dev/null +++ b/types/licensetype.go @@ -0,0 +1,57 @@ +package types + +import "database/sql" + +// LicenseType is a first class object type +type LicenseType struct { + ID string + AccountID string + AgentID string + ContactID string + Cost float64 + CreatedByID string + CreatedDate sql.NullTime + DomainID string + Domains []string + Frequency string + Jurisdictions []*GeoLicenseTypeInstance + LastModifiedByID string + LastModifiedDate sql.NullTime + Level string + MetrcName string + Name string + OwnerID string + PicklistValue string + Ref string + Restriction string + Tier string +} + +// GeoLicenseTypeInstance is a first class object type +type GeoLicenseTypeInstance struct { + ID string + CountryID string + CountyID string + CreatedByID string + CreatedDate sql.NullTime + LastModifiedByID string + LastModifiedDate sql.NullTime + LicenseTypeID string + OwnerID string + OrderID string + ObjectType string + PlaceID string + StateID string +} + +// DomainLicenseTypeInstance is a first class object type +type DomainLicenseTypeInstance struct { + ID string + DomainID string + CreatedByID string + CreatedDate sql.NullTime + LastModifiedByID string + LastModifiedDate sql.NullTime + LicenseTypeID string + OwnerID string +} diff --git a/types/notebook.go b/types/notebook.go new file mode 100644 index 0000000..ec2bc3c --- /dev/null +++ b/types/notebook.go @@ -0,0 +1,24 @@ +package types + +import "database/sql" + +// Notebook is a first class object type +type Notebook struct { + ID string + AccountID string + ContactID string + CreatedByID string + CreatedDate sql.NullTime + Date sql.NullTime + DateEnd sql.NullTime + DateStart sql.NullTime + Description string + LastModifiedByID string + LastModifiedDate sql.NullTime + PeriodEndID string + PeriodStartID string + PreparerID string + Title string + Items []*NotebookItem + TenantID string +} diff --git a/types/notebookitem.go b/types/notebookitem.go new file mode 100644 index 0000000..d3b3b4c --- /dev/null +++ b/types/notebookitem.go @@ -0,0 +1,15 @@ +package types + +import "database/sql" + +// NotebookItem is a first class object type +type NotebookItem struct { + ID string + CreatedByID string + CreatedDate sql.NullTime + ItemName string + LastModifiedByID string + LastModifiedDate sql.NullTime + Title string + NotebookID string +} diff --git a/types/order.go b/types/order.go new file mode 100644 index 0000000..d83d73a --- /dev/null +++ b/types/order.go @@ -0,0 +1,86 @@ +package types + +import "database/sql" + +// Order is a first class object type +type Order struct { + ID string + AccountID string + ActivatedByID string + ActivatedDate sql.NullTime + Amount float64 + AmountDue float64 + BillingAddress *Address + BillingContactID string + BusinessAddress *Address + BusinessTax float64 + CannabisTax float64 + CompanyAuthorizedByID string + CompanyAuthorizedDate sql.NullTime + Completion string + ContractEndDate sql.NullTime + ContractID string + CoordinateID string + CreatedByID string + CreatedDate sql.NullTime + CustomerAuthorizedByID string + CustomerAuthorizedDate sql.NullTime + CustomerID string + Description string + Discount float64 + DiscountAmount float64 + EffectiveDate sql.NullTime + EndDate sql.NullTime + EndUserID string + EstimatedAmount float64 + EstimatedBusinessTax float64 + EstimatedCannabisTax float64 + EstimatedCOGS float64 + EstimatedDiscount float64 + EstimatedSalesTax float64 + EstimatedSubtotal float64 + IngestID string + InstallationDate sql.NullTime + InvoiceID string + IsReductionOrder bool + Items []*OrderItem + JobID string + LastModifiedByID string + LastModifiedDate sql.NullTime + MonthlyAmount float64 + Open bool + OpportunityID string + OrderNumber string + OrderReferenceNumber string + OriginalOrderID string + OwnerID string + ParentFK string + PaymentMethodID string + PaymentTerms string + PeriodID string + PlaceGeoCode string + PODate sql.NullTime + Posted bool + ProvisioningStatus string + PurchaseAmount float64 + PurchaseOrderID string + QuoteID string + RatingEngineID string + RecordTypeID string + Ref string + SalesRegulation string + SalesTax float64 + ServiceTerm string + ShippingAddress *Address + ShippingContactID string + ShippingHandling float64 + Status string + Subtotal float64 + TaxTransactions []*TaxTransaction + TelecomTax float64 + TemplateID string + TenantID string + Total *Total + TotalID string + Type string +} diff --git a/types/orderitem.go b/types/orderitem.go new file mode 100644 index 0000000..dacaca2 --- /dev/null +++ b/types/orderitem.go @@ -0,0 +1,49 @@ +package types + +import "database/sql" + +// OrderItem is a first class object type +type OrderItem struct { + ID string + Activated bool + ActiveatedByID string + AvailableQuantity float64 + COGS float64 + CreatedByID string + CreatedDate sql.NullTime + CreateReservation bool + DateDelivered sql.NullTime + DateOrdered sql.NullTime + DatePromised sql.NullTime + Description string + Discount float64 + Family string + InvoiceItemID string + LastModifiedByID string + LastModifiedDate sql.NullTime + ListPrice float64 + LocationID string + MRCInterval int64 + OrderID string + OriginalOrderItemID string + ParentFK string + Posted bool + ProductCode string + ProductID string + ProductName string + Quantity float64 + QuantityOnHand float64 + QuoteItemID string + Ref string + ServiceDate sql.NullTime + ShippingHandling float64 + Status string + SubscriptionID string + Subtotal float64 + TaxnexusCodeDisplay string + TaxnexusCodeID string + TenantID string + TotalPrice float64 + UnitPrice float64 + Units string +} diff --git a/types/outgoingemail.go b/types/outgoingemail.go new file mode 100644 index 0000000..40df408 --- /dev/null +++ b/types/outgoingemail.go @@ -0,0 +1,29 @@ +package types + +// OutgoingEmailMessage is a first class object type +type OutgoingEmailMessage struct { + ID string + BCCAddress string + CCAddress string + EmailTemplateID string + ExternalID string + HTML []byte + EmailMessageID string + FromContactID string + FromName string + Subject string + Text string + ToAddress string + ToName string + ValidatedFromAddress string + WhoID string +} + +// OutgoingEmailRelation is a first class object type +type OutgoingEmailRelation struct { + ID string + ExternalID string + OutgoingEmailID string + RelationID string + RelationAddress string +} diff --git a/types/outgoingemailreceipt.go b/types/outgoingemailreceipt.go new file mode 100644 index 0000000..70e05b6 --- /dev/null +++ b/types/outgoingemailreceipt.go @@ -0,0 +1,14 @@ +package types + +// OutgoingEmailMessageReceipt is a first class object type +type OutgoingEmailMessageReceipt struct { + ID string + Body string + EmailMessageID string + Headers map[string]string + Status string + StatusCode int64 + Subject string + ToAddress string + ValidatedFromAddress string +} diff --git a/types/paymentmethod.go b/types/paymentmethod.go new file mode 100644 index 0000000..4d8e92a --- /dev/null +++ b/types/paymentmethod.go @@ -0,0 +1,34 @@ +package types + +import "database/sql" + +// PaymentMethod is a first class object type +type PaymentMethod struct { + ID string + AccountID string + AchAccountType string + AchBankAccount string + AchRouting string + Active bool + Autopay bool + BankName string + BillingContactID string + CCnumber string + CCtype string + CompanyID string + ContractID string + CreatedByID string + CreatedDate sql.NullTime + Default bool + ExpirationDate sql.NullTime + ExpirationMonth string + ExpirationYear string + Gateway string + GatewayKey string + LastModifiedByID string + LastModifiedDate sql.NullTime + Nickname string + RecordType string + Ref string + TenantID string +} diff --git a/types/pdf.go b/types/pdf.go new file mode 100644 index 0000000..b8cd360 --- /dev/null +++ b/types/pdf.go @@ -0,0 +1,24 @@ +package types + +import "database/sql" + +// PDF is a first class object type +type PDF struct { + ID string + CreatedByID string + CreatedDate sql.NullTime + Description string + Filename string + HTML []byte + LastAccessedByID string + LastAccessedDate sql.NullTime + LastModifiedByID string + LastModifiedDate sql.NullTime + ObjectType string + OwnerID string + ParentID string + PDF []byte + Ref string + Title string + URI string +} diff --git a/types/period.go b/types/period.go new file mode 100644 index 0000000..2e450a6 --- /dev/null +++ b/types/period.go @@ -0,0 +1,29 @@ +package types + +import ( + "database/sql" +) + +// Period is a first class object type +type Period struct { + ID string + AccountID string + CompanyID string + CreatedByID string + CreatedDate sql.NullTime + Days int64 + EndDate string + EndTime sql.NullTime + LastModifiedByID string + LastModifiedDate sql.NullTime + Month int64 + Name string + Quarter int64 + Ref string + Semiannual int64 + StartDate string + StartTime sql.NullTime + Status string + TenantID string + Year int64 +} diff --git a/types/place.go b/types/place.go new file mode 100644 index 0000000..d4a2e9d --- /dev/null +++ b/types/place.go @@ -0,0 +1,54 @@ +package types + +import "database/sql" + +// Place is a first class object type +type Place struct { + ID string + AccountID string + AccountValidation string + Amount float64 + AreaDescription string + ContactID string + CountryID string + CountyID string + CreatedByID string + CreatedDate sql.NullTime + EnrollmentStatus string + FIPS string + FIPSclass string + FunctionalStatus string + Geocode string + GNIS int64 + HasDistrictTaxes bool + Interest float64 + Landarea int64 + LastModifiedByID string + LastModifiedDate sql.NullTime + Longitude float64 + Latitude float64 + LegalName string + Name string + Penalty float64 + Ref string + ReportedAdjustments float64 + ReportedDeductions float64 + ReportedNetRevenue float64 + ReportedRate float64 + ReportedRevenue float64 + RevenueBase float64 + RevenueNet float64 + RevenueNotTaxable float64 + Revneuebase float64 + SalesTaxRate *TaxRate + StateCode string + StateID string + Status string + Subtotal float64 + TaxInstances []*TaxInstance + TemplateID string + TotalAmount float64 + TotalArea int64 + UnitBase float64 + WaterArea int64 +} diff --git a/types/po.go b/types/po.go new file mode 100644 index 0000000..c981968 --- /dev/null +++ b/types/po.go @@ -0,0 +1,71 @@ +package types + +import "database/sql" + +// PurchaseOrder is a first class object type +type PurchaseOrder struct { + ID string + AccountID string + Amount float64 + BillingAddress *Address + BillingContactID string + BusinessAddress *Address + BusinessTax float64 + CannabisTax float64 + ContractID string + CoordinateID string + CreatedByID string + CreatedDate sql.NullTime + CreditCardID string + CustomerID string + DateExpires sql.NullTime + DatePromised sql.NullTime + DateRequested sql.NullTime + Description string + Discount float64 + DiscountAmount float64 + DueDate sql.NullTime + EndUserID string + EstimatedAmount float64 + EstimatedBusinessTax float64 + EstimatedCannabisTax float64 + EstimatedDiscount float64 + EstimatedSalesTax float64 + EstimatedSubtotal float64 + ExpirationDate sql.NullTime + IngestID string + Items []*PurchaseOrderItem + JobID string + LastModifiedByID string + LastModifiedDate sql.NullTime + OpportunityID string + OrderID string + ParentFK string + PaymentTerms string + PeriodID string + PlaceGeoCode string + PODate sql.NullTime + PONumber string + Posted bool + QuoteID string + Ref string + SalesRegulation string + SalesTax float64 + ServiceTerm string + ShipDate sql.NullTime + ShippingAddress *Address + ShippingContactID string + ShippingHandling float64 + ShippingSpecialInstructions string + Status string + Subtotal float64 + TaxTransactions []*TaxTransaction + TelecomTax float64 + TemplateID string + TenantID string + Total *Total + TotalID string + Type string + VendorID string + VendorQuoteNumber string +} diff --git a/types/poitem.go b/types/poitem.go new file mode 100644 index 0000000..a0a69bf --- /dev/null +++ b/types/poitem.go @@ -0,0 +1,38 @@ +package types + +import "database/sql" + +// PurchaseOrderItem is a first class object type +type PurchaseOrderItem struct { + ID string + CreatedByID string + CreatedDate sql.NullTime + Description string + DueDate sql.NullTime + Family string + LastModifiedByID string + LastModifiedDate sql.NullTime + LocationID string + MRCInterval int64 + OrderItemID string + ParentFK string + PurchaseOrderID string + ProductCode string + ProductID string + ProductName string + Quantity float64 + QuoteItemID string + ReceivedQuantity float64 + Ref string + RejectedQuantity float64 + ShippmentItemID string + ShippingHandling float64 + Status string + StockedQuantity float64 + Subtotal float64 + TaxnexusCodeDisplay string + TaxnexusCodeID string + TenantID string + UnitPrice float64 + Units string +} diff --git a/types/product.go b/types/product.go new file mode 100644 index 0000000..89694db --- /dev/null +++ b/types/product.go @@ -0,0 +1,46 @@ +package types + +import "database/sql" + +// Product is a first class object type +type Product struct { + ID string + AccountID string + AgencyType string + AssetTracking bool + CreatedByID string + CreatedDate sql.NullTime + Description string + DescriptionSKU string + DisplayURL string + Family string + Image500 string + ImageFull string + InventoryTracking bool + IsActive bool + IsGeneric bool + LastModifiedByID string + LastModifiedDate sql.NullTime + Manufacturer string + ManufacturerProductCode string + MRCInterval int64 + MSRP float64 + Name string + ProductCode string + Prorateable bool + Publish bool + PublishUPC string + QuantityUnitOfMeasure string + Refundable bool + ShippingWeight float64 + SKU string + Specifications string + TaxnexusCode string + TaxnexusCodeID string + TenantID string + Units string + VendorID string + VendorName string + VendorPartNumber string + VendorPrice float64 +} diff --git a/types/quote.go b/types/quote.go new file mode 100644 index 0000000..c302cd0 --- /dev/null +++ b/types/quote.go @@ -0,0 +1,80 @@ +package types + +import "database/sql" + +// Quote is a first class object type +type Quote struct { + ID string + AccountID string + AdditionalAddress *Address + AdditionalName string + Amount float64 + BillingAddress *Address + BillingContactID string + BillingName string + BusinessAddress *Address + BusinessTax float64 + CannabisTax float64 + ContactID string + ContractID string + CoordinateID string + CreatedByID string + CreatedDate sql.NullTime + CreditTerms string + CustomerID string + QuoteDate sql.NullTime + Description string + Discount float64 + DiscountAmount float64 + Email string + EndUserID string + EstimatedAmount float64 + EstimatedBusinessTax float64 + EstimatedCannabisTax float64 + EstimatedCOGS float64 + EstimatedDiscount float64 + EstimatedSalesTax float64 + EstimatedSubtotal float64 + ExpirationDate sql.NullTime + Fax string + GrandTotal float64 + IngestID string + InstallationDate sql.NullTime + Items []*QuoteItem + LastModifiedByID string + LastModifiedDate sql.NullTime + JobID string + MonthlyAmount float64 + Name string + OpportunityID string + OwnerID string + ParentFK string + PaymentTerms string + PeriodID string + Phone string + PlaceGeoCode string + PurchaseAmount float64 + QuoteAmount float64 + QuoteNumber string + QuoteToAddress *Address + QuoteToName string + Ref string + SalesRegulation string + SalesTax float64 + ServiceTerm string + ShippingAddress *Address + ShippingContactID string + ShippingHandling float64 + ShippingName string + Status string + Subtotal float64 + Tax float64 + TaxTransactions []*TaxTransaction + TelecomTax float64 + TemplateID string + TenantID string + Total *Total + TotalID string + TotalPrice float64 + Type string +} diff --git a/types/quoteitem.go b/types/quoteitem.go new file mode 100644 index 0000000..01b132c --- /dev/null +++ b/types/quoteitem.go @@ -0,0 +1,37 @@ +package types + +import "database/sql" + +// QuoteItem is a first class object type +type QuoteItem struct { + ID string + COGS float64 + CreatedByID string + CreatedDate sql.NullTime + Description string + Discount float64 + DiscountAmount float64 + Family string + LastModifiedByID string + LastModifiedDate sql.NullTime + ListPrice float64 + LocationID string + MRCInterval int64 + ParentFK string + ProductCode string + ProductID string + ProductName string + Quantity float64 + QuoteID string + Ref string + ServiceDate sql.NullTime + ShippingHandling float64 + Subtotal float64 + SupplierID string + TaxnexusCodeDisplay string + TaxnexusCodeID string + TenantID string + TotalPrice float64 + UnitPrice float64 + Units string +} diff --git a/types/ratingengine.go b/types/ratingengine.go new file mode 100644 index 0000000..d64e4e0 --- /dev/null +++ b/types/ratingengine.go @@ -0,0 +1,19 @@ +package types + +import "github.com/go-sql-driver/mysql" + +// Ratingengine is a first class object type +type Ratingengine struct { + Account string + Backend string + Createdbyid string + Createddate mysql.NullTime + Description string + ID string + Ingestmethod string + Isdefault int64 + Lastmodifiedbyid string + Lastmodifieddate mysql.NullTime + Name string + Ratingengineitemcount float64 +} diff --git a/types/ratingengineitem.go b/types/ratingengineitem.go new file mode 100644 index 0000000..07cd1d2 --- /dev/null +++ b/types/ratingengineitem.go @@ -0,0 +1,15 @@ +package types + +import "github.com/go-sql-driver/mysql" + +// Ratingengineitem is a first class object type +type Ratingengineitem struct { + Createdbyid string + Createddate mysql.NullTime + ID string + Name string + Productcode string + Ratingengine string + Ref string + Taxnexuscode string +} diff --git a/types/role.go b/types/role.go new file mode 100644 index 0000000..c709ce5 --- /dev/null +++ b/types/role.go @@ -0,0 +1,16 @@ +package types + +import "database/sql" + +// Role is a first class object type +type Role struct { + ID string + Auth0RoleID string + CreatedByID string + CreatedDate sql.NullTime + Description string + LastModifiedByID string + LastModifiedDate sql.NullTime + RoleName string + TenantID string +} diff --git a/types/root.go b/types/root.go new file mode 100644 index 0000000..e49921a --- /dev/null +++ b/types/root.go @@ -0,0 +1,2 @@ +// Package types contains all the Taxnexus First Class Object Types +package types diff --git a/types/service.go b/types/service.go new file mode 100644 index 0000000..0c142c0 --- /dev/null +++ b/types/service.go @@ -0,0 +1,30 @@ +package types + +import "database/sql" + +// Service is a first class object type +type Service struct { + ID string + Active bool + ClusterID string + ClusterIP string + ClusterURL string + CreatedByID string + CreatedDate sql.NullTime + Environment string + ExternalURL string + GELFAddress string + LastModifiedByID string + LastModifiedDate sql.NullTime + NetworkAlias string + OpenAPIVersion string + OwnerID string + PortExternal string + PortTest string + ProxyType string + Replicas int64 + RepoURL string + ServiceName string + TenantID string + Version string +} diff --git a/types/state.go b/types/state.go new file mode 100644 index 0000000..4eeaa11 --- /dev/null +++ b/types/state.go @@ -0,0 +1,48 @@ +package types + +import "database/sql" + +// State is a first class object type +type State struct { + ID string + TaxInstances []*TaxInstance + AccountID string + Amount float64 + Code string + ContactID string + CountryID string + CreatedByID string + CreatedDate sql.NullTime + Division string + EnrollmentStatus string + FIPS string + Geocode string + GNIS int64 + Interest float64 + LandArea int64 + Longitude float64 + Latitude float64 + LastModifiedByID string + LastModifiedDate sql.NullTime + Name string + OwnerID string + Penalty float64 + Ref string + Region string + ReportedAdjustments float64 + ReportedDeductions float64 + ReportedNetRevenue float64 + ReportedRate float64 + ReportedRevenue float64 + RevenueBase float64 + RevenueNet float64 + RevenueNotTaxable float64 + SGC string + Status string + Subtotal float64 + TemplateID string + TotalAmount float64 + TotalArea int64 + UnitBase float64 + WaterArea int64 +} diff --git a/types/submission.go b/types/submission.go new file mode 100644 index 0000000..29e89cf --- /dev/null +++ b/types/submission.go @@ -0,0 +1,33 @@ +package types + +import "database/sql" + +// Submission is a first class object type +type Submission struct { + ID string + CompanyID string + ContactID string + CreatedByID string + CreatedDate sql.NullTime + LastModifiedByID string + LastModifiedDate sql.NullTime + Notes string + Penalty float64 + ParentFK string + Ref string + ReportedAdjustments float64 + ReportedDeductions float64 + ReportedNetRevenue float64 + ReportedRate float64 + ReportedRevenue float64 + RevenueBase float64 + RevenueNet float64 + RevenueNotTaxable float64 + Status string + Subtotal float64 + SubmissionDate sql.NullTime + SubmissionNumber string + TaxTypeID string + TotalAmount float64 + TenantID string +} diff --git a/types/task.go b/types/task.go new file mode 100644 index 0000000..07aaad2 --- /dev/null +++ b/types/task.go @@ -0,0 +1,55 @@ +package types + +import ( + "database/sql" +) + +// Task is a first class object type +type Task struct { + AccountID string + ActivityDate sql.NullTime + APIName string + Body string + CallDisposition string + CallDurationInSeconds int + CallObject string + CallType string + CommentCount int + CreatedByID string + CreatedDate sql.NullTime + Description string + ID string + InsertedByID string + IsArchived bool + IsClosed bool + IsDefault bool + IsHighPriority bool + IsRecurrence bool + IsReminderset bool + IsRichText bool + IsVisibleInSelfService bool + IsWhat bool + LastModifiedByID string + LastModifeidDate sql.NullTime + LikeCount int + LinkURL string + MasterLabel string + NetworkScope string + OwnerID string + ParentID string + Priority string + RelationID string + ReminderDateTime sql.NullTime + SortOrder int + Status string + Subject string + TaskID string + TaskSubtype string + Title string + Type string + Visibility string + WhatCount int + WhatID string + WhoCount int + WhoID string +} diff --git a/types/taskrelation.go b/types/taskrelation.go new file mode 100644 index 0000000..26d9ef1 --- /dev/null +++ b/types/taskrelation.go @@ -0,0 +1,18 @@ +package types + +import ( + "database/sql" +) + +// TaskRelation is a first class object type +type TaskRelation struct { + AccountID string + CreatedByID string + CreatedDate sql.NullTime + ID string + IsWhat bool + LastModifiedByID string + LastModifiedDate sql.NullTime + RelationID string + TaskID string +} diff --git a/types/taskwhorelation.go b/types/taskwhorelation.go new file mode 100644 index 0000000..6efa499 --- /dev/null +++ b/types/taskwhorelation.go @@ -0,0 +1,18 @@ +package types + +import ( + "database/sql" +) + +// TaskWhoRelation is a first class object type +type TaskWhoRelation struct { + AccountID string + CreatedByID string + CreatedDate sql.NullTime + ID string + LastModifiedByID string + LastModifiedDate sql.NullTime + RelationID string + TaskID string + Type string +} diff --git a/types/taxinstance.go b/types/taxinstance.go new file mode 100644 index 0000000..fd2220a --- /dev/null +++ b/types/taxinstance.go @@ -0,0 +1,20 @@ +package types + +import ( + "database/sql" +) + +// TaxInstance is a first class object type +type TaxInstance struct { + ID string + CountryID string + CountyID string + CreatedByID string + CreatedDate sql.NullTime + LastModifiedByID string + LastModifiedDate sql.NullTime + PlaceID string + StateID string + TaxTypeID string + Type string +} diff --git a/types/taxnexuscode.go b/types/taxnexuscode.go new file mode 100644 index 0000000..b8068a5 --- /dev/null +++ b/types/taxnexuscode.go @@ -0,0 +1,27 @@ +package types + +// TaxnexusCode is a first class object type +type TaxnexusCode struct { + ID string `json:"id,omitempty"` + Active bool `json:"active,omitempty"` + Code string `json:"code,omitempty"` + CreatedByID string `json:"created_by_id,omitempty"` + CreatedDate string `json:"created_date,omitempty"` + Description string `json:"description,omitempty"` + DomainID string `json:"domain_id,omitempty"` + DomainName string `json:"domain_name,omitempty"` + LastModifiedByID string `json:"last_modified_by_id,omitempty"` + LastModifiedDate string `json:"last_modified_date,omitempty"` + Level string `json:"level,omitempty"` + OwnerID string `json:"owner_id,omitempty"` + Part1 string `json:"part_1,omitempty"` + Part2 string `json:"part_2,omitempty"` + Part3 string `json:"part_3,omitempty"` + Part4 string `json:"part_4,omitempty"` + Part5 string `json:"part_5,omitempty"` + PurchasingRulesetID string `json:"purchasing_ruleset_id,omitempty"` + PurchasingRulesetCode string `json:"purchasing_ruleset_code,omitempty"` + Ref string `json:"ref,omitempty"` + RevenueRulesetID string `json:"revenue_ruleset_id,omitempty"` + RevenueRulesetCode string `json:"revenue_ruleset_code,omitempty"` +} diff --git a/types/taxrate.go b/types/taxrate.go new file mode 100644 index 0000000..8478e20 --- /dev/null +++ b/types/taxrate.go @@ -0,0 +1,19 @@ +package types + +// TaxRate is a principal object type +type TaxRate struct { + CombinedRate float64 + County string + CountyID string + CountyRate float64 + Date string + Focus string + Geocode string + JournalDate string + Place string + PlaceID string + PlaceRate float64 + State string + StateID string + StateRate float64 +} diff --git a/types/taxtransaction.go b/types/taxtransaction.go new file mode 100644 index 0000000..de2f761 --- /dev/null +++ b/types/taxtransaction.go @@ -0,0 +1,58 @@ +package types + +import ( + "database/sql" +) + +// TaxTransaction is the in-memory struct for a Taxnexus Tax Transaction +type TaxTransaction struct { + ID string + AccountID string + AccountingRuleCode string + Amount float64 + CoordinateID string + CreatedByID string + CreatedDate sql.NullTime + CustomerID string + DisplayName string + EffectiveRate float64 + FilingID string + IngestID string + InvoiceID string + InvoiceItemID string + IsSummary bool + IsUseTax bool + JobID string + JournalDate sql.NullTime + JournalItemID string + LastModifiedByID string + LastModifiedDate sql.NullTime + OrderID string + OrderItemID string + ParentRef string + PercentTaxable float64 + PeriodID string + PlaceGeoCode string + PlaceID string + PoID string + PoItemID string + Posted bool + QuoteID string + QuoteItemID string + RatingType string + Ref string + RevenueBase float64 + RevenueNet float64 + RevenueNotTaxable float64 + SalesRegulation string + TaxexemptRevenue float64 + TaxnexusCodeDisplay string + TaxnexusCodeID string + TaxOnTax float64 + TaxRate float64 + TaxTypeAccountID string + TaxTypeID string + TenantID string + UnitBase float64 + UnitFeeRate float64 +} diff --git a/types/taxtype.go b/types/taxtype.go new file mode 100644 index 0000000..0d5aca8 --- /dev/null +++ b/types/taxtype.go @@ -0,0 +1,57 @@ +package types + +import "database/sql" + +// TaxType is a first class object type +type TaxType struct { + ID string + AccountID string + AccountingRuleCode string + Active bool + AgencyType string + AgentID string + Amount float64 + Category string + CollectorDomainID string + CompanyID string + ContactID string + CreatedByID string + CreatedDate sql.NullTime + Description string + EffectiveDate sql.NullTime + EndDate sql.NullTime + EnrollmentStatus string + FilingCity string + FilingCountry string + FilingEmail string + FilingMethod string + FilingPostalcode string + FilingState string + FilingStreet string + Fractional bool + Frequency string + GeocodeString string + InterestRate float64 + IsMedicinal bool + IsRecreational bool + LastModifiedByID string + LastModifiedDate sql.NullTime + MarkupRate float64 + Name string + OwnerID string + Passthrough bool + PenaltyDays int64 + PenaltyRate float64 + Rate float64 + Reference string + RevenueBase float64 + RevenueNet float64 + RevenueNotTaxable float64 + SalesRegulation string + Status string + TaxnexusCodeID string + TaxnexusNumber string + TemplateID string + UnitBase float64 + Units string +} diff --git a/types/taxtypeaccount.go b/types/taxtypeaccount.go new file mode 100644 index 0000000..7dd081d --- /dev/null +++ b/types/taxtypeaccount.go @@ -0,0 +1,41 @@ +package types + +import "database/sql" + +// TaxTypeAccount is a first class object type +type TaxTypeAccount struct { + ID string + AccountID string + AccountNumber string + Active bool + Amount float64 + ContactID string + CreatedByID string + CreatedDate sql.NullTime + Description string + EndDate sql.NullTime + Interest float64 + LastModifiedByID string + LastModifiedDate sql.NullTime + Notes string + OwnerID string + ParentFK string + Penalty float64 + Ref string + ReportedAdjustments float64 + ReportedDeductions float64 + ReportedNetRevenue float64 + ReportedRate float64 + ReportedRevenue float64 + RevenueBase float64 + RevenueNet float64 + RevenueNotTaxable float64 + StartDate sql.NullTime + Subtotal float64 + Tax float64 + TaxOnTax float64 + TaxTypeID string + TenantID string + TotalAmount float64 + UnitBase float64 +} diff --git a/types/template.go b/types/template.go new file mode 100644 index 0000000..b8d2bd3 --- /dev/null +++ b/types/template.go @@ -0,0 +1,23 @@ +package types + +import "database/sql" + +// Template is a first class object type +type Template struct { + ID string + CompanyID string + CreatedByID string + CreatedDate sql.NullTime + Description string + HTML string + IsActive bool + IsMaster bool + LastModifiedByID string + LastModifiedDate sql.NullTime + Name string + ObjectType string + RecordTypeName string + TenantID string + Type string + URL string +} diff --git a/types/tenant.go b/types/tenant.go new file mode 100644 index 0000000..f5e8455 --- /dev/null +++ b/types/tenant.go @@ -0,0 +1,21 @@ +package types + +import "database/sql" + +// Tenant is a first class object type +type Tenant struct { + ID string + AccountID string + Active bool + CreatedByID string + CreatedDate sql.NullTime + Databases []*Database + LastModifiedByID string + LastModifiedDate sql.NullTime + Roles []*Role + Status string + TenantName string + TenantUsers []*TenantUser + Type string + Version string +} diff --git a/types/tenantuser.go b/types/tenantuser.go new file mode 100644 index 0000000..2d7822f --- /dev/null +++ b/types/tenantuser.go @@ -0,0 +1,21 @@ +package types + +// TenantUser is a first class object type +type TenantUser struct { + AccessLevel string + AccountID string + Auth0UserID string + CompanyName string + ContactID string + TaxnexusAccount string + TenantActive bool + TenantID string + TenantName string + TenantStatus string + TenantType string + TenantVersion string + UserEmail string + UserFullName string + UserID string + Username string +} diff --git a/types/total.go b/types/total.go new file mode 100644 index 0000000..eb45279 --- /dev/null +++ b/types/total.go @@ -0,0 +1,22 @@ +package types + +// Total is a DB object +type Total struct { + ID string + TotalItems map[string]*TotalItem + Amount float64 + BusinessTax float64 + BusinessTaxRate float64 + CannabisTax float64 + CannabisTaxRate float64 + MonthlyAmount float64 + ObjectType string + PurchaseAmount float64 + SalesTax float64 + SalesTaxRate float64 + ShippingHandling float64 + Subtotal float64 + TelecomTax float64 + TelecomTaxRate float64 + TenantID string +} diff --git a/types/totalitem.go b/types/totalitem.go new file mode 100644 index 0000000..47f0456 --- /dev/null +++ b/types/totalitem.go @@ -0,0 +1,11 @@ +package types + +// TotalItem is a DB struct +type TotalItem struct { + ID string + TotalTaxItems []*TotalTaxItem + Displayname string + Amount float64 + Count int64 + TenantID string +} diff --git a/types/totaltaxitem.go b/types/totaltaxitem.go new file mode 100644 index 0000000..f604279 --- /dev/null +++ b/types/totaltaxitem.go @@ -0,0 +1,9 @@ +package types + +// TotalTaxItem is a DB struct +type TotalTaxItem struct { + ID string + TotalItem string + TaxTransaction string + TenantID string +} diff --git a/types/transaction.go b/types/transaction.go new file mode 100644 index 0000000..2a3b8bb --- /dev/null +++ b/types/transaction.go @@ -0,0 +1,17 @@ +package types + +import "database/sql" + +// Transaction is a first class object type +type Transaction struct { + ID string + AccountID string + CreatedByID string + CreatedDate sql.NullTime + LastModifiedByID string + LastModifiedDate sql.NullTime + TaxTypeID string + TaxTransactionID string + TenantID string + Valid bool +} diff --git a/types/user.go b/types/user.go new file mode 100644 index 0000000..1b7aba4 --- /dev/null +++ b/types/user.go @@ -0,0 +1,71 @@ +package types + +import ( + "database/sql" + + "github.com/go-openapi/runtime" +) + +// User is a first class object type +type User struct { + ID string + AboutMe string + AccountID string + Address *Address + Alias string + APIKey string + Auth runtime.ClientAuthInfoWriter + Auth0UserID string + CommunityNickname string + CompanyName string + ContactID string + CreatedByID string + CreatedDate sql.NullTime + DelegatedApproverID string + Department string + Division string + Email string + EmployeeNumber string + EndOfDay string + Environment string + Extension string + FabricAPIKey string + Fax string + FirstName string + ForecastEnabled bool + FullPhotoURL string + IsActive bool + IsPortalEnabled bool + IsProfilePhotoActive bool + IsSystemControlled bool + LastIP string + LastLogin sql.NullTime + LastModifiedByID string + LastModifiedDate sql.NullTime + LastName string + LoginCount int64 + ManagerID string + MobilePhone string + Name string + OutOfOfficeMessage string + Phone string + PortalRole string + ProfileID string + ReceivesAdminEmails bool + ReceivesAdminInfoEmails bool + ReceivesInfoEmails bool + SenderEmail string + SenderName string + Signature string + SmallPhotoURL string + StartOfDay string + TaxnexusAccount string + TenantID string + TenantUsers []*TenantUser + TimeZone string + Title string + Username string + UserRoles []*UserRole + UserRoleID string + UserType string +} diff --git a/types/userrole.go b/types/userrole.go new file mode 100644 index 0000000..c3baab7 --- /dev/null +++ b/types/userrole.go @@ -0,0 +1,18 @@ +package types + +// UserRole is a first class object type +type UserRole struct { + RoleID string + UserID string + Auth0RoleID string + RoleDescription string + RoleName string + AccountID string + CompanyName string + ContactID string + UserEmail string + UserFullName string + TaxnexusAccount string + Username string + Auth0UserID string +}