client

package
v0.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 26, 2021 License: Apache-2.0 Imports: 23 Imported by: 0

README

Go API client for client

Moov Metro2 (Automated Clearing House) implements an HTTP API for creating, parsing and validating Metro2 files. Metro2 is an open-source consumer credit history report for credit report file creation and validation.

Overview

This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.

  • API version: v1
  • Package version: 1.0.0
  • Build package: org.openapitools.codegen.languages.GoClientCodegen For more information, please visit https://github.com/moov-io/metro2

Installation

Install the following dependencies:

go get github.com/stretchr/testify/assert
go get golang.org/x/oauth2
go get golang.org/x/net/context
go get github.com/antihax/optional

Put the package under your project folder and add the following in import:

import "./client"

Documentation for API Endpoints

All URIs are relative to http://localhost:8080

Class Method HTTP request Description
Metro2FilesApi Convert Post /convert Convert metro2 file
Metro2FilesApi Health Get /health health metro2 service
Metro2FilesApi Print Post /print Print metro2 file with specific format
Metro2FilesApi Validator Post /validator Validate metro2 file

Documentation For Models

Documentation For Authorization

Endpoints do not require authorization.

Author

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ContextOAuth2 takes an oauth2.TokenSource as authentication for the request.
	ContextOAuth2 = contextKey("token")

	// ContextBasicAuth takes BasicAuth as authentication for the request.
	ContextBasicAuth = contextKey("basic")

	// ContextAccessToken takes a string oauth2 access token as authentication for the request.
	ContextAccessToken = contextKey("accesstoken")

	// ContextAPIKey takes an APIKey as authentication for the request
	ContextAPIKey = contextKey("apikey")
)

Functions

func CacheExpires

func CacheExpires(r *http.Response) time.Time

CacheExpires helper function to determine remaining time before repeating a request.

Types

type APIClient

type APIClient struct {
	Metro2FilesApi *Metro2FilesApiService
	// contains filtered or unexported fields
}

APIClient manages communication with the METRO2 API API vv1 In most cases there should be only one, shared, APIClient.

func NewAPIClient

func NewAPIClient(cfg *Configuration) *APIClient

NewAPIClient creates a new API client. Requires a userAgent string describing your application. optionally a custom http.Client to allow for advanced features such as caching.

func (*APIClient) ChangeBasePath

func (c *APIClient) ChangeBasePath(path string)

ChangeBasePath changes base path to allow switching to mocks

func (*APIClient) GetConfig

func (c *APIClient) GetConfig() *Configuration

Allow modification of underlying config for alternate implementations and testing Caution: modifying the configuration while live can cause data races and potentially unwanted behavior

type APIKey

type APIKey struct {
	Key    string
	Prefix string
}

APIKey provides API key based authentication to a request passed via context using ContextAPIKey

type APIResponse

type APIResponse struct {
	*http.Response `json:"-"`
	Message        string `json:"message,omitempty"`
	// Operation is the name of the OpenAPI operation.
	Operation string `json:"operation,omitempty"`
	// RequestURL is the request URL. This value is always available, even if the
	// embedded *http.Response is nil.
	RequestURL string `json:"url,omitempty"`
	// Method is the HTTP method used for the request.  This value is always
	// available, even if the embedded *http.Response is nil.
	Method string `json:"method,omitempty"`
	// Payload holds the contents of the response body (which may be nil or empty).
	// This is provided here as the raw response.Body() reader will have already
	// been drained.
	Payload []byte `json:"-"`
}

APIResponse stores the API response returned by the server.

func NewAPIResponse

func NewAPIResponse(r *http.Response) *APIResponse

NewAPIResponse returns a new APIResonse object.

func NewAPIResponseWithError

func NewAPIResponseWithError(errorMessage string) *APIResponse

NewAPIResponseWithError returns a new APIResponse object with the provided error message.

type BaseSegment

type BaseSegment struct {
	BlockDescriptorWord           int32     `json:"blockDescriptorWord,omitempty"`
	RecordDescriptorWord          int32     `json:"recordDescriptorWord"`
	TimeStamp                     time.Time `json:"timeStamp,omitempty"`
	IdentificationNumber          string    `json:"identificationNumber"`
	CycleIdentifier               string    `json:"cycleIdentifier,omitempty"`
	ConsumerAccountNumber         string    `json:"consumerAccountNumber"`
	PortfolioType                 string    `json:"portfolioType,omitempty"`
	AccountType                   string    `json:"accountType"`
	DateOpened                    time.Time `json:"dateOpened,omitempty"`
	CreditLimit                   int32     `json:"creditLimit,omitempty"`
	HighestCredit                 int32     `json:"highestCredit"`
	TermsDuration                 string    `json:"termsDuration"`
	TermsFrequency                string    `json:"termsFrequency,omitempty"`
	ScheduledMonthlyPaymentAmount int32     `json:"scheduledMonthlyPaymentAmount,omitempty"`
	ActualPaymentAmount           int32     `json:"actualPaymentAmount,omitempty"`
	AccountStatus                 string    `json:"accountStatus"`
	PaymentRating                 string    `json:"paymentRating,omitempty"`
	PaymentHistoryProfile         string    `json:"paymentHistoryProfile"`
	SpecialComment                string    `json:"specialComment,omitempty"`
	ComplianceConditionCode       string    `json:"complianceConditionCode,omitempty"`
	CurrentBalance                int32     `json:"currentBalance"`
	AmountPastDue                 int32     `json:"amountPastDue,omitempty"`
	OriginalChargeOffAmount       int32     `json:"originalChargeOffAmount,omitempty"`
	DateAccountInformation        time.Time `json:"dateAccountInformation"`
	DateFirstDelinquency          time.Time `json:"dateFirstDelinquency,omitempty"`
	DateClosed                    time.Time `json:"dateClosed,omitempty"`
	DateLastPayment               time.Time `json:"dateLastPayment,omitempty"`
	InterestTypeIndicator         string    `json:"interestTypeIndicator,omitempty"`
	Surname                       string    `json:"surname"`
	FirstName                     string    `json:"firstName"`
	MiddleName                    string    `json:"middleName,omitempty"`
	GenerationCode                string    `json:"generationCode,omitempty"`
	SocialSecurityNumber          int32     `json:"socialSecurityNumber"`
	DateBirth                     time.Time `json:"dateBirth"`
	TelephoneNumber               int32     `json:"telephoneNumber,omitempty"`
	EcoaCode                      string    `json:"ecoaCode"`
	ConsumerInformationIndicator  string    `json:"consumerInformationIndicator,omitempty"`
	CountryCode                   string    `json:"countryCode,omitempty"`
	FirstLineAddress              string    `json:"firstLineAddress"`
	SecondLineAddress             string    `json:"secondLineAddress,omitempty"`
	City                          string    `json:"city,omitempty"`
	State                         string    `json:"state"`
	ZipCode                       string    `json:"zipCode"`
	AddressIndicator              string    `json:"addressIndicator,omitempty"`
	ResidenceCode                 string    `json:"residenceCode,omitempty"`
}

BaseSegment struct for BaseSegment

type BasicAuth

type BasicAuth struct {
	UserName string `json:"userName,omitempty"`
	Password string `json:"password,omitempty"`
}

BasicAuth provides basic http authentication to a request passed via context using ContextBasicAuth

type Configuration

type Configuration struct {
	BasePath      string            `json:"basePath,omitempty"`
	Host          string            `json:"host,omitempty"`
	Scheme        string            `json:"scheme,omitempty"`
	DefaultHeader map[string]string `json:"defaultHeader,omitempty"`
	UserAgent     string            `json:"userAgent,omitempty"`
	Debug         bool              `json:"debug,omitempty"`
	Servers       []ServerConfiguration
	HTTPClient    *http.Client
}

Configuration stores the configuration of the API client

func NewConfiguration

func NewConfiguration() *Configuration

NewConfiguration returns a new Configuration object

func (*Configuration) AddDefaultHeader

func (c *Configuration) AddDefaultHeader(key string, value string)

AddDefaultHeader adds a new HTTP header to the default header in the request

func (*Configuration) ServerUrl

func (c *Configuration) ServerUrl(index int, variables map[string]string) (string, error)

ServerUrl returns URL based on server settings

type ConvertOpts

type ConvertOpts struct {
	Format   optional.String
	Generate optional.Bool
	File     optional.Interface
}

ConvertOpts Optional parameters for the method 'Convert'

type DataRecord

type DataRecord struct {
	Base BaseSegment `json:"base"`
	J1   []J1Segment `json:"j1,omitempty"`
	J2   []J2Segment `json:"j2,omitempty"`
	K1   K1Segment   `json:"k1,omitempty"`
	K2   K2Segment   `json:"k2,omitempty"`
	K3   K3Segment   `json:"k3,omitempty"`
	K4   K4Segment   `json:"k4,omitempty"`
	L1   L1Segment   `json:"l1,omitempty"`
	N1   N1Segment   `json:"n1,omitempty"`
}

