code: func (step *StepModel) Audit() error {
  	if err := step.AuditBeforeShare(); err != nil {
  		return err
  	}
  
  	if step.PublishedAt == nil || (*step.PublishedAt).Equal(time.Time{}) {
  		return errors.New("Invalid step: missing or empty required 'PublishedAt' property")
  	}
  	if step.Source == nil {
  		return errors.New("Invalid step: missing or empty required 'Source' property")
  	}
  	return step.Source.validateSource()
  }
docs: // Audit ...