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

package tangled

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

import (
	"context"

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

const (
	TempNotificationGetPreferencesNSID = "org.tangled.temp.notification.getPreferences"
)

// TempNotificationGetPreferences_Preferences is a "preferences" in the org.tangled.temp.notification.getPreferences schema.
type TempNotificationGetPreferences_Preferences struct {
	EmailNotifications bool `json:"emailNotifications" cborgen:"emailNotifications"`
	Followed           bool `json:"followed" cborgen:"followed"`
	IssueClosed        bool `json:"issueClosed" cborgen:"issueClosed"`
	IssueCommented     bool `json:"issueCommented" cborgen:"issueCommented"`
	IssueCreated       bool `json:"issueCreated" cborgen:"issueCreated"`
	PullCommented      bool `json:"pullCommented" cborgen:"pullCommented"`
	PullCreated        bool `json:"pullCreated" cborgen:"pullCreated"`
	PullMerged         bool `json:"pullMerged" cborgen:"pullMerged"`
	RepoStarred        bool `json:"repoStarred" cborgen:"repoStarred"`
	UserMentioned      bool `json:"userMentioned" cborgen:"userMentioned"`
}

// TempNotificationGetPreferences calls the XRPC method "org.tangled.temp.notification.getPreferences".
func TempNotificationGetPreferences(ctx context.Context, c util.LexClient) (*TempNotificationGetPreferences_Preferences, error) {
	var out TempNotificationGetPreferences_Preferences
	if err := c.LexDo(ctx, util.Query, "", "org.tangled.temp.notification.getPreferences", nil, nil, &out); err != nil {
		return nil, err
	}

	return &out, nil
}
