Documentation
¶
Index ¶
- Constants
- type Server
- func (s *Server) APIKeyCreate(c *gin.Context)
- func (s *Server) APIKeyDelete(c *gin.Context)
- func (s *Server) APIKeyDetail(c *gin.Context)
- func (s *Server) APIKeyList(c *gin.Context)
- func (s *Server) APIKeyUpdate(c *gin.Context)
- func (s *Server) Available() gin.HandlerFunc
- func (s *Server) Healthy() bool
- func (s *Server) MemberCreate(c *gin.Context)
- func (s *Server) MemberDelete(c *gin.Context)
- func (s *Server) MemberDetail(c *gin.Context)
- func (s *Server) MemberList(c *gin.Context)
- func (s *Server) MemberUpdate(c *gin.Context)
- func (s *Server) ProjectAPIKeyCreate(c *gin.Context)
- func (s *Server) ProjectAPIKeyList(c *gin.Context)
- func (s *Server) ProjectCreate(c *gin.Context)
- func (s *Server) ProjectDelete(c *gin.Context)
- func (s *Server) ProjectDetail(c *gin.Context)
- func (s *Server) ProjectList(c *gin.Context)
- func (s *Server) ProjectTopicCreate(c *gin.Context)
- func (s *Server) ProjectTopicList(c *gin.Context)
- func (s *Server) ProjectUpdate(c *gin.Context)
- func (s *Server) ProtectLogin(c *gin.Context)
- func (s *Server) Serve() (err error)
- func (s *Server) SetHealth(health bool)
- func (s *Server) SetURL(url string)
- func (s *Server) Shutdown() (err error)
- func (s *Server) SignUp(c *gin.Context)
- func (s *Server) Status(c *gin.Context)
- func (s *Server) TenantCreate(c *gin.Context)
- func (s *Server) TenantDelete(c *gin.Context)
- func (s *Server) TenantDetail(c *gin.Context)
- func (s *Server) TenantList(c *gin.Context)
- func (s *Server) TenantMemberCreate(c *gin.Context)
- func (s *Server) TenantMemberList(c *gin.Context)
- func (s *Server) TenantProjectCreate(c *gin.Context)
- func (s *Server) TenantProjectList(c *gin.Context)
- func (s *Server) TenantUpdate(c *gin.Context)
- func (s *Server) TopicCreate(c *gin.Context)
- func (s *Server) TopicDelete(c *gin.Context)
- func (s *Server) TopicDetail(c *gin.Context)
- func (s *Server) TopicList(c *gin.Context)
- func (s *Server) TopicUpdate(c *gin.Context)
- func (s *Server) URL() string
Constants ¶
const ( // Tenant management ReadTenantPermission = "read:tenant" WriteTenantPermission = "write:tenant" DeleteTenantPermission = "delete:tenant" // Members management ReadMemberPermission = "read:member" WriteMemberPermission = "write:member" DeleteMemberPermission = "delete:member" // Projects management ReadProjectPermission = "read:project" WriteProjectPermission = "write:project" DeleteProjectPermission = "delete:project" // Topics management ReadTopicPermission = "read:topic" WriteTopicPermission = "write:topic" DeleteTopicPermission = "delete:topic" // API Keys management ReadAPIKey = "read:key" WriteAPIKey = "write:key" DeleteAPIKey = "delete:key" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Server ¶
Server implements the API router and handlers.
func (*Server) APIKeyCreate ¶ added in v0.2.0
func (*Server) APIKeyDelete ¶ added in v0.2.0
func (*Server) APIKeyDetail ¶ added in v0.2.0
func (*Server) APIKeyList ¶ added in v0.2.0
func (*Server) APIKeyUpdate ¶ added in v0.2.0
func (*Server) Available ¶
func (s *Server) Available() gin.HandlerFunc
Available is middleware that uses healthy boolean to return a service unavailable http status code if the server is shutting down or in maintenance mode. This middleware must be fairly early on in the chain to ensure that complex handling does not slow the shutdown of the server.
func (*Server) MemberCreate ¶ added in v0.2.0
MemberCreate adds a new member to an organization in the database and returns a 201 StatusCreated response.
Route: /member
func (*Server) MemberDelete ¶ added in v0.2.0
MemberDelete deletes a member from a user's request with a given ID and returns a 200 OK response instead of an an error response.
Route: /member/:memberID
func (*Server) MemberDetail ¶ added in v0.2.0
MemberDetail retrieves a summary detail of a member by its ID and returns a 200 OK response.
Route: /member/:memberID
func (*Server) MemberList ¶ added in v0.2.0
MemberList retrieves all members assigned to an organization and returns a 200 OK response.
Route: /member
func (*Server) MemberUpdate ¶ added in v0.2.0
MemberUpdate updates the record of a member with a given ID and returns a 200 OK response.
route: /member/:memberID
func (*Server) ProjectAPIKeyCreate ¶ added in v0.2.0
func (*Server) ProjectAPIKeyList ¶ added in v0.2.0
func (*Server) ProjectCreate ¶ added in v0.2.0
ProjectCreate adds a new project to an organization in the database and returns a 201 StatusCreated response.
Route: /project
func (*Server) ProjectDelete ¶ added in v0.2.0
ProjectDelete deletes a project from a user's request with a given ID and returns a 200 OK response instead of an error response.
Route: /project/:projectID
func (*Server) ProjectDetail ¶ added in v0.2.0
ProjectDetail retrieves a summary detail of a project by its ID and returns a 200 OK response.
Route: /project/:projectID
func (*Server) ProjectList ¶ added in v0.2.0
ProjectList retrieves all projects assigned to an organization and returns a 200 OK response.
Route: /projects
func (*Server) ProjectTopicCreate ¶ added in v0.2.0
ProjectTopicCreate adds a topic to a project in the database and returns a 201 StatusCreated response.
Route: /projects/:projectID/topics
func (*Server) ProjectTopicList ¶ added in v0.2.0
ProjectTopicList retrieves all topics assigned to a project and returns a 200 OK response.
Route: /projects/:projectID/topics
func (*Server) ProjectUpdate ¶ added in v0.2.0
ProjectUpdate updates the record of a project with a given ID and returns a 200 OK response.
Route: /project/:projectID
func (*Server) ProtectLogin ¶ added in v0.2.0
ProtectLogin prepares the front-end for login by setting the double cookie tokens for CSRF protection.
func (*Server) SignUp ¶
Signs up a contact to receive notifications from SendGrid by making a request to the SendGrid add contacts marketing API. The SendGrid API is asynchronous, which means that it doesn't return success if the user is registered. Instead a job ID is returned and the endpoint has to check if the registration was actually successful or not. To not block this endpoint, sign up doesn't check success but returns ok if the registration was correctly submitted.
TODO: check for when the user is successfully signed up then send a welcome email. TODO: move all sendgrid-specific functionality into its own helper package. TODO: search for ensign list ID rather than configuring it externally.
func (*Server) TenantCreate ¶ added in v0.2.0
TenantCreate adds a new tenant to the database and returns a 201 StatusCreated response.
Route: /tenant
func (*Server) TenantDelete ¶ added in v0.2.0
TenantDelete deletes a tenant from a user's request with a given ID and returns a 200 OK response instead of an an error response.
Route: /tenant/:tenantID
func (*Server) TenantDetail ¶ added in v0.2.0
TenantDetail retrieves a summary detail of a tenant by its ID and returns a 200 OK response.
Route: /tenant/:tenantID
func (*Server) TenantList ¶ added in v0.2.0
TenantList retrieves all tenants assigned to an organization and returns a 200 OK response.
Route: /tenant
func (*Server) TenantMemberCreate ¶ added in v0.2.0
/ TenantMemberCreate adds a new member to a tenant in the database and returns a 201 StatusCreated response.
Route: /tenant/:tenantID/members
func (*Server) TenantMemberList ¶ added in v0.2.0
TenantMemberList retrieves all members assigned to a tenant and returns a 200 OK response.
Route: tenant/:tenantID/member
func (*Server) TenantProjectCreate ¶ added in v0.2.0
TenantProjectCreate adds a new tenant project to the database and returns a 201 StatusCreated response.
Route: /tenant/:tenantID/projects
func (*Server) TenantProjectList ¶ added in v0.2.0
TenantProjectList retrieves all projects assigned to a tenant and returns a 200 OK response.
Route: //tenant/:tenantID/projects
func (*Server) TenantUpdate ¶ added in v0.2.0
TenantUpdate will update a tenants record and returns a 200 OK response.
Route: /tenant/:tenantID
func (*Server) TopicCreate ¶ added in v0.2.0
Route: /topics
func (*Server) TopicDelete ¶ added in v0.2.0
TopicDelete deletes a topic from a user's request with a given ID and returns a 200 OK response instead of an error response.
Route: /topic/:topicID
func (*Server) TopicDetail ¶
TopicDetail retrieves a summary detail of a topic with a given ID and returns a 200 OK response.
Route: /topic/:topicID
func (*Server) TopicList ¶
TopicList retrieves all topics assigned to an organization and returns a 200 OK response.
Route: /topics
func (*Server) TopicUpdate ¶ added in v0.2.0
TopicUpdate updates the record of a topic with a given ID and returns a 200 OK response.
Route: /topic/:topicID