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 }