diff options
Diffstat (limited to 'invoice/validators.go')
| -rw-r--r-- | invoice/validators.go | 26 | 
1 files changed, 21 insertions, 5 deletions
diff --git a/invoice/validators.go b/invoice/validators.go index 645bdff..9f145dc 100644 --- a/invoice/validators.go +++ b/invoice/validators.go @@ -18,12 +18,7 @@  package invoice  import ( -	//"regexp" -	//"strings" -	//"net/mail" -	//"net/url"  	"vidhukant.com/openbills/errors" -	//e "errors"  )  func (i *Invoice) validate() error { @@ -44,6 +39,27 @@ func (i *Invoice) validate() error {  	return nil  } +func isDraft(invoiceId uint) (bool, error) { +	var invoice Invoice +	err := db. +		Select("id", "is_draft"). +		Where("id = ?", invoiceId). +		Find(&invoice). +		Error + +	// TODO: handle potential errors +	if err != nil { +		return invoice.IsDraft, err +  } + +	// invoice doesn't exist +	if invoice.ID == 0 { +		return invoice.IsDraft, errors.ErrNotFound +	} + +	return invoice.IsDraft, nil +} +  func checkInvoiceOwnership(invoiceId, userId uint) error {  	var invoice Invoice  	err := db.  |