A tool for archiving & converting scans of postcards, and information about them.
at main 22 lines 470 B view raw
1package types 2 3import ( 4 "fmt" 5) 6 7func (pc Postcard) Validate() error { 8 switch pc.Sides() { 9 case 0: 10 return fmt.Errorf("a postcard must have at least a front side") 11 case 1: 12 if pc.Meta.Flip != FlipNone { 13 return fmt.Errorf("flip of '%s' given, but only 1 side provided", pc.Meta.Flip) 14 } 15 case 2: 16 if pc.Meta.Flip == FlipNone || !pc.Meta.Flip.IsValid() { 17 return fmt.Errorf("invalid flip type '%s' for two-sided postcard", pc.Meta.Flip) 18 } 19 } 20 21 return nil 22}