You've already forked focalboard
							
							
				mirror of
				https://github.com/mattermost/focalboard.git
				synced 2025-10-31 00:17:42 +02:00 
			
		
		
		
	* Replace Block references to use pointers throughout all application layers * lint fixes * gofmt file, lint fix Co-authored-by: Mattermod <mattermod@users.noreply.github.com> Co-authored-by: Scott Bishel <scott.bishel@mattermost.com>
		
			
				
	
	
		
			97 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
 | |
| // See LICENSE.txt for license information.
 | |
| 
 | |
| package app
 | |
| 
 | |
| import (
 | |
| 	"fmt"
 | |
| 
 | |
| 	"github.com/mattermost/focalboard/server/model"
 | |
| 	"github.com/mattermost/focalboard/server/utils"
 | |
| )
 | |
| 
 | |
| func (a *App) CreateCard(card *model.Card, boardID string, userID string, disableNotify bool) (*model.Card, error) {
 | |
| 	// Convert the card struct to a block and insert the block.
 | |
| 	now := utils.GetMillis()
 | |
| 
 | |
| 	card.ID = utils.NewID(utils.IDTypeCard)
 | |
| 	card.BoardID = boardID
 | |
| 	card.CreatedBy = userID
 | |
| 	card.ModifiedBy = userID
 | |
| 	card.CreateAt = now
 | |
| 	card.UpdateAt = now
 | |
| 	card.DeleteAt = 0
 | |
| 
 | |
| 	block := model.Card2Block(card)
 | |
| 
 | |
| 	newBlocks, err := a.InsertBlocksAndNotify([]*model.Block{block}, userID, disableNotify)
 | |
| 	if err != nil {
 | |
| 		return nil, fmt.Errorf("cannot create card: %w", err)
 | |
| 	}
 | |
| 
 | |
| 	newCard, err := model.Block2Card(newBlocks[0])
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 
 | |
| 	return newCard, nil
 | |
| }
 | |
| 
 | |
| func (a *App) GetCardsForBoard(boardID string, page int, perPage int) ([]*model.Card, error) {
 | |
| 	opts := model.QueryBlocksOptions{
 | |
| 		BoardID:   boardID,
 | |
| 		BlockType: model.TypeCard,
 | |
| 		Page:      page,
 | |
| 		PerPage:   perPage,
 | |
| 	}
 | |
| 
 | |
| 	blocks, err := a.store.GetBlocks(opts)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 
 | |
| 	cards := make([]*model.Card, 0, len(blocks))
 | |
| 	for _, blk := range blocks {
 | |
| 		b := blk
 | |
| 		if card, err := model.Block2Card(b); err != nil {
 | |
| 			return nil, fmt.Errorf("Block2Card fail: %w", err)
 | |
| 		} else {
 | |
| 			cards = append(cards, card)
 | |
| 		}
 | |
| 	}
 | |
| 	return cards, nil
 | |
| }
 | |
| 
 | |
| func (a *App) PatchCard(cardPatch *model.CardPatch, cardID string, userID string, disableNotify bool) (*model.Card, error) {
 | |
| 	blockPatch, err := model.CardPatch2BlockPatch(cardPatch)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 
 | |
| 	newBlock, err := a.PatchBlockAndNotify(cardID, blockPatch, userID, disableNotify)
 | |
| 	if err != nil {
 | |
| 		return nil, fmt.Errorf("cannot patch card %s: %w", cardID, err)
 | |
| 	}
 | |
| 
 | |
| 	newCard, err := model.Block2Card(newBlock)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 
 | |
| 	return newCard, nil
 | |
| }
 | |
| 
 | |
| func (a *App) GetCardByID(cardID string) (*model.Card, error) {
 | |
| 	cardBlock, err := a.GetBlockByID(cardID)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 
 | |
| 	card, err := model.Block2Card(cardBlock)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 
 | |
| 	return card, nil
 | |
| }
 |