A tool for archiving & converting scans of postcards, and information about them.
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}