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

package tangled

// schema: sh.tangled.repo.delete

import (
	"context"

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

const (
	RepoDeleteNSID = "sh.tangled.repo.delete"
)

// RepoDelete_Input is the input argument to a sh.tangled.repo.delete call.
type RepoDelete_Input struct {
	// did: DID of the repository owner
	Did string `json:"did" cborgen:"did"`
	// force: Admin-only. Delete even though the repository record still exists on the owner's PDS.
	Force *bool `json:"force,omitempty" cborgen:"force,omitempty"`
	// name: Name of the repository to delete
	Name string `json:"name" cborgen:"name"`
	// rkey: Rkey of the repository record
	Rkey string `json:"rkey" cborgen:"rkey"`
}

// RepoDelete calls the XRPC method "sh.tangled.repo.delete".
func RepoDelete(ctx context.Context, c util.LexClient, input *RepoDelete_Input) error {
	if err := c.LexDo(ctx, util.Procedure, "application/json", "sh.tangled.repo.delete", nil, input, nil); err != nil {
		return err
	}

	return nil
}
