diff --git a/Makefile b/Makefile index d5ab34c..ea9bd1a 100644 --- a/Makefile +++ b/Makefile @@ -16,6 +16,8 @@ swagger: cp ../research/swagger/research-vernonkeenan.yaml ./swagger/external cp ../members/swagger/members-vernonkeenan.yaml ./swagger cp ../members/swagger/members-vernonkeenan.yaml ./swagger/external + cp ../plex/swagger/plex-vernonkeenan.yaml ./swagger + cp ../plex/swagger/plex-vernonkeenan.yaml ./swagger/external # rm -rf api # @@ -152,6 +154,25 @@ swagger: sed -i 's|members.vernonkeenan.com:8080|gw.tnxs.net|g' ./swagger/external/members-vernonkeenan.yaml sed -i 's|"/v1"|"/vk/members/v1"|g' ./swagger/external/members-vernonkeenan.yaml # + # generate plex client + # + mkdir api/plex + swagger generate client \ + --log-output=./swagger/logs/generate-plex-client.log \ + --copyright-file=./build/COPYRIGHT \ + --name=plex \ + --spec=./swagger/plex-vernonkeenan.yaml \ + --target=./api/plex \ + --client-package=plex-client \ + --model-package=plex-models \ + --principal=app.User + # + # update external plex client + # + sed -i 's|"http"|"https"|g' ./swagger/external/plex-vernonkeenan.yaml + sed -i 's|plex.vernonkeenan.com:8080|gw.tnxs.net|g' ./swagger/external/plex-vernonkeenan.yaml + sed -i 's|"/v1"|"/vk/plex/v1"|g' ./swagger/external/plex-vernonkeenan.yaml + # # copy external swagger files # scp ./swagger/external/*.yaml root@whm.noc.tnxs.net:/home/taxnexus/www/assets/swagger/ diff --git a/api/crm/crm_client/cors/cors_client.go b/api/crm/crm_client/cors/cors_client.go deleted file mode 100644 index d98ecf9..0000000 --- a/api/crm/crm_client/cors/cors_client.go +++ /dev/null @@ -1,83 +0,0 @@ -// 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 cors - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "fmt" - - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" -) - -// New creates a new cors API client. -func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { - return &Client{transport: transport, formats: formats} -} - -/* -Client for cors API -*/ -type Client struct { - transport runtime.ClientTransport - formats strfmt.Registry -} - -// ClientOption is the option for Client methods -type ClientOption func(*runtime.ClientOperation) - -// ClientService is the interface for Client methods -type ClientService interface { - LeadOptions(params *LeadOptionsParams, opts ...ClientOption) (*LeadOptionsOK, error) - - SetTransport(transport runtime.ClientTransport) -} - -/* -LeadOptions CORS support -*/ -func (a *Client) LeadOptions(params *LeadOptionsParams, opts ...ClientOption) (*LeadOptionsOK, error) { - // TODO: Validate the params before sending - if params == nil { - params = NewLeadOptionsParams() - } - op := &runtime.ClientOperation{ - ID: "leadOptions", - Method: "OPTIONS", - PathPattern: "/leads", - ProducesMediaTypes: []string{"application/json"}, - ConsumesMediaTypes: []string{"application/json"}, - Schemes: []string{"http"}, - Params: params, - Reader: &LeadOptionsReader{formats: a.formats}, - Context: params.Context, - Client: params.HTTPClient, - } - for _, opt := range opts { - opt(op) - } - - result, err := a.transport.Submit(op) - if err != nil { - return nil, err - } - success, ok := result.(*LeadOptionsOK) - if ok { - return success, nil - } - // unexpected success response - // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue - msg := fmt.Sprintf("unexpected success response for leadOptions: API contract not enforced by server. Client expected to get an error, but got: %T", result) - panic(msg) -} - -// SetTransport changes the transport on the client -func (a *Client) SetTransport(transport runtime.ClientTransport) { - a.transport = transport -} diff --git a/api/crm/crm_client/cors/lead_options_parameters.go b/api/crm/crm_client/cors/lead_options_parameters.go deleted file mode 100644 index 29b0acf..0000000 --- a/api/crm/crm_client/cors/lead_options_parameters.go +++ /dev/null @@ -1,132 +0,0 @@ -// 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 cors - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "net/http" - "time" - - "github.com/go-openapi/errors" - "github.com/go-openapi/runtime" - cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" -) - -// NewLeadOptionsParams creates a new LeadOptionsParams object, -// with the default timeout for this client. -// -// Default values are not hydrated, since defaults are normally applied by the API server side. -// -// To enforce default values in parameter, use SetDefaults or WithDefaults. -func NewLeadOptionsParams() *LeadOptionsParams { - return &LeadOptionsParams{ - timeout: cr.DefaultTimeout, - } -} - -// NewLeadOptionsParamsWithTimeout creates a new LeadOptionsParams object -// with the ability to set a timeout on a request. -func NewLeadOptionsParamsWithTimeout(timeout time.Duration) *LeadOptionsParams { - return &LeadOptionsParams{ - timeout: timeout, - } -} - -// NewLeadOptionsParamsWithContext creates a new LeadOptionsParams object -// with the ability to set a context for a request. -func NewLeadOptionsParamsWithContext(ctx context.Context) *LeadOptionsParams { - return &LeadOptionsParams{ - Context: ctx, - } -} - -// NewLeadOptionsParamsWithHTTPClient creates a new LeadOptionsParams object -// with the ability to set a custom HTTPClient for a request. -func NewLeadOptionsParamsWithHTTPClient(client *http.Client) *LeadOptionsParams { - return &LeadOptionsParams{ - HTTPClient: client, - } -} - -/* -LeadOptionsParams contains all the parameters to send to the API endpoint - - for the lead options operation. - - Typically these are written to a http.Request. -*/ -type LeadOptionsParams struct { - timeout time.Duration - Context context.Context - HTTPClient *http.Client -} - -// WithDefaults hydrates default values in the lead options params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *LeadOptionsParams) WithDefaults() *LeadOptionsParams { - o.SetDefaults() - return o -} - -// SetDefaults hydrates default values in the lead options params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *LeadOptionsParams) SetDefaults() { - // no default values defined for this parameter -} - -// WithTimeout adds the timeout to the lead options params -func (o *LeadOptionsParams) WithTimeout(timeout time.Duration) *LeadOptionsParams { - o.SetTimeout(timeout) - return o -} - -// SetTimeout adds the timeout to the lead options params -func (o *LeadOptionsParams) SetTimeout(timeout time.Duration) { - o.timeout = timeout -} - -// WithContext adds the context to the lead options params -func (o *LeadOptionsParams) WithContext(ctx context.Context) *LeadOptionsParams { - o.SetContext(ctx) - return o -} - -// SetContext adds the context to the lead options params -func (o *LeadOptionsParams) SetContext(ctx context.Context) { - o.Context = ctx -} - -// WithHTTPClient adds the HTTPClient to the lead options params -func (o *LeadOptionsParams) WithHTTPClient(client *http.Client) *LeadOptionsParams { - o.SetHTTPClient(client) - return o -} - -// SetHTTPClient adds the HTTPClient to the lead options params -func (o *LeadOptionsParams) SetHTTPClient(client *http.Client) { - o.HTTPClient = client -} - -// WriteToRequest writes these params to a swagger request -func (o *LeadOptionsParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { - - if err := r.SetTimeout(o.timeout); err != nil { - return err - } - var res []error - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} diff --git a/api/crm/crm_client/cors/lead_options_responses.go b/api/crm/crm_client/cors/lead_options_responses.go deleted file mode 100644 index 41689ad..0000000 --- a/api/crm/crm_client/cors/lead_options_responses.go +++ /dev/null @@ -1,148 +0,0 @@ -// 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 cors - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "fmt" - - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" -) - -// LeadOptionsReader is a Reader for the LeadOptions structure. -type LeadOptionsReader struct { - formats strfmt.Registry -} - -// ReadResponse reads a server response into the received o. -func (o *LeadOptionsReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { - switch response.Code() { - case 200: - result := NewLeadOptionsOK() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - default: - return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code()) - } -} - -// NewLeadOptionsOK creates a LeadOptionsOK with default headers values -func NewLeadOptionsOK() *LeadOptionsOK { - return &LeadOptionsOK{} -} - -/* -LeadOptionsOK describes a response with status code 200, with default header values. - -CORS OPTIONS response -*/ -type LeadOptionsOK struct { - AccessControlAllowCredentials string - AccessControlAllowHeaders string - AccessControlAllowMethods string - AccessControlAllowOrigin string - AccessControlExposeHeaders string - AccessControlMaxAge string - CacheControl string -} - -// IsSuccess returns true when this lead options o k response has a 2xx status code -func (o *LeadOptionsOK) IsSuccess() bool { - return true -} - -// IsRedirect returns true when this lead options o k response has a 3xx status code -func (o *LeadOptionsOK) IsRedirect() bool { - return false -} - -// IsClientError returns true when this lead options o k response has a 4xx status code -func (o *LeadOptionsOK) IsClientError() bool { - return false -} - -// IsServerError returns true when this lead options o k response has a 5xx status code -func (o *LeadOptionsOK) IsServerError() bool { - return false -} - -// IsCode returns true when this lead options o k response a status code equal to that given -func (o *LeadOptionsOK) IsCode(code int) bool { - return code == 200 -} - -// Code gets the status code for the lead options o k response -func (o *LeadOptionsOK) Code() int { - return 200 -} - -func (o *LeadOptionsOK) Error() string { - return fmt.Sprintf("[OPTIONS /leads][%d] leadOptionsOK ", 200) -} - -func (o *LeadOptionsOK) String() string { - return fmt.Sprintf("[OPTIONS /leads][%d] leadOptionsOK ", 200) -} - -func (o *LeadOptionsOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // hydrates response header Access-Control-Allow-Credentials - hdrAccessControlAllowCredentials := response.GetHeader("Access-Control-Allow-Credentials") - - if hdrAccessControlAllowCredentials != "" { - o.AccessControlAllowCredentials = hdrAccessControlAllowCredentials - } - - // hydrates response header Access-Control-Allow-Headers - hdrAccessControlAllowHeaders := response.GetHeader("Access-Control-Allow-Headers") - - if hdrAccessControlAllowHeaders != "" { - o.AccessControlAllowHeaders = hdrAccessControlAllowHeaders - } - - // hydrates response header Access-Control-Allow-Methods - hdrAccessControlAllowMethods := response.GetHeader("Access-Control-Allow-Methods") - - if hdrAccessControlAllowMethods != "" { - o.AccessControlAllowMethods = hdrAccessControlAllowMethods - } - - // hydrates response header Access-Control-Allow-Origin - hdrAccessControlAllowOrigin := response.GetHeader("Access-Control-Allow-Origin") - - if hdrAccessControlAllowOrigin != "" { - o.AccessControlAllowOrigin = hdrAccessControlAllowOrigin - } - - // hydrates response header Access-Control-Expose-Headers - hdrAccessControlExposeHeaders := response.GetHeader("Access-Control-Expose-Headers") - - if hdrAccessControlExposeHeaders != "" { - o.AccessControlExposeHeaders = hdrAccessControlExposeHeaders - } - - // hydrates response header Access-Control-Max-Age - hdrAccessControlMaxAge := response.GetHeader("Access-Control-Max-Age") - - if hdrAccessControlMaxAge != "" { - o.AccessControlMaxAge = hdrAccessControlMaxAge - } - - // hydrates response header Cache-Control - hdrCacheControl := response.GetHeader("Cache-Control") - - if hdrCacheControl != "" { - o.CacheControl = hdrCacheControl - } - - return nil -} diff --git a/api/crm/crm_client/crm_client.go b/api/crm/crm_client/crm_client.go index 5aaa1f2..c5fd224 100644 --- a/api/crm/crm_client/crm_client.go +++ b/api/crm/crm_client/crm_client.go @@ -18,7 +18,6 @@ import ( "code.tnxs.net/vernonkeenan/lib/api/crm/crm_client/assets" "code.tnxs.net/vernonkeenan/lib/api/crm/crm_client/contacts" "code.tnxs.net/vernonkeenan/lib/api/crm/crm_client/contracts" - "code.tnxs.net/vernonkeenan/lib/api/crm/crm_client/cors" "code.tnxs.net/vernonkeenan/lib/api/crm/crm_client/leads" ) @@ -68,7 +67,6 @@ func New(transport runtime.ClientTransport, formats strfmt.Registry) *Crm { cli.Assets = assets.New(transport, formats) cli.Contacts = contacts.New(transport, formats) cli.Contracts = contracts.New(transport, formats) - cli.Cors = cors.New(transport, formats) cli.Leads = leads.New(transport, formats) return cli } @@ -122,8 +120,6 @@ type Crm struct { Contracts contracts.ClientService - Cors cors.ClientService - Leads leads.ClientService Transport runtime.ClientTransport @@ -136,6 +132,5 @@ func (c *Crm) SetTransport(transport runtime.ClientTransport) { c.Assets.SetTransport(transport) c.Contacts.SetTransport(transport) c.Contracts.SetTransport(transport) - c.Cors.SetTransport(transport) c.Leads.SetTransport(transport) } diff --git a/api/crm/crm_models/account.go b/api/crm/crm_models/account.go index fb14658..798ce79 100644 --- a/api/crm/crm_models/account.go +++ b/api/crm/crm_models/account.go @@ -19,7 +19,7 @@ import ( // Account account // -// swagger:model Account +// swagger:model account type Account struct { // Account Number @@ -29,7 +29,7 @@ type Account struct { AccountSource string `json:"AccountSource,omitempty"` // active - Active int64 `json:"Active,omitempty"` + Active bool `json:"Active,omitempty"` // Annual Revenue Estimate AnnualRevenue float64 `json:"AnnualRevenue,omitempty"` diff --git a/api/crm/crm_models/address.go b/api/crm/crm_models/address.go index 93e01eb..44c1e35 100644 --- a/api/crm/crm_models/address.go +++ b/api/crm/crm_models/address.go @@ -18,7 +18,7 @@ import ( // Address address // -// swagger:model Address +// swagger:model address type Address struct { // City diff --git a/api/crm/crm_models/asset.go b/api/crm/crm_models/asset.go index 5f133dc..72dd48d 100644 --- a/api/crm/crm_models/asset.go +++ b/api/crm/crm_models/asset.go @@ -19,7 +19,7 @@ import ( // Asset asset // -// swagger:model Asset +// swagger:model asset type Asset struct { // Account diff --git a/api/crm/crm_models/contact.go b/api/crm/crm_models/contact.go index 6bb76fd..2dfa420 100644 --- a/api/crm/crm_models/contact.go +++ b/api/crm/crm_models/contact.go @@ -19,7 +19,7 @@ import ( // Contact contact // -// swagger:model Contact +// swagger:model contact type Contact struct { // The primary account ID of this contact @@ -61,6 +61,9 @@ type Contact struct { // Email Bounce Reason EmailBouncedReason string `json:"EmailBouncedReason,omitempty"` + // Facebook Page + Facebook string `json:"Facebook,omitempty"` + // Fax Number Fax string `json:"Fax,omitempty"` diff --git a/api/crm/crm_models/contract.go b/api/crm/crm_models/contract.go index 3f4eab2..fab51e6 100644 --- a/api/crm/crm_models/contract.go +++ b/api/crm/crm_models/contract.go @@ -19,7 +19,7 @@ import ( // Contract contract // -// swagger:model Contract +// swagger:model contract type Contract struct { // Account @@ -31,7 +31,7 @@ type Contract struct { // Activated Date ActivatedDate string `json:"ActivatedDate,omitempty"` - // Billing Address + // billing address BillingAddress *Address `json:"BillingAddress,omitempty"` // Billing Contact @@ -73,10 +73,13 @@ type Contract struct { // Contract End Date EndDate string `json:"EndDate,omitempty"` + // End User + EndUserID string `json:"EndUserID,omitempty"` + // Hourly Rate HourlyRate float64 `json:"HourlyRate,omitempty"` - // Record Id + // Telnexus Record Id ID string `json:"ID,omitempty"` // Last Modified By User ID @@ -97,7 +100,7 @@ type Contract struct { // Perpetual Agreement? Perpetual bool `json:"Perpetual,omitempty"` - // Shipping Address + // shipping address ShippingAddress *Address `json:"ShippingAddress,omitempty"` // Shipping Contact diff --git a/api/crm/crm_models/lead.go b/api/crm/crm_models/lead.go index 4d3b9a5..468cf71 100644 --- a/api/crm/crm_models/lead.go +++ b/api/crm/crm_models/lead.go @@ -19,7 +19,7 @@ import ( // Lead lead // -// swagger:model Lead +// swagger:model lead type Lead struct { // address diff --git a/api/crm/crm_models/pagination.go b/api/crm/crm_models/pagination.go index 0b20908..b2f92c8 100644 --- a/api/crm/crm_models/pagination.go +++ b/api/crm/crm_models/pagination.go @@ -18,7 +18,7 @@ import ( // Pagination pagination // -// swagger:model Pagination +// swagger:model pagination type Pagination struct { // limit diff --git a/api/crm/crm_models/response_meta.go b/api/crm/crm_models/response_meta.go index 958d6e6..a869f62 100644 --- a/api/crm/crm_models/response_meta.go +++ b/api/crm/crm_models/response_meta.go @@ -19,7 +19,7 @@ import ( // ResponseMeta response meta // -// swagger:model ResponseMeta +// swagger:model responseMeta type ResponseMeta struct { // Microservice Contact Info diff --git a/api/research/research_client/companies/companies_client.go b/api/plex/plex_client/companies/companies_client.go similarity index 100% rename from api/research/research_client/companies/companies_client.go rename to api/plex/plex_client/companies/companies_client.go diff --git a/api/research/research_client/companies/get_companies_parameters.go b/api/plex/plex_client/companies/get_companies_parameters.go similarity index 91% rename from api/research/research_client/companies/get_companies_parameters.go rename to api/plex/plex_client/companies/get_companies_parameters.go index a0d6860..852fdfd 100644 --- a/api/research/research_client/companies/get_companies_parameters.go +++ b/api/plex/plex_client/companies/get_companies_parameters.go @@ -66,18 +66,18 @@ GetCompaniesParams contains all the parameters to send to the API endpoint */ type GetCompaniesParams struct { - /* AccountID. - - Record Id of an Account - */ - AccountID *string - /* Active. Only retrieve active records? */ Active *bool + /* CompanyID. + + Record Id of an Company + */ + CompanyID *string + /* Limit. How many objects to return at one time @@ -153,17 +153,6 @@ func (o *GetCompaniesParams) SetHTTPClient(client *http.Client) { o.HTTPClient = client } -// WithAccountID adds the accountID to the get companies params -func (o *GetCompaniesParams) WithAccountID(accountID *string) *GetCompaniesParams { - o.SetAccountID(accountID) - return o -} - -// SetAccountID adds the accountId to the get companies params -func (o *GetCompaniesParams) SetAccountID(accountID *string) { - o.AccountID = accountID -} - // WithActive adds the active to the get companies params func (o *GetCompaniesParams) WithActive(active *bool) *GetCompaniesParams { o.SetActive(active) @@ -175,6 +164,17 @@ func (o *GetCompaniesParams) SetActive(active *bool) { o.Active = active } +// WithCompanyID adds the companyID to the get companies params +func (o *GetCompaniesParams) WithCompanyID(companyID *string) *GetCompaniesParams { + o.SetCompanyID(companyID) + return o +} + +// SetCompanyID adds the companyId to the get companies params +func (o *GetCompaniesParams) SetCompanyID(companyID *string) { + o.CompanyID = companyID +} + // WithLimit adds the limit to the get companies params func (o *GetCompaniesParams) WithLimit(limit *int64) *GetCompaniesParams { o.SetLimit(limit) @@ -216,23 +216,6 @@ func (o *GetCompaniesParams) WriteToRequest(r runtime.ClientRequest, reg strfmt. } var res []error - if o.AccountID != nil { - - // query param accountId - var qrAccountID string - - if o.AccountID != nil { - qrAccountID = *o.AccountID - } - qAccountID := qrAccountID - if qAccountID != "" { - - if err := r.SetQueryParam("accountId", qAccountID); err != nil { - return err - } - } - } - if o.Active != nil { // query param active @@ -250,6 +233,23 @@ func (o *GetCompaniesParams) WriteToRequest(r runtime.ClientRequest, reg strfmt. } } + if o.CompanyID != nil { + + // query param companyId + var qrCompanyID string + + if o.CompanyID != nil { + qrCompanyID = *o.CompanyID + } + qCompanyID := qrCompanyID + if qCompanyID != "" { + + if err := r.SetQueryParam("companyId", qCompanyID); err != nil { + return err + } + } + } + if o.Limit != nil { // query param limit diff --git a/api/research/research_client/companies/get_companies_responses.go b/api/plex/plex_client/companies/get_companies_responses.go similarity index 93% rename from api/research/research_client/companies/get_companies_responses.go rename to api/plex/plex_client/companies/get_companies_responses.go index 9255c33..8ed5a1a 100644 --- a/api/research/research_client/companies/get_companies_responses.go +++ b/api/plex/plex_client/companies/get_companies_responses.go @@ -16,7 +16,7 @@ import ( "github.com/go-openapi/runtime" "github.com/go-openapi/strfmt" - "code.tnxs.net/vernonkeenan/lib/api/research/research_models" + "code.tnxs.net/vernonkeenan/lib/api/plex/plex_models" ) // GetCompaniesReader is a Reader for the GetCompanies structure. @@ -76,10 +76,10 @@ func NewGetCompaniesOK() *GetCompaniesOK { /* GetCompaniesOK describes a response with status code 200, with default header values. -Response with Company objects +The SalesforceDevops.net Company Object */ type GetCompaniesOK struct { - Payload *research_models.CompanyResponse + Payload *plex_models.CompanyResponse } // IsSuccess returns true when this get companies o k response has a 2xx status code @@ -120,13 +120,13 @@ func (o *GetCompaniesOK) String() string { return fmt.Sprintf("[GET /companies][%d] getCompaniesOK %+v", 200, o.Payload) } -func (o *GetCompaniesOK) GetPayload() *research_models.CompanyResponse { +func (o *GetCompaniesOK) GetPayload() *plex_models.CompanyResponse { return o.Payload } func (o *GetCompaniesOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - o.Payload = new(research_models.CompanyResponse) + o.Payload = new(plex_models.CompanyResponse) // response payload if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { @@ -149,7 +149,7 @@ Access unauthorized, invalid API-KEY was used type GetCompaniesUnauthorized struct { AccessControlAllowOrigin string - Payload *research_models.Error + Payload *plex_models.Error } // IsSuccess returns true when this get companies unauthorized response has a 2xx status code @@ -190,7 +190,7 @@ func (o *GetCompaniesUnauthorized) String() string { return fmt.Sprintf("[GET /companies][%d] getCompaniesUnauthorized %+v", 401, o.Payload) } -func (o *GetCompaniesUnauthorized) GetPayload() *research_models.Error { +func (o *GetCompaniesUnauthorized) GetPayload() *plex_models.Error { return o.Payload } @@ -203,7 +203,7 @@ func (o *GetCompaniesUnauthorized) readResponse(response runtime.ClientResponse, o.AccessControlAllowOrigin = hdrAccessControlAllowOrigin } - o.Payload = new(research_models.Error) + o.Payload = new(plex_models.Error) // response payload if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { @@ -221,12 +221,12 @@ func NewGetCompaniesForbidden() *GetCompaniesForbidden { /* GetCompaniesForbidden describes a response with status code 403, with default header values. -Access forbidden, account lacks access +Access forbidden, Company lacks access */ type GetCompaniesForbidden struct { AccessControlAllowOrigin string - Payload *research_models.Error + Payload *plex_models.Error } // IsSuccess returns true when this get companies forbidden response has a 2xx status code @@ -267,7 +267,7 @@ func (o *GetCompaniesForbidden) String() string { return fmt.Sprintf("[GET /companies][%d] getCompaniesForbidden %+v", 403, o.Payload) } -func (o *GetCompaniesForbidden) GetPayload() *research_models.Error { +func (o *GetCompaniesForbidden) GetPayload() *plex_models.Error { return o.Payload } @@ -280,7 +280,7 @@ func (o *GetCompaniesForbidden) readResponse(response runtime.ClientResponse, co o.AccessControlAllowOrigin = hdrAccessControlAllowOrigin } - o.Payload = new(research_models.Error) + o.Payload = new(plex_models.Error) // response payload if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { @@ -303,7 +303,7 @@ Resource was not found type GetCompaniesNotFound struct { AccessControlAllowOrigin string - Payload *research_models.Error + Payload *plex_models.Error } // IsSuccess returns true when this get companies not found response has a 2xx status code @@ -344,7 +344,7 @@ func (o *GetCompaniesNotFound) String() string { return fmt.Sprintf("[GET /companies][%d] getCompaniesNotFound %+v", 404, o.Payload) } -func (o *GetCompaniesNotFound) GetPayload() *research_models.Error { +func (o *GetCompaniesNotFound) GetPayload() *plex_models.Error { return o.Payload } @@ -357,7 +357,7 @@ func (o *GetCompaniesNotFound) readResponse(response runtime.ClientResponse, con o.AccessControlAllowOrigin = hdrAccessControlAllowOrigin } - o.Payload = new(research_models.Error) + o.Payload = new(plex_models.Error) // response payload if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { @@ -380,7 +380,7 @@ Unprocessable Entity, likely a bad parameter type GetCompaniesUnprocessableEntity struct { AccessControlAllowOrigin string - Payload *research_models.Error + Payload *plex_models.Error } // IsSuccess returns true when this get companies unprocessable entity response has a 2xx status code @@ -421,7 +421,7 @@ func (o *GetCompaniesUnprocessableEntity) String() string { return fmt.Sprintf("[GET /companies][%d] getCompaniesUnprocessableEntity %+v", 422, o.Payload) } -func (o *GetCompaniesUnprocessableEntity) GetPayload() *research_models.Error { +func (o *GetCompaniesUnprocessableEntity) GetPayload() *plex_models.Error { return o.Payload } @@ -434,7 +434,7 @@ func (o *GetCompaniesUnprocessableEntity) readResponse(response runtime.ClientRe o.AccessControlAllowOrigin = hdrAccessControlAllowOrigin } - o.Payload = new(research_models.Error) + o.Payload = new(plex_models.Error) // response payload if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { @@ -457,7 +457,7 @@ Server Internal Error type GetCompaniesInternalServerError struct { AccessControlAllowOrigin string - Payload *research_models.Error + Payload *plex_models.Error } // IsSuccess returns true when this get companies internal server error response has a 2xx status code @@ -498,7 +498,7 @@ func (o *GetCompaniesInternalServerError) String() string { return fmt.Sprintf("[GET /companies][%d] getCompaniesInternalServerError %+v", 500, o.Payload) } -func (o *GetCompaniesInternalServerError) GetPayload() *research_models.Error { +func (o *GetCompaniesInternalServerError) GetPayload() *plex_models.Error { return o.Payload } @@ -511,7 +511,7 @@ func (o *GetCompaniesInternalServerError) readResponse(response runtime.ClientRe o.AccessControlAllowOrigin = hdrAccessControlAllowOrigin } - o.Payload = new(research_models.Error) + o.Payload = new(plex_models.Error) // response payload if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { diff --git a/api/plex/plex_client/plex_client.go b/api/plex/plex_client/plex_client.go new file mode 100644 index 0000000..b2d1d18 --- /dev/null +++ b/api/plex/plex_client/plex_client.go @@ -0,0 +1,116 @@ +// 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 plex_client + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + + "code.tnxs.net/vernonkeenan/lib/api/plex/plex_client/companies" +) + +// Default plex HTTP client. +var Default = NewHTTPClient(nil) + +const ( + // DefaultHost is the default Host + // found in Meta (info) section of spec file + DefaultHost string = "plex.vernonkeenan.com:8080" + // DefaultBasePath is the default BasePath + // found in Meta (info) section of spec file + DefaultBasePath string = "/v1" +) + +// DefaultSchemes are the default schemes found in Meta (info) section of spec file +var DefaultSchemes = []string{"http"} + +// NewHTTPClient creates a new plex HTTP client. +func NewHTTPClient(formats strfmt.Registry) *Plex { + return NewHTTPClientWithConfig(formats, nil) +} + +// NewHTTPClientWithConfig creates a new plex HTTP client, +// using a customizable transport config. +func NewHTTPClientWithConfig(formats strfmt.Registry, cfg *TransportConfig) *Plex { + // ensure nullable parameters have default + if cfg == nil { + cfg = DefaultTransportConfig() + } + + // create transport and client + transport := httptransport.New(cfg.Host, cfg.BasePath, cfg.Schemes) + return New(transport, formats) +} + +// New creates a new plex client +func New(transport runtime.ClientTransport, formats strfmt.Registry) *Plex { + // ensure nullable parameters have default + if formats == nil { + formats = strfmt.Default + } + + cli := new(Plex) + cli.Transport = transport + cli.Companies = companies.New(transport, formats) + return cli +} + +// DefaultTransportConfig creates a TransportConfig with the +// default settings taken from the meta section of the spec file. +func DefaultTransportConfig() *TransportConfig { + return &TransportConfig{ + Host: DefaultHost, + BasePath: DefaultBasePath, + Schemes: DefaultSchemes, + } +} + +// TransportConfig contains the transport related info, +// found in the meta section of the spec file. +type TransportConfig struct { + Host string + BasePath string + Schemes []string +} + +// WithHost overrides the default host, +// provided by the meta section of the spec file. +func (cfg *TransportConfig) WithHost(host string) *TransportConfig { + cfg.Host = host + return cfg +} + +// WithBasePath overrides the default basePath, +// provided by the meta section of the spec file. +func (cfg *TransportConfig) WithBasePath(basePath string) *TransportConfig { + cfg.BasePath = basePath + return cfg +} + +// WithSchemes overrides the default schemes, +// provided by the meta section of the spec file. +func (cfg *TransportConfig) WithSchemes(schemes []string) *TransportConfig { + cfg.Schemes = schemes + return cfg +} + +// Plex is a client for plex +type Plex struct { + Companies companies.ClientService + + Transport runtime.ClientTransport +} + +// SetTransport changes the transport on the client and all its subresources +func (c *Plex) SetTransport(transport runtime.ClientTransport) { + c.Transport = transport + c.Companies.SetTransport(transport) +} diff --git a/api/plex/plex_models/address.go b/api/plex/plex_models/address.go new file mode 100644 index 0000000..864a53a --- /dev/null +++ b/api/plex/plex_models/address.go @@ -0,0 +1,72 @@ +// 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 plex_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" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// Address address +// +// swagger:model Address +type Address struct { + + // City + City string `json:"City,omitempty"` + + // Country full name + Country string `json:"Country,omitempty"` + + // Country Code + CountryCode string `json:"CountryCode,omitempty"` + + // Postal Code + PostalCode string `json:"PostalCode,omitempty"` + + // State full name + State string `json:"State,omitempty"` + + // State Code + StateCode string `json:"StateCode,omitempty"` + + // Street number and name + Street string `json:"Street,omitempty"` +} + +// Validate validates this address +func (m *Address) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this address based on context it is used +func (m *Address) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *Address) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Address) UnmarshalBinary(b []byte) error { + var res Address + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/plex/plex_models/company.go b/api/plex/plex_models/company.go new file mode 100644 index 0000000..ded2c80 --- /dev/null +++ b/api/plex/plex_models/company.go @@ -0,0 +1,397 @@ +// 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 plex_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" +) + +// Company company +// +// swagger:model Company +type Company struct { + + // Company Number + AccountNumber string `json:"AccountNumber,omitempty"` + + // The marketing origin of this Company + AccountSource string `json:"AccountSource,omitempty"` + + // active + Active int64 `json:"Active,omitempty"` + + // Annual Revenue Estimate + AnnualRevenue float64 `json:"AnnualRevenue,omitempty"` + + // cloud revenue total + CloudRevenueTotal float64 `json:"CloudRevenueTotal,omitempty"` + + // The type of cloud company + CloudType string `json:"CloudType,omitempty"` + + // The year company started cloud revenue + CloudYear string `json:"CloudYear,omitempty"` + + // Company Products + CompanyProducts []*CompanyProduct `json:"CompanyProducts"` + + // Description of the Company + Description string `json:"Description,omitempty"` + + // Earnings Call Date + EarningsCall string `json:"EarningsCall,omitempty"` + + // Main Company Email + Email string `json:"Email,omitempty"` + + // The amount of equity EquityFunding + EquityFunding float64 `json:"EquityFunding,omitempty"` + + // Company Facebook URL + Facebook string `json:"Facebook,omitempty"` + + // Fax number + Fax string `json:"Fax,omitempty"` + + // Financial Statements + FinancialStatements []*FinancialStatement `json:"FinancialStatements"` + + // Date company founded + FoundedDate string `json:"FoundedDate,omitempty"` + + // Company Id + ID string `json:"ID,omitempty"` + + // IPO Date + IPODate string `json:"IPODate,omitempty"` + + // image alt text + ImageAltText string `json:"ImageAltText,omitempty"` + + // image URL + ImageURL string `json:"ImageURL,omitempty"` + + // Industries + Industries string `json:"Industries,omitempty"` + + // Industry + Industry string `json:"Industry,omitempty"` + + // Similar Companies + IndustryCompanies []*IndustryCompany `json:"IndustryCompanies"` + + // Company LinkedIn URL + LinkedIn string `json:"LinkedIn,omitempty"` + + // listing address + ListingAddress *Address `json:"ListingAddress,omitempty"` + + // Headquarters Location Description + Location string `json:"Location,omitempty"` + + // Company Logo URL + Logo string `json:"Logo,omitempty"` + + // Market Capitalization + MarketCapitalization float64 `json:"MarketCapitalization,omitempty"` + + // Company Name + Name string `json:"Name,omitempty"` + + // Number of Investments + NumberInvestments float64 `json:"NumberInvestments,omitempty"` + + // Employee Count Estimate + NumberOfEmployees int64 `json:"NumberOfEmployees,omitempty"` + + // Ownership + Ownership string `json:"Ownership,omitempty"` + + // Parent Company + ParentID string `json:"ParentID,omitempty"` + + // Phone + Phone string `json:"Phone,omitempty"` + + // Publish this record? + Publish bool `json:"Publish,omitempty"` + + // A Salesforce-First company? + SalesforceFirst bool `json:"SalesforceFirst,omitempty"` + + // Slug + Slug string `json:"Slug,omitempty"` + + // Company tagline + TagLine string `json:"TagLine,omitempty"` + + // Ticker Symbol + TickerSymbol string `json:"TickerSymbol,omitempty"` + + // Twitter URL + Twitter string `json:"Twitter,omitempty"` + + // Type + Type string `json:"Type,omitempty"` + + // Website + Website string `json:"Website,omitempty"` + + // Year Started + YearStarted string `json:"YearStarted,omitempty"` +} + +// Validate validates this company +func (m *Company) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCompanyProducts(formats); err != nil { + res = append(res, err) + } + + if err := m.validateFinancialStatements(formats); err != nil { + res = append(res, err) + } + + if err := m.validateIndustryCompanies(formats); err != nil { + res = append(res, err) + } + + if err := m.validateListingAddress(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Company) validateCompanyProducts(formats strfmt.Registry) error { + if swag.IsZero(m.CompanyProducts) { // not required + return nil + } + + for i := 0; i < len(m.CompanyProducts); i++ { + if swag.IsZero(m.CompanyProducts[i]) { // not required + continue + } + + if m.CompanyProducts[i] != nil { + if err := m.CompanyProducts[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("CompanyProducts" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("CompanyProducts" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +func (m *Company) validateFinancialStatements(formats strfmt.Registry) error { + if swag.IsZero(m.FinancialStatements) { // not required + return nil + } + + for i := 0; i < len(m.FinancialStatements); i++ { + if swag.IsZero(m.FinancialStatements[i]) { // not required + continue + } + + if m.FinancialStatements[i] != nil { + if err := m.FinancialStatements[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("FinancialStatements" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("FinancialStatements" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +func (m *Company) validateIndustryCompanies(formats strfmt.Registry) error { + if swag.IsZero(m.IndustryCompanies) { // not required + return nil + } + + for i := 0; i < len(m.IndustryCompanies); i++ { + if swag.IsZero(m.IndustryCompanies[i]) { // not required + continue + } + + if m.IndustryCompanies[i] != nil { + if err := m.IndustryCompanies[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("IndustryCompanies" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("IndustryCompanies" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +func (m *Company) validateListingAddress(formats strfmt.Registry) error { + if swag.IsZero(m.ListingAddress) { // not required + return nil + } + + if m.ListingAddress != nil { + if err := m.ListingAddress.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("ListingAddress") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("ListingAddress") + } + return err + } + } + + return nil +} + +// ContextValidate validate this company based on the context it is used +func (m *Company) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCompanyProducts(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateFinancialStatements(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateIndustryCompanies(ctx, formats); err != nil { + res = append(res, err) + } + + if err := m.contextValidateListingAddress(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Company) contextValidateCompanyProducts(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.CompanyProducts); i++ { + + if m.CompanyProducts[i] != nil { + if err := m.CompanyProducts[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("CompanyProducts" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("CompanyProducts" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +func (m *Company) contextValidateFinancialStatements(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.FinancialStatements); i++ { + + if m.FinancialStatements[i] != nil { + if err := m.FinancialStatements[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("FinancialStatements" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("FinancialStatements" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +func (m *Company) contextValidateIndustryCompanies(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.IndustryCompanies); i++ { + + if m.IndustryCompanies[i] != nil { + if err := m.IndustryCompanies[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("IndustryCompanies" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("IndustryCompanies" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +func (m *Company) contextValidateListingAddress(ctx context.Context, formats strfmt.Registry) error { + + if m.ListingAddress != nil { + if err := m.ListingAddress.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("ListingAddress") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("ListingAddress") + } + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Company) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Company) UnmarshalBinary(b []byte) error { + var res Company + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/plex/plex_models/company_product.go b/api/plex/plex_models/company_product.go new file mode 100644 index 0000000..0f69b71 --- /dev/null +++ b/api/plex/plex_models/company_product.go @@ -0,0 +1,174 @@ +// 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 plex_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" +) + +// CompanyProduct A software product or service vended by a Company +// +// swagger:model CompanyProduct +type CompanyProduct struct { + + // ID of the Company that owns this Product + AccountID string `json:"AccountID,omitempty"` + + // Created By User ID + CreatedByID string `json:"CreatedByID,omitempty"` + + // Created Date + CreatedDate string `json:"CreatedDate,omitempty"` + + // Description of product + Description string `json:"Description,omitempty"` + + // Full Description of product + FullDescription string `json:"FullDescription,omitempty"` + + // Record Id + ID string `json:"ID,omitempty"` + + // Image Alt Text + ImageAltText string `json:"ImageAltText,omitempty"` + + // Image URL + ImageURL string `json:"ImageURL,omitempty"` + + // Industries + Industries []*Industry `json:"Industries"` + + // Last Modified By User ID + LastModifiedByID string `json:"LastModifiedByID,omitempty"` + + // Last Modified Date + LastModifiedDate string `json:"LastModifiedDate,omitempty"` + + // Logo + Logo string `json:"Logo,omitempty"` + + // Product Name + Name string `json:"Name,omitempty"` + + // Product Video ID + ProductVideoID string `json:"ProductVideoID,omitempty"` + + // Published + Published bool `json:"Published,omitempty"` + + // Salesforce Specific + SalesforceSpecific bool `json:"SalesforceSpecific,omitempty"` + + // Slug + Slug string `json:"Slug,omitempty"` + + // TagLine + TagLine string `json:"TagLine,omitempty"` + + // Website + URL string `json:"URL,omitempty"` +} + +// Validate validates this company product +func (m *CompanyProduct) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateIndustries(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CompanyProduct) validateIndustries(formats strfmt.Registry) error { + if swag.IsZero(m.Industries) { // not required + return nil + } + + for i := 0; i < len(m.Industries); i++ { + if swag.IsZero(m.Industries[i]) { // not required + continue + } + + if m.Industries[i] != nil { + if err := m.Industries[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("Industries" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("Industries" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// ContextValidate validate this company product based on the context it is used +func (m *CompanyProduct) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateIndustries(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CompanyProduct) contextValidateIndustries(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Industries); i++ { + + if m.Industries[i] != nil { + if err := m.Industries[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("Industries" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("Industries" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *CompanyProduct) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CompanyProduct) UnmarshalBinary(b []byte) error { + var res CompanyProduct + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/plex/plex_models/company_request.go b/api/plex/plex_models/company_request.go new file mode 100644 index 0000000..40109fe --- /dev/null +++ b/api/plex/plex_models/company_request.go @@ -0,0 +1,120 @@ +// 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 plex_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" +) + +// CompanyRequest An array of Company objects with Contacts +// +// swagger:model CompanyRequest +type CompanyRequest struct { + + // data + Data []*Company `json:"Data"` +} + +// Validate validates this company request +func (m *CompanyRequest) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateData(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CompanyRequest) validateData(formats strfmt.Registry) error { + if swag.IsZero(m.Data) { // not required + return nil + } + + for i := 0; i < len(m.Data); i++ { + if swag.IsZero(m.Data[i]) { // not required + continue + } + + if m.Data[i] != nil { + if err := m.Data[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("Data" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("Data" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// ContextValidate validate this company request based on the context it is used +func (m *CompanyRequest) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateData(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *CompanyRequest) contextValidateData(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.Data); i++ { + + if m.Data[i] != nil { + if err := m.Data[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("Data" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("Data" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *CompanyRequest) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *CompanyRequest) UnmarshalBinary(b []byte) error { + var res CompanyRequest + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/research/research_models/company_response.go b/api/plex/plex_models/company_response.go similarity index 97% rename from api/research/research_models/company_response.go rename to api/plex/plex_models/company_response.go index f884a43..6311a96 100644 --- a/api/research/research_models/company_response.go +++ b/api/plex/plex_models/company_response.go @@ -4,7 +4,7 @@ // All rights reserved worldwide. // Proprietary product; unlicensed use is not allowed -package research_models +package plex_models // This file was generated by the swagger tool. // Editing this file might prove futile when you re-run the swagger generate command @@ -18,7 +18,7 @@ import ( "github.com/go-openapi/swag" ) -// CompanyResponse An array of Company objects produced in response to a request +// CompanyResponse An array of Company objects with Contacts // // swagger:model CompanyResponse type CompanyResponse struct { diff --git a/api/plex/plex_models/error.go b/api/plex/plex_models/error.go new file mode 100644 index 0000000..e3f5dd2 --- /dev/null +++ b/api/plex/plex_models/error.go @@ -0,0 +1,60 @@ +// 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 plex_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" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// Error error +// +// swagger:model Error +type Error struct { + + // code + Code int64 `json:"Code,omitempty"` + + // fields + Fields string `json:"Fields,omitempty"` + + // message + Message string `json:"Message,omitempty"` +} + +// Validate validates this error +func (m *Error) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this error based on context it is used +func (m *Error) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *Error) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Error) UnmarshalBinary(b []byte) error { + var res Error + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/plex/plex_models/financial_statement.go b/api/plex/plex_models/financial_statement.go new file mode 100644 index 0000000..0dd1eed --- /dev/null +++ b/api/plex/plex_models/financial_statement.go @@ -0,0 +1,99 @@ +// 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 plex_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" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// FinancialStatement A financial statement for a company +// +// swagger:model FinancialStatement +type FinancialStatement struct { + + // EDGAR Access Number + AccessNumber string `json:"AccessNumber,omitempty"` + + // Account ID + AccountID string `json:"AccountID,omitempty"` + + // Cloud Revenue + CloudRevenue float64 `json:"CloudRevenue,omitempty"` + + // Created By User ID + CreatedByID string `json:"CreatedByID,omitempty"` + + // Created Date + CreatedDate string `json:"CreatedDate,omitempty"` + + // Description + Description string `json:"Description,omitempty"` + + // EDGAR URL + EdgarURL string `json:"EdgarURL,omitempty"` + + // Filing Type + FilingType string `json:"FilingType,omitempty"` + + // Gross Profit + GrossProfit float64 `json:"GrossProfit,omitempty"` + + // Record Id + ID string `json:"ID,omitempty"` + + // Last Modified By User ID + LastModifiedByID string `json:"LastModifiedByID,omitempty"` + + // Last Modified Date + LastModifiedDate string `json:"LastModifiedDate,omitempty"` + + // Net Income + NetIncome float64 `json:"NetIncome,omitempty"` + + // Period End Date + PeriodEndDate string `json:"PeriodEndDate,omitempty"` + + // Total Revenue + TotalRevenue float64 `json:"TotalRevenue,omitempty"` + + // Year + Year string `json:"Year,omitempty"` +} + +// Validate validates this financial statement +func (m *FinancialStatement) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this financial statement based on context it is used +func (m *FinancialStatement) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *FinancialStatement) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *FinancialStatement) UnmarshalBinary(b []byte) error { + var res FinancialStatement + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/plex/plex_models/industry.go b/api/plex/plex_models/industry.go new file mode 100644 index 0000000..9007227 --- /dev/null +++ b/api/plex/plex_models/industry.go @@ -0,0 +1,168 @@ +// 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 plex_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" +) + +// Industry An industry that is being researched +// +// swagger:model Industry +type Industry struct { + + // The AccountIDs of the Companies in this Industry + Companies []string `json:"Companies"` + + // The list of Products in this industry + CompanyProducts []*CompanyProduct `json:"CompanyProducts"` + + // Created By User ID + CreatedByID string `json:"CreatedByID,omitempty"` + + // Created Date + CreatedDate string `json:"CreatedDate,omitempty"` + + // Industry Description + Description string `json:"Description,omitempty"` + + // Record Id + ID string `json:"ID,omitempty"` + + // Image Alt Text + ImageAltText string `json:"ImageAltText,omitempty"` + + // Image URL + ImageURL string `json:"ImageURL,omitempty"` + + // Last Modified By User ID + LastModifiedByID string `json:"LastModifiedByID,omitempty"` + + // Last Modified Date + LastModifiedDate string `json:"LastModifiedDate,omitempty"` + + // The hierarchical level of this Industry + Level string `json:"Level,omitempty"` + + // Logo + Logo string `json:"Logo,omitempty"` + + // Industry Name + Name string `json:"Name,omitempty"` + + // The ID of the Parent Industry + ParentIndustryID string `json:"ParentIndustryID,omitempty"` + + // The full path of this industry, including Parent + Path string `json:"Path,omitempty"` + + // The CMS Slug for this Industry + Slug string `json:"Slug,omitempty"` + + // TagLine + TagLine string `json:"TagLine,omitempty"` +} + +// Validate validates this industry +func (m *Industry) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validateCompanyProducts(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Industry) validateCompanyProducts(formats strfmt.Registry) error { + if swag.IsZero(m.CompanyProducts) { // not required + return nil + } + + for i := 0; i < len(m.CompanyProducts); i++ { + if swag.IsZero(m.CompanyProducts[i]) { // not required + continue + } + + if m.CompanyProducts[i] != nil { + if err := m.CompanyProducts[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("CompanyProducts" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("CompanyProducts" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// ContextValidate validate this industry based on the context it is used +func (m *Industry) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidateCompanyProducts(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *Industry) contextValidateCompanyProducts(ctx context.Context, formats strfmt.Registry) error { + + for i := 0; i < len(m.CompanyProducts); i++ { + + if m.CompanyProducts[i] != nil { + if err := m.CompanyProducts[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("CompanyProducts" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("CompanyProducts" + "." + strconv.Itoa(i)) + } + return err + } + } + + } + + return nil +} + +// MarshalBinary interface implementation +func (m *Industry) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Industry) UnmarshalBinary(b []byte) error { + var res Industry + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/plex/plex_models/industry_company.go b/api/plex/plex_models/industry_company.go new file mode 100644 index 0000000..c842fe6 --- /dev/null +++ b/api/plex/plex_models/industry_company.go @@ -0,0 +1,87 @@ +// 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 plex_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" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// IndustryCompany Junction object between Industry and Company +// +// swagger:model IndustryCompany +type IndustryCompany struct { + + // company ID + CompanyID string `json:"CompanyID,omitempty"` + + // company name + CompanyName string `json:"CompanyName,omitempty"` + + // company slug + CompanySlug string `json:"CompanySlug,omitempty"` + + // company website + CompanyWebsite string `json:"CompanyWebsite,omitempty"` + + // Record Id + ID string `json:"ID,omitempty"` + + // industry ID + IndustryID string `json:"IndustryID,omitempty"` + + // industry name + IndustryName string `json:"IndustryName,omitempty"` + + // industry slug + IndustrySlug string `json:"IndustrySlug,omitempty"` + + // industry tag line + IndustryTagLine string `json:"IndustryTagLine,omitempty"` + + // Last Modified By User ID + LastModifiedByID string `json:"LastModifiedByID,omitempty"` + + // Last Modified Date + LastModifiedDate string `json:"LastModifiedDate,omitempty"` + + // path + Path string `json:"Path,omitempty"` +} + +// Validate validates this industry company +func (m *IndustryCompany) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this industry company based on context it is used +func (m *IndustryCompany) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *IndustryCompany) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *IndustryCompany) UnmarshalBinary(b []byte) error { + var res IndustryCompany + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/plex/plex_models/invalid_error.go b/api/plex/plex_models/invalid_error.go new file mode 100644 index 0000000..73efd5b --- /dev/null +++ b/api/plex/plex_models/invalid_error.go @@ -0,0 +1,121 @@ +// 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 plex_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" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// InvalidError invalid error +// +// swagger:model InvalidError +type InvalidError struct { + Error + + // details + Details []string `json:"details"` +} + +// UnmarshalJSON unmarshals this object from a JSON structure +func (m *InvalidError) UnmarshalJSON(raw []byte) error { + // AO0 + var aO0 Error + if err := swag.ReadJSON(raw, &aO0); err != nil { + return err + } + m.Error = aO0 + + // AO1 + var dataAO1 struct { + Details []string `json:"details"` + } + if err := swag.ReadJSON(raw, &dataAO1); err != nil { + return err + } + + m.Details = dataAO1.Details + + return nil +} + +// MarshalJSON marshals this object to a JSON structure +func (m InvalidError) MarshalJSON() ([]byte, error) { + _parts := make([][]byte, 0, 2) + + aO0, err := swag.WriteJSON(m.Error) + if err != nil { + return nil, err + } + _parts = append(_parts, aO0) + var dataAO1 struct { + Details []string `json:"details"` + } + + dataAO1.Details = m.Details + + jsonDataAO1, errAO1 := swag.WriteJSON(dataAO1) + if errAO1 != nil { + return nil, errAO1 + } + _parts = append(_parts, jsonDataAO1) + return swag.ConcatJSON(_parts...), nil +} + +// Validate validates this invalid error +func (m *InvalidError) Validate(formats strfmt.Registry) error { + var res []error + + // validation for a type composition with Error + if err := m.Error.Validate(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// ContextValidate validate this invalid error based on the context it is used +func (m *InvalidError) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + // validation for a type composition with Error + if err := m.Error.ContextValidate(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +// MarshalBinary interface implementation +func (m *InvalidError) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *InvalidError) UnmarshalBinary(b []byte) error { + var res InvalidError + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/plex/plex_models/pagination.go b/api/plex/plex_models/pagination.go new file mode 100644 index 0000000..b816fbe --- /dev/null +++ b/api/plex/plex_models/pagination.go @@ -0,0 +1,63 @@ +// 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 plex_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" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// Pagination pagination +// +// swagger:model pagination +type Pagination struct { + + // limit + Limit int64 `json:"limit,omitempty"` + + // pagesize + Pagesize int64 `json:"pagesize,omitempty"` + + // poffset + Poffset int64 `json:"poffset,omitempty"` + + // setsize + Setsize int64 `json:"setsize,omitempty"` +} + +// Validate validates this pagination +func (m *Pagination) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this pagination based on context it is used +func (m *Pagination) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *Pagination) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *Pagination) UnmarshalBinary(b []byte) error { + var res Pagination + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/plex/plex_models/response_meta.go b/api/plex/plex_models/response_meta.go new file mode 100644 index 0000000..e5a3926 --- /dev/null +++ b/api/plex/plex_models/response_meta.go @@ -0,0 +1,141 @@ +// 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 plex_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" + + "github.com/go-openapi/errors" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// ResponseMeta response meta +// +// swagger:model responseMeta +type ResponseMeta struct { + + // Microservice Contact Info + Contact string `json:"Contact,omitempty"` + + // Copyright Info + Copyright string `json:"Copyright,omitempty"` + + // License Information and Restrictions + License string `json:"License,omitempty"` + + // Operation ID + OperationID string `json:"OperationID,omitempty"` + + // pagination + Pagination *Pagination `json:"Pagination,omitempty"` + + // Request IP Address + RequestIP string `json:"RequestIP,omitempty"` + + // Request Type + RequestType string `json:"RequestType,omitempty"` + + // Request URL + RequestURL string `json:"RequestURL,omitempty"` + + // Data Server Info + ServerInfo string `json:"ServerInfo,omitempty"` + + // Data Server Response Time (ms) + ServerResponseTime string `json:"ServerResponseTime,omitempty"` + + // Backend Server Timestamp + ServerTimestamp string `json:"ServerTimestamp,omitempty"` + + // Account Number used for recording transactions + TaxnexusAccount string `json:"TaxnexusAccount,omitempty"` +} + +// Validate validates this response meta +func (m *ResponseMeta) Validate(formats strfmt.Registry) error { + var res []error + + if err := m.validatePagination(formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ResponseMeta) validatePagination(formats strfmt.Registry) error { + if swag.IsZero(m.Pagination) { // not required + return nil + } + + if m.Pagination != nil { + if err := m.Pagination.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("Pagination") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("Pagination") + } + return err + } + } + + return nil +} + +// ContextValidate validate this response meta based on the context it is used +func (m *ResponseMeta) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + var res []error + + if err := m.contextValidatePagination(ctx, formats); err != nil { + res = append(res, err) + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} + +func (m *ResponseMeta) contextValidatePagination(ctx context.Context, formats strfmt.Registry) error { + + if m.Pagination != nil { + if err := m.Pagination.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("Pagination") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("Pagination") + } + return err + } + } + + return nil +} + +// MarshalBinary interface implementation +func (m *ResponseMeta) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *ResponseMeta) UnmarshalBinary(b []byte) error { + var res ResponseMeta + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/research/research_client/company_products/get_company_products_parameters.go b/api/research/research_client/company_products/get_company_products_parameters.go index f0a62fc..4265d2b 100644 --- a/api/research/research_client/company_products/get_company_products_parameters.go +++ b/api/research/research_client/company_products/get_company_products_parameters.go @@ -66,6 +66,12 @@ GetCompanyProductsParams contains all the parameters to send to the API endpoint */ type GetCompanyProductsParams struct { + /* AccountID. + + Record Id of an Account + */ + AccountID *string + /* Active. Only retrieve active records? @@ -153,6 +159,17 @@ func (o *GetCompanyProductsParams) SetHTTPClient(client *http.Client) { o.HTTPClient = client } +// WithAccountID adds the accountID to the get company products params +func (o *GetCompanyProductsParams) WithAccountID(accountID *string) *GetCompanyProductsParams { + o.SetAccountID(accountID) + return o +} + +// SetAccountID adds the accountId to the get company products params +func (o *GetCompanyProductsParams) SetAccountID(accountID *string) { + o.AccountID = accountID +} + // WithActive adds the active to the get company products params func (o *GetCompanyProductsParams) WithActive(active *bool) *GetCompanyProductsParams { o.SetActive(active) @@ -216,6 +233,23 @@ func (o *GetCompanyProductsParams) WriteToRequest(r runtime.ClientRequest, reg s } var res []error + if o.AccountID != nil { + + // query param accountId + var qrAccountID string + + if o.AccountID != nil { + qrAccountID = *o.AccountID + } + qAccountID := qrAccountID + if qAccountID != "" { + + if err := r.SetQueryParam("accountId", qAccountID); err != nil { + return err + } + } + } + if o.Active != nil { // query param active diff --git a/api/research/research_client/financial_statements/get_financial_statements_parameters.go b/api/research/research_client/financial_statements/get_financial_statements_parameters.go index a778596..8003002 100644 --- a/api/research/research_client/financial_statements/get_financial_statements_parameters.go +++ b/api/research/research_client/financial_statements/get_financial_statements_parameters.go @@ -66,6 +66,12 @@ GetFinancialStatementsParams contains all the parameters to send to the API endp */ type GetFinancialStatementsParams struct { + /* AccountID. + + Record Id of an Account + */ + AccountID *string + /* Active. Only retrieve active records? @@ -147,6 +153,17 @@ func (o *GetFinancialStatementsParams) SetHTTPClient(client *http.Client) { o.HTTPClient = client } +// WithAccountID adds the accountID to the get financial statements params +func (o *GetFinancialStatementsParams) WithAccountID(accountID *string) *GetFinancialStatementsParams { + o.SetAccountID(accountID) + return o +} + +// SetAccountID adds the accountId to the get financial statements params +func (o *GetFinancialStatementsParams) SetAccountID(accountID *string) { + o.AccountID = accountID +} + // WithActive adds the active to the get financial statements params func (o *GetFinancialStatementsParams) WithActive(active *bool) *GetFinancialStatementsParams { o.SetActive(active) @@ -199,6 +216,23 @@ func (o *GetFinancialStatementsParams) WriteToRequest(r runtime.ClientRequest, r } var res []error + if o.AccountID != nil { + + // query param accountId + var qrAccountID string + + if o.AccountID != nil { + qrAccountID = *o.AccountID + } + qAccountID := qrAccountID + if qAccountID != "" { + + if err := r.SetQueryParam("accountId", qAccountID); err != nil { + return err + } + } + } + if o.Active != nil { // query param active diff --git a/api/research/research_client/research_client.go b/api/research/research_client/research_client.go index 9bd3b37..e744dc4 100644 --- a/api/research/research_client/research_client.go +++ b/api/research/research_client/research_client.go @@ -14,7 +14,6 @@ import ( httptransport "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" - "code.tnxs.net/vernonkeenan/lib/api/research/research_client/companies" "code.tnxs.net/vernonkeenan/lib/api/research/research_client/company_products" "code.tnxs.net/vernonkeenan/lib/api/research/research_client/factors" "code.tnxs.net/vernonkeenan/lib/api/research/research_client/financial_statements" @@ -67,7 +66,6 @@ func New(transport runtime.ClientTransport, formats strfmt.Registry) *Research { cli := new(Research) cli.Transport = transport - cli.Companies = companies.New(transport, formats) cli.CompanyProducts = company_products.New(transport, formats) cli.Factors = factors.New(transport, formats) cli.FinancialStatements = financial_statements.New(transport, formats) @@ -120,8 +118,6 @@ func (cfg *TransportConfig) WithSchemes(schemes []string) *TransportConfig { // Research is a client for research type Research struct { - Companies companies.ClientService - CompanyProducts company_products.ClientService Factors factors.ClientService @@ -144,7 +140,6 @@ type Research struct { // SetTransport changes the transport on the client and all its subresources func (c *Research) SetTransport(transport runtime.ClientTransport) { c.Transport = transport - c.Companies.SetTransport(transport) c.CompanyProducts.SetTransport(transport) c.Factors.SetTransport(transport) c.FinancialStatements.SetTransport(transport) diff --git a/api/research/research_models/company.go b/api/research/research_models/company.go deleted file mode 100644 index 6ac7ca1..0000000 --- a/api/research/research_models/company.go +++ /dev/null @@ -1,524 +0,0 @@ -// 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 research_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" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// Company company -// -// swagger:model Company -type Company struct { - - // Account Number - AccountNumber string `json:"AccountNumber,omitempty"` - - // Account Source - AccountSource string `json:"AccountSource,omitempty"` - - // Annual Revenue - AnnualRevenue string `json:"AnnualRevenue,omitempty"` - - // cloud revenue total - CloudRevenueTotal float64 `json:"CloudRevenueTotal,omitempty"` - - // The type of cloud company - CloudType string `json:"CloudType,omitempty"` - - // The year company started cloud revenue - CloudYear string `json:"CloudYear,omitempty"` - - // company products - CompanyProducts *CompanyCompanyProducts `json:"CompanyProducts,omitempty"` - - // Created By User ID - CreatedByID string `json:"CreatedByID,omitempty"` - - // Created Date - CreatedDate string `json:"CreatedDate,omitempty"` - - // Crunchbase URL - CrunchbaseURL string `json:"CrunchbaseURL,omitempty"` - - // Description - Description string `json:"Description,omitempty"` - - // e i n - EIN string `json:"EIN,omitempty"` - - // Earnings Call Date - EarningsCall string `json:"EarningsCall,omitempty"` - - // Main Account Email - Email string `json:"Email,omitempty"` - - // The amount of equity EquityFunding - EquityFunding float64 `json:"EquityFunding,omitempty"` - - // Company Facebook URL - Facebook string `json:"Facebook,omitempty"` - - // Fax - Fax string `json:"Fax,omitempty"` - - // Date company founded - FoundedDate string `json:"FoundedDate,omitempty"` - - // Record Id - ID string `json:"ID,omitempty"` - - // IPO Date - IPODate string `json:"IPODate,omitempty"` - - // image alt text - ImageAltText string `json:"ImageAltText,omitempty"` - - // image URL - ImageURL string `json:"ImageURL,omitempty"` - - // Industries - Industries string `json:"Industries,omitempty"` - - // Industry - Industry string `json:"Industry,omitempty"` - - // industry companies - IndustryCompanies *CompanyIndustryCompanies `json:"IndustryCompanies,omitempty"` - - // Last Modified By User ID - LastModifiedByID string `json:"LastModifiedByID,omitempty"` - - // Last Modified Date - LastModifiedDate string `json:"LastModifiedDate,omitempty"` - - // Company LinkedIn URL - LinkedIn string `json:"LinkedIn,omitempty"` - - // listing address - ListingAddress *Address `json:"ListingAddress,omitempty"` - - // Headquarters Location Description - Location string `json:"Location,omitempty"` - - // Company Logo URL - Logo string `json:"Logo,omitempty"` - - // Market Capitalization - MarketCapitalization float64 `json:"MarketCapitalization,omitempty"` - - // Name - Name string `json:"Name,omitempty"` - - // Number of Investments - NumberInvestments float64 `json:"NumberInvestments,omitempty"` - - // Number Of Employees - NumberOfEmployees string `json:"NumberOfEmployees,omitempty"` - - // Owner ID - OwnerID string `json:"OwnerID,omitempty"` - - // Ownership - Ownership string `json:"Ownership,omitempty"` - - // Parent ID - ParentID string `json:"ParentID,omitempty"` - - // Phone - Phone string `json:"Phone,omitempty"` - - // Publish this record? - Publish bool `json:"Publish,omitempty"` - - // Sic - SIC string `json:"SIC,omitempty"` - - // Sic Description - SICDesc string `json:"SICDesc,omitempty"` - - // A Salesforce-First company? - SalesforceFirst bool `json:"SalesforceFirst,omitempty"` - - // Site - Site string `json:"Site,omitempty"` - - // Slug - Slug string `json:"Slug,omitempty"` - - // Company tagline - TagLine string `json:"TagLine,omitempty"` - - // Ticker Symbol - TickerSymbol string `json:"TickerSymbol,omitempty"` - - // Twitter URL - Twitter string `json:"Twitter,omitempty"` - - // Type - Type string `json:"Type,omitempty"` - - // Website - Website string `json:"Website,omitempty"` - - // Year Started - YearStarted string `json:"YearStarted,omitempty"` -} - -// Validate validates this company -func (m *Company) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateCompanyProducts(formats); err != nil { - res = append(res, err) - } - - if err := m.validateIndustryCompanies(formats); err != nil { - res = append(res, err) - } - - if err := m.validateListingAddress(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *Company) validateCompanyProducts(formats strfmt.Registry) error { - if swag.IsZero(m.CompanyProducts) { // not required - return nil - } - - if m.CompanyProducts != nil { - if err := m.CompanyProducts.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("CompanyProducts") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("CompanyProducts") - } - return err - } - } - - return nil -} - -func (m *Company) validateIndustryCompanies(formats strfmt.Registry) error { - if swag.IsZero(m.IndustryCompanies) { // not required - return nil - } - - if m.IndustryCompanies != nil { - if err := m.IndustryCompanies.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("IndustryCompanies") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("IndustryCompanies") - } - return err - } - } - - return nil -} - -func (m *Company) validateListingAddress(formats strfmt.Registry) error { - if swag.IsZero(m.ListingAddress) { // not required - return nil - } - - if m.ListingAddress != nil { - if err := m.ListingAddress.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("ListingAddress") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("ListingAddress") - } - return err - } - } - - return nil -} - -// ContextValidate validate this company based on the context it is used -func (m *Company) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateCompanyProducts(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateIndustryCompanies(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateListingAddress(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *Company) contextValidateCompanyProducts(ctx context.Context, formats strfmt.Registry) error { - - if m.CompanyProducts != nil { - if err := m.CompanyProducts.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("CompanyProducts") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("CompanyProducts") - } - return err - } - } - - return nil -} - -func (m *Company) contextValidateIndustryCompanies(ctx context.Context, formats strfmt.Registry) error { - - if m.IndustryCompanies != nil { - if err := m.IndustryCompanies.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("IndustryCompanies") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("IndustryCompanies") - } - return err - } - } - - return nil -} - -func (m *Company) contextValidateListingAddress(ctx context.Context, formats strfmt.Registry) error { - - if m.ListingAddress != nil { - if err := m.ListingAddress.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("ListingAddress") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("ListingAddress") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *Company) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *Company) UnmarshalBinary(b []byte) error { - var res Company - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} - -// CompanyCompanyProducts Company Products -// -// swagger:model CompanyCompanyProducts -type CompanyCompanyProducts struct { - - // items - Items *CompanyProduct `json:"items,omitempty"` -} - -// Validate validates this company company products -func (m *CompanyCompanyProducts) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateItems(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *CompanyCompanyProducts) validateItems(formats strfmt.Registry) error { - if swag.IsZero(m.Items) { // not required - return nil - } - - if m.Items != nil { - if err := m.Items.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("CompanyProducts" + "." + "items") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("CompanyProducts" + "." + "items") - } - return err - } - } - - return nil -} - -// ContextValidate validate this company company products based on the context it is used -func (m *CompanyCompanyProducts) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateItems(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *CompanyCompanyProducts) contextValidateItems(ctx context.Context, formats strfmt.Registry) error { - - if m.Items != nil { - if err := m.Items.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("CompanyProducts" + "." + "items") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("CompanyProducts" + "." + "items") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *CompanyCompanyProducts) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *CompanyCompanyProducts) UnmarshalBinary(b []byte) error { - var res CompanyCompanyProducts - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} - -// CompanyIndustryCompanies Industry Companies -// -// swagger:model CompanyIndustryCompanies -type CompanyIndustryCompanies struct { - - // items - Items *IndustryCompany `json:"items,omitempty"` -} - -// Validate validates this company industry companies -func (m *CompanyIndustryCompanies) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateItems(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *CompanyIndustryCompanies) validateItems(formats strfmt.Registry) error { - if swag.IsZero(m.Items) { // not required - return nil - } - - if m.Items != nil { - if err := m.Items.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("IndustryCompanies" + "." + "items") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("IndustryCompanies" + "." + "items") - } - return err - } - } - - return nil -} - -// ContextValidate validate this company industry companies based on the context it is used -func (m *CompanyIndustryCompanies) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateItems(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *CompanyIndustryCompanies) contextValidateItems(ctx context.Context, formats strfmt.Registry) error { - - if m.Items != nil { - if err := m.Items.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("IndustryCompanies" + "." + "items") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("IndustryCompanies" + "." + "items") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *CompanyIndustryCompanies) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *CompanyIndustryCompanies) UnmarshalBinary(b []byte) error { - var res CompanyIndustryCompanies - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/api/research/research_models/company_product.go b/api/research/research_models/company_product.go index fd3c18d..3ded8bf 100644 --- a/api/research/research_models/company_product.go +++ b/api/research/research_models/company_product.go @@ -11,6 +11,7 @@ package research_models import ( "context" + "strconv" "github.com/go-openapi/errors" "github.com/go-openapi/strfmt" @@ -46,8 +47,8 @@ type CompanyProduct struct { // Image URL ImageURL string `json:"ImageURL,omitempty"` - // industries - Industries *CompanyProductIndustries `json:"Industries,omitempty"` + // Industries + Industries []*Industry `json:"Industries"` // Last Modified By User ID LastModifiedByID string `json:"LastModifiedByID,omitempty"` @@ -99,15 +100,22 @@ func (m *CompanyProduct) validateIndustries(formats strfmt.Registry) error { return nil } - if m.Industries != nil { - if err := m.Industries.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("Industries") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("Industries") - } - return err + for i := 0; i < len(m.Industries); i++ { + if swag.IsZero(m.Industries[i]) { // not required + continue } + + if m.Industries[i] != nil { + if err := m.Industries[i].Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("Industries" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("Industries" + "." + strconv.Itoa(i)) + } + return err + } + } + } return nil @@ -129,15 +137,19 @@ func (m *CompanyProduct) ContextValidate(ctx context.Context, formats strfmt.Reg func (m *CompanyProduct) contextValidateIndustries(ctx context.Context, formats strfmt.Registry) error { - if m.Industries != nil { - if err := m.Industries.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("Industries") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("Industries") + for i := 0; i < len(m.Industries); i++ { + + if m.Industries[i] != nil { + if err := m.Industries[i].ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("Industries" + "." + strconv.Itoa(i)) + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("Industries" + "." + strconv.Itoa(i)) + } + return err } - return err } + } return nil @@ -160,93 +172,3 @@ func (m *CompanyProduct) UnmarshalBinary(b []byte) error { *m = res return nil } - -// CompanyProductIndustries Industries -// -// swagger:model CompanyProductIndustries -type CompanyProductIndustries struct { - - // items - Items *Industry `json:"items,omitempty"` -} - -// Validate validates this company product industries -func (m *CompanyProductIndustries) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateItems(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *CompanyProductIndustries) validateItems(formats strfmt.Registry) error { - if swag.IsZero(m.Items) { // not required - return nil - } - - if m.Items != nil { - if err := m.Items.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("Industries" + "." + "items") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("Industries" + "." + "items") - } - return err - } - } - - return nil -} - -// ContextValidate validate this company product industries based on the context it is used -func (m *CompanyProductIndustries) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateItems(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *CompanyProductIndustries) contextValidateItems(ctx context.Context, formats strfmt.Registry) error { - - if m.Items != nil { - if err := m.Items.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("Industries" + "." + "items") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("Industries" + "." + "items") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *CompanyProductIndustries) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *CompanyProductIndustries) UnmarshalBinary(b []byte) error { - var res CompanyProductIndustries - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/api/research/research_models/industry.go b/api/research/research_models/industry.go index 51d0873..caa5388 100644 --- a/api/research/research_models/industry.go +++ b/api/research/research_models/industry.go @@ -23,9 +23,6 @@ import ( // swagger:model Industry type Industry struct { - // The AccountIDs of the Companies in this Industry - Companies []string `json:"Companies"` - // The list of Products in this industry CompanyProducts []*CompanyProduct `json:"CompanyProducts"` diff --git a/swagger/crm-vernonkeenan.yaml b/swagger/crm-vernonkeenan.yaml index f5c3a42..387bfdf 100644 --- a/swagger/crm-vernonkeenan.yaml +++ b/swagger/crm-vernonkeenan.yaml @@ -1,6 +1,6 @@ swagger: "2.0" info: - version: 0.3.0 + version: 0.3.4 title: "crm" description: "Customer Information Microservice" termsOfService: "https://salesforcedevops.net/terms/" @@ -157,28 +157,6 @@ responses: type: string schema: $ref: "#/definitions/AssetResponse" - AssetObservableResponse: - description: Response with an array of Asset objects - headers: - Access-Control-Allow-Origin: - type: string - Cache-Control: - type: string - schema: - items: - $ref: "#/definitions/Asset" - type: array - AccountObservableResponse: - description: Response with an array of Account objects - headers: - Access-Control-Allow-Origin: - type: string - Cache-Control: - type: string - schema: - items: - $ref: "#/definitions/Account" - type: array Conflict: description: Conflict headers: @@ -195,17 +173,6 @@ responses: type: string schema: $ref: "#/definitions/ContactResponse" - ContactObservableResponse: - description: Response with an array of Contact objects - headers: - Access-Control-Allow-Origin: - type: string - Cache-Control: - type: string - schema: - items: - $ref: "#/definitions/Contact" - type: array ContractResponse: description: Response with an array of Contract objects headers: @@ -215,17 +182,6 @@ responses: type: string schema: $ref: "#/definitions/ContractResponse" - ContractObservableResponse: - description: Response with an array of Contract objects - headers: - Access-Control-Allow-Origin: - type: string - Cache-Control: - type: string - schema: - items: - $ref: "#/definitions/Contract" - type: array LeadResponse: description: Response with an array of Lead objects headers: @@ -235,17 +191,6 @@ responses: type: string schema: $ref: "#/definitions/LeadResponse" - LeadObservableResponse: - description: Response with an array of Lead objects - headers: - Access-Control-Allow-Origin: - type: string - Cache-Control: - type: string - schema: - items: - $ref: "#/definitions/Lead" - type: array DeleteResponse: description: Response with Message Objects with Delete Status headers: @@ -288,23 +233,6 @@ responses: type: string schema: $ref: "#/definitions/Error" - CORSResponse: - description: CORS OPTIONS response - headers: - Access-Control-Allow-Origin: - type: string - Access-Control-Allow-Headers: - type: string - Access-Control-Allow-Methods: - type: string - Access-Control-Expose-Headers: - type: string - Access-Control-Max-Age: - type: string - Access-Control-Allow-Credentials: - type: string - Cache-Control: - type: string paths: /accounts: delete: @@ -745,14 +673,6 @@ paths: summary: Get a list of contacts tags: - Leads - options: - description: CORS support - operationId: leadOptions - responses: - "200": - $ref: "#/responses/CORSResponse" - tags: - - cors post: description: Lead records to be added operationId: postLeads @@ -800,175 +720,12 @@ paths: tags: - Leads definitions: - Account: - properties: - ID: - description: Account Id - type: string - AccountNumber: - description: Account Number - type: string - AccountSource: - description: The marketing origin of this account - type: string - Active: - type: integer - AnnualRevenue: - description: Annual Revenue Estimate - format: double - type: number - BillingAddress: - $ref: "#/definitions/Address" - BillingContactID: - description: Contact ID - type: string - CloseDate: - description: Close Date - type: string - CloudRevenueTotal: - type: number - CloudType: - description: The type of cloud company - type: string - CloudYear: - description: The year company started cloud revenue - type: string - CreatedByID: - description: Created By User ID - type: string - CreatedDate: - description: Created Date - type: string - CrunchbaseURL: - description: Crunchbase URL - type: string - Description: - description: Description of the account - type: string - EIN: - type: string - EarningsCall: - description: Earnings Call Date - type: string - Email: - description: Main Account Email - type: string - EquityFunding: - description: The amount of equity EquityFunding - type: number - Facebook: - description: Company Facebook URL - type: string - Fax: - description: Fax number - type: string - FoundedDate: - description: Date company founded - type: string - IPODate: - description: IPO Date - type: string - ImageAltText: - type: string - ImageURL: - type: string - Industries: - description: Industries - type: string - Industry: - description: Industry - type: string - LastModifiedByID: - description: Last Modified By User ID - type: string - LastModifiedDate: - description: Last Modified Date - type: string - LinkedIn: - description: Company LinkedIn URL - type: string - Location: - description: Headquarters Location Description - type: string - Logo: - description: Company Logo URL - type: string - MarketCapitalization: - description: Market Capitalization - type: number - Name: - description: Account Name - type: string - NumberInvestments: - description: Number of Investments - type: number - NumberOfEmployees: - description: Employee Count Estimate - format: int64 - type: number - OwnerID: - description: Account Owner User ID - type: string - Ownership: - description: Ownership - type: string - ParentID: - description: Parent Account - type: string - Phone: - description: Phone - type: string - Publish: - description: Publish this record? - type: boolean - SIC: - description: SIC Code - type: string - SICDesc: - description: SIC Description - type: string - SalesforceFirst: - description: A Salesforce-First company? - type: boolean - ShippingAddress: - $ref: "#/definitions/Address" - ShippingContactID: - description: Shipping Contact ID - type: string - Site: - description: Account Site - type: string - Slug: - description: Slug - type: string - TagLine: - description: Company tagline - type: string - TenantID: - description: Tenant Identifier - type: string - TickerSymbol: - description: Ticker Symbol - type: string - Twitter: - description: Twitter URL - type: string - Type: - description: Type - type: string - Website: - description: Website - type: string - YearStarted: - description: Year Started - type: string - type: object AccountRequest: description: An array of Account objects with Contacts properties: Data: items: - $ref: "#/definitions/Account" + $ref: "../../lib/swagger/defs/account.yaml#/Account" type: array type: object AccountResponse: @@ -976,181 +733,17 @@ definitions: properties: Data: items: - $ref: "#/definitions/Account" + $ref: "../../lib/swagger/defs/account.yaml#/Account" type: array Meta: - $ref: "#/definitions/ResponseMeta" - type: object - Address: - properties: - City: - description: City - type: string - Country: - description: Country full name - type: string - CountryCode: - description: Country Code - type: string - PostalCode: - description: Postal Code - type: string - State: - description: State full name - type: string - StateCode: - description: State Code - type: string - Street: - description: Street number and name - type: string - type: object - Asset: - properties: - ID: - description: Record Id - type: string - AccountID: - description: Account - type: string - Address: - $ref: "#/definitions/Address" - AssetLevel: - description: Asset Level - type: number - AssetProvidedByID: - description: Asset Provided By - type: string - AssetServicedByID: - description: Asset Serviced By - type: string - CompanyProductID: - description: Company Product - type: string - ConsequenceOfFailure: - description: Consequence Of Failure - type: string - ContactID: - description: Contact - type: string - CreatedByID: - description: Created By - type: string - CreatedDate: - description: Created Date - type: string - CurrentAmount: - description: Current Amount - type: number - CurrentLifecycleEndDate: - description: Current Lifecycle End Date - type: string - CurrentMrr: - description: Current Monthly Recurring Revenue - type: number - CurrentQuantity: - description: Current Quantity - type: number - Description: - description: Description - type: string - DigitalAssetStatus: - description: Digital Asset Status - type: string - ExternalIdentifier: - description: External Id - type: string - HasLifecycleManagement: - description: Has Lifecycle Management - type: boolean - InstallDate: - description: Install Date - type: string - IsCompetitorProduct: - description: Competitor Asset - type: boolean - IsInternal: - description: Internal Asset - type: boolean - LastModifiedByID: - description: Last Modified By - type: string - LastModifiedDate: - description: Last Modified Date - type: string - LocationID: - description: Location - type: string - MIMEType: - description: MIME Type - type: string - ManufactureDate: - description: Manufacture Date - type: string - Name: - description: Asset Name - type: string - ParentID: - description: Parent Asset - type: string - Price: - description: Price - type: number - Product2ID: - description: Product - type: string - ProductCode: - description: Product Code - type: string - ProductDescription: - description: Product Description - type: string - ProductFamily: - description: Product Family - type: string - PurchaseDate: - description: Purchase Date - type: string - Quantity: - description: Quantity - type: number - RootAssetID: - description: Root Asset - type: string - SerialNumber: - description: Serial Number - type: string - Status: - description: Status - type: string - StatusReason: - description: Status Reason - type: string - StockKeepingUnit: - description: Product SKU - type: string - TenantID: - description: Tenant ID - type: string - TotalLifecycleAmount: - description: Total Lifecycle Amount - type: number - Type: - description: Type - type: string - URL: - description: URL - type: string - UsageEndDate: - description: Usage End Date - type: string + $ref: "../../lib/swagger/defs/response-meta.yaml#/ResponseMeta" type: object AssetRequest: description: An array of Asset objects with Contacts properties: Data: items: - $ref: "#/definitions/Asset" + $ref: "../../lib/swagger/defs/asset.yaml#/Asset" type: array type: object AssetResponse: @@ -1158,456 +751,66 @@ definitions: properties: Data: items: - $ref: "#/definitions/Asset" + $ref: "../../lib/swagger/defs/asset.yaml#/Asset" type: array Meta: - $ref: "#/definitions/ResponseMeta" - type: object - Contact: - properties: - ID: - description: Record Id - type: string - AccountID: - description: The primary account ID of this contact - type: string - AssistantName: - description: Assistant Name - type: string - AssistantPhone: - description: Asst. Phone - type: string - BirthDate: - description: Birthdate - type: string - CrunchbaseURL: - type: string - CreatedByID: - description: Created By User ID - type: string - CreatedDate: - description: Created Date - type: string - Department: - description: Department - type: string - Description: - description: Description - type: string - DoNotCall: - description: Do Not Call? - type: boolean - Email: - description: Email address - type: string - EmailBounceDate: - description: Email Bounce Date - type: string - EmailBouncedReason: - description: Email Bounce Reason - type: string - Fax: - description: Fax Number - type: string - FirstName: - description: First Name - type: string - HasOptedOutOfEmail: - description: Email Opt Out - type: boolean - HasOptedOutOfFax: - description: Fax Opt Out - type: boolean - HomePhone: - description: Home Phone - type: string - IsEmailBounced: - description: Does this contact have bounced emails? - type: boolean - LastModifiedByID: - description: Last Modified By User ID - type: string - LastModifiedDate: - description: Last Modified Date - type: string - LastName: - description: Last Name - type: string - LeadSource: - description: Lead Source - type: string - LinkedIn: - description: LinkedIn Page - type: string - MailingAddress: - $ref: "#/definitions/Address" - MobilePhone: - description: Mobile Phone - type: string - Name: - description: Full Name - type: string - NumberInvestments: - type: number - OtherAddress: - $ref: "#/definitions/Address" - OtherPhone: - description: Other Phone - type: string - OwnerID: - description: The User ID of the user who owns this Contact - type: string - PersonalEmail: - description: Personal Email Address for this Contact - type: string - Phone: - description: Phone Number - type: string - PhotoURL: - description: URL of a photograph of this User - type: string - ReportsToID: - description: Reports To - type: string - Salutation: - description: Salutation - type: string - Slug: - description: Slug - type: string - TenantID: - description: Tenant Identifier - type: string - Title: - description: Contact Title - type: string - Twitter: - description: Twitter URL - type: string + $ref: "../../lib/swagger/defs/response-meta.yaml#/ResponseMeta" type: object ContactRequest: properties: Data: items: - $ref: "#/definitions/Contact" + $ref: "../../lib/swagger/defs/contact.yaml#/Contact" type: array type: object ContactResponse: properties: Data: items: - $ref: "#/definitions/Contact" + $ref: "../../lib/swagger/defs/contact.yaml#/Contact" type: array Meta: - $ref: "#/definitions/ResponseMeta" - type: object - Contract: - properties: - ID: - description: Record Id - type: string - AccountID: - description: Account - type: string - ActivatedByID: - description: Activated By - type: string - ActivatedDate: - description: Activated Date - type: string - BillingAddress: - $ref: "#/definitions/Address" - description: Billing Address - BillingContactID: - description: Billing Contact - type: string - CompanySignedDate: - description: Company Signed Date - type: string - CompanySignedID: - description: Company Signed By - type: string - ContractNumber: - description: Contract Number - type: string - ContractTerm: - description: Contract Term (months) - type: number - CreatedByID: - description: Created By User ID - type: string - CreatedDate: - description: Created Date - type: string - CustomerSignedDate: - description: Customer Signed Date - type: string - CustomerSignedID: - description: Customer Signed By - type: string - CustomerSignedTitle: - description: Customer Signed Title - type: string - DefaultEndUserID: - description: End User - type: string - Description: - description: Description - type: string - EndDate: - description: Contract End Date - type: string - HourlyRate: - description: Hourly Rate - type: number - LastModifiedByID: - description: Last Modified By User ID - type: string - LastModifiedDate: - description: Last Modified Date - type: string - Name: - description: Contract Name - type: string - PaymentMethodID: - description: Payment Method - type: string - PaymentTerms: - description: Payment Terms - type: string - Perpetual: - description: Perpetual Agreement? - type: boolean - ShippingAddress: - $ref: "#/definitions/Address" - description: Shipping Address - ShippingContactID: - description: Shipping Contact - type: string - StartDate: - description: Contract Start Date - type: string - Status: - description: Status - type: string - TenantID: - description: Tenant Identifier - type: string + $ref: "../../lib/swagger/defs/response-meta.yaml#/ResponseMeta" type: object ContractRequest: properties: Data: items: - $ref: "#/definitions/Contract" + $ref: "../../lib/swagger/defs/contract.yaml#/Contract" type: array type: object ContractResponse: properties: Data: items: - $ref: "#/definitions/Contract" + $ref: "../../lib/swagger/defs/contract.yaml#/Contract" type: array Meta: - $ref: "#/definitions/ResponseMeta" + $ref: "../../lib/swagger/defs/response-meta.yaml#/ResponseMeta" type: object DeleteResponse: - properties: - Data: - items: - $ref: "#/definitions/Message" - type: array - Meta: - $ref: "#/definitions/ResponseMeta" - type: object + $ref: "../../lib/swagger/defs/delete-response.yaml#/DeleteResponse" Error: - properties: - Code: - format: int64 - type: integer - Fields: - type: string - Message: - type: string - type: object + $ref: "../../lib/swagger/defs/error.yaml#/Error" InvalidError: - allOf: - - $ref: "#/definitions/Error" - - properties: - details: - items: - type: string - type: array - type: object - Lead: - properties: - Address: - $ref: "#/definitions/Address" - Company: - description: Company - type: string - CreatedByID: - description: Created By User ID - type: string - CreatedDate: - description: Created Date - type: string - Description: - description: Description - type: string - Email: - description: Email - type: string - FirstName: - description: First Name - type: string - ID: - description: Record Id - type: string - LastModifiedByID: - description: Last Modified By User ID - type: string - LastModifiedDate: - description: Last Modified Date - type: string - LastName: - description: Last Name - type: string - MobilePhone: - description: Mobile - type: string - Name: - description: Name - type: string - OwnerId: - description: LeadBasic Owner - type: string - PartnerAccountId: - description: Partner Account - type: string - Phone: - description: Phone - type: string - ProductID: - description: Product - type: string - RefererURL: - description: referer_url - type: string - Status: - description: LeadBasic Status - type: string - TenantID: - description: Tenant Identifier - type: string - Title: - description: Title - type: string - Type: - description: Type - type: string - UTMCampaign: - description: utm_campaign - type: string - UTMContent: - description: utm_content - type: string - UTMMedium: - description: utm_medium - type: string - UTMSource: - description: utm_source - type: string - UTMTerm: - description: utm_term - type: string - Website: - description: Website - type: string - type: object + $ref: "../../lib/swagger/defs/invalid-error.yaml#/InvalidError" LeadRequest: properties: Data: items: - $ref: "#/definitions/Lead" + $ref: "../../lib/swagger/defs/lead.yaml#/Lead" type: array type: object LeadResponse: properties: Data: items: - $ref: "#/definitions/Lead" + $ref: "../../lib/swagger/defs/lead.yaml#/Lead" type: array Meta: - $ref: "#/definitions/ResponseMeta" + $ref: "../../lib/swagger/defs/response-meta.yaml#/ResponseMeta" type: object Message: - properties: - message: - type: string - ref: - type: string - status: - format: int64 - type: number - type: object - Pagination: - properties: - limit: - format: int64 - type: number - pagesize: - format: int64 - type: number - poffset: - format: int64 - type: integer - setsize: - format: int64 - type: number - type: object + $ref: "../../lib/swagger/defs/message.yaml#/Message" RequestMeta: - properties: - TaxnexusAccount: - description: Account Number of the Reseller or OEM - type: string - required: - - TaxnexusAccount - type: object - ResponseMeta: - properties: - Contact: - description: Microservice Contact Info - type: string - Copyright: - description: Copyright Info - type: string - License: - description: License Information and Restrictions - type: string - OperationID: - description: Operation ID - type: string - Pagination: - $ref: "#/definitions/Pagination" - RequestIP: - description: Request IP Address - type: string - RequestType: - description: Request Type - type: string - RequestURL: - description: Request URL - type: string - ServerInfo: - description: Data Server Info - type: string - ServerResponseTime: - description: Data Server Response Time (ms) - type: string - ServerTimestamp: - description: Backend Server Timestamp - type: string - TaxnexusAccount: - description: Account Number used for recording transactions - type: string - type: object + $ref: "../../lib/swagger/defs/request-meta.yaml#/RequestMeta" diff --git a/swagger/defs/account.yaml b/swagger/defs/account.yaml new file mode 100644 index 0000000..b5f43f2 --- /dev/null +++ b/swagger/defs/account.yaml @@ -0,0 +1,163 @@ +Account: + properties: + ID: + description: Account Id + type: string + AccountNumber: + description: Account Number + type: string + AccountSource: + description: The marketing origin of this account + type: string + Active: + type: boolean + AnnualRevenue: + description: Annual Revenue Estimate + format: double + type: number + BillingAddress: + $ref: "./address.yaml#/Address" + BillingContactID: + description: Contact ID + type: string + CloseDate: + description: Close Date + type: string + CloudRevenueTotal: + type: number + CloudType: + description: The type of cloud company + type: string + CloudYear: + description: The year company started cloud revenue + type: string + CreatedByID: + description: Created By User ID + type: string + CreatedDate: + description: Created Date + type: string + CrunchbaseURL: + description: Crunchbase URL + type: string + Description: + description: Description of the account + type: string + EIN: + type: string + EarningsCall: + description: Earnings Call Date + type: string + Email: + description: Main Account Email + type: string + EquityFunding: + description: The amount of equity EquityFunding + type: number + Facebook: + description: Company Facebook URL + type: string + Fax: + description: Fax number + type: string + FoundedDate: + description: Date company founded + type: string + IPODate: + description: IPO Date + type: string + ImageAltText: + type: string + ImageURL: + type: string + Industries: + description: Industries + type: string + Industry: + description: Industry + type: string + LastModifiedByID: + description: Last Modified By User ID + type: string + LastModifiedDate: + description: Last Modified Date + type: string + LinkedIn: + description: Company LinkedIn URL + type: string + Location: + description: Headquarters Location Description + type: string + Logo: + description: Company Logo URL + type: string + MarketCapitalization: + description: Market Capitalization + type: number + Name: + description: Account Name + type: string + NumberInvestments: + description: Number of Investments + type: number + NumberOfEmployees: + description: Employee Count Estimate + format: int64 + type: number + OwnerID: + description: Account Owner User ID + type: string + Ownership: + description: Ownership + type: string + ParentID: + description: Parent Account + type: string + Phone: + description: Phone + type: string + Publish: + description: Publish this record? + type: boolean + SIC: + description: SIC Code + type: string + SICDesc: + description: SIC Description + type: string + SalesforceFirst: + description: A Salesforce-First company? + type: boolean + ShippingAddress: + $ref: "./address.yaml#/Address" + ShippingContactID: + description: Shipping Contact ID + type: string + Site: + description: Account Site + type: string + Slug: + description: Slug + type: string + TagLine: + description: Company tagline + type: string + TenantID: + description: Tenant Identifier + type: string + TickerSymbol: + description: Ticker Symbol + type: string + Twitter: + description: Twitter URL + type: string + Type: + description: Type + type: string + Website: + description: Website + type: string + YearStarted: + description: Year Started + type: string + type: object diff --git a/swagger/defs/address.yaml b/swagger/defs/address.yaml new file mode 100644 index 0000000..75e1a13 --- /dev/null +++ b/swagger/defs/address.yaml @@ -0,0 +1,24 @@ +Address: + properties: + City: + description: City + type: string + Country: + description: Country full name + type: string + CountryCode: + description: Country Code + type: string + PostalCode: + description: Postal Code + type: string + State: + description: State full name + type: string + StateCode: + description: State Code + type: string + Street: + description: Street number and name + type: string + type: object diff --git a/swagger/defs/asset.yaml b/swagger/defs/asset.yaml new file mode 100644 index 0000000..e57720f --- /dev/null +++ b/swagger/defs/asset.yaml @@ -0,0 +1,140 @@ +Asset: + properties: + ID: + description: Record Id + type: string + AccountID: + description: Account + type: string + Address: + $ref: "./address.yaml#/Address" + AssetLevel: + description: Asset Level + type: number + AssetProvidedByID: + description: Asset Provided By + type: string + AssetServicedByID: + description: Asset Serviced By + type: string + CompanyProductID: + description: Company Product + type: string + ConsequenceOfFailure: + description: Consequence Of Failure + type: string + ContactID: + description: Contact + type: string + CreatedByID: + description: Created By + type: string + CreatedDate: + description: Created Date + type: string + CurrentAmount: + description: Current Amount + type: number + CurrentLifecycleEndDate: + description: Current Lifecycle End Date + type: string + CurrentMrr: + description: Current Monthly Recurring Revenue + type: number + CurrentQuantity: + description: Current Quantity + type: number + Description: + description: Description + type: string + DigitalAssetStatus: + description: Digital Asset Status + type: string + ExternalIdentifier: + description: External Id + type: string + HasLifecycleManagement: + description: Has Lifecycle Management + type: boolean + InstallDate: + description: Install Date + type: string + IsCompetitorProduct: + description: Competitor Asset + type: boolean + IsInternal: + description: Internal Asset + type: boolean + LastModifiedByID: + description: Last Modified By + type: string + LastModifiedDate: + description: Last Modified Date + type: string + LocationID: + description: Location + type: string + MIMEType: + description: MIME Type + type: string + ManufactureDate: + description: Manufacture Date + type: string + Name: + description: Asset Name + type: string + ParentID: + description: Parent Asset + type: string + Price: + description: Price + type: number + Product2ID: + description: Product + type: string + ProductCode: + description: Product Code + type: string + ProductDescription: + description: Product Description + type: string + ProductFamily: + description: Product Family + type: string + PurchaseDate: + description: Purchase Date + type: string + Quantity: + description: Quantity + type: number + RootAssetID: + description: Root Asset + type: string + SerialNumber: + description: Serial Number + type: string + Status: + description: Status + type: string + StatusReason: + description: Status Reason + type: string + StockKeepingUnit: + description: Product SKU + type: string + TenantID: + description: Tenant ID + type: string + TotalLifecycleAmount: + description: Total Lifecycle Amount + type: number + Type: + description: Type + type: string + URL: + description: URL + type: string + UsageEndDate: + description: Usage End Date + type: string + type: object diff --git a/swagger/defs/company-product.yaml b/swagger/defs/company-product.yaml new file mode 100644 index 0000000..f47c33c --- /dev/null +++ b/swagger/defs/company-product.yaml @@ -0,0 +1,63 @@ +CompanyProduct: + description: A software product or service vended by a Company + properties: + ID: + description: Record Id + type: string + AccountID: + description: ID of the Company that owns this Product + type: string + CreatedByID: + description: Created By User ID + type: string + CreatedDate: + description: Created Date + type: string + Description: + description: Description of product + type: string + FullDescription: + description: Full Description of product + type: string + ImageAltText: + description: Image Alt Text + type: string + ImageURL: + description: Image URL + type: string + Industries: + description: Industries + type: array + items: + $ref: "./industry.yaml#/Industry" + LastModifiedByID: + description: Last Modified By User ID + type: string + LastModifiedDate: + description: Last Modified Date + type: string + Logo: + description: Logo + type: string + Name: + description: Product Name + type: string + ProductVideoID: + description: Product Video ID + type: string + Published: + description: Published + type: boolean + SalesforceSpecific: + description: Salesforce Specific + type: boolean + Slug: + description: Slug + type: string + TagLine: + description: TagLine + type: string + URL: + description: Website + type: string + type: object diff --git a/swagger/defs/company.yaml b/swagger/defs/company.yaml new file mode 100644 index 0000000..8ffafea --- /dev/null +++ b/swagger/defs/company.yaml @@ -0,0 +1,135 @@ +Company: + properties: + ID: + description: Company Id + type: string + AccountNumber: + description: Company Number + type: string + AccountSource: + description: The marketing origin of this Company + type: string + Active: + type: integer + AnnualRevenue: + description: Annual Revenue Estimate + format: double + type: number + ListingAddress: + $ref: "./address.yaml#/Address" + CloudRevenueTotal: + type: number + CloudType: + description: The type of cloud company + type: string + CloudYear: + description: The year company started cloud revenue + type: string + Description: + description: Description of the Company + type: string + EarningsCall: + description: Earnings Call Date + type: string + Email: + description: Main Company Email + type: string + EquityFunding: + description: The amount of equity EquityFunding + type: number + Facebook: + description: Company Facebook URL + type: string + Fax: + description: Fax number + type: string + FoundedDate: + description: Date company founded + type: string + IPODate: + description: IPO Date + type: string + ImageAltText: + type: string + ImageURL: + type: string + Industries: + description: Industries + type: string + Industry: + description: Industry + type: string + LinkedIn: + description: Company LinkedIn URL + type: string + Location: + description: Headquarters Location Description + type: string + Logo: + description: Company Logo URL + type: string + MarketCapitalization: + description: Market Capitalization + type: number + Name: + description: Company Name + type: string + NumberInvestments: + description: Number of Investments + type: number + NumberOfEmployees: + description: Employee Count Estimate + format: int64 + type: number + Ownership: + description: Ownership + type: string + ParentID: + description: Parent Company + type: string + Phone: + description: Phone + type: string + Publish: + description: Publish this record? + type: boolean + SalesforceFirst: + description: A Salesforce-First company? + type: boolean + Slug: + description: Slug + type: string + TagLine: + description: Company tagline + type: string + TickerSymbol: + description: Ticker Symbol + type: string + Twitter: + description: Twitter URL + type: string + Type: + description: Type + type: string + Website: + description: Website + type: string + YearStarted: + description: Year Started + type: string + CompanyProducts: + description: Company Products + type: array + items: + $ref: "./company-product.yaml#/CompanyProduct" + FinancialStatements: + description: Financial Statements + type: array + items: + $ref: "./financial-statement.yaml#/FinancialStatement" + IndustryCompanies: + description: Similar Companies + type: array + items: + $ref: "./industry-company.yaml#/IndustryCompany" + type: object diff --git a/swagger/defs/contact.yaml b/swagger/defs/contact.yaml new file mode 100644 index 0000000..3add907 --- /dev/null +++ b/swagger/defs/contact.yaml @@ -0,0 +1,125 @@ +Contact: + properties: + ID: + description: Record Id + type: string + AccountID: + description: The primary account ID of this contact + type: string + AssistantName: + description: Assistant Name + type: string + AssistantPhone: + description: Asst. Phone + type: string + BirthDate: + description: Birthdate + type: string + CrunchbaseURL: + type: string + CreatedByID: + description: Created By User ID + type: string + CreatedDate: + description: Created Date + type: string + Department: + description: Department + type: string + Description: + description: Description + type: string + DoNotCall: + description: Do Not Call? + type: boolean + Email: + description: Email address + type: string + EmailBounceDate: + description: Email Bounce Date + type: string + EmailBouncedReason: + description: Email Bounce Reason + type: string + Facebook: + description: Facebook Page + type: string + Fax: + description: Fax Number + type: string + FirstName: + description: First Name + type: string + HasOptedOutOfEmail: + description: Email Opt Out + type: boolean + HasOptedOutOfFax: + description: Fax Opt Out + type: boolean + HomePhone: + description: Home Phone + type: string + IsEmailBounced: + description: Does this contact have bounced emails? + type: boolean + LastModifiedByID: + description: Last Modified By User ID + type: string + LastModifiedDate: + description: Last Modified Date + type: string + LastName: + description: Last Name + type: string + LeadSource: + description: Lead Source + type: string + LinkedIn: + description: LinkedIn Page + type: string + MailingAddress: + $ref: "./address.yaml#/Address" + MobilePhone: + description: Mobile Phone + type: string + Name: + description: Full Name + type: string + NumberInvestments: + type: number + OtherAddress: + $ref: "./address.yaml#/Address" + OtherPhone: + description: Other Phone + type: string + OwnerID: + description: The User ID of the user who owns this Contact + type: string + PersonalEmail: + description: Personal Email Address for this Contact + type: string + Phone: + description: Phone Number + type: string + PhotoURL: + description: URL of a photograph of this User + type: string + ReportsToID: + description: Reports To + type: string + Salutation: + description: Salutation + type: string + Slug: + description: Slug + type: string + TenantID: + description: Tenant Identifier + type: string + Title: + description: Contact Title + type: string + Twitter: + description: Twitter URL + type: string + type: object diff --git a/swagger/defs/contract.yaml b/swagger/defs/contract.yaml new file mode 100644 index 0000000..fd6f60d --- /dev/null +++ b/swagger/defs/contract.yaml @@ -0,0 +1,96 @@ +Contract: + properties: + AccountID: + description: Account + type: string + ActivatedByID: + description: Activated By + type: string + ActivatedDate: + description: Activated Date + type: string + BillingAddress: + $ref: "./address.yaml#/Address" + description: Billing Address + BillingContactID: + description: Billing Contact + type: string + CompanySignedDate: + description: Company Signed Date + type: string + CompanySignedID: + description: Company Signed By + type: string + ContractNumber: + description: Contract Number + type: string + ContractTerm: + description: Contract Term (months) + type: number + CreatedByID: + description: Created By User ID + type: string + CreatedDate: + description: Created Date + type: string + CustomerSignedDate: + description: Customer Signed Date + type: string + CustomerSignedID: + description: Customer Signed By + type: string + CustomerSignedTitle: + description: Customer Signed Title + type: string + DefaultEndUserID: + description: End User + type: string + Description: + description: Description + type: string + EndDate: + description: Contract End Date + type: string + EndUserID: + description: End User + type: string + HourlyRate: + description: Hourly Rate + type: number + ID: + description: Telnexus Record Id + type: string + LastModifiedByID: + description: Last Modified By User ID + type: string + LastModifiedDate: + description: Last Modified Date + type: string + Name: + description: Contract Name + type: string + PaymentMethodID: + description: Payment Method + type: string + PaymentTerms: + description: Payment Terms + type: string + Perpetual: + description: Perpetual Agreement? + type: boolean + ShippingAddress: + $ref: "./address.yaml#/Address" + description: Shipping Address + ShippingContactID: + description: Shipping Contact + type: string + StartDate: + description: Contract Start Date + type: string + Status: + description: Status + type: string + TenantID: + description: Tenant Identifier + type: string + type: object diff --git a/swagger/defs/database.yaml b/swagger/defs/database.yaml new file mode 100644 index 0000000..f794709 --- /dev/null +++ b/swagger/defs/database.yaml @@ -0,0 +1,43 @@ +Database: + description: A Database provisioned and owned by a Tenant + properties: + Active: + description: Is this database active? + type: boolean + ClusterID: + description: The ID of the Cluster in which this database is deployed + type: string + CreatedByID: + description: Created By + type: string + CreatedDate: + description: Created Date + type: string + DSN: + description: Database connection string + type: string + DatabaseName: + description: The name of the physical database in the cluster + type: string + ID: + description: Record Id + type: string + LastModifiedByID: + description: Last Modified By + type: string + LastModifiedDate: + description: Last Modifed Date + type: string + Microservices: + description: List of microservices implemented by this Database + type: string + Status: + description: The current status of this Tenant + type: string + TenantID: + description: The ID of the tenant who owns this Database + type: string + Type: + description: The type of Database (mysql, etc) + type: string + type: object diff --git a/swagger/defs/delete-response.yaml b/swagger/defs/delete-response.yaml new file mode 100644 index 0000000..9ca1b2a --- /dev/null +++ b/swagger/defs/delete-response.yaml @@ -0,0 +1,9 @@ +DeleteResponse: + properties: + Data: + items: + $ref: "./message.yaml#/Message" + type: array + Meta: + $ref: "./response-meta.yaml#/ResponseMeta" + type: object diff --git a/swagger/defs/error.yaml b/swagger/defs/error.yaml new file mode 100644 index 0000000..4531106 --- /dev/null +++ b/swagger/defs/error.yaml @@ -0,0 +1,10 @@ +Error: + properties: + Code: + format: int64 + type: integer + Fields: + type: string + Message: + type: string + type: object diff --git a/swagger/defs/factor.yaml b/swagger/defs/factor.yaml new file mode 100644 index 0000000..1e89bfa --- /dev/null +++ b/swagger/defs/factor.yaml @@ -0,0 +1,36 @@ +Factor: + description: A Factor of analysis within a research topic + properties: + ID: + description: Record Id + type: string + CreatedByID: + description: Created By User ID + type: string + CreatedDate: + description: Created Date + type: string + Description: + description: Topic Description + type: string + LastModifiedByID: + description: Last Modified By User ID + type: string + LastModifiedDate: + description: Last Modified Date + type: string + Name: + description: Factor Name + type: string + Observations: + description: The list of Observations used to analyze this industry + items: + $ref: "./observation.yaml#/Observation" + type: array + Slug: + description: The slug of the corresponding page on the CMS + type: string + TopicID: + description: The ID of the Topic that owns this Factor + type: string + type: object diff --git a/swagger/defs/financial-statement.yaml b/swagger/defs/financial-statement.yaml new file mode 100644 index 0000000..d54eac2 --- /dev/null +++ b/swagger/defs/financial-statement.yaml @@ -0,0 +1,52 @@ +FinancialStatement: + type: object + description: A financial statement for a company + properties: + ID: + description: Record Id + type: string + AccessNumber: + description: EDGAR Access Number + type: string + AccountID: + description: Account ID + type: string + CloudRevenue: + description: Cloud Revenue + type: number + CreatedByID: + description: Created By User ID + type: string + CreatedDate: + description: Created Date + type: string + Description: + description: Description + type: string + EdgarURL: + description: EDGAR URL + type: string + FilingType: + description: Filing Type + type: string + GrossProfit: + description: Gross Profit + type: number + LastModifiedByID: + description: Last Modified By User ID + type: string + LastModifiedDate: + description: Last Modified Date + type: string + NetIncome: + description: Net Income + type: number + PeriodEndDate: + description: Period End Date + type: string + TotalRevenue: + description: Total Revenue + type: number + Year: + description: Year + type: string diff --git a/swagger/defs/industry-company.yaml b/swagger/defs/industry-company.yaml new file mode 100644 index 0000000..feeed50 --- /dev/null +++ b/swagger/defs/industry-company.yaml @@ -0,0 +1,25 @@ +IndustryCompany: + description: Junction object between Industry and Company + properties: + ID: + description: Record Id + type: string + AccountID: + type: string + CreatedByID: + description: Created By User ID + type: string + CreatedDate: + description: Created Date + type: string + IndustryID: + type: string + LastModifiedByID: + description: Last Modified By User ID + type: string + LastModifiedDate: + description: Last Modified Date + type: string + Path: + type: string + type: object diff --git a/swagger/defs/industry-product.yaml b/swagger/defs/industry-product.yaml new file mode 100644 index 0000000..2721cea --- /dev/null +++ b/swagger/defs/industry-product.yaml @@ -0,0 +1,27 @@ +IndustryProduct: + description: Junction object between Industry and CompanyProduct + properties: + CompanyProduct: + $ref: "./company-product.yaml#/CompanyProduct" + CompanyProductID: + type: string + CreatedByID: + description: Created By User ID + type: string + CreatedDate: + description: Created Date + type: string + ID: + description: Record Id + type: string + Industry: + $ref: "./industry.yaml#/Industry" + IndustryID: + type: string + LastModifiedByID: + description: Last Modified By User ID + type: string + LastModifiedDate: + description: Last Modified Date + type: string + type: object diff --git a/swagger/defs/industry.yaml b/swagger/defs/industry.yaml new file mode 100644 index 0000000..89016bb --- /dev/null +++ b/swagger/defs/industry.yaml @@ -0,0 +1,59 @@ +Industry: + description: An industry that is being researched + properties: + ID: + description: Record Id + type: string + Companies: + description: The AccountIDs of the Companies in this Industry + type: array + items: + type: string + CompanyProducts: + description: The list of Products in this industry + type: array + items: + $ref: "./company-product.yaml#/CompanyProduct" + CreatedByID: + description: Created By User ID + type: string + CreatedDate: + description: Created Date + type: string + Description: + description: Industry Description + type: string + ImageAltText: + description: Image Alt Text + type: string + ImageURL: + description: Image URL + type: string + LastModifiedByID: + description: Last Modified By User ID + type: string + LastModifiedDate: + description: Last Modified Date + type: string + Level: + description: The hierarchical level of this Industry + type: string + Logo: + description: Logo + type: string + Name: + description: Industry Name + type: string + ParentIndustryID: + description: The ID of the Parent Industry + type: string + Path: + description: The full path of this industry, including Parent + type: string + Slug: + description: The CMS Slug for this Industry + type: string + TagLine: + description: TagLine + type: string + type: object diff --git a/swagger/defs/invalid-error.yaml b/swagger/defs/invalid-error.yaml new file mode 100644 index 0000000..43d389b --- /dev/null +++ b/swagger/defs/invalid-error.yaml @@ -0,0 +1,9 @@ +InvalidError: + allOf: + - $ref: "./error.yaml#/Error" + - properties: + details: + items: + type: string + type: array + type: object diff --git a/swagger/defs/lead.yaml b/swagger/defs/lead.yaml new file mode 100644 index 0000000..df87a58 --- /dev/null +++ b/swagger/defs/lead.yaml @@ -0,0 +1,86 @@ +Lead: + properties: + Address: + $ref: "./address.yaml#/Address" + Company: + description: Company + type: string + CreatedByID: + description: Created By User ID + type: string + CreatedDate: + description: Created Date + type: string + Description: + description: Description + type: string + Email: + description: Email + type: string + FirstName: + description: First Name + type: string + ID: + description: Record Id + type: string + LastModifiedByID: + description: Last Modified By User ID + type: string + LastModifiedDate: + description: Last Modified Date + type: string + LastName: + description: Last Name + type: string + MobilePhone: + description: Mobile + type: string + Name: + description: Name + type: string + OwnerId: + description: LeadBasic Owner + type: string + PartnerAccountId: + description: Partner Account + type: string + Phone: + description: Phone + type: string + ProductID: + description: Product + type: string + RefererURL: + description: referer_url + type: string + Status: + description: LeadBasic Status + type: string + TenantID: + description: Tenant Identifier + type: string + Title: + description: Title + type: string + Type: + description: Type + type: string + UTMCampaign: + description: utm_campaign + type: string + UTMContent: + description: utm_content + type: string + UTMMedium: + description: utm_medium + type: string + UTMSource: + description: utm_source + type: string + UTMTerm: + description: utm_term + type: string + Website: + description: Website + type: string + type: object diff --git a/swagger/defs/message.yaml b/swagger/defs/message.yaml new file mode 100644 index 0000000..5e35b16 --- /dev/null +++ b/swagger/defs/message.yaml @@ -0,0 +1,10 @@ +Message: + properties: + message: + type: string + ref: + type: string + status: + format: int64 + type: number + type: object diff --git a/swagger/defs/observation.yaml b/swagger/defs/observation.yaml new file mode 100644 index 0000000..6373f66 --- /dev/null +++ b/swagger/defs/observation.yaml @@ -0,0 +1,37 @@ +Observation: + description: A data point collected while analyzing a Factor + properties: + ID: + description: Record Id + type: string + AccountID: + description: The ID of the Company being analyzed + type: string + CompanyProductID: + description: The ID of the Product being analyzed + type: string + CreatedByID: + description: Created By User ID + type: string + CreatedDate: + description: Created Date + type: string + Description: + description: Notes concerning data collection + type: string + FactorID: + description: The ID of the Factor that owns this Observation + type: string + LastModifiedByID: + description: Last Modified By User ID + type: string + LastModifiedDate: + description: Last Modified Date + type: string + SubjectType: + description: Is the subject a Company or a Product? + type: string + Value: + description: The data point collected + type: string + type: object diff --git a/swagger/defs/pagination.yaml b/swagger/defs/pagination.yaml new file mode 100644 index 0000000..19f3306 --- /dev/null +++ b/swagger/defs/pagination.yaml @@ -0,0 +1,15 @@ +Pagination: + properties: + limit: + format: int64 + type: number + pagesize: + format: int64 + type: number + poffset: + format: int64 + type: integer + setsize: + format: int64 + type: number + type: object diff --git a/swagger/defs/request-meta.yaml b/swagger/defs/request-meta.yaml new file mode 100644 index 0000000..97e015b --- /dev/null +++ b/swagger/defs/request-meta.yaml @@ -0,0 +1,8 @@ +RequestMeta: + properties: + TaxnexusAccount: + description: Account Number of the Reseller or OEM + type: string + required: + - TaxnexusAccount + type: object diff --git a/swagger/defs/response-meta.yaml b/swagger/defs/response-meta.yaml new file mode 100644 index 0000000..3f9d168 --- /dev/null +++ b/swagger/defs/response-meta.yaml @@ -0,0 +1,38 @@ +ResponseMeta: + properties: + Contact: + description: Microservice Contact Info + type: string + Copyright: + description: Copyright Info + type: string + License: + description: License Information and Restrictions + type: string + OperationID: + description: Operation ID + type: string + Pagination: + $ref: "./pagination.yaml#/Pagination" + RequestIP: + description: Request IP Address + type: string + RequestType: + description: Request Type + type: string + RequestURL: + description: Request URL + type: string + ServerInfo: + description: Data Server Info + type: string + ServerResponseTime: + description: Data Server Response Time (ms) + type: string + ServerTimestamp: + description: Backend Server Timestamp + type: string + TaxnexusAccount: + description: Account Number used for recording transactions + type: string + type: object diff --git a/swagger/defs/role.yaml b/swagger/defs/role.yaml new file mode 100644 index 0000000..9646e38 --- /dev/null +++ b/swagger/defs/role.yaml @@ -0,0 +1,31 @@ +Role: + description: A functional role within a Tenant + properties: + Auth0RoleID: + description: the corresponding auth0 role + type: string + CreatedByID: + description: created by + type: string + CreatedDate: + description: created date + type: string + Description: + description: role description + type: string + ID: + description: record id + type: string + LastModifiedByID: + description: last modified by + type: string + LastModifiedDate: + description: last modifed date + type: string + RoleName: + description: the name of this role + type: string + TenantID: + description: the id of the tenant that owns this role + type: string + type: object diff --git a/swagger/defs/template.yaml b/swagger/defs/template.yaml new file mode 100644 index 0000000..b74476b --- /dev/null +++ b/swagger/defs/template.yaml @@ -0,0 +1,45 @@ +Template: + properties: + CreatedByID: + type: string + CreatedDate: + type: string + Description: + description: Description + type: string + HTML: + description: HTML Body + format: byte + type: string + ID: + description: Record Id + type: string + IsActive: + description: Active? + type: boolean + IsMaster: + description: Master Template? + type: boolean + LastModifiedByID: + type: string + LastModifiedDate: + type: string + Name: + description: Template Name + type: string + ObjectType: + description: Object + type: string + RecordTypeName: + description: Record Type Name + type: string + TenantID: + description: tenant identifier + type: string + Type: + description: Type + type: string + URL: + description: URL + type: string + type: object diff --git a/swagger/defs/tenant-user.yaml b/swagger/defs/tenant-user.yaml new file mode 100644 index 0000000..847b53a --- /dev/null +++ b/swagger/defs/tenant-user.yaml @@ -0,0 +1,16 @@ +TenantUser: + description: Relationship object that connects users to a tenant + properties: + ID: + description: The ID of the TenantUser + type: string + AccessLevel: + description: The Tenant access level for this User + type: string + TenantID: + description: The Tenant ID + type: string + UserID: + description: The User ID + type: string + type: object diff --git a/swagger/defs/tenant.yaml b/swagger/defs/tenant.yaml new file mode 100644 index 0000000..8f90fbd --- /dev/null +++ b/swagger/defs/tenant.yaml @@ -0,0 +1,49 @@ +Tenant: + description: Account Tenant + properties: + AccountID: + description: The Account that owns this Tenant + type: string + Active: + description: Is this Tenant currently active? + type: boolean + CreatedByID: + description: Created By + type: string + CreatedDate: + description: Created Date + type: string + Databases: + items: + $ref: "./database.yaml#/Database" + type: array + ID: + description: Record Id + type: string + LastModifiedByID: + description: Last Modified By + type: string + LastModifiedDate: + description: Last Modifed Date + type: string + Roles: + items: + $ref: "./role.yaml#/Role" + type: array + Status: + description: The current status of this Tenant + type: string + TenantName: + description: Name of the Tenant Resource + type: string + # TenantUsers: + # items: + # $ref: "./tenant-user.yaml#/TenantUser" + # type: array + Type: + description: Type of tenant + type: string + Version: + description: The version number of the Tenant Onboarding system used to create this tenant + type: string + type: object diff --git a/swagger/defs/topic.yaml b/swagger/defs/topic.yaml new file mode 100644 index 0000000..086c58e --- /dev/null +++ b/swagger/defs/topic.yaml @@ -0,0 +1,36 @@ +Topic: + description: A research topic that collects data + properties: + ID: + description: Record Id + type: string + CreatedByID: + description: Created By User ID + type: string + CreatedDate: + description: Created Date + type: string + Description: + description: Topic Description + type: string + Factors: + description: The list of Factors used to analyze this industry + items: + $ref: "./factor.yaml#/Factor" + type: array + LastModifiedByID: + description: Last Modified By User ID + type: string + LastModifiedDate: + description: Last Modified Date + type: string + Name: + description: Topic Name + type: string + ParentTopicID: + description: The ID of the Parent Topic + type: string + Slug: + description: The CMS Slug for this Topic + type: string + type: object diff --git a/swagger/defs/user-role.yaml b/swagger/defs/user-role.yaml new file mode 100644 index 0000000..33d79ef --- /dev/null +++ b/swagger/defs/user-role.yaml @@ -0,0 +1,31 @@ +UserRole: + description: Relationship object that connects user to a role + properties: + Auth0roleID: + type: string + CreatedByID: + type: string + CreatedDate: + type: string + x-nullable: true + Description: + type: string + ID: + type: string + # Industries: + # description: Industries + # properties: + # items: + # $ref: "#/definitions/Industry" + LastModifiedByID: + type: string + LastModifiedDate: + type: string + x-nullable: true + Name: + type: string + RoleID: + type: string + UserID: + type: string + type: object diff --git a/swagger/defs/user.yaml b/swagger/defs/user.yaml new file mode 100644 index 0000000..e7fb142 --- /dev/null +++ b/swagger/defs/user.yaml @@ -0,0 +1,178 @@ +User: + properties: + ID: + description: Record ID + type: string + APIKey: + description: API Key + type: string + AboutMe: + description: About Me + type: string + AccountID: + description: Account ID + type: string + Address: + $ref: "./address.yaml#/Address" + Alias: + description: Alias + type: string + Auth0UserID: + description: Auth0 User Id + type: string + CommunityNickname: + description: Nickname + type: string + CompanyName: + description: Company Name + type: string + ContactID: + description: Contact + type: string + CreatedByID: + description: Created User ID + type: string + CreatedDate: + description: Date Created + type: string + DelegatedApproverID: + description: Delegated Approver + type: string + Department: + description: Department + type: string + Division: + description: Division + type: string + Email: + description: Email address + type: string + EmployeeNumber: + description: Employee Number + type: string + EndOfDay: + description: Time day ends + type: string + Environment: + description: Environment + type: string + Extension: + description: Extension + type: string + FabricAPIKey: + description: Fabric API Key + type: string + Fax: + description: Fax + type: string + FirstName: + description: The first name + type: string + ForecastEnabled: + description: Allow Forecasting + type: boolean + FullPhotoURL: + description: Full Photo URL + type: string + IsActive: + description: Active + type: boolean + IsPortalEnabled: + description: Is the user enabled for Communities? + type: boolean + IsProfilePhotoActive: + description: Has Profile Photo + type: boolean + IsSystemControlled: + type: boolean + LastIP: + description: IP address of last login + type: string + LastLogin: + description: Last login time + type: string + LastModifiedByID: + description: Last Modified User ID + type: string + LastModifiedDate: + description: Last Modified Date + type: string + LastName: + description: The Last Name + type: string + LoginCount: + description: Number of times user has logged in + format: int64 + type: number + ManagerID: + description: Manager + type: string + MobilePhone: + description: Mobile + type: string + Name: + description: Name + type: string + OutOfOfficeMessage: + description: Out of office message + type: string + Phone: + description: Phone + type: string + PortalRole: + description: Portal Role Level + type: string + ProfileID: + description: Profile + type: string + ReceivesAdminEmails: + description: Info Emails + type: boolean + ReceivesAdminInfoEmails: + description: Admin Info Emails + type: boolean + SenderEmail: + description: Email Sender Address + type: string + SenderName: + description: Email Sender Name + type: string + Signature: + description: Email Signature + type: string + SmallPhotoURL: + description: Small Photo URL + type: string + StartOfDay: + description: The time day starts + type: string + TaxnexusAccount: + description: Taxnexus Account + type: string + TenantID: + description: Tenant ID associated with this user + type: string + TenantUsers: + items: + $ref: "./tenant-user.yaml#/TenantUser" + type: array + TimeZone: + description: Time Zone + type: string + Title: + description: Title + type: string + UserRoleID: + description: Role + type: string + UserRoles: + items: + $ref: "./user-role.yaml#/UserRole" + type: array + UserType: + description: User Type + type: string + Username: + description: Username + type: string + type: object diff --git a/swagger/external/crm-vernonkeenan.yaml b/swagger/external/crm-vernonkeenan.yaml index e1ffbfd..692b695 100644 --- a/swagger/external/crm-vernonkeenan.yaml +++ b/swagger/external/crm-vernonkeenan.yaml @@ -1,6 +1,6 @@ swagger: "2.0" info: - version: 0.3.0 + version: 0.3.4 title: "crm" description: "Customer Information Microservice" termsOfService: "https://salesforcedevops.net/terms/" @@ -157,28 +157,6 @@ responses: type: string schema: $ref: "#/definitions/AssetResponse" - AssetObservableResponse: - description: Response with an array of Asset objects - headers: - Access-Control-Allow-Origin: - type: string - Cache-Control: - type: string - schema: - items: - $ref: "#/definitions/Asset" - type: array - AccountObservableResponse: - description: Response with an array of Account objects - headers: - Access-Control-Allow-Origin: - type: string - Cache-Control: - type: string - schema: - items: - $ref: "#/definitions/Account" - type: array Conflict: description: Conflict headers: @@ -195,17 +173,6 @@ responses: type: string schema: $ref: "#/definitions/ContactResponse" - ContactObservableResponse: - description: Response with an array of Contact objects - headers: - Access-Control-Allow-Origin: - type: string - Cache-Control: - type: string - schema: - items: - $ref: "#/definitions/Contact" - type: array ContractResponse: description: Response with an array of Contract objects headers: @@ -215,17 +182,6 @@ responses: type: string schema: $ref: "#/definitions/ContractResponse" - ContractObservableResponse: - description: Response with an array of Contract objects - headers: - Access-Control-Allow-Origin: - type: string - Cache-Control: - type: string - schema: - items: - $ref: "#/definitions/Contract" - type: array LeadResponse: description: Response with an array of Lead objects headers: @@ -235,17 +191,6 @@ responses: type: string schema: $ref: "#/definitions/LeadResponse" - LeadObservableResponse: - description: Response with an array of Lead objects - headers: - Access-Control-Allow-Origin: - type: string - Cache-Control: - type: string - schema: - items: - $ref: "#/definitions/Lead" - type: array DeleteResponse: description: Response with Message Objects with Delete Status headers: @@ -288,23 +233,6 @@ responses: type: string schema: $ref: "#/definitions/Error" - CORSResponse: - description: CORS OPTIONS response - headers: - Access-Control-Allow-Origin: - type: string - Access-Control-Allow-Headers: - type: string - Access-Control-Allow-Methods: - type: string - Access-Control-Expose-Headers: - type: string - Access-Control-Max-Age: - type: string - Access-Control-Allow-Credentials: - type: string - Cache-Control: - type: string paths: /accounts: delete: @@ -745,14 +673,6 @@ paths: summary: Get a list of contacts tags: - Leads - options: - description: CORS support - operationId: leadOptions - responses: - "200": - $ref: "#/responses/CORSResponse" - tags: - - cors post: description: Lead records to be added operationId: postLeads @@ -800,175 +720,12 @@ paths: tags: - Leads definitions: - Account: - properties: - ID: - description: Account Id - type: string - AccountNumber: - description: Account Number - type: string - AccountSource: - description: The marketing origin of this account - type: string - Active: - type: integer - AnnualRevenue: - description: Annual Revenue Estimate - format: double - type: number - BillingAddress: - $ref: "#/definitions/Address" - BillingContactID: - description: Contact ID - type: string - CloseDate: - description: Close Date - type: string - CloudRevenueTotal: - type: number - CloudType: - description: The type of cloud company - type: string - CloudYear: - description: The year company started cloud revenue - type: string - CreatedByID: - description: Created By User ID - type: string - CreatedDate: - description: Created Date - type: string - CrunchbaseURL: - description: Crunchbase URL - type: string - Description: - description: Description of the account - type: string - EIN: - type: string - EarningsCall: - description: Earnings Call Date - type: string - Email: - description: Main Account Email - type: string - EquityFunding: - description: The amount of equity EquityFunding - type: number - Facebook: - description: Company Facebook URL - type: string - Fax: - description: Fax number - type: string - FoundedDate: - description: Date company founded - type: string - IPODate: - description: IPO Date - type: string - ImageAltText: - type: string - ImageURL: - type: string - Industries: - description: Industries - type: string - Industry: - description: Industry - type: string - LastModifiedByID: - description: Last Modified By User ID - type: string - LastModifiedDate: - description: Last Modified Date - type: string - LinkedIn: - description: Company LinkedIn URL - type: string - Location: - description: Headquarters Location Description - type: string - Logo: - description: Company Logo URL - type: string - MarketCapitalization: - description: Market Capitalization - type: number - Name: - description: Account Name - type: string - NumberInvestments: - description: Number of Investments - type: number - NumberOfEmployees: - description: Employee Count Estimate - format: int64 - type: number - OwnerID: - description: Account Owner User ID - type: string - Ownership: - description: Ownership - type: string - ParentID: - description: Parent Account - type: string - Phone: - description: Phone - type: string - Publish: - description: Publish this record? - type: boolean - SIC: - description: SIC Code - type: string - SICDesc: - description: SIC Description - type: string - SalesforceFirst: - description: A Salesforce-First company? - type: boolean - ShippingAddress: - $ref: "#/definitions/Address" - ShippingContactID: - description: Shipping Contact ID - type: string - Site: - description: Account Site - type: string - Slug: - description: Slug - type: string - TagLine: - description: Company tagline - type: string - TenantID: - description: Tenant Identifier - type: string - TickerSymbol: - description: Ticker Symbol - type: string - Twitter: - description: Twitter URL - type: string - Type: - description: Type - type: string - Website: - description: Website - type: string - YearStarted: - description: Year Started - type: string - type: object AccountRequest: description: An array of Account objects with Contacts properties: Data: items: - $ref: "#/definitions/Account" + $ref: "../../lib/swagger/defs/account.yaml#/Account" type: array type: object AccountResponse: @@ -976,181 +733,17 @@ definitions: properties: Data: items: - $ref: "#/definitions/Account" + $ref: "../../lib/swagger/defs/account.yaml#/Account" type: array Meta: - $ref: "#/definitions/ResponseMeta" - type: object - Address: - properties: - City: - description: City - type: string - Country: - description: Country full name - type: string - CountryCode: - description: Country Code - type: string - PostalCode: - description: Postal Code - type: string - State: - description: State full name - type: string - StateCode: - description: State Code - type: string - Street: - description: Street number and name - type: string - type: object - Asset: - properties: - ID: - description: Record Id - type: string - AccountID: - description: Account - type: string - Address: - $ref: "#/definitions/Address" - AssetLevel: - description: Asset Level - type: number - AssetProvidedByID: - description: Asset Provided By - type: string - AssetServicedByID: - description: Asset Serviced By - type: string - CompanyProductID: - description: Company Product - type: string - ConsequenceOfFailure: - description: Consequence Of Failure - type: string - ContactID: - description: Contact - type: string - CreatedByID: - description: Created By - type: string - CreatedDate: - description: Created Date - type: string - CurrentAmount: - description: Current Amount - type: number - CurrentLifecycleEndDate: - description: Current Lifecycle End Date - type: string - CurrentMrr: - description: Current Monthly Recurring Revenue - type: number - CurrentQuantity: - description: Current Quantity - type: number - Description: - description: Description - type: string - DigitalAssetStatus: - description: Digital Asset Status - type: string - ExternalIdentifier: - description: External Id - type: string - HasLifecycleManagement: - description: Has Lifecycle Management - type: boolean - InstallDate: - description: Install Date - type: string - IsCompetitorProduct: - description: Competitor Asset - type: boolean - IsInternal: - description: Internal Asset - type: boolean - LastModifiedByID: - description: Last Modified By - type: string - LastModifiedDate: - description: Last Modified Date - type: string - LocationID: - description: Location - type: string - MIMEType: - description: MIME Type - type: string - ManufactureDate: - description: Manufacture Date - type: string - Name: - description: Asset Name - type: string - ParentID: - description: Parent Asset - type: string - Price: - description: Price - type: number - Product2ID: - description: Product - type: string - ProductCode: - description: Product Code - type: string - ProductDescription: - description: Product Description - type: string - ProductFamily: - description: Product Family - type: string - PurchaseDate: - description: Purchase Date - type: string - Quantity: - description: Quantity - type: number - RootAssetID: - description: Root Asset - type: string - SerialNumber: - description: Serial Number - type: string - Status: - description: Status - type: string - StatusReason: - description: Status Reason - type: string - StockKeepingUnit: - description: Product SKU - type: string - TenantID: - description: Tenant ID - type: string - TotalLifecycleAmount: - description: Total Lifecycle Amount - type: number - Type: - description: Type - type: string - URL: - description: URL - type: string - UsageEndDate: - description: Usage End Date - type: string + $ref: "../../lib/swagger/defs/response-meta.yaml#/ResponseMeta" type: object AssetRequest: description: An array of Asset objects with Contacts properties: Data: items: - $ref: "#/definitions/Asset" + $ref: "../../lib/swagger/defs/asset.yaml#/Asset" type: array type: object AssetResponse: @@ -1158,456 +751,66 @@ definitions: properties: Data: items: - $ref: "#/definitions/Asset" + $ref: "../../lib/swagger/defs/asset.yaml#/Asset" type: array Meta: - $ref: "#/definitions/ResponseMeta" - type: object - Contact: - properties: - ID: - description: Record Id - type: string - AccountID: - description: The primary account ID of this contact - type: string - AssistantName: - description: Assistant Name - type: string - AssistantPhone: - description: Asst. Phone - type: string - BirthDate: - description: Birthdate - type: string - CrunchbaseURL: - type: string - CreatedByID: - description: Created By User ID - type: string - CreatedDate: - description: Created Date - type: string - Department: - description: Department - type: string - Description: - description: Description - type: string - DoNotCall: - description: Do Not Call? - type: boolean - Email: - description: Email address - type: string - EmailBounceDate: - description: Email Bounce Date - type: string - EmailBouncedReason: - description: Email Bounce Reason - type: string - Fax: - description: Fax Number - type: string - FirstName: - description: First Name - type: string - HasOptedOutOfEmail: - description: Email Opt Out - type: boolean - HasOptedOutOfFax: - description: Fax Opt Out - type: boolean - HomePhone: - description: Home Phone - type: string - IsEmailBounced: - description: Does this contact have bounced emails? - type: boolean - LastModifiedByID: - description: Last Modified By User ID - type: string - LastModifiedDate: - description: Last Modified Date - type: string - LastName: - description: Last Name - type: string - LeadSource: - description: Lead Source - type: string - LinkedIn: - description: LinkedIn Page - type: string - MailingAddress: - $ref: "#/definitions/Address" - MobilePhone: - description: Mobile Phone - type: string - Name: - description: Full Name - type: string - NumberInvestments: - type: number - OtherAddress: - $ref: "#/definitions/Address" - OtherPhone: - description: Other Phone - type: string - OwnerID: - description: The User ID of the user who owns this Contact - type: string - PersonalEmail: - description: Personal Email Address for this Contact - type: string - Phone: - description: Phone Number - type: string - PhotoURL: - description: URL of a photograph of this User - type: string - ReportsToID: - description: Reports To - type: string - Salutation: - description: Salutation - type: string - Slug: - description: Slug - type: string - TenantID: - description: Tenant Identifier - type: string - Title: - description: Contact Title - type: string - Twitter: - description: Twitter URL - type: string + $ref: "../../lib/swagger/defs/response-meta.yaml#/ResponseMeta" type: object ContactRequest: properties: Data: items: - $ref: "#/definitions/Contact" + $ref: "../../lib/swagger/defs/contact.yaml#/Contact" type: array type: object ContactResponse: properties: Data: items: - $ref: "#/definitions/Contact" + $ref: "../../lib/swagger/defs/contact.yaml#/Contact" type: array Meta: - $ref: "#/definitions/ResponseMeta" - type: object - Contract: - properties: - ID: - description: Record Id - type: string - AccountID: - description: Account - type: string - ActivatedByID: - description: Activated By - type: string - ActivatedDate: - description: Activated Date - type: string - BillingAddress: - $ref: "#/definitions/Address" - description: Billing Address - BillingContactID: - description: Billing Contact - type: string - CompanySignedDate: - description: Company Signed Date - type: string - CompanySignedID: - description: Company Signed By - type: string - ContractNumber: - description: Contract Number - type: string - ContractTerm: - description: Contract Term (months) - type: number - CreatedByID: - description: Created By User ID - type: string - CreatedDate: - description: Created Date - type: string - CustomerSignedDate: - description: Customer Signed Date - type: string - CustomerSignedID: - description: Customer Signed By - type: string - CustomerSignedTitle: - description: Customer Signed Title - type: string - DefaultEndUserID: - description: End User - type: string - Description: - description: Description - type: string - EndDate: - description: Contract End Date - type: string - HourlyRate: - description: Hourly Rate - type: number - LastModifiedByID: - description: Last Modified By User ID - type: string - LastModifiedDate: - description: Last Modified Date - type: string - Name: - description: Contract Name - type: string - PaymentMethodID: - description: Payment Method - type: string - PaymentTerms: - description: Payment Terms - type: string - Perpetual: - description: Perpetual Agreement? - type: boolean - ShippingAddress: - $ref: "#/definitions/Address" - description: Shipping Address - ShippingContactID: - description: Shipping Contact - type: string - StartDate: - description: Contract Start Date - type: string - Status: - description: Status - type: string - TenantID: - description: Tenant Identifier - type: string + $ref: "../../lib/swagger/defs/response-meta.yaml#/ResponseMeta" type: object ContractRequest: properties: Data: items: - $ref: "#/definitions/Contract" + $ref: "../../lib/swagger/defs/contract.yaml#/Contract" type: array type: object ContractResponse: properties: Data: items: - $ref: "#/definitions/Contract" + $ref: "../../lib/swagger/defs/contract.yaml#/Contract" type: array Meta: - $ref: "#/definitions/ResponseMeta" + $ref: "../../lib/swagger/defs/response-meta.yaml#/ResponseMeta" type: object DeleteResponse: - properties: - Data: - items: - $ref: "#/definitions/Message" - type: array - Meta: - $ref: "#/definitions/ResponseMeta" - type: object + $ref: "../../lib/swagger/defs/delete-response.yaml#/DeleteResponse" Error: - properties: - Code: - format: int64 - type: integer - Fields: - type: string - Message: - type: string - type: object + $ref: "../../lib/swagger/defs/error.yaml#/Error" InvalidError: - allOf: - - $ref: "#/definitions/Error" - - properties: - details: - items: - type: string - type: array - type: object - Lead: - properties: - Address: - $ref: "#/definitions/Address" - Company: - description: Company - type: string - CreatedByID: - description: Created By User ID - type: string - CreatedDate: - description: Created Date - type: string - Description: - description: Description - type: string - Email: - description: Email - type: string - FirstName: - description: First Name - type: string - ID: - description: Record Id - type: string - LastModifiedByID: - description: Last Modified By User ID - type: string - LastModifiedDate: - description: Last Modified Date - type: string - LastName: - description: Last Name - type: string - MobilePhone: - description: Mobile - type: string - Name: - description: Name - type: string - OwnerId: - description: LeadBasic Owner - type: string - PartnerAccountId: - description: Partner Account - type: string - Phone: - description: Phone - type: string - ProductID: - description: Product - type: string - RefererURL: - description: referer_url - type: string - Status: - description: LeadBasic Status - type: string - TenantID: - description: Tenant Identifier - type: string - Title: - description: Title - type: string - Type: - description: Type - type: string - UTMCampaign: - description: utm_campaign - type: string - UTMContent: - description: utm_content - type: string - UTMMedium: - description: utm_medium - type: string - UTMSource: - description: utm_source - type: string - UTMTerm: - description: utm_term - type: string - Website: - description: Website - type: string - type: object + $ref: "../../lib/swagger/defs/invalid-error.yaml#/InvalidError" LeadRequest: properties: Data: items: - $ref: "#/definitions/Lead" + $ref: "../../lib/swagger/defs/lead.yaml#/Lead" type: array type: object LeadResponse: properties: Data: items: - $ref: "#/definitions/Lead" + $ref: "../../lib/swagger/defs/lead.yaml#/Lead" type: array Meta: - $ref: "#/definitions/ResponseMeta" + $ref: "../../lib/swagger/defs/response-meta.yaml#/ResponseMeta" type: object Message: - properties: - message: - type: string - ref: - type: string - status: - format: int64 - type: number - type: object - Pagination: - properties: - limit: - format: int64 - type: number - pagesize: - format: int64 - type: number - poffset: - format: int64 - type: integer - setsize: - format: int64 - type: number - type: object + $ref: "../../lib/swagger/defs/message.yaml#/Message" RequestMeta: - properties: - TaxnexusAccount: - description: Account Number of the Reseller or OEM - type: string - required: - - TaxnexusAccount - type: object - ResponseMeta: - properties: - Contact: - description: Microservice Contact Info - type: string - Copyright: - description: Copyright Info - type: string - License: - description: License Information and Restrictions - type: string - OperationID: - description: Operation ID - type: string - Pagination: - $ref: "#/definitions/Pagination" - RequestIP: - description: Request IP Address - type: string - RequestType: - description: Request Type - type: string - RequestURL: - description: Request URL - type: string - ServerInfo: - description: Data Server Info - type: string - ServerResponseTime: - description: Data Server Response Time (ms) - type: string - ServerTimestamp: - description: Backend Server Timestamp - type: string - TaxnexusAccount: - description: Account Number used for recording transactions - type: string - type: object + $ref: "../../lib/swagger/defs/request-meta.yaml#/RequestMeta" diff --git a/swagger/external/plex-vernonkeenan.yaml b/swagger/external/plex-vernonkeenan.yaml new file mode 100644 index 0000000..8f2e5f8 --- /dev/null +++ b/swagger/external/plex-vernonkeenan.yaml @@ -0,0 +1,526 @@ +swagger: "2.0" +info: + version: 0.3.4 + title: "plex" + description: "Cross-Schema Retrieval Microservice" + termsOfService: "https://salesforcedevops.net/terms/" + contact: + email: "vern@vernonkeenan.com" + license: + name: "Proprietary - Copyright (c) 2018-2023 by Vernon Keenan" +securityDefinitions: + ApiKeyAuth: + type: "apiKey" + in: "header" + name: "X-API-Key" +schemes: + - "https" +basePath: "/vk/plex/v1" +host: "gw.tnxs.net" +consumes: + - "application/json" +produces: + - "application/json" +parameters: + activeQuery: + description: Only retrieve active records? + in: query + name: active + required: false + type: boolean + CompanyIdQuery: + description: Record Id of an Company + in: query + name: companyId + required: false + type: string + limitQuery: + description: "How many objects to return at one time" + format: int64 + in: query + name: limit + required: false + type: integer + nameQuery: + description: The Name of this Object + in: query + name: name + required: false + type: string + offsetQuery: + description: How many objects to skip? + format: int64 + in: query + name: offset + required: false + type: integer +responses: + AccessForbidden: + description: "Access forbidden, Company lacks access" + headers: + Access-Control-Allow-Origin: + type: string + schema: + $ref: "#/definitions/Error" + InvalidDataError: + headers: + Access-Control-Allow-Origin: + type: string + description: Invalid data was sent + schema: + $ref: "#/definitions/InvalidError" + NotFound: + description: Resource was not found + headers: + Access-Control-Allow-Origin: + type: string + schema: + $ref: "#/definitions/Error" + ServerError: + description: Server Internal Error + headers: + Access-Control-Allow-Origin: + type: string + schema: + $ref: "#/definitions/Error" + Unauthorized: + description: "Access unauthorized, invalid API-KEY was used" + headers: + Access-Control-Allow-Origin: + type: string + schema: + $ref: "#/definitions/Error" + UnprocessableEntity: + description: "Unprocessable Entity, likely a bad parameter" + headers: + Access-Control-Allow-Origin: + type: string + schema: + $ref: "#/definitions/Error" + CompanyResponse: + description: The SalesforceDevops.net Company Object + schema: + $ref: "#/definitions/CompanyResponse" +paths: + /companies: + get: + description: Return a list of all available Companies + operationId: getCompanies + parameters: + - $ref: "#/parameters/CompanyIdQuery" + - $ref: "#/parameters/limitQuery" + - $ref: "#/parameters/nameQuery" + - $ref: "#/parameters/activeQuery" + - $ref: "#/parameters/offsetQuery" + responses: + "200": + $ref: "#/responses/CompanyResponse" + "401": + $ref: "#/responses/Unauthorized" + "403": + $ref: "#/responses/AccessForbidden" + "404": + $ref: "#/responses/NotFound" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" + security: + - ApiKeyAuth: [] + summary: Get a list of companies + tags: + - Companies +definitions: + Address: + properties: + City: + description: City + type: string + Country: + description: Country full name + type: string + CountryCode: + description: Country Code + type: string + PostalCode: + description: Postal Code + type: string + State: + description: State full name + type: string + StateCode: + description: State Code + type: string + Street: + description: Street number and name + type: string + type: object + Company: + properties: + ID: + description: Company Id + type: string + AccountNumber: + description: Company Number + type: string + AccountSource: + description: The marketing origin of this Company + type: string + Active: + type: integer + AnnualRevenue: + description: Annual Revenue Estimate + format: double + type: number + ListingAddress: + $ref: "#/definitions/Address" + CloudRevenueTotal: + type: number + CloudType: + description: The type of cloud company + type: string + CloudYear: + description: The year company started cloud revenue + type: string + Description: + description: Description of the Company + type: string + EarningsCall: + description: Earnings Call Date + type: string + Email: + description: Main Company Email + type: string + EquityFunding: + description: The amount of equity EquityFunding + type: number + Facebook: + description: Company Facebook URL + type: string + Fax: + description: Fax number + type: string + FoundedDate: + description: Date company founded + type: string + IPODate: + description: IPO Date + type: string + ImageAltText: + type: string + ImageURL: + type: string + Industries: + description: Industries + type: string + Industry: + description: Industry + type: string + LinkedIn: + description: Company LinkedIn URL + type: string + Location: + description: Headquarters Location Description + type: string + Logo: + description: Company Logo URL + type: string + MarketCapitalization: + description: Market Capitalization + type: number + Name: + description: Company Name + type: string + NumberInvestments: + description: Number of Investments + type: number + NumberOfEmployees: + description: Employee Count Estimate + format: int64 + type: number + Ownership: + description: Ownership + type: string + ParentID: + description: Parent Company + type: string + Phone: + description: Phone + type: string + Publish: + description: Publish this record? + type: boolean + SalesforceFirst: + description: A Salesforce-First company? + type: boolean + Slug: + description: Slug + type: string + TagLine: + description: Company tagline + type: string + TickerSymbol: + description: Ticker Symbol + type: string + Twitter: + description: Twitter URL + type: string + Type: + description: Type + type: string + Website: + description: Website + type: string + YearStarted: + description: Year Started + type: string + CompanyProducts: + description: Company Products + type: array + items: + $ref: "#/definitions/CompanyProduct" + FinancialStatements: + description: Financial Statements + type: array + items: + $ref: "#/definitions/FinancialStatement" + IndustryCompanies: + description: Similar Companies + type: array + items: + $ref: "#/definitions/IndustryCompany" + type: object + FinancialStatement: + type: object + description: A financial statement for a company + properties: + ID: + description: Record Id + type: string + AccessNumber: + description: EDGAR Access Number + type: string + AccountID: + description: Account ID + type: string + CloudRevenue: + description: Cloud Revenue + type: number + CreatedByID: + description: Created By User ID + type: string + CreatedDate: + description: Created Date + type: string + Description: + description: Description + type: string + EdgarURL: + description: EDGAR URL + type: string + FilingType: + description: Filing Type + type: string + GrossProfit: + description: Gross Profit + type: number + LastModifiedByID: + description: Last Modified By User ID + type: string + LastModifiedDate: + description: Last Modified Date + type: string + NetIncome: + description: Net Income + type: number + PeriodEndDate: + description: Period End Date + type: string + TotalRevenue: + description: Total Revenue + type: number + Year: + description: Year + type: string + CompanyProduct: + description: A software product or service vended by a Company + properties: + ID: + description: Record Id + type: string + AccountID: + description: ID of the Company that owns this Product + type: string + CreatedByID: + description: Created By User ID + type: string + CreatedDate: + description: Created Date + type: string + Description: + description: Description of product + type: string + FullDescription: + description: Full Description of product + type: string + ImageAltText: + description: Image Alt Text + type: string + ImageURL: + description: Image URL + type: string + Industries: + description: Industries + type: array + items: + $ref: "#/definitions/Industry" + LastModifiedByID: + description: Last Modified By User ID + type: string + LastModifiedDate: + description: Last Modified Date + type: string + Logo: + description: Logo + type: string + Name: + description: Product Name + type: string + ProductVideoID: + description: Product Video ID + type: string + Published: + description: Published + type: boolean + SalesforceSpecific: + description: Salesforce Specific + type: boolean + Slug: + description: Slug + type: string + TagLine: + description: TagLine + type: string + URL: + description: Website + type: string + type: object + Industry: + description: An industry that is being researched + properties: + ID: + description: Record Id + type: string + Companies: + description: The AccountIDs of the Companies in this Industry + type: array + items: + type: string + CompanyProducts: + description: The list of Products in this industry + type: array + items: + $ref: "#/definitions/CompanyProduct" + CreatedByID: + description: Created By User ID + type: string + CreatedDate: + description: Created Date + type: string + Description: + description: Industry Description + type: string + ImageAltText: + description: Image Alt Text + type: string + ImageURL: + description: Image URL + type: string + LastModifiedByID: + description: Last Modified By User ID + type: string + LastModifiedDate: + description: Last Modified Date + type: string + Level: + description: The hierarchical level of this Industry + type: string + Logo: + description: Logo + type: string + Name: + description: Industry Name + type: string + ParentIndustryID: + description: The ID of the Parent Industry + type: string + Path: + description: The full path of this industry, including Parent + type: string + Slug: + description: The CMS Slug for this Industry + type: string + TagLine: + description: TagLine + type: string + type: object + IndustryCompany: + description: Junction object between Industry and Company + properties: + ID: + description: Record Id + type: string + CompanyID: + type: string + CompanyName: + type: string + CompanySlug: + type: string + CompanyWebsite: + type: string + IndustryID: + type: string + IndustryName: + type: string + IndustrySlug: + type: string + IndustryTagLine: + type: string + LastModifiedByID: + description: Last Modified By User ID + type: string + LastModifiedDate: + description: Last Modified Date + type: string + Path: + type: string + type: object + CompanyRequest: + description: An array of Company objects with Contacts + properties: + Data: + items: + $ref: "#/definitions/Company" + type: array + type: object + CompanyResponse: + description: An array of Company objects with Contacts + properties: + Data: + items: + $ref: "#/definitions/Company" + type: array + Meta: + $ref: "../../lib/swagger/defs/response-meta.yaml#/ResponseMeta" + type: object + Error: + $ref: "../../lib/swagger/defs/error.yaml#/Error" + InvalidError: + allOf: + - $ref: "#/definitions/Error" + - properties: + details: + items: + type: string + type: array + type: object diff --git a/swagger/external/research-vernonkeenan.yaml b/swagger/external/research-vernonkeenan.yaml index 09d17b7..e4e329a 100644 --- a/swagger/external/research-vernonkeenan.yaml +++ b/swagger/external/research-vernonkeenan.yaml @@ -195,10 +195,6 @@ responses: description: Response with Company objects schema: $ref: "#/definitions/CompanyProductResponse" - CompanyResponse: - description: Response with Company objects - schema: - $ref: "#/definitions/CompanyResponse" Conflict: description: Conflict headers: @@ -278,34 +274,6 @@ responses: $ref: "#/definitions/Error" paths: - /companies: - get: - description: Return a list of all available Companies - operationId: getCompanies - parameters: - - $ref: "#/parameters/limitQuery" - - $ref: "#/parameters/nameQuery" - - $ref: "#/parameters/offsetQuery" - - $ref: "#/parameters/activeQuery" - - $ref: "#/parameters/accountIdQuery" - responses: - "200": - $ref: "#/responses/CompanyResponse" - "401": - $ref: "#/responses/Unauthorized" - "403": - $ref: "#/responses/AccessForbidden" - "404": - $ref: "#/responses/NotFound" - "422": - $ref: "#/responses/UnprocessableEntity" - "500": - $ref: "#/responses/ServerError" - security: - - ApiKeyAuth: [] - summary: Get a list of companies - tags: - - Companies /companyproducts: delete: description: Delete CompanyProduct record @@ -338,6 +306,7 @@ paths: - $ref: "#/parameters/nameQuery" - $ref: "#/parameters/offsetQuery" - $ref: "#/parameters/activeQuery" + - $ref: "#/parameters/accountIdQuery" - $ref: "#/parameters/companyProductIdQuery" responses: "200": @@ -531,6 +500,7 @@ paths: - $ref: "#/parameters/limitQuery" - $ref: "#/parameters/offsetQuery" - $ref: "#/parameters/activeQuery" + - $ref: "#/parameters/accountIdQuery" - $ref: "#/parameters/financialStatementIdQuery" responses: "200": @@ -970,161 +940,6 @@ definitions: description: Street number and name type: string type: object - Company: - properties: - AccountNumber: - description: Account Number - type: string - AccountSource: - description: Account Source - type: string - AnnualRevenue: - description: Annual Revenue - type: string - CloudRevenueTotal: - type: number - CloudType: - description: The type of cloud company - type: string - CloudYear: - description: The year company started cloud revenue - type: string - CompanyProducts: - description: Company Products - properties: - items: - $ref: "#/definitions/CompanyProduct" - CreatedByID: - description: Created By User ID - type: string - CreatedDate: - description: Created Date - type: string - CrunchbaseURL: - description: Crunchbase URL - type: string - Description: - description: Description - type: string - EIN: - type: string - EarningsCall: - description: Earnings Call Date - type: string - Email: - description: Main Account Email - type: string - EquityFunding: - description: The amount of equity EquityFunding - type: number - Facebook: - description: Company Facebook URL - type: string - Fax: - description: Fax - type: string - FoundedDate: - description: Date company founded - type: string - ID: - description: Record Id - type: string - IPODate: - description: IPO Date - type: string - ImageAltText: - type: string - ImageURL: - type: string - Industries: - description: Industries - type: string - Industry: - description: Industry - type: string - IndustryCompanies: - description: Industry Companies - properties: - items: - $ref: "#/definitions/IndustryCompany" - LastModifiedByID: - description: Last Modified By User ID - type: string - LastModifiedDate: - description: Last Modified Date - type: string - LinkedIn: - description: Company LinkedIn URL - type: string - ListingAddress: - $ref: "#/definitions/Address" - Location: - description: Headquarters Location Description - type: string - Logo: - description: Company Logo URL - type: string - MarketCapitalization: - description: Market Capitalization - type: number - Name: - description: Name - type: string - NumberInvestments: - description: Number of Investments - type: number - NumberOfEmployees: - description: Number Of Employees - type: string - OwnerID: - description: Owner ID - type: string - Ownership: - description: Ownership - type: string - ParentID: - description: Parent ID - type: string - Phone: - description: Phone - type: string - Publish: - description: Publish this record? - type: boolean - SIC: - description: Sic - type: string - SICDesc: - description: Sic Description - type: string - SalesforceFirst: - description: A Salesforce-First company? - type: boolean - Site: - description: Site - type: string - Slug: - description: Slug - type: string - TagLine: - description: Company tagline - type: string - TickerSymbol: - description: Ticker Symbol - type: string - Twitter: - description: Twitter URL - type: string - Type: - description: Type - type: string - Website: - description: Website - type: string - YearStarted: - description: Year Started - type: string - type: object CompanyProduct: description: A software product or service vended by a Company properties: @@ -1154,9 +969,9 @@ definitions: type: string Industries: description: Industries - properties: - items: - $ref: "#/definitions/Industry" + type: array + items: + $ref: "#/definitions/Industry" LastModifiedByID: description: Last Modified By User ID type: string @@ -1206,16 +1021,6 @@ definitions: Meta: $ref: "#/definitions/ResponseMeta" type: object - CompanyResponse: - description: An array of Company objects produced in response to a request - properties: - Data: - items: - $ref: "#/definitions/Company" - type: array - Meta: - $ref: "#/definitions/ResponseMeta" - type: object DeleteResponse: properties: Data: @@ -1226,15 +1031,7 @@ definitions: $ref: "#/definitions/ResponseMeta" type: object Error: - properties: - Code: - format: int64 - type: integer - Fields: - type: string - Message: - type: string - type: object + $ref: "../../lib/swagger/defs/error.yaml#/Error" Factor: description: A Factor of analysis within a research topic properties: @@ -1365,11 +1162,6 @@ definitions: ID: description: Record Id type: string - Companies: - description: The AccountIDs of the Companies in this Industry - items: - type: string - type: array CompanyProducts: description: The list of Products in this industry items: diff --git a/swagger/plex-vernonkeenan.yaml b/swagger/plex-vernonkeenan.yaml new file mode 100644 index 0000000..9d2d2de --- /dev/null +++ b/swagger/plex-vernonkeenan.yaml @@ -0,0 +1,526 @@ +swagger: "2.0" +info: + version: 0.3.4 + title: "plex" + description: "Cross-Schema Retrieval Microservice" + termsOfService: "https://salesforcedevops.net/terms/" + contact: + email: "vern@vernonkeenan.com" + license: + name: "Proprietary - Copyright (c) 2018-2023 by Vernon Keenan" +securityDefinitions: + ApiKeyAuth: + type: "apiKey" + in: "header" + name: "X-API-Key" +schemes: + - "http" +basePath: "/v1" +host: "plex.vernonkeenan.com:8080" +consumes: + - "application/json" +produces: + - "application/json" +parameters: + activeQuery: + description: Only retrieve active records? + in: query + name: active + required: false + type: boolean + CompanyIdQuery: + description: Record Id of an Company + in: query + name: companyId + required: false + type: string + limitQuery: + description: "How many objects to return at one time" + format: int64 + in: query + name: limit + required: false + type: integer + nameQuery: + description: The Name of this Object + in: query + name: name + required: false + type: string + offsetQuery: + description: How many objects to skip? + format: int64 + in: query + name: offset + required: false + type: integer +responses: + AccessForbidden: + description: "Access forbidden, Company lacks access" + headers: + Access-Control-Allow-Origin: + type: string + schema: + $ref: "#/definitions/Error" + InvalidDataError: + headers: + Access-Control-Allow-Origin: + type: string + description: Invalid data was sent + schema: + $ref: "#/definitions/InvalidError" + NotFound: + description: Resource was not found + headers: + Access-Control-Allow-Origin: + type: string + schema: + $ref: "#/definitions/Error" + ServerError: + description: Server Internal Error + headers: + Access-Control-Allow-Origin: + type: string + schema: + $ref: "#/definitions/Error" + Unauthorized: + description: "Access unauthorized, invalid API-KEY was used" + headers: + Access-Control-Allow-Origin: + type: string + schema: + $ref: "#/definitions/Error" + UnprocessableEntity: + description: "Unprocessable Entity, likely a bad parameter" + headers: + Access-Control-Allow-Origin: + type: string + schema: + $ref: "#/definitions/Error" + CompanyResponse: + description: The SalesforceDevops.net Company Object + schema: + $ref: "#/definitions/CompanyResponse" +paths: + /companies: + get: + description: Return a list of all available Companies + operationId: getCompanies + parameters: + - $ref: "#/parameters/CompanyIdQuery" + - $ref: "#/parameters/limitQuery" + - $ref: "#/parameters/nameQuery" + - $ref: "#/parameters/activeQuery" + - $ref: "#/parameters/offsetQuery" + responses: + "200": + $ref: "#/responses/CompanyResponse" + "401": + $ref: "#/responses/Unauthorized" + "403": + $ref: "#/responses/AccessForbidden" + "404": + $ref: "#/responses/NotFound" + "422": + $ref: "#/responses/UnprocessableEntity" + "500": + $ref: "#/responses/ServerError" + security: + - ApiKeyAuth: [] + summary: Get a list of companies + tags: + - Companies +definitions: + Address: + properties: + City: + description: City + type: string + Country: + description: Country full name + type: string + CountryCode: + description: Country Code + type: string + PostalCode: + description: Postal Code + type: string + State: + description: State full name + type: string + StateCode: + description: State Code + type: string + Street: + description: Street number and name + type: string + type: object + Company: + properties: + ID: + description: Company Id + type: string + AccountNumber: + description: Company Number + type: string + AccountSource: + description: The marketing origin of this Company + type: string + Active: + type: integer + AnnualRevenue: + description: Annual Revenue Estimate + format: double + type: number + ListingAddress: + $ref: "#/definitions/Address" + CloudRevenueTotal: + type: number + CloudType: + description: The type of cloud company + type: string + CloudYear: + description: The year company started cloud revenue + type: string + Description: + description: Description of the Company + type: string + EarningsCall: + description: Earnings Call Date + type: string + Email: + description: Main Company Email + type: string + EquityFunding: + description: The amount of equity EquityFunding + type: number + Facebook: + description: Company Facebook URL + type: string + Fax: + description: Fax number + type: string + FoundedDate: + description: Date company founded + type: string + IPODate: + description: IPO Date + type: string + ImageAltText: + type: string + ImageURL: + type: string + Industries: + description: Industries + type: string + Industry: + description: Industry + type: string + LinkedIn: + description: Company LinkedIn URL + type: string + Location: + description: Headquarters Location Description + type: string + Logo: + description: Company Logo URL + type: string + MarketCapitalization: + description: Market Capitalization + type: number + Name: + description: Company Name + type: string + NumberInvestments: + description: Number of Investments + type: number + NumberOfEmployees: + description: Employee Count Estimate + format: int64 + type: number + Ownership: + description: Ownership + type: string + ParentID: + description: Parent Company + type: string + Phone: + description: Phone + type: string + Publish: + description: Publish this record? + type: boolean + SalesforceFirst: + description: A Salesforce-First company? + type: boolean + Slug: + description: Slug + type: string + TagLine: + description: Company tagline + type: string + TickerSymbol: + description: Ticker Symbol + type: string + Twitter: + description: Twitter URL + type: string + Type: + description: Type + type: string + Website: + description: Website + type: string + YearStarted: + description: Year Started + type: string + CompanyProducts: + description: Company Products + type: array + items: + $ref: "#/definitions/CompanyProduct" + FinancialStatements: + description: Financial Statements + type: array + items: + $ref: "#/definitions/FinancialStatement" + IndustryCompanies: + description: Similar Companies + type: array + items: + $ref: "#/definitions/IndustryCompany" + type: object + FinancialStatement: + type: object + description: A financial statement for a company + properties: + ID: + description: Record Id + type: string + AccessNumber: + description: EDGAR Access Number + type: string + AccountID: + description: Account ID + type: string + CloudRevenue: + description: Cloud Revenue + type: number + CreatedByID: + description: Created By User ID + type: string + CreatedDate: + description: Created Date + type: string + Description: + description: Description + type: string + EdgarURL: + description: EDGAR URL + type: string + FilingType: + description: Filing Type + type: string + GrossProfit: + description: Gross Profit + type: number + LastModifiedByID: + description: Last Modified By User ID + type: string + LastModifiedDate: + description: Last Modified Date + type: string + NetIncome: + description: Net Income + type: number + PeriodEndDate: + description: Period End Date + type: string + TotalRevenue: + description: Total Revenue + type: number + Year: + description: Year + type: string + CompanyProduct: + description: A software product or service vended by a Company + properties: + ID: + description: Record Id + type: string + AccountID: + description: ID of the Company that owns this Product + type: string + CreatedByID: + description: Created By User ID + type: string + CreatedDate: + description: Created Date + type: string + Description: + description: Description of product + type: string + FullDescription: + description: Full Description of product + type: string + ImageAltText: + description: Image Alt Text + type: string + ImageURL: + description: Image URL + type: string + Industries: + description: Industries + type: array + items: + $ref: "#/definitions/Industry" + LastModifiedByID: + description: Last Modified By User ID + type: string + LastModifiedDate: + description: Last Modified Date + type: string + Logo: + description: Logo + type: string + Name: + description: Product Name + type: string + ProductVideoID: + description: Product Video ID + type: string + Published: + description: Published + type: boolean + SalesforceSpecific: + description: Salesforce Specific + type: boolean + Slug: + description: Slug + type: string + TagLine: + description: TagLine + type: string + URL: + description: Website + type: string + type: object + Industry: + description: An industry that is being researched + properties: + ID: + description: Record Id + type: string + Companies: + description: The AccountIDs of the Companies in this Industry + type: array + items: + type: string + CompanyProducts: + description: The list of Products in this industry + type: array + items: + $ref: "#/definitions/CompanyProduct" + CreatedByID: + description: Created By User ID + type: string + CreatedDate: + description: Created Date + type: string + Description: + description: Industry Description + type: string + ImageAltText: + description: Image Alt Text + type: string + ImageURL: + description: Image URL + type: string + LastModifiedByID: + description: Last Modified By User ID + type: string + LastModifiedDate: + description: Last Modified Date + type: string + Level: + description: The hierarchical level of this Industry + type: string + Logo: + description: Logo + type: string + Name: + description: Industry Name + type: string + ParentIndustryID: + description: The ID of the Parent Industry + type: string + Path: + description: The full path of this industry, including Parent + type: string + Slug: + description: The CMS Slug for this Industry + type: string + TagLine: + description: TagLine + type: string + type: object + IndustryCompany: + description: Junction object between Industry and Company + properties: + ID: + description: Record Id + type: string + CompanyID: + type: string + CompanyName: + type: string + CompanySlug: + type: string + CompanyWebsite: + type: string + IndustryID: + type: string + IndustryName: + type: string + IndustrySlug: + type: string + IndustryTagLine: + type: string + LastModifiedByID: + description: Last Modified By User ID + type: string + LastModifiedDate: + description: Last Modified Date + type: string + Path: + type: string + type: object + CompanyRequest: + description: An array of Company objects with Contacts + properties: + Data: + items: + $ref: "#/definitions/Company" + type: array + type: object + CompanyResponse: + description: An array of Company objects with Contacts + properties: + Data: + items: + $ref: "#/definitions/Company" + type: array + Meta: + $ref: "../../lib/swagger/defs/response-meta.yaml#/ResponseMeta" + type: object + Error: + $ref: "../../lib/swagger/defs/error.yaml#/Error" + InvalidError: + allOf: + - $ref: "#/definitions/Error" + - properties: + details: + items: + type: string + type: array + type: object diff --git a/swagger/research-vernonkeenan.yaml b/swagger/research-vernonkeenan.yaml index 51bd242..cf42bb5 100644 --- a/swagger/research-vernonkeenan.yaml +++ b/swagger/research-vernonkeenan.yaml @@ -195,10 +195,6 @@ responses: description: Response with Company objects schema: $ref: "#/definitions/CompanyProductResponse" - CompanyResponse: - description: Response with Company objects - schema: - $ref: "#/definitions/CompanyResponse" Conflict: description: Conflict headers: @@ -278,34 +274,6 @@ responses: $ref: "#/definitions/Error" paths: - /companies: - get: - description: Return a list of all available Companies - operationId: getCompanies - parameters: - - $ref: "#/parameters/limitQuery" - - $ref: "#/parameters/nameQuery" - - $ref: "#/parameters/offsetQuery" - - $ref: "#/parameters/activeQuery" - - $ref: "#/parameters/accountIdQuery" - responses: - "200": - $ref: "#/responses/CompanyResponse" - "401": - $ref: "#/responses/Unauthorized" - "403": - $ref: "#/responses/AccessForbidden" - "404": - $ref: "#/responses/NotFound" - "422": - $ref: "#/responses/UnprocessableEntity" - "500": - $ref: "#/responses/ServerError" - security: - - ApiKeyAuth: [] - summary: Get a list of companies - tags: - - Companies /companyproducts: delete: description: Delete CompanyProduct record @@ -338,6 +306,7 @@ paths: - $ref: "#/parameters/nameQuery" - $ref: "#/parameters/offsetQuery" - $ref: "#/parameters/activeQuery" + - $ref: "#/parameters/accountIdQuery" - $ref: "#/parameters/companyProductIdQuery" responses: "200": @@ -531,6 +500,7 @@ paths: - $ref: "#/parameters/limitQuery" - $ref: "#/parameters/offsetQuery" - $ref: "#/parameters/activeQuery" + - $ref: "#/parameters/accountIdQuery" - $ref: "#/parameters/financialStatementIdQuery" responses: "200": @@ -970,161 +940,6 @@ definitions: description: Street number and name type: string type: object - Company: - properties: - AccountNumber: - description: Account Number - type: string - AccountSource: - description: Account Source - type: string - AnnualRevenue: - description: Annual Revenue - type: string - CloudRevenueTotal: - type: number - CloudType: - description: The type of cloud company - type: string - CloudYear: - description: The year company started cloud revenue - type: string - CompanyProducts: - description: Company Products - properties: - items: - $ref: "#/definitions/CompanyProduct" - CreatedByID: - description: Created By User ID - type: string - CreatedDate: - description: Created Date - type: string - CrunchbaseURL: - description: Crunchbase URL - type: string - Description: - description: Description - type: string - EIN: - type: string - EarningsCall: - description: Earnings Call Date - type: string - Email: - description: Main Account Email - type: string - EquityFunding: - description: The amount of equity EquityFunding - type: number - Facebook: - description: Company Facebook URL - type: string - Fax: - description: Fax - type: string - FoundedDate: - description: Date company founded - type: string - ID: - description: Record Id - type: string - IPODate: - description: IPO Date - type: string - ImageAltText: - type: string - ImageURL: - type: string - Industries: - description: Industries - type: string - Industry: - description: Industry - type: string - IndustryCompanies: - description: Industry Companies - properties: - items: - $ref: "#/definitions/IndustryCompany" - LastModifiedByID: - description: Last Modified By User ID - type: string - LastModifiedDate: - description: Last Modified Date - type: string - LinkedIn: - description: Company LinkedIn URL - type: string - ListingAddress: - $ref: "#/definitions/Address" - Location: - description: Headquarters Location Description - type: string - Logo: - description: Company Logo URL - type: string - MarketCapitalization: - description: Market Capitalization - type: number - Name: - description: Name - type: string - NumberInvestments: - description: Number of Investments - type: number - NumberOfEmployees: - description: Number Of Employees - type: string - OwnerID: - description: Owner ID - type: string - Ownership: - description: Ownership - type: string - ParentID: - description: Parent ID - type: string - Phone: - description: Phone - type: string - Publish: - description: Publish this record? - type: boolean - SIC: - description: Sic - type: string - SICDesc: - description: Sic Description - type: string - SalesforceFirst: - description: A Salesforce-First company? - type: boolean - Site: - description: Site - type: string - Slug: - description: Slug - type: string - TagLine: - description: Company tagline - type: string - TickerSymbol: - description: Ticker Symbol - type: string - Twitter: - description: Twitter URL - type: string - Type: - description: Type - type: string - Website: - description: Website - type: string - YearStarted: - description: Year Started - type: string - type: object CompanyProduct: description: A software product or service vended by a Company properties: @@ -1154,9 +969,9 @@ definitions: type: string Industries: description: Industries - properties: - items: - $ref: "#/definitions/Industry" + type: array + items: + $ref: "#/definitions/Industry" LastModifiedByID: description: Last Modified By User ID type: string @@ -1206,16 +1021,6 @@ definitions: Meta: $ref: "#/definitions/ResponseMeta" type: object - CompanyResponse: - description: An array of Company objects produced in response to a request - properties: - Data: - items: - $ref: "#/definitions/Company" - type: array - Meta: - $ref: "#/definitions/ResponseMeta" - type: object DeleteResponse: properties: Data: @@ -1226,15 +1031,7 @@ definitions: $ref: "#/definitions/ResponseMeta" type: object Error: - properties: - Code: - format: int64 - type: integer - Fields: - type: string - Message: - type: string - type: object + $ref: "../../lib/swagger/defs/error.yaml#/Error" Factor: description: A Factor of analysis within a research topic properties: @@ -1365,11 +1162,6 @@ definitions: ID: description: Record Id type: string - Companies: - description: The AccountIDs of the Companies in this Industry - items: - type: string - type: array CompanyProducts: description: The list of Products in this industry items: