78 lines
2.5 KiB
Go
78 lines
2.5 KiB
Go
|
package app
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"time"
|
||
|
)
|
||
|
|
||
|
// InjectResponseMeta takes a ResopnseMeta instance and injects additional metadata
|
||
|
func InjectResponseMeta(r *ResponseMeta) *ResponseMeta {
|
||
|
theResponseMeta := ResponseMeta{
|
||
|
Contact: "Contact Taxnexus at https://taxnexus.net/, info@taxnexus.net or +1-510-679-1900",
|
||
|
Copyright: "Taxnexus API and all Taxnexus content is Copyright (c) 2018-2020 by Taxnexus, Inc. All Rights Reserved.", //nolint:lll // response text
|
||
|
License: "Proprietary - Do Not Copy",
|
||
|
Pagination: r.Pagination,
|
||
|
TaxnexusAccount: r.TaxnexusAccount,
|
||
|
ServerInfo: r.ServerInfo,
|
||
|
ServerResponseTime: r.ServerResponseTime,
|
||
|
ServerTimestamp: r.ServerTimestamp,
|
||
|
RequestType: r.RequestType,
|
||
|
RequestIP: r.RequestIP,
|
||
|
RequestURL: r.RequestURL,
|
||
|
}
|
||
|
return &theResponseMeta
|
||
|
}
|
||
|
|
||
|
// NewResponseMeta creates a template meta response
|
||
|
func NewResponseMeta() *ResponseMeta {
|
||
|
return &ResponseMeta{
|
||
|
Contact: "Contact Taxnexus at https://taxnexus.net/, info@taxnexus.net or +1-510-679-1900",
|
||
|
Copyright: "Taxnexus API and all Taxnexus content is Copyright (c) 2018-2020 by Taxnexus, Inc. All Rights Reserved.", //nolint:lll // response text
|
||
|
License: "Proprietary - Do Not Copy",
|
||
|
Pagination: &Pagination{
|
||
|
Limit: 1,
|
||
|
Pagesize: 1,
|
||
|
Poffset: 0,
|
||
|
Setsize: 1,
|
||
|
},
|
||
|
ServerInfo: "Taxnexus v1.2.7 - Go",
|
||
|
ServerTimestamp: fmt.Sprint(time.Now().Local()),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// NewResponseMetaWithPagination creates a template meta response with pagination
|
||
|
func NewResponseMetaWithPagination(p *Pagination) *ResponseMeta {
|
||
|
return &ResponseMeta{
|
||
|
Contact: "Contact Taxnexus at https://taxnexus.net/, info@taxnexus.net or +1-510-679-1900",
|
||
|
Copyright: "Taxnexus API and all Taxnexus content is Copyright (c) 2018-2020 by Taxnexus, Inc. All Rights Reserved.", //nolint:lll // response text
|
||
|
License: "Proprietary - Do Not Copy",
|
||
|
ServerInfo: "Taxnexus v1.2.7 - Go",
|
||
|
ServerTimestamp: fmt.Sprint(time.Now()),
|
||
|
Pagination: p,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// ResponseMeta is a struct
|
||
|
type ResponseMeta struct {
|
||
|
Contact string
|
||
|
Copyright string
|
||
|
License string
|
||
|
OperationID string
|
||
|
Pagination *Pagination
|
||
|
RequestIP string
|
||
|
RequestType string
|
||
|
RequestURL string
|
||
|
ServerInfo string
|
||
|
ServerResponseTime string
|
||
|
ServerTimestamp string
|
||
|
TaxnexusAccount string
|
||
|
}
|
||
|
|
||
|
// Pagination is a struct
|
||
|
type Pagination struct {
|
||
|
Limit int64
|
||
|
Pagesize int64
|
||
|
Poffset int64
|
||
|
Setsize int64
|
||
|
}
|