Documentation ¶
Index ¶
- type AccountService
- type Client
- type ClientNotFoundError
- type Contact
- type ContactNotFoundError
- type ContactType
- type CreateClientRequest
- type CreateInvoiceQueryRequest
- type Credit
- type Details
- type Invoice
- type InvoiceNotFoundError
- type InvoiceQuery
- type InvoiceQueryNotFoundError
- type PatchClientRequest
- type Service
- func (s *Service) CreateClient(req CreateClientRequest) (int, error)
- func (s *Service) CreateInvoiceQuery(req CreateInvoiceQueryRequest) (int, error)
- func (s *Service) DeleteClient(clientID int) error
- func (s *Service) GetClient(clientID int) (Client, error)
- func (s *Service) GetClients(parameters connection.APIRequestParameters) ([]Client, error)
- func (s *Service) GetClientsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Client], error)
- func (s *Service) GetContact(contactID int) (Contact, error)
- func (s *Service) GetContacts(parameters connection.APIRequestParameters) ([]Contact, error)
- func (s *Service) GetContactsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Contact], error)
- func (s *Service) GetCredits(parameters connection.APIRequestParameters) ([]Credit, error)
- func (s *Service) GetDetails() (Details, error)
- func (s *Service) GetInvoice(invoiceID int) (Invoice, error)
- func (s *Service) GetInvoiceQueries(parameters connection.APIRequestParameters) ([]InvoiceQuery, error)
- func (s *Service) GetInvoiceQueriesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[InvoiceQuery], error)
- func (s *Service) GetInvoiceQuery(queryID int) (InvoiceQuery, error)
- func (s *Service) GetInvoices(parameters connection.APIRequestParameters) ([]Invoice, error)
- func (s *Service) GetInvoicesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Invoice], error)
- func (s *Service) PatchClient(clientID int, patch PatchClientRequest) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccountService ¶
type AccountService interface { GetClients(parameters connection.APIRequestParameters) ([]Client, error) GetClientsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Client], error) GetClient(clientID int) (Client, error) CreateClient(req CreateClientRequest) (int, error) PatchClient(clientID int, patch PatchClientRequest) error DeleteClient(clientID int) error GetContacts(parameters connection.APIRequestParameters) ([]Contact, error) GetContactsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Contact], error) GetContact(contactID int) (Contact, error) GetDetails() (Details, error) GetCredits(parameters connection.APIRequestParameters) ([]Credit, error) GetInvoices(parameters connection.APIRequestParameters) ([]Invoice, error) GetInvoicesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Invoice], error) GetInvoice(invoiceID int) (Invoice, error) GetInvoiceQueries(parameters connection.APIRequestParameters) ([]InvoiceQuery, error) GetInvoiceQueriesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[InvoiceQuery], error) GetInvoiceQuery(invoiceQueryID int) (InvoiceQuery, error) CreateInvoiceQuery(req CreateInvoiceQueryRequest) (int, error) }
AccountService is an interface for managing account
type Client ¶ added in v1.16.8
type Client struct { ID int `json:"id"` CompanyName string `json:"company_name"` FirstName string `json:"first_name"` LastName string `json:"last_name"` EmailAddress string `json:"email_address"` LimitedNumber string `json:"limited_number"` VATNumber string `json:"vat_number"` Address string `json:"address"` Address1 string `json:"address1"` City string `json:"city"` County string `json:"county"` Country string `json:"country"` Postcode string `json:"postcode"` Phone string `json:"phone"` Fax string `json:"fax"` Mobile string `json:"mobile"` Type string `json:"type"` UserName string `json:"user_name"` IDReference string `json:"id_reference"` NominetContactID string `json:"nominet_contact_id"` CreatedDate string `json:"created_date"` }
Client represents an account client
type ClientNotFoundError ¶ added in v1.16.8
type ClientNotFoundError struct {
ID int
}
ClientNotFoundError indicates a client was not found
func (*ClientNotFoundError) Error ¶ added in v1.16.8
func (e *ClientNotFoundError) Error() string
type Contact ¶
type Contact struct { ID int `json:"id"` Type ContactType `json:"type"` FirstName string `json:"first_name"` LastName string `json:"last_name"` }
Contact represents a UKFast account contact
type ContactNotFoundError ¶
type ContactNotFoundError struct {
ID int
}
ContactNotFoundError indicates a contact was not found
func (*ContactNotFoundError) Error ¶
func (e *ContactNotFoundError) Error() string
type ContactType ¶
type ContactType string
const ( ContactTypePrimaryContact ContactType = "Primary Contact" ContactTypeAccounts ContactType = "Accounts" ContactTypeTechnical ContactType = "Technical" ContactTypeThirdParty ContactType = "Third Party" ContactTypeOther ContactType = "Other" )
func (ContactType) String ¶
func (t ContactType) String() string
type CreateClientRequest ¶ added in v1.16.8
type CreateClientRequest struct { CompanyName string `json:"company_name"` FirstName string `json:"first_name"` LastName string `json:"last_name"` EmailAddress string `json:"email_address"` LimitedNumber string `json:"limited_number"` VATNumber string `json:"vat_number"` Address string `json:"address"` Address1 string `json:"address1"` City string `json:"city"` County string `json:"county"` Country string `json:"country"` Postcode string `json:"postcode"` Phone string `json:"phone"` Fax string `json:"fax"` Mobile string `json:"mobile"` Type string `json:"type"` UserName string `json:"user_name"` IDReference string `json:"id_reference"` NominetContactID string `json:"nominet_contact_id"` }
CreateClientRequest represents a request to create a client
type CreateInvoiceQueryRequest ¶
type CreateInvoiceQueryRequest struct { ContactID int `json:"contact_id"` ContactMethod string `json:"contact_method"` Amount float32 `json:"amount"` WhatWasExpected string `json:"what_was_expected"` WhatWasReceived string `json:"what_was_received"` ProposedSolution string `json:"proposed_solution"` InvoiceIDs []int `json:"invoice_ids"` }
CreateInvoiceQueryRequest represents a request to create an invoice query
type Credit ¶
type Credit struct { Type string `json:"type"` Total int `json:"total"` Remaining int `json:"remaining"` }
Credit represents a UKFast account credit
type Details ¶
type Details struct { CompanyRegistrationNumber string `json:"company_registration_number"` VATIdentificationNumber string `json:"vat_identification_number"` PrimaryContactID int `json:"primary_contact_id"` }
Details represents a UKFast account details
type Invoice ¶
type Invoice struct { ID int `json:"id"` Date connection.Date `json:"date"` Paid bool `json:"paid"` Net float32 `json:"net"` VAT float32 `json:"vat"` Gross float32 `json:"gross"` }
Invoice represents a UKFast account invoice
type InvoiceNotFoundError ¶
type InvoiceNotFoundError struct {
ID int
}
InvoiceNotFoundError indicates an invoice was not found
func (*InvoiceNotFoundError) Error ¶
func (e *InvoiceNotFoundError) Error() string
type InvoiceQuery ¶
type InvoiceQuery struct { ID int `json:"id"` ContactID int `json:"contact_id"` Amount float32 `json:"amount"` WhatWasExpected string `json:"what_was_expected"` WhatWasReceived string `json:"what_was_received"` ProposedSolution string `json:"proposed_solution"` InvoiceIDs []int `json:"invoice_ids"` }
InvoiceQuery represents a UKFast account invoice query
type InvoiceQueryNotFoundError ¶
type InvoiceQueryNotFoundError struct {
ID int
}
InvoiceQueryNotFoundError indicates an invoice query was not found
func (*InvoiceQueryNotFoundError) Error ¶
func (e *InvoiceQueryNotFoundError) Error() string
type PatchClientRequest ¶ added in v1.16.8
type PatchClientRequest struct { CompanyName string `json:"company_name,omitempty"` FirstName string `json:"first_name,omitempty"` LastName string `json:"last_name,omitempty"` EmailAddress string `json:"email_address,omitempty"` LimitedNumber string `json:"limited_number,omitempty"` VATNumber string `json:"vat_number,omitempty"` Address string `json:"address,omitempty"` Address1 string `json:"address1,omitempty"` City string `json:"city,omitempty"` County string `json:"county,omitempty"` Country string `json:"country,omitempty"` Postcode string `json:"postcode,omitempty"` Phone string `json:"phone,omitempty"` Fax string `json:"fax,omitempty"` Mobile string `json:"mobile,omitempty"` Type string `json:"type,omitempty"` UserName string `json:"user_name,omitempty"` IDReference string `json:"id_reference,omitempty"` NominetContactID string `json:"nominet_contact_id,omitempty"` }
PatchClientRequest represents a request to update a client
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service implements AccountService for managing Account certificates via the UKFast API
func NewService ¶
func NewService(connection connection.Connection) *Service
NewService returns a new instance of AccountService
func (*Service) CreateClient ¶ added in v1.16.8
func (s *Service) CreateClient(req CreateClientRequest) (int, error)
CreateClient creates a new client
func (*Service) CreateInvoiceQuery ¶
func (s *Service) CreateInvoiceQuery(req CreateInvoiceQueryRequest) (int, error)
CreateInvoiceQuery retrieves creates an InvoiceQuery
func (*Service) DeleteClient ¶ added in v1.16.8
DeleteClient removes a client
func (*Service) GetClients ¶ added in v1.16.8
func (s *Service) GetClients(parameters connection.APIRequestParameters) ([]Client, error)
GetClients retrieves a list of clients
func (*Service) GetClientsPaginated ¶ added in v1.16.8
func (s *Service) GetClientsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Client], error)
GetClientsPaginated retrieves a paginated list of clients
func (*Service) GetContact ¶
GetContact retrieves a single contact by id
func (*Service) GetContacts ¶
func (s *Service) GetContacts(parameters connection.APIRequestParameters) ([]Contact, error)
GetContacts retrieves a list of contacts
func (*Service) GetContactsPaginated ¶
func (s *Service) GetContactsPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Contact], error)
GetContactsPaginated retrieves a paginated list of contacts
func (*Service) GetCredits ¶
func (s *Service) GetCredits(parameters connection.APIRequestParameters) ([]Credit, error)
GetCredits retrieves a list of credits
func (*Service) GetDetails ¶
GetDetails retrieves account details
func (*Service) GetInvoice ¶
GetInvoice retrieves a single invoice by id
func (*Service) GetInvoiceQueries ¶
func (s *Service) GetInvoiceQueries(parameters connection.APIRequestParameters) ([]InvoiceQuery, error)
GetInvoiceQueries retrieves a list of invoice queries
func (*Service) GetInvoiceQueriesPaginated ¶
func (s *Service) GetInvoiceQueriesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[InvoiceQuery], error)
GetInvoiceQueriesPaginated retrieves a paginated list of invoice queries
func (*Service) GetInvoiceQuery ¶
func (s *Service) GetInvoiceQuery(queryID int) (InvoiceQuery, error)
GetInvoiceQuery retrieves a single invoice query by id
func (*Service) GetInvoices ¶
func (s *Service) GetInvoices(parameters connection.APIRequestParameters) ([]Invoice, error)
GetInvoices retrieves a list of invoices
func (*Service) GetInvoicesPaginated ¶
func (s *Service) GetInvoicesPaginated(parameters connection.APIRequestParameters) (*connection.Paginated[Invoice], error)
GetInvoicesPaginated retrieves a paginated list of invoices
func (*Service) PatchClient ¶ added in v1.16.8
func (s *Service) PatchClient(clientID int, patch PatchClientRequest) error
PatchClient patches a client