Documentation
¶
Overview ¶
Package internal provides primitives to interact with the openapi HTTP API.
Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.5.1 DO NOT EDIT.
Index ¶
- Constants
- func RegisterHandlers(router gin.IRouter, si ServerInterface)
- func RegisterHandlersWithOptions(router gin.IRouter, si ServerInterface, options GinServerOptions)
- type AddWorkspaceMemberJSONRequestBody
- type AddWorkspaceMemberParams
- type AddWorkspaceMemberRequest
- type AssignTagToTodoJSONRequestBody
- type AssignTagToTodoParams
- type AssignTagToTodoRequest
- type CommitTaskJSONRequestBody
- type CommitTaskRequest
- type CompleteTodoParams
- type CompletionLog
- type CreateTagJSONRequestBody
- type CreateTagParams
- type CreateTagRequest
- type CreateTodoJSONRequestBody
- type CreateTodoParams
- type CreateTodoRequest
- type ErrorResponse
- type FocusSession
- type GetUserWorkspacesParams
- type GetWorkspaceTodosParams
- type GinServerOptions
- type HTTPValidationError
- type IdResponse
- type IdempotencyKey
- type InitiateTOTPResponseBody
- type Limit
- type ListWorkspacesParams
- type LoginJSONRequestBody
- type LoginRequestBody
- type LoginResponseBody
- type MiddlewareFunc
- type Offset
- type OnboardWorkspaceJSONRequestBody
- type OnboardWorkspaceParams
- type OnboardWorkspaceRequest
- type RecurrenceInterval
- type RegisterJSONRequestBody
- type RegisterParams
- type RegisterUserRequestBody
- type ServerInterface
- type ServerInterfaceWrapper
- func (siw *ServerInterfaceWrapper) AddWorkspaceMember(c *gin.Context)
- func (siw *ServerInterfaceWrapper) AssignTagToTodo(c *gin.Context)
- func (siw *ServerInterfaceWrapper) CommitTask(c *gin.Context)
- func (siw *ServerInterfaceWrapper) CompleteTodo(c *gin.Context)
- func (siw *ServerInterfaceWrapper) CreateTag(c *gin.Context)
- func (siw *ServerInterfaceWrapper) CreateTodo(c *gin.Context)
- func (siw *ServerInterfaceWrapper) DeleteWorkspace(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetTodoByID(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetUserByID(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetUserWorkspaces(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetWorkspaceTags(c *gin.Context)
- func (siw *ServerInterfaceWrapper) GetWorkspaceTodos(c *gin.Context)
- func (siw *ServerInterfaceWrapper) InitiateTOTP(c *gin.Context)
- func (siw *ServerInterfaceWrapper) ListWorkspaces(c *gin.Context)
- func (siw *ServerInterfaceWrapper) Login(c *gin.Context)
- func (siw *ServerInterfaceWrapper) OnboardWorkspace(c *gin.Context)
- func (siw *ServerInterfaceWrapper) Ping(c *gin.Context)
- func (siw *ServerInterfaceWrapper) Register(c *gin.Context)
- func (siw *ServerInterfaceWrapper) RemoveWorkspaceMember(c *gin.Context)
- func (siw *ServerInterfaceWrapper) StartFocus(c *gin.Context)
- func (siw *ServerInterfaceWrapper) StopFocus(c *gin.Context)
- func (siw *ServerInterfaceWrapper) VerifyTOTP(c *gin.Context)
- type Tag
- type Todo
- type TodoStatus
- type User
- type ValidationError
- type ValidationErrorDetail
- type VerifyTOTPJSONRequestBody
- type VerifyTOTPRequestBody
- type Workspace
- type WorkspaceRole
Constants ¶
const (
BearerAuthScopes = "bearerAuth.Scopes"
)
Variables ¶
This section is empty.
Functions ¶
func RegisterHandlers ¶
func RegisterHandlers(router gin.IRouter, si ServerInterface)
RegisterHandlers creates http.Handler with routing matching OpenAPI spec.
func RegisterHandlersWithOptions ¶
func RegisterHandlersWithOptions(router gin.IRouter, si ServerInterface, options GinServerOptions)
RegisterHandlersWithOptions creates http.Handler with additional options
Types ¶
type AddWorkspaceMemberJSONRequestBody ¶
type AddWorkspaceMemberJSONRequestBody = AddWorkspaceMemberRequest
AddWorkspaceMemberJSONRequestBody defines body for AddWorkspaceMember for application/json ContentType.
type AddWorkspaceMemberParams ¶
type AddWorkspaceMemberParams struct {
// IdempotencyKey Unique key to allow safe retries of non-idempotent requests. If a request with the same key is received, the server returns the cached response.
IdempotencyKey *IdempotencyKey `json:"Idempotency-Key,omitempty"`
}
AddWorkspaceMemberParams defines parameters for AddWorkspaceMember.
type AddWorkspaceMemberRequest ¶
type AddWorkspaceMemberRequest struct {
Role WorkspaceRole `json:"role"`
UserId openapi_types.UUID `json:"userId"`
}
AddWorkspaceMemberRequest defines model for AddWorkspaceMemberRequest.
type AssignTagToTodoJSONRequestBody ¶
type AssignTagToTodoJSONRequestBody = AssignTagToTodoRequest
AssignTagToTodoJSONRequestBody defines body for AssignTagToTodo for application/json ContentType.
type AssignTagToTodoParams ¶
type AssignTagToTodoParams struct {
// IdempotencyKey Unique key to allow safe retries of non-idempotent requests. If a request with the same key is received, the server returns the cached response.
IdempotencyKey *IdempotencyKey `json:"Idempotency-Key,omitempty"`
}
AssignTagToTodoParams defines parameters for AssignTagToTodo.
type AssignTagToTodoRequest ¶
type AssignTagToTodoRequest struct {
TagId todoDomain.TagID `json:"tagId"`
}
AssignTagToTodoRequest defines model for AssignTagToTodoRequest.
type CommitTaskJSONRequestBody ¶
type CommitTaskJSONRequestBody = CommitTaskRequest
CommitTaskJSONRequestBody defines body for CommitTask for application/json ContentType.
type CommitTaskRequest ¶
type CommitTaskRequest struct {
Cost int `json:"cost"`
Date openapi_types.Date `json:"date"`
TodoId openapi_types.UUID `json:"todoId"`
}
CommitTaskRequest defines model for CommitTaskRequest.
type CompleteTodoParams ¶
type CompleteTodoParams struct {
// IdempotencyKey Unique key to allow safe retries of non-idempotent requests. If a request with the same key is received, the server returns the cached response.
IdempotencyKey *IdempotencyKey `json:"Idempotency-Key,omitempty"`
}
CompleteTodoParams defines parameters for CompleteTodo.
type CompletionLog ¶
type CompletionLog struct {
ActorId userDomain.UserID `json:"actorId"`
Timestamp time.Time `json:"timestamp"`
}
CompletionLog defines model for CompletionLog.
type CreateTagJSONRequestBody ¶
type CreateTagJSONRequestBody = CreateTagRequest
CreateTagJSONRequestBody defines body for CreateTag for application/json ContentType.
type CreateTagParams ¶
type CreateTagParams struct {
// IdempotencyKey Unique key to allow safe retries of non-idempotent requests. If a request with the same key is received, the server returns the cached response.
IdempotencyKey *IdempotencyKey `json:"Idempotency-Key,omitempty"`
}
CreateTagParams defines parameters for CreateTag.
type CreateTagRequest ¶
type CreateTagRequest struct {
Name string `json:"name"`
}
CreateTagRequest defines model for CreateTagRequest.
type CreateTodoJSONRequestBody ¶
type CreateTodoJSONRequestBody = CreateTodoRequest
CreateTodoJSONRequestBody defines body for CreateTodo for application/json ContentType.
type CreateTodoParams ¶
type CreateTodoParams struct {
// IdempotencyKey Unique key to allow safe retries of non-idempotent requests. If a request with the same key is received, the server returns the cached response.
IdempotencyKey *IdempotencyKey `json:"Idempotency-Key,omitempty"`
}
CreateTodoParams defines parameters for CreateTodo.
type CreateTodoRequest ¶
type CreateTodoRequest struct {
DueDate *time.Time `json:"dueDate"`
RecurrenceAmount *int `json:"recurrenceAmount"`
RecurrenceInterval *RecurrenceInterval `json:"recurrenceInterval"`
Title string `json:"title"`
}
CreateTodoRequest defines model for CreateTodoRequest.
type ErrorResponse ¶
type ErrorResponse struct {
Error *struct {
Code *string `json:"code,omitempty"`
Message *string `json:"message,omitempty"`
TraceId *string `json:"trace_id,omitempty"`
Validation *HTTPValidationError `json:"validation,omitempty"`
} `json:"error,omitempty"`
}
ErrorResponse defines model for ErrorResponse.
type FocusSession ¶
type FocusSession struct {
EndTime *time.Time `json:"endTime"`
Id openapi_types.UUID `json:"id"`
StartTime time.Time `json:"startTime"`
}
FocusSession defines model for FocusSession.
type GetUserWorkspacesParams ¶
type GetUserWorkspacesParams struct {
// Limit Maximum number of records to return.
Limit *Limit `form:"limit,omitempty" json:"limit,omitempty"`
// Offset Number of records to skip.
Offset *Offset `form:"offset,omitempty" json:"offset,omitempty"`
}
GetUserWorkspacesParams defines parameters for GetUserWorkspaces.
type GetWorkspaceTodosParams ¶
type GetWorkspaceTodosParams struct {
// Limit Maximum number of records to return.
Limit *Limit `form:"limit,omitempty" json:"limit,omitempty"`
// Offset Number of records to skip.
Offset *Offset `form:"offset,omitempty" json:"offset,omitempty"`
}
GetWorkspaceTodosParams defines parameters for GetWorkspaceTodos.
type GinServerOptions ¶
type GinServerOptions struct {
BaseURL string
Middlewares []MiddlewareFunc
ErrorHandler func(*gin.Context, error, int)
}
GinServerOptions provides options for the Gin server.
type HTTPValidationError ¶
type HTTPValidationError struct {
Detail *[]ValidationError `json:"detail,omitempty"`
Messages []string `json:"messages"`
}
HTTPValidationError defines model for HTTPValidationError.
type IdResponse ¶
type IdResponse struct {
Id openapi_types.UUID `json:"id"`
}
IdResponse defines model for IdResponse.
type IdempotencyKey ¶
type IdempotencyKey = openapi_types.UUID
IdempotencyKey defines model for IdempotencyKey.
type InitiateTOTPResponseBody ¶
type InitiateTOTPResponseBody struct {
ProvisioningUri string `json:"provisioningUri"`
}
InitiateTOTPResponseBody defines model for InitiateTOTPResponseBody.
type ListWorkspacesParams ¶
type ListWorkspacesParams struct {
// Limit Maximum number of records to return.
Limit *Limit `form:"limit,omitempty" json:"limit,omitempty"`
// Offset Number of records to skip.
Offset *Offset `form:"offset,omitempty" json:"offset,omitempty"`
}
ListWorkspacesParams defines parameters for ListWorkspaces.
type LoginJSONRequestBody ¶
type LoginJSONRequestBody = LoginRequestBody
LoginJSONRequestBody defines body for Login for application/json ContentType.
type LoginRequestBody ¶
type LoginRequestBody struct {
Email openapi_types.Email `json:"email"`
Password secrecy.Secret[string] `json:"password"`
}
LoginRequestBody defines model for LoginRequestBody.
type LoginResponseBody ¶
type LoginResponseBody struct {
AccessToken string `json:"accessToken"`
}
LoginResponseBody defines model for LoginResponseBody.
type MiddlewareFunc ¶
type OnboardWorkspaceJSONRequestBody ¶
type OnboardWorkspaceJSONRequestBody = OnboardWorkspaceRequest
OnboardWorkspaceJSONRequestBody defines body for OnboardWorkspace for application/json ContentType.
type OnboardWorkspaceParams ¶
type OnboardWorkspaceParams struct {
// IdempotencyKey Unique key to allow safe retries of non-idempotent requests. If a request with the same key is received, the server returns the cached response.
IdempotencyKey *IdempotencyKey `json:"Idempotency-Key,omitempty"`
}
OnboardWorkspaceParams defines parameters for OnboardWorkspace.
type OnboardWorkspaceRequest ¶
type OnboardWorkspaceRequest struct {
// Description A brief description of the workspace purpose.
Description *string `json:"description,omitempty"`
// Members Initial extra members to add to the workspace.
Members *map[uuid.UUID]workspaceDomain.WorkspaceRole `json:"members,omitempty"`
// Name The display name of the workspace.
Name string `json:"name"`
}
OnboardWorkspaceRequest defines model for OnboardWorkspaceRequest.
type RecurrenceInterval ¶
type RecurrenceInterval string
RecurrenceInterval defines model for RecurrenceInterval.
const ( DAILY RecurrenceInterval = "DAILY" MONTHLY RecurrenceInterval = "MONTHLY" WEEKLY RecurrenceInterval = "WEEKLY" )
Defines values for RecurrenceInterval.
type RegisterJSONRequestBody ¶
type RegisterJSONRequestBody = RegisterUserRequestBody
RegisterJSONRequestBody defines body for Register for application/json ContentType.
type RegisterParams ¶
type RegisterParams struct {
// IdempotencyKey Unique key to allow safe retries of non-idempotent requests. If a request with the same key is received, the server returns the cached response.
IdempotencyKey *IdempotencyKey `json:"Idempotency-Key,omitempty"`
}
RegisterParams defines parameters for Register.
type RegisterUserRequestBody ¶
type RegisterUserRequestBody struct {
Email openapi_types.Email `json:"email"`
Name string `json:"name"`
Password secrecy.Secret[string] `json:"password"`
}
RegisterUserRequestBody defines model for RegisterUserRequestBody.
type ServerInterface ¶
type ServerInterface interface {
// Login with email and password
// (POST /auth/login)
Login(c *gin.Context)
// Register a new user with password
// (POST /auth/register)
Register(c *gin.Context, params RegisterParams)
// Initiate TOTP setup for the user
// (POST /auth/totp/initiate)
InitiateTOTP(c *gin.Context)
// Verify and activate TOTP
// (POST /auth/totp/verify)
VerifyTOTP(c *gin.Context)
// Health check
// (GET /ping)
Ping(c *gin.Context)
// Commit a task to daily schedule
// (POST /schedule/commit)
CommitTask(c *gin.Context)
// Get a todo by ID
// (GET /todos/{id})
GetTodoByID(c *gin.Context, id todoDomain.TodoID)
// Complete a todo
// (PATCH /todos/{id}/complete)
CompleteTodo(c *gin.Context, id todoDomain.TodoID, params CompleteTodoParams)
// Start focus session
// (POST /todos/{id}/focus/start)
StartFocus(c *gin.Context, id todoDomain.TodoID)
// Stop focus session
// (POST /todos/{id}/focus/stop)
StopFocus(c *gin.Context, id todoDomain.TodoID)
// Assign a tag to a todo
// (POST /todos/{id}/tags)
AssignTagToTodo(c *gin.Context, id todoDomain.TodoID, params AssignTagToTodoParams)
// (GET /users/{id})
GetUserByID(c *gin.Context, id userDomain.UserID)
// Get all workspaces for a user
// (GET /users/{id}/workspaces)
GetUserWorkspaces(c *gin.Context, id userDomain.UserID, params GetUserWorkspacesParams)
// List all workspaces
// (GET /workspaces)
ListWorkspaces(c *gin.Context, params ListWorkspacesParams)
// Onboard a new workspace with initial members
// (POST /workspaces)
OnboardWorkspace(c *gin.Context, params OnboardWorkspaceParams)
// Delete a workspace
// (DELETE /workspaces/{id})
DeleteWorkspace(c *gin.Context, id workspaceDomain.WorkspaceID)
// Add a member to a workspace
// (POST /workspaces/{id}/members)
AddWorkspaceMember(c *gin.Context, id workspaceDomain.WorkspaceID, params AddWorkspaceMemberParams)
// Remove a member from a workspace
// (DELETE /workspaces/{id}/members/{userId})
RemoveWorkspaceMember(c *gin.Context, id workspaceDomain.WorkspaceID, userId userDomain.UserID)
// Get all tags for a workspace
// (GET /workspaces/{id}/tags)
GetWorkspaceTags(c *gin.Context, id workspaceDomain.WorkspaceID)
// Create a new tag
// (POST /workspaces/{id}/tags)
CreateTag(c *gin.Context, id workspaceDomain.WorkspaceID, params CreateTagParams)
// List all todos for a workspace
// (GET /workspaces/{id}/todos)
GetWorkspaceTodos(c *gin.Context, id workspaceDomain.WorkspaceID, params GetWorkspaceTodosParams)
// Create a new todo
// (POST /workspaces/{id}/todos)
CreateTodo(c *gin.Context, id workspaceDomain.WorkspaceID, params CreateTodoParams)
}
ServerInterface represents all server handlers.
type ServerInterfaceWrapper ¶
type ServerInterfaceWrapper struct {
Handler ServerInterface
HandlerMiddlewares []MiddlewareFunc
ErrorHandler func(*gin.Context, error, int)
}
ServerInterfaceWrapper converts contexts to parameters.
func (*ServerInterfaceWrapper) AddWorkspaceMember ¶
func (siw *ServerInterfaceWrapper) AddWorkspaceMember(c *gin.Context)
AddWorkspaceMember operation middleware
func (*ServerInterfaceWrapper) AssignTagToTodo ¶
func (siw *ServerInterfaceWrapper) AssignTagToTodo(c *gin.Context)
AssignTagToTodo operation middleware
func (*ServerInterfaceWrapper) CommitTask ¶
func (siw *ServerInterfaceWrapper) CommitTask(c *gin.Context)
CommitTask operation middleware
func (*ServerInterfaceWrapper) CompleteTodo ¶
func (siw *ServerInterfaceWrapper) CompleteTodo(c *gin.Context)
CompleteTodo operation middleware
func (*ServerInterfaceWrapper) CreateTag ¶
func (siw *ServerInterfaceWrapper) CreateTag(c *gin.Context)
CreateTag operation middleware
func (*ServerInterfaceWrapper) CreateTodo ¶
func (siw *ServerInterfaceWrapper) CreateTodo(c *gin.Context)
CreateTodo operation middleware
func (*ServerInterfaceWrapper) DeleteWorkspace ¶
func (siw *ServerInterfaceWrapper) DeleteWorkspace(c *gin.Context)
DeleteWorkspace operation middleware
func (*ServerInterfaceWrapper) GetTodoByID ¶
func (siw *ServerInterfaceWrapper) GetTodoByID(c *gin.Context)
GetTodoByID operation middleware
func (*ServerInterfaceWrapper) GetUserByID ¶
func (siw *ServerInterfaceWrapper) GetUserByID(c *gin.Context)
GetUserByID operation middleware
func (*ServerInterfaceWrapper) GetUserWorkspaces ¶
func (siw *ServerInterfaceWrapper) GetUserWorkspaces(c *gin.Context)
GetUserWorkspaces operation middleware
func (*ServerInterfaceWrapper) GetWorkspaceTags ¶
func (siw *ServerInterfaceWrapper) GetWorkspaceTags(c *gin.Context)
GetWorkspaceTags operation middleware
func (*ServerInterfaceWrapper) GetWorkspaceTodos ¶
func (siw *ServerInterfaceWrapper) GetWorkspaceTodos(c *gin.Context)
GetWorkspaceTodos operation middleware
func (*ServerInterfaceWrapper) InitiateTOTP ¶
func (siw *ServerInterfaceWrapper) InitiateTOTP(c *gin.Context)
InitiateTOTP operation middleware
func (*ServerInterfaceWrapper) ListWorkspaces ¶
func (siw *ServerInterfaceWrapper) ListWorkspaces(c *gin.Context)
ListWorkspaces operation middleware
func (*ServerInterfaceWrapper) Login ¶
func (siw *ServerInterfaceWrapper) Login(c *gin.Context)
Login operation middleware
func (*ServerInterfaceWrapper) OnboardWorkspace ¶
func (siw *ServerInterfaceWrapper) OnboardWorkspace(c *gin.Context)
OnboardWorkspace operation middleware
func (*ServerInterfaceWrapper) Ping ¶
func (siw *ServerInterfaceWrapper) Ping(c *gin.Context)
Ping operation middleware
func (*ServerInterfaceWrapper) Register ¶
func (siw *ServerInterfaceWrapper) Register(c *gin.Context)
Register operation middleware
func (*ServerInterfaceWrapper) RemoveWorkspaceMember ¶
func (siw *ServerInterfaceWrapper) RemoveWorkspaceMember(c *gin.Context)
RemoveWorkspaceMember operation middleware
func (*ServerInterfaceWrapper) StartFocus ¶
func (siw *ServerInterfaceWrapper) StartFocus(c *gin.Context)
StartFocus operation middleware
func (*ServerInterfaceWrapper) StopFocus ¶
func (siw *ServerInterfaceWrapper) StopFocus(c *gin.Context)
StopFocus operation middleware
func (*ServerInterfaceWrapper) VerifyTOTP ¶
func (siw *ServerInterfaceWrapper) VerifyTOTP(c *gin.Context)
VerifyTOTP operation middleware
type Tag ¶
type Tag struct {
Id todoDomain.TagID `json:"id"`
Name string `json:"name"`
}
Tag defines model for Tag.
type Todo ¶
type Todo struct {
CompletionLogs *[]CompletionLog `json:"completionLogs,omitempty"`
CreatedAt time.Time `json:"createdAt"`
DueDate *time.Time `json:"dueDate"`
FocusSessions *[]FocusSession `json:"focusSessions,omitempty"`
Id todoDomain.TodoID `json:"id"`
RecurrenceAmount *int `json:"recurrenceAmount"`
RecurrenceInterval *RecurrenceInterval `json:"recurrenceInterval"`
Status TodoStatus `json:"status"`
Title string `json:"title"`
WorkspaceId workspaceDomain.WorkspaceID `json:"workspaceId"`
}
Todo defines model for Todo.
type TodoStatus ¶
type TodoStatus string
TodoStatus defines model for TodoStatus.
const ( ARCHIVED TodoStatus = "ARCHIVED" COMPLETED TodoStatus = "COMPLETED" PENDING TodoStatus = "PENDING" )
Defines values for TodoStatus.
type User ¶
type User struct {
Email string `json:"email"`
Id userDomain.UserID `json:"id"`
Name string `json:"name"`
}
User defines model for User.
type ValidationError ¶
type ValidationError struct {
Ctx *map[string]interface{} `json:"ctx,omitempty"`
// Detail Details of the error
Detail ValidationErrorDetail `json:"detail"`
Loc []string `json:"loc"`
Msg string `json:"msg"`
}
ValidationError defines model for ValidationError.
type ValidationErrorDetail ¶
type ValidationErrorDetail struct {
// Value The actual value that failed validation
Value string `json:"value"`
}
ValidationErrorDetail Details of the error
type VerifyTOTPJSONRequestBody ¶
type VerifyTOTPJSONRequestBody = VerifyTOTPRequestBody
VerifyTOTPJSONRequestBody defines body for VerifyTOTP for application/json ContentType.
type VerifyTOTPRequestBody ¶
type VerifyTOTPRequestBody struct {
Code string `json:"code"`
}
VerifyTOTPRequestBody defines model for VerifyTOTPRequestBody.
type Workspace ¶
type Workspace struct {
Description string `json:"description"`
Id workspaceDomain.WorkspaceID `json:"id"`
Name string `json:"name"`
}
Workspace defines model for Workspace.
type WorkspaceRole ¶
type WorkspaceRole = workspaceDomain.WorkspaceRole
WorkspaceRole defines model for WorkspaceRole.