DataRecord struct for DataRecord

type File

type File struct {
	Header  HeaderRecord  `json:"header"`
	Data    []DataRecord  `json:"data,omitempty"`
	Trailer TrailerRecord `json:"trailer"`
}

File struct for File

type GenericOpenAPIError

type GenericOpenAPIError struct {
	// contains filtered or unexported fields
}

GenericOpenAPIError Provides access to the body, error and model on returned errors.

func (GenericOpenAPIError) Body

func (e GenericOpenAPIError) Body() []byte

Body returns the raw bytes of the response

func (GenericOpenAPIError) Error

func (e GenericOpenAPIError) Error() string

Error returns non-empty string if there was an error.

func (GenericOpenAPIError) Model

func (e GenericOpenAPIError) Model() interface{}

Model returns the unpacked model of the error

type HeaderRecord

type HeaderRecord struct {
	BlockDescriptorWord         int32     `json:"blockDescriptorWord,omitempty"`
	RecordDescriptorWord        int32     `json:"recordDescriptorWord"`
	RecordIdentifier            string    `json:"recordIdentifier"`
	CycleIdentifier             string    `json:"cycleIdentifier,omitempty"`
	InnovisProgramIdentifier    string    `json:"innovisProgramIdentifier,omitempty"`
	EquifaxProgramIdentifier    string    `json:"equifaxProgramIdentifier,omitempty"`
	ExperianProgramIdentifier   string    `json:"experianProgramIdentifier,omitempty"`
	TransUnionProgramIdentifier string    `json:"transUnionProgramIdentifier,omitempty"`
	ActivityDate                time.Time `json:"activityDate"`
	DateCreated                 time.Time `json:"dateCreated"`
	ProgramDate                 time.Time `json:"programDate,omitempty"`
	ProgramRevisionDate         time.Time `json:"programRevisionDate,omitempty"`
	ReporterName                string    `json:"reporterName"`
	ReporterAddress             string    `json:"reporterAddress"`
	ReporterTelephoneNumber     int32     `json:"reporterTelephoneNumber,omitempty"`
	SoftwareVendorName          string    `json:"softwareVendorName,omitempty"`
	SoftwareVersionNumber       string    `json:"softwareVersionNumber,omitempty"`
	PrbcProgramIdentifier       string    `json:"prbcProgramIdentifier,omitempty"`
}

HeaderRecord struct for HeaderRecord

type J1Segment

type J1Segment struct {
	SegmentIdentifier            string    `json:"segmentIdentifier"`
	Surname                      string    `json:"surname"`
	FirstName                    string    `json:"firstName"`
	MiddleName                   string    `json:"middleName,omitempty"`
	GenerationCode               string    `json:"generationCode,omitempty"`
	SocialSecurityNumber         int32     `json:"socialSecurityNumber"`
	DateBirth                    time.Time `json:"dateBirth"`
	TelephoneNumber              int32     `json:"telephoneNumber,omitempty"`
	EcoaCode                     string    `json:"ecoaCode"`
	ConsumerInformationIndicator string    `json:"consumerInformationIndicator,omitempty"`
}

J1Segment struct for J1Segment

type J2Segment

type J2Segment struct {
	SegmentIdentifier            string    `json:"segmentIdentifier"`
	Surname                      string    `json:"surname"`
	FirstName                    string    `json:"firstName"`
	MiddleName                   string    `json:"middleName,omitempty"`
	GenerationCode               string    `json:"generationCode,omitempty"`
	SocialSecurityNumber         int32     `json:"socialSecurityNumber"`
	DateBirth                    time.Time `json:"dateBirth"`
	TelephoneNumber              int32     `json:"telephoneNumber,omitempty"`
	EcoaCode                     string    `json:"ecoaCode"`
	ConsumerInformationIndicator string    `json:"consumerInformationIndicator,omitempty"`
	CountryCode                  string    `json:"countryCode,omitempty"`
	FirstLineAddress             string    `json:"firstLineAddress"`
	SecondLineAddress            string    `json:"secondLineAddress,omitempty"`
	City                         string    `json:"city"`
	State                        string    `json:"state"`
	ZipCode                      string    `json:"zipCode"`
	AddressIndicator             string    `json:"addressIndicator,omitempty"`
	ResidenceCode                string    `json:"residenceCode,omitempty"`
}

J2Segment struct for J2Segment

type K1Segment

type K1Segment struct {
	SegmentIdentifier      string `json:"segmentIdentifier"`
	OriginalCreditorName   string `json:"originalCreditorName"`
	CreditorClassification int32  `json:"creditorClassification"`
}

K1Segment struct for K1Segment

type K2Segment

type K2Segment struct {
	SegmentIdentifier  string `json:"segmentIdentifier"`
	PurchasedIndicator int32  `json:"purchasedIndicator"`
	PurchasedName      string `json:"purchasedName"`
}

K2Segment struct for K2Segment

type K3Segment

type K3Segment struct {
	SegmentIdentifier            string `json:"segmentIdentifier"`
	AgencyIdentifier             int32  `json:"agencyIdentifier,omitempty"`
	AccountNumber                string `json:"accountNumber,omitempty"`
	MortgageIdentificationNumber string `json:"mortgageIdentificationNumber,omitempty"`
}

K3Segment struct for K3Segment

type K4Segment

type K4Segment struct {
	SegmentIdentifier           string    `json:"segmentIdentifier"`
	SpecializedPaymentIndicator int32     `json:"specializedPaymentIndicator"`
	DeferredPaymentStartDate    time.Time `json:"deferredPaymentStartDate,omitempty"`
	BalloonPaymentDueDate       time.Time `json:"balloonPaymentDueDate,omitempty"`
	BalloonPaymentAmount        int32     `json:"balloonPaymentAmount,omitempty"`
}

K4Segment struct for K4Segment

type L1Segment

type L1Segment struct {
	SegmentIdentifier        string `json:"segmentIdentifier"`
	ChangeIndicator          int32  `json:"changeIndicator"`
	NewConsumerAccountNumber string `json:"newConsumerAccountNumber,omitempty"`
	BalloonPaymentDueDate    string `json:"balloonPaymentDueDate,omitempty"`
}

L1Segment struct for L1Segment

type Metro2FilesApiService

type Metro2FilesApiService service

Metro2FilesApiService Metro2FilesApi service

func (*Metro2FilesApiService) Convert

func (a *Metro2FilesApiService) Convert(ctx _context.Context, localVarOptionals *ConvertOpts) (*os.File, *_nethttp.Response, error)

Convert Convert metro2 file Convert from original metro2 file to new metro2 file

  • @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param optional nil or *ConvertOpts - Optional Parameters:
  • @param "Format" (optional.String) - print metro2 file type
  • @param "Generate" (optional.Bool) - generate new trailer record
  • @param "File" (optional.Interface of *os.File) - metro2 file to upload

@return *os.File

func (*Metro2FilesApiService) Health

Health health metro2 service Check the metro2 service to check if running

  • @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().

@return string

func (*Metro2FilesApiService) Print

func (a *Metro2FilesApiService) Print(ctx _context.Context, localVarOptionals *PrintOpts) (string, *_nethttp.Response, error)

Print Print metro2 file with specific format Print metro2 file with requested file format.

  • @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param optional nil or *PrintOpts - Optional Parameters:
  • @param "Format" (optional.String) - print metro2 file type
  • @param "File" (optional.Interface of *os.File) - metro2 file to upload

@return string

func (*Metro2FilesApiService) Validator

func (a *Metro2FilesApiService) Validator(ctx _context.Context, localVarOptionals *ValidatorOpts) (string, *_nethttp.Response, error)

Validator Validate metro2 file Validation of metro2 file.

  • @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
  • @param optional nil or *ValidatorOpts - Optional Parameters:
  • @param "File" (optional.Interface of *os.File) - metro2 file to upload

@return string

type N1Segment

type N1Segment struct {
	SegmentIdentifier         string `json:"segmentIdentifier"`
	EmployerName              string `json:"employerName"`
	FirstLineEmployerAddress  string `json:"firstLineEmployerAddress,omitempty"`
	SecondLineEmployerAddress string `json:"secondLineEmployerAddress,omitempty"`
	EmployerCity              string `json:"employerCity,omitempty"`
	EmployerState             string `json:"employerState,omitempty"`
	ZipCode                   string `json:"zipCode,omitempty"`
	Occupation                string `json:"occupation,omitempty"`
}

N1Segment struct for N1Segment

type PrintOpts

type PrintOpts struct {
	Format optional.String
	File   optional.Interface
}

PrintOpts Optional parameters for the method 'Print'

type ServerConfiguration

type ServerConfiguration struct {
	Url         string
	Description string
	Variables   map[string]ServerVariable
}

ServerConfiguration stores the information about a server

type ServerVariable

type ServerVariable struct {
	Description  string
	DefaultValue string
	EnumValues   []string
}

ServerVariable stores the information about a server variable

type TrailerRecord

type TrailerRecord struct {
	BlockDescriptorWord              int32  `json:"blockDescriptorWord,omitempty"`
	RecordDescriptorWord             int32  `json:"recordDescriptorWord"`
	RecordIdentifier                 string `json:"recordIdentifier"`
	TotalBaseRecords                 int32  `json:"totalBaseRecords,omitempty"`
	TotalStatusCodeDF                int32  `json:"totalStatusCodeDF,omitempty"`
	TotalConsumerSegmentsJ1          int32  `json:"totalConsumerSegmentsJ1,omitempty"`
	TotalConsumerSegmentsJ2          int32  `json:"totalConsumerSegmentsJ2,omitempty"`
	BlockCount                       int32  `json:"blockCount,omitempty"`
	TotalStatusCodeDA                int32  `json:"totalStatusCodeDA,omitempty"`
	TotalStatusCode05                int32  `json:"totalStatusCode05,omitempty"`
	TotalStatusCode11                int32  `json:"totalStatusCode11,omitempty"`
	TotalStatusCode13                int32  `json:"totalStatusCode13,omitempty"`
	TotalStatusCode61                int32  `json:"totalStatusCode61,omitempty"`
	TotalStatusCode62                int32  `json:"totalStatusCode62,omitempty"`
	TotalStatusCode63                int32  `json:"totalStatusCode63,omitempty"`
	TotalStatusCode64                int32  `json:"totalStatusCode64,omitempty"`
	TotalStatusCode65                int32  `json:"totalStatusCode65,omitempty"`
	TotalStatusCode71                int32  `json:"totalStatusCode71,omitempty"`
	TotalStatusCode78                int32  `json:"totalStatusCode78,omitempty"`
	TotalStatusCode80                int32  `json:"totalStatusCode80,omitempty"`
	TotalStatusCode82                int32  `json:"totalStatusCode82,omitempty"`
	TotalStatusCode83                int32  `json:"totalStatusCode83,omitempty"`
	TotalStatusCode84                int32  `json:"totalStatusCode84,omitempty"`
	TotalStatusCode88                int32  `json:"totalStatusCode88,omitempty"`
	TotalStatusCode89                int32  `json:"totalStatusCode89,omitempty"`
	TotalStatusCode93                int32  `json:"totalStatusCode93,omitempty"`
	TotalStatusCode94                int32  `json:"totalStatusCode94,omitempty"`
	TotalStatusCode95                int32  `json:"totalStatusCode95,omitempty"`
	TotalStatusCode96                int32  `json:"totalStatusCode96,omitempty"`
	TotalStatusCode97                int32  `json:"totalStatusCode97,omitempty"`
	TotalECOACodeZ                   int32  `json:"totalECOACodeZ,omitempty"`
	TotalEmploymentSegments          int32  `json:"totalEmploymentSegments,omitempty"`
	TotalOriginalCreditorSegments    int32  `json:"totalOriginalCreditorSegments,omitempty"`
	TotalPurchasedToSegments         int32  `json:"totalPurchasedToSegments,omitempty"`
	TotalMortgageInformationSegments int32  `json:"totalMortgageInformationSegments,omitempty"`
	TotalPaymentInformationSegments  int32  `json:"totalPaymentInformationSegments,omitempty"`
	TotalChangeSegments              int32  `json:"totalChangeSegments,omitempty"`
	TotalSocialNumbersAllSegments    int32  `json:"totalSocialNumbersAllSegments,omitempty"`
	TotalSocialNumbersBaseSegments   int32  `json:"totalSocialNumbersBaseSegments,omitempty"`
	TotalSocialNumbersJ1Segments     int32  `json:"totalSocialNumbersJ1Segments,omitempty"`
	TotalSocialNumbersJ2Segments     int32  `json:"totalSocialNumbersJ2Segments,omitempty"`
	TotalDatesBirthAllSegments       int32  `json:"totalDatesBirthAllSegments,omitempty"`
	TotalDatesBirthBaseSegments      int32  `json:"totalDatesBirthBaseSegments,omitempty"`
	TotalDatesBirthJ1Segments        int32  `json:"totalDatesBirthJ1Segments,omitempty"`
	TotalDatesBirthJ2Segments        int32  `json:"totalDatesBirthJ2Segments,omitempty"`
	TotalTelephoneNumbersAllSegments int32  `json:"totalTelephoneNumbersAllSegments,omitempty"`
}

TrailerRecord struct for TrailerRecord

type ValidatorOpts

type ValidatorOpts struct {
	File optional.Interface
}

ValidatorOpts Optional parameters for the method 'Validator'

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL