send with swap #102
| @ -94,23 +94,31 @@ func (h *MenuHandlers) handlePhoneNumber(ctx context.Context, sessionId, recipie | |||||||
| 		logg.ErrorCtxf(ctx, "Failed to read sender activeSym", "error", err) | 		logg.ErrorCtxf(ctx, "Failed to read sender activeSym", "error", err) | ||||||
| 		return *res, err | 		return *res, err | ||||||
| 	} | 	} | ||||||
| 	recipientActiveToken, err := store.ReadEntry(ctx, formattedNumber, storedb.DATA_ACTIVE_SYM) | 
 | ||||||
| 	if err != nil { | 	recipientActiveToken, _ := store.ReadEntry(ctx, formattedNumber, storedb.DATA_ACTIVE_SYM) | ||||||
| 		logg.ErrorCtxf(ctx, "Failed to read recipient activeSym", "error", err) |  | ||||||
| 		return *res, err |  | ||||||
| 	} |  | ||||||
| 
 | 
 | ||||||
| 	txType := "swap" | 	txType := "swap" | ||||||
| 	if senderSym != nil && recipientActiveToken != nil && string(senderSym) == string(recipientActiveToken) { | 
 | ||||||
|  | 	// recipient has no active token → normal transaction
 | ||||||
|  | 	if recipientActiveToken == nil { | ||||||
|  | 		txType = "normal" | ||||||
|  | 	} else if senderSym != nil && string(senderSym) == string(recipientActiveToken) { | ||||||
|  | 		// recipient has active token same as sender → normal transaction
 | ||||||
| 		txType = "normal" | 		txType = "normal" | ||||||
| 	} | 	} | ||||||
|  | 
 | ||||||
|  | 	// save transaction type
 | ||||||
| 	if err := store.WriteEntry(ctx, sessionId, storedb.DATA_SEND_TRANSACTION_TYPE, []byte(txType)); err != nil { | 	if err := store.WriteEntry(ctx, sessionId, storedb.DATA_SEND_TRANSACTION_TYPE, []byte(txType)); err != nil { | ||||||
| 		logg.ErrorCtxf(ctx, "Failed to write tx type", "type", txType, "error", err) | 		logg.ErrorCtxf(ctx, "Failed to write tx type", "type", txType, "error", err) | ||||||
| 		return *res, err | 		return *res, err | ||||||
| 	} | 	} | ||||||
| 	if err := store.WriteEntry(ctx, sessionId, storedb.DATA_RECIPIENT_ACTIVE_TOKEN, recipientActiveToken); err != nil { | 
 | ||||||
| 		logg.ErrorCtxf(ctx, "Failed to write recipient active token", "error", err) | 	// only save recipient’s active token if it exists
 | ||||||
| 		return *res, err | 	if recipientActiveToken != nil { | ||||||
|  | 		if err := store.WriteEntry(ctx, sessionId, storedb.DATA_RECIPIENT_ACTIVE_TOKEN, recipientActiveToken); err != nil { | ||||||
|  | 			logg.ErrorCtxf(ctx, "Failed to write recipient active token", "error", err) | ||||||
|  | 			return *res, err | ||||||
|  | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	return *res, nil | 	return *res, nil | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user