useremails

package
v2.0.5 Latest Latest
Warning

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

Go to latest
Published: May 22, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package useremails implements MCP tools for GitLab user email operations.

The package wraps the GitLab User emails API:

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ActionSpecs

func ActionSpecs(client *gitlabclient.Client) []toolutil.ActionSpec

ActionSpecs returns canonical specs for user email actions exposed through gitlab_user.

func FormatDeleteMarkdownString

func FormatDeleteMarkdownString(o DeleteOutput) string

FormatDeleteMarkdownString renders a deletion confirmation.

func FormatListMarkdownString

func FormatListMarkdownString(out ListOutput) string

FormatListMarkdownString formats a list of emails as Markdown.

func FormatMarkdownString

func FormatMarkdownString(out Output) string

FormatMarkdownString formats a single email as Markdown.

Types

type AddForUserInput

type AddForUserInput struct {
	UserID           int64  `json:"user_id" jsonschema:"GitLab user ID,required"`
	Email            string `json:"email" jsonschema:"Email address to add,required"`
	SkipConfirmation bool   `json:"skip_confirmation,omitempty" jsonschema:"Skip confirmation email (admin only)"`
}

AddForUserInput holds parameters for adding an email to a specific user.

type AddInput

type AddInput struct {
	Email            string `json:"email" jsonschema:"Email address to add,required"`
	SkipConfirmation bool   `json:"skip_confirmation,omitempty" jsonschema:"Skip confirmation email (admin only)"`
}

AddInput holds parameters for adding an email to the current user.

type DeleteForUserInput

type DeleteForUserInput struct {
	UserID  int64 `json:"user_id" jsonschema:"GitLab user ID,required"`
	EmailID int64 `json:"email_id" jsonschema:"Email ID to delete,required"`
}

DeleteForUserInput identifies a user's email to delete.

type DeleteInput

type DeleteInput struct {
	EmailID int64 `json:"email_id" jsonschema:"Email ID to delete,required"`
}

DeleteInput identifies an email to delete for the current user.

type DeleteOutput

type DeleteOutput struct {
	EmailID int64 `json:"email_id"`
	Deleted bool  `json:"deleted"`
}

DeleteOutput confirms an email deletion.

func Delete

func Delete(ctx context.Context, client *gitlabclient.Client, input DeleteInput) (DeleteOutput, error)

Delete deletes an email address from the current user.

func DeleteForUser

func DeleteForUser(ctx context.Context, client *gitlabclient.Client, input DeleteForUserInput) (DeleteOutput, error)

DeleteForUser deletes an email address from a specific user (admin only).

type GetInput

type GetInput struct {
	EmailID int64 `json:"email_id" jsonschema:"Email ID to retrieve"`
}

GetInput identifies an email by ID.

type ListForUserInput

type ListForUserInput struct {
	UserID  int64 `json:"user_id" jsonschema:"GitLab user ID"`
	Page    int   `json:"page,omitempty" jsonschema:"Page number for pagination"`
	PerPage int   `json:"per_page,omitempty" jsonschema:"Items per page (max 100)"`
}

ListForUserInput identifies a user for listing emails.

type ListOutput

type ListOutput struct {
	toolutil.HintableOutput
	Emails []Output `json:"emails"`
}

ListOutput holds a list of emails.

func ListForUser

func ListForUser(ctx context.Context, client *gitlabclient.Client, input ListForUserInput) (ListOutput, error)

ListForUser lists email addresses for a specific user.

type Output

type Output struct {
	toolutil.HintableOutput
	ID          int64  `json:"id"`
	Email       string `json:"email"`
	ConfirmedAt string `json:"confirmed_at,omitempty"`
}

Output represents an email address.

func Add

func Add(ctx context.Context, client *gitlabclient.Client, input AddInput) (Output, error)

Add adds an email address to the current user.

func AddForUser

func AddForUser(ctx context.Context, client *gitlabclient.Client, input AddForUserInput) (Output, error)

AddForUser adds an email address to a specific user (admin only).

func Get

func Get(ctx context.Context, client *gitlabclient.Client, input GetInput) (Output, error)

Get retrieves a single email by ID.

Jump to

Keyboard shortcuts

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