forked from ebhomengo/niki
				
			
		
			
				
	
	
		
			32 lines
		
	
	
		
			958 B
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			958 B
		
	
	
	
		
			Go
		
	
	
	
| package mysqlrefertime
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 
 | |
| 	"git.gocasts.ir/ebhomengo/niki/entity"
 | |
| 	errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
 | |
| 	richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
 | |
| 	"git.gocasts.ir/ebhomengo/niki/repository/mysql"
 | |
| )
 | |
| 
 | |
| func (d *DB) Get(ctx context.Context, referTimeID uint) (entity.ReferTime, error) {
 | |
| 	const op = richerror.Op("mysqlrefertime.Get")
 | |
| 
 | |
| 	query := `select * from refer_times where id = ?`
 | |
| 	//nolint
 | |
| 	stmt, err := d.conn.PrepareStatement(ctx, mysql.StatementKeyReferTimeGetByID, query)
 | |
| 	if err != nil {
 | |
| 		return entity.ReferTime{}, richerror.New(op).WithErr(err).
 | |
| 			WithMessage(errmsg.ErrorMsgCantPrepareStatement).WithKind(richerror.KindUnexpected)
 | |
| 	}
 | |
| 
 | |
| 	row := stmt.QueryRowContext(ctx, referTimeID)
 | |
| 	r, err := scanReferTime(row)
 | |
| 	if err != nil {
 | |
| 		return entity.ReferTime{}, richerror.New(op).WithErr(err).
 | |
| 			WithMessage(errmsg.ErrorMsgCantScanQueryResult).WithKind(richerror.KindUnexpected)
 | |
| 	}
 | |
| 
 | |
| 	return r, nil
 | |
| }
 |