package models // Client client model type Client interface { GetID() string GetSecret() string GetDomain() string GetUserID() string } func New(id string, secret string, domain string, userID string) Client { return &simpleClient{ id: id, secret: secret, domain: domain, userID: userID, } } // simpleClient is a very simple client model that satisfies the Client interface type simpleClient struct { id string secret string domain string userID string } // GetID client id func (c *simpleClient) GetID() string { return c.id } // GetSecret client secret func (c *simpleClient) GetSecret() string { return c.secret } // GetDomain client domain func (c *simpleClient) GetDomain() string { return c.domain } // GetUserID user id func (c *simpleClient) GetUserID() string { return c.userID }