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

package org_tangled

// schema: org.tangled.temp.focus.beginSession

import (
	"context"

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

const (
	TempFocusBeginSessionNSID = "org.tangled.temp.focus.beginSession"
)

// TempFocusBeginSession_Output is the output of a org.tangled.temp.focus.beginSession call.
type TempFocusBeginSession_Output struct {
	// issueAt: AT-URI of the issue to navigate to, if the item is an issue.
	IssueAt *string `json:"issueAt,omitempty" cborgen:"issueAt,omitempty"`
	// notificationId: ID of the first notification to address. Absent if the queue is empty.
	NotificationId *int64 `json:"notificationId,omitempty" cborgen:"notificationId,omitempty"`
	// pullAt: AT-URI of the pull to navigate to, if the item is a pull.
	PullAt *string `json:"pullAt,omitempty" cborgen:"pullAt,omitempty"`
	// repoDid: DID of the repository the item belongs to. Absent if the queue is empty.
	RepoDid *string `json:"repoDid,omitempty" cborgen:"repoDid,omitempty"`
}

// TempFocusBeginSession calls the XRPC method "org.tangled.temp.focus.beginSession".
func TempFocusBeginSession(ctx context.Context, c util.LexClient) (*TempFocusBeginSession_Output, error) {
	var out TempFocusBeginSession_Output
	if err := c.LexDo(ctx, util.Procedure, "", "org.tangled.temp.focus.beginSession", nil, nil, &out); err != nil {
		return nil, err
	}

	return &out, nil
}
