// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.

package tangled

// schema: org.tangled.temp.notification.updatePreferences

import (
	"context"

	"github.com/bluesky-social/indigo/lex/util"
)

const (
	TempNotificationUpdatePreferencesNSID = "org.tangled.temp.notification.updatePreferences"
)

// TempNotificationUpdatePreferences_Input is the input argument to a org.tangled.temp.notification.updatePreferences call.
type TempNotificationUpdatePreferences_Input struct {
	EmailNotifications *bool `json:"emailNotifications,omitempty" cborgen:"emailNotifications,omitempty"`
	Followed           *bool `json:"followed,omitempty" cborgen:"followed,omitempty"`
	IssueClosed        *bool `json:"issueClosed,omitempty" cborgen:"issueClosed,omitempty"`
	IssueCommented     *bool `json:"issueCommented,omitempty" cborgen:"issueCommented,omitempty"`
	IssueCreated       *bool `json:"issueCreated,omitempty" cborgen:"issueCreated,omitempty"`
	PullCommented      *bool `json:"pullCommented,omitempty" cborgen:"pullCommented,omitempty"`
	PullCreated        *bool `json:"pullCreated,omitempty" cborgen:"pullCreated,omitempty"`
	PullMerged         *bool `json:"pullMerged,omitempty" cborgen:"pullMerged,omitempty"`
	RepoStarred        *bool `json:"repoStarred,omitempty" cborgen:"repoStarred,omitempty"`
	UserMentioned      *bool `json:"userMentioned,omitempty" cborgen:"userMentioned,omitempty"`
}

// TempNotificationUpdatePreferences calls the XRPC method "org.tangled.temp.notification.updatePreferences".
func TempNotificationUpdatePreferences(ctx context.Context, c util.LexClient, input *TempNotificationUpdatePreferences_Input) error {
	if err := c.LexDo(ctx, util.Procedure, "application/json", "org.tangled.temp.notification.updatePreferences", nil, input, nil); err != nil {
		return err
	}

	return nil
}
