github.com/storacha/go-ucanto@v0.7.2/validator/datamodel/errors.go (about)

     1  package datamodel
     2  
     3  import (
     4  	// for go:embed
     5  	_ "embed"
     6  	"fmt"
     7  
     8  	"github.com/ipld/go-ipld-prime"
     9  	"github.com/ipld/go-ipld-prime/schema"
    10  )
    11  
    12  //go:embed errors.ipldsch
    13  var errorsch []byte
    14  
    15  var (
    16  	errorTypeSystem *schema.TypeSystem
    17  )
    18  
    19  func init() {
    20  	ts, err := ipld.LoadSchemaBytes(errorsch)
    21  	if err != nil {
    22  		panic(fmt.Errorf("failed to load IPLD schema: %w", err))
    23  	}
    24  	errorTypeSystem = ts
    25  }
    26  
    27  func InvalidAudienceType() schema.Type {
    28  	return errorTypeSystem.TypeByName("InvalidAudience")
    29  }
    30  
    31  type Delegation struct {
    32  	Audience string
    33  }
    34  
    35  type InvalidAudienceModel struct {
    36  	Name       *string
    37  	Audience   string
    38  	Delegation Delegation
    39  	Message    string
    40  	Stack      *string
    41  }
    42  
    43  type ExpiredModel struct {
    44  	Name      *string
    45  	Message   string
    46  	ExpiredAt int64
    47  	Stack     *string
    48  }
    49  
    50  func ExpiredType() schema.Type {
    51  	return errorTypeSystem.TypeByName("Expired")
    52  }
    53  
    54  type NotValidBeforeModel struct {
    55  	Name    *string
    56  	Message string
    57  	ValidAt int64
    58  	Stack   *string
    59  }
    60  
    61  func NotValidBeforeType() schema.Type {
    62  	return errorTypeSystem.TypeByName("NotValidBefore")
    63  }