import { Sequelize } from 'sequelize';
import { dbConnectMySQL } from '../utilities';

// Создание sql-таблицы merchant-orders
export const MerchantOrder_SQL = dbConnectMySQL.define('merchant-order', {
	id: {
		type: Sequelize.INTEGER,
		autoIncrement: true,
		primaryKey: true,
		allowNull: false
	},
	userId: { type: Sequelize.STRING, allowNull: false },             	 // id пользователя
	orderId: { type: Sequelize.STRING, allowNull: false },               // номер ордера
	advId: { type: Sequelize.STRING, allowNull: false },                 // номер объявления
	dateOrder: { type: Sequelize.DATE, allowNull: false },               // дата создания ордера 
	exchangeId: { type: Sequelize.STRING, allowNull: false },            // id биржи
	exchange: { type: Sequelize.STRING, allowNull: false },              // shortName биржи
	counterpartId: { type: Sequelize.STRING, allowNull: true },          // id контрагента
	counterpartEmail: { type: Sequelize.STRING, allowNull: true },       // email контрагента
	counterpartPhone: { type: Sequelize.STRING, allowNull: true },       // телефон контрагента
	counterpartNickName: { type: Sequelize.STRING, allowNull: true },    // никнейм контрагента
	counterpartRealName: { type: Sequelize.STRING, allowNull: true },    // реальное имя контрагента
	counterpartAccount: { type: Sequelize.STRING, allowNull: true },     // карта контрагента 
	counterpartСlientType: { type: Sequelize.STRING, allowNull: true },  // клиент контрагента  
	tradeType: {	// тип ордера
		type: Sequelize.ENUM,
		values: ['BUY', 'SELL'],
		allowNull: false
	},
	payMethodId: { type: Sequelize.STRING, allowNull: true },            // id банка
	payMethodName: { type: Sequelize.STRING, allowNull: false },         // название банка
	payMerchantAccount: { type: Sequelize.STRING, allowNull: true },     // банк фактического платежа
	orderStatus: { type: Sequelize.STRING, allowNull: false },           // id статуса выполнения ордера
	orderStatusText: { type: Sequelize.STRING, allowNull: false },       // название статуса
	asset: { type: Sequelize.STRING, allowNull: false },                 // криптовалюта ордера
	amount: { type: Sequelize.STRING, allowNull: false },                // сумма ордера
	volume: { type: Sequelize.STRING, allowNull: false },                // количество крипты 
	commission: { type: Sequelize.STRING, allowNull: false },            // комиссия ордера
	price: { type: Sequelize.STRING, allowNull: false },                 // цена ордера asset/fiat
	priceAssetUSDT: { type: Sequelize.STRING, allowNull: true },         // цена ордера asset/USDT
	fiat: { type: Sequelize.STRING, allowNull: false },                  // фиатная валюта ордера
});	