internal

package
v0.0.0-...-ec9b500 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 25, 2026 License: Apache-2.0 Imports: 11 Imported by: 0

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

View Source
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 Limit

type Limit = int

Limit defines model for Limit.

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 MiddlewareFunc func(c *gin.Context)

type Offset

type Offset = int

Offset defines model for Offset.

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL