code: func (r *GormBoardRepository) Create(ctx context.Context, b Board) (*Board, error) {
  	if len(b.Columns) <= 0 {
  		return nil, errors.NewBadParameterError("columns", b.Columns).Expected("not empty")
  	}
  	if b.ID == uuid.Nil {
  		b.ID = uuid.NewV4()
  	}
  	db := r.db.Create(&b)
  	if db.Error != nil {
  		return nil, errors.NewInternalError(ctx, db.Error)
  	}
  	log.Debug(ctx, map[string]interface{}{"board_id": b.ID}, "created work item board")
  	// Create entries for each column in the column list
  	for _, column := range b.Columns {
  		if column.ID == uuid.Nil {
  			column.ID = uuid.NewV4()
  		}
  		column.BoardID = b.ID
  		db = db.Create(&column)
  		if db.Error != nil {
  			return nil, errors.NewInternalError(ctx, db.Error)
  		}
  	}
  	return &b, nil
  }
docs: // Create creates a new work item board in the repository