Compare commits
6 commits
Author | SHA1 | Date | |
---|---|---|---|
8be9215f04 | |||
e24581eb5d | |||
9b48ce2b68 | |||
17f6d557a1 | |||
0f03ad32f2 | |||
f3ba2f48da |
3 changed files with 647 additions and 0 deletions
183
src/DB.hs
Normal file
183
src/DB.hs
Normal file
|
@ -0,0 +1,183 @@
|
||||||
|
{-# LANGUAGE OverloadedStrings #-}
|
||||||
|
{-# LANGUAGE EmptyDataDecls #-}
|
||||||
|
{-# LANGUAGE FlexibleContexts #-}
|
||||||
|
{-# LANGUAGE GADTs #-}
|
||||||
|
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
|
||||||
|
{-# LANGUAGE MultiParamTypeClasses #-}
|
||||||
|
{-# LANGUAGE QuasiQuotes #-}
|
||||||
|
{-# LANGUAGE TemplateHaskell #-}
|
||||||
|
{-# LANGUAGE TypeFamilies #-}
|
||||||
|
{-# LANGUAGE DerivingStrategies #-}
|
||||||
|
{-# LANGUAGE DeriveAnyClass #-}
|
||||||
|
{-# LANGUAGE StandaloneDeriving #-}
|
||||||
|
{-# LANGUAGE UndecidableInstances #-}
|
||||||
|
{-# LANGUAGE DataKinds #-}
|
||||||
|
{-# LANGUAGE FlexibleInstances #-}
|
||||||
|
{-# LANGUAGE TypeOperators #-}
|
||||||
|
{-# LANGUAGE TypeApplications #-}
|
||||||
|
|
||||||
|
module DB where
|
||||||
|
|
||||||
|
import Control.Exception (throwIO)
|
||||||
|
import Control.Monad (forM_, when)
|
||||||
|
import Control.Monad.IO.Class (MonadIO, liftIO)
|
||||||
|
import Control.Monad.Logger (NoLoggingT, runNoLoggingT)
|
||||||
|
import Data.Aeson
|
||||||
|
import Data.Bifunctor (bimap)
|
||||||
|
import qualified Data.ByteString as BS
|
||||||
|
import Data.HexString
|
||||||
|
import Data.List (group, sort)
|
||||||
|
import Data.Maybe (catMaybes, fromJust, isJust)
|
||||||
|
import qualified Data.Text as T
|
||||||
|
import qualified Data.Text.Encoding as TE
|
||||||
|
import Data.Time (UTCTime(..))
|
||||||
|
import Data.UUID (UUID)
|
||||||
|
import Data.Word
|
||||||
|
import Database.Esqueleto.Experimental
|
||||||
|
import qualified Database.Persist.MySQL as PM
|
||||||
|
import Database.Persist.TH
|
||||||
|
|
||||||
|
newtype UuidDB = UuidDB
|
||||||
|
{ getUUID :: UUID
|
||||||
|
} deriving newtype (Eq, Show, Read, ToJSON, FromJSON)
|
||||||
|
|
||||||
|
derivePersistFieldJSON "UuidDB"
|
||||||
|
|
||||||
|
newtype HexStringDB = HexStringDB
|
||||||
|
{ getHex :: HexString
|
||||||
|
} deriving newtype (Eq, Show, Read)
|
||||||
|
|
||||||
|
derivePersistField "HexStringDB"
|
||||||
|
|
||||||
|
share
|
||||||
|
[mkPersist sqlSettings, mkMigrate "migrateAll"]
|
||||||
|
[persistLowerCase|
|
||||||
|
ZgoBlock json
|
||||||
|
confs Int default=0
|
||||||
|
network String default=""
|
||||||
|
height Int default=0
|
||||||
|
time Int default=0
|
||||||
|
deriving Show Eq
|
||||||
|
ZgoBlockTx
|
||||||
|
blocktx_block_id Int
|
||||||
|
blocktx_id Int
|
||||||
|
blocktx_txid String
|
||||||
|
deriving Show Eq
|
||||||
|
ZgoCountry json
|
||||||
|
code T.Text
|
||||||
|
name T.Text
|
||||||
|
UniqueCountryCode code
|
||||||
|
deriving Show Eq
|
||||||
|
ZgoItem json
|
||||||
|
owner_id Int
|
||||||
|
name T.Text
|
||||||
|
description T.Text default=""
|
||||||
|
cost Double default=0.0
|
||||||
|
deriving Show Eq
|
||||||
|
ZgoLanguages
|
||||||
|
encode_id T.Text
|
||||||
|
name T.Text default-""
|
||||||
|
element T.Text default=""
|
||||||
|
element_text T.Text default=""
|
||||||
|
deriving Show Eq
|
||||||
|
ZgoOrder json
|
||||||
|
owner ZgoOwnerId
|
||||||
|
session ZgoUserId
|
||||||
|
timestamp Int
|
||||||
|
closed Word8
|
||||||
|
currency T.Text
|
||||||
|
price Double
|
||||||
|
total Double
|
||||||
|
totalzec Double
|
||||||
|
paid Bool
|
||||||
|
token T.Text default=""
|
||||||
|
externalInvoice T.Text default=""
|
||||||
|
shortcode T.Text
|
||||||
|
taxamount Double
|
||||||
|
tipamount Double
|
||||||
|
vatamount Double
|
||||||
|
deriving Show Eq
|
||||||
|
ZgoOrderLines
|
||||||
|
orderId ZgoOrderId
|
||||||
|
qty Int default=0
|
||||||
|
name T.Text default=""
|
||||||
|
cost Double default=0.0
|
||||||
|
deriving Show Eq
|
||||||
|
ZgoOwner
|
||||||
|
co_name T.Text
|
||||||
|
firstname T.Text
|
||||||
|
lastname T.Text
|
||||||
|
email T.Text
|
||||||
|
street T.Text
|
||||||
|
city T.Text
|
||||||
|
state T.Text
|
||||||
|
zipcode T.Text
|
||||||
|
phone T.Text
|
||||||
|
country T.Text
|
||||||
|
website T.Text
|
||||||
|
currency T.Text
|
||||||
|
zcaddress T.Text
|
||||||
|
usezats Bool
|
||||||
|
crmtoken T.Text
|
||||||
|
usetax Bool
|
||||||
|
taxvalue Double
|
||||||
|
usevat Bool
|
||||||
|
vat Double
|
||||||
|
payconf Bool
|
||||||
|
viewkey T.Text
|
||||||
|
invoices Bool
|
||||||
|
tips Bool
|
||||||
|
paid Bool
|
||||||
|
expiration UTCTime
|
||||||
|
deriving Show Eq
|
||||||
|
ZgoPayment
|
||||||
|
delta Int
|
||||||
|
done Bool
|
||||||
|
zaddress T.Text
|
||||||
|
session UuidDB
|
||||||
|
blocktime Int default=0
|
||||||
|
amount Double default=0.0
|
||||||
|
txid HexStringDB
|
||||||
|
memo T.Text
|
||||||
|
deriving Show Eq
|
||||||
|
ZgoPrice
|
||||||
|
price_delta Int default=0
|
||||||
|
price_done Bool default=0
|
||||||
|
price_zaddress T.Text default=""
|
||||||
|
price_session String default=""
|
||||||
|
price_blocktime Int default=0
|
||||||
|
price_amount Double default=0.0
|
||||||
|
price_txid String default=""
|
||||||
|
price_memo T.Text default=""
|
||||||
|
deriving Show Eq
|
||||||
|
ZgoProsession
|
||||||
|
zaddress T.Text default=""
|
||||||
|
expiration UTCTime
|
||||||
|
closed Bool
|
||||||
|
deriving Show Eq
|
||||||
|
ZgoTransaction
|
||||||
|
zaddress T.Text default=""
|
||||||
|
expiration Int default=0
|
||||||
|
closed Word8 default=0
|
||||||
|
deriving Show Eq
|
||||||
|
ZgoUser json
|
||||||
|
owner ZgoOwnerId
|
||||||
|
session UuidDB
|
||||||
|
blocktime Int
|
||||||
|
pin T.Text
|
||||||
|
validated Bool
|
||||||
|
deriving Show Eq
|
||||||
|
ZgoXero
|
||||||
|
client_id T.Text default=""
|
||||||
|
client_secret T.Text default=""
|
||||||
|
deriving Show Eq
|
||||||
|
ZgoXeroToken
|
||||||
|
zaddress T.Text
|
||||||
|
access_token T.Text
|
||||||
|
expires Int
|
||||||
|
refreshtoken T.Text
|
||||||
|
accexpires Int
|
||||||
|
accCode T.Text
|
||||||
|
refexpires Int
|
||||||
|
deriving Show Eq
|
||||||
|
|]
|
|
@ -33,6 +33,7 @@ library
|
||||||
Xero
|
Xero
|
||||||
ZGoBackend
|
ZGoBackend
|
||||||
ZGoTx
|
ZGoTx
|
||||||
|
DB
|
||||||
hs-source-dirs:
|
hs-source-dirs:
|
||||||
src
|
src
|
||||||
build-depends:
|
build-depends:
|
||||||
|
@ -47,6 +48,10 @@ library
|
||||||
, configurator
|
, configurator
|
||||||
, containers
|
, containers
|
||||||
, crypto-rng
|
, crypto-rng
|
||||||
|
, esqueleto
|
||||||
|
, persistent
|
||||||
|
, persistent-mysql
|
||||||
|
, persistent-template
|
||||||
, ghc-prim
|
, ghc-prim
|
||||||
, hexstring
|
, hexstring
|
||||||
, http-conduit
|
, http-conduit
|
||||||
|
@ -54,6 +59,7 @@ library
|
||||||
, jwt
|
, jwt
|
||||||
, megaparsec
|
, megaparsec
|
||||||
, memory
|
, memory
|
||||||
|
, monad-logger
|
||||||
, mongoDB
|
, mongoDB
|
||||||
, network
|
, network
|
||||||
, quickcheck-instances
|
, quickcheck-instances
|
||||||
|
|
458
zgo-backend_DB.sql
Normal file
458
zgo-backend_DB.sql
Normal file
|
@ -0,0 +1,458 @@
|
||||||
|
-- phpMyAdmin SQL Dump
|
||||||
|
-- version 5.2.1-4.fc40
|
||||||
|
-- https://www.phpmyadmin.net/
|
||||||
|
--
|
||||||
|
-- Host: localhost
|
||||||
|
-- Generation Time: Jul 18, 2024 at 07:42 PM
|
||||||
|
-- Server version: 10.11.8-MariaDB
|
||||||
|
-- PHP Version: 8.2.21
|
||||||
|
|
||||||
|
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||||
|
START TRANSACTION;
|
||||||
|
SET time_zone = "+00:00";
|
||||||
|
|
||||||
|
|
||||||
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
|
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||||
|
/*!40101 SET NAMES utf8mb4 */;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Database: `zgodb`
|
||||||
|
--
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `block`
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE `block` (
|
||||||
|
`block_id` int(11) NOT NULL COMMENT 'Block Id number',
|
||||||
|
`block_confs` int(11) NOT NULL DEFAULT 0 COMMENT 'Block confirnations',
|
||||||
|
`block_network` varchar(15) NOT NULL DEFAULT '' COMMENT 'Block Network',
|
||||||
|
`block_height` int(11) NOT NULL DEFAULT 0 COMMENT 'Block Height',
|
||||||
|
`block_time` datetime NOT NULL COMMENT 'Block time'
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Block header date';
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `blocktx`
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE `blocktx` (
|
||||||
|
`blocktx_block_id` int(11) NOT NULL COMMENT 'Block Tx parent',
|
||||||
|
`blocktx_id` int(11) NOT NULL DEFAULT 0 COMMENT 'Block Tx record Id',
|
||||||
|
`blocktx_txid` varchar(64) NOT NULL DEFAULT '' COMMENT 'Block Tx Id'
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `country`
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE `country` (
|
||||||
|
`country_code` varchar(5) NOT NULL COMMENT '2 Doigit Country Code',
|
||||||
|
`country_name` varchar(80) NOT NULL COMMENT 'Country unique name'
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Coutry Codes and Names';
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `item`
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE `item` (
|
||||||
|
`item_owner_id` int(11) NOT NULL COMMENT 'Owner Id ',
|
||||||
|
`item_id` varchar(40) NOT NULL COMMENT 'Item Id',
|
||||||
|
`item_name` varchar(127) NOT NULL COMMENT 'Item name',
|
||||||
|
`item_description` varchar(300) NOT NULL DEFAULT '' COMMENT 'Item description',
|
||||||
|
`item_cost` double(12,4) NOT NULL DEFAULT 0.0000 COMMENT 'Item Unit price'
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `languages`
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE `languages` (
|
||||||
|
`encode_id` varchar(10) NOT NULL DEFAULT '' COMMENT 'Language encoding id',
|
||||||
|
`view_name` varchar(32) NOT NULL DEFAULT '' COMMENT 'View name that use this language',
|
||||||
|
`view_element` varchar(32) NOT NULL DEFAULT '' COMMENT 'Element name',
|
||||||
|
`view_element_text` varchar(4000) NOT NULL DEFAULT '' COMMENT 'Text to be displayed'
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='ZGo Language translation database';
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `orderlines`
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE `orderlines` (
|
||||||
|
`orderline_orderid` int(11) NOT NULL DEFAULT 0 COMMENT 'Orderlines Order Id',
|
||||||
|
`orderline_line` int(11) NOT NULL DEFAULT 0 COMMENT 'Orderlines Line number',
|
||||||
|
`orderline_qty` int(11) NOT NULL DEFAULT 0 COMMENT 'Orderline item qty',
|
||||||
|
`orderline_name` varchar(250) NOT NULL DEFAULT '' COMMENT 'Orderline item description',
|
||||||
|
`orderline_cost` double(12,3) NOT NULL DEFAULT 0.000 COMMENT 'Orderline item cost'
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Order contents';
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `orders`
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE `orders` (
|
||||||
|
`order_id` int(11) NOT NULL COMMENT 'Order Id',
|
||||||
|
`order_zaddress` varchar(300) NOT NULL COMMENT 'Order zcash address',
|
||||||
|
`order_session` varchar(64) NOT NULL DEFAULT '' COMMENT 'Order session id',
|
||||||
|
`order_timestamp` datetime NOT NULL COMMENT 'Order timestamp',
|
||||||
|
`order_closed` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Order closed flag',
|
||||||
|
`order_currency` varchar(15) NOT NULL DEFAULT '' COMMENT 'Order currency',
|
||||||
|
`order_price` double(12,4) NOT NULL DEFAULT 0.0000 COMMENT 'Order ZEC price',
|
||||||
|
`order_total` double(12,4) NOT NULL DEFAULT 0.0000 COMMENT 'Order total amount',
|
||||||
|
`order_totalzec` double(14,8) NOT NULL DEFAULT 0.00000000 COMMENT 'Order total in ZEC',
|
||||||
|
`order_paid` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Order paid status',
|
||||||
|
`order_token` varchar(64) NOT NULL DEFAULT '' COMMENT 'Order token',
|
||||||
|
`order_extinv` varchar(64) NOT NULL DEFAULT '' COMMENT 'Order External Invoice',
|
||||||
|
`order_shortcode` varchar(64) NOT NULL DEFAULT '' COMMENT 'Order invoice shortcode',
|
||||||
|
`order_taxamount` double(12,3) NOT NULL DEFAULT 0.000 COMMENT 'Order tax amount',
|
||||||
|
`order_tipamount` double(12,3) NOT NULL DEFAULT 0.000 COMMENT 'Order tip amount',
|
||||||
|
`order_vatamount` double(12,3) NOT NULL DEFAULT 0.000 COMMENT 'Orcer VAT amount'
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `owner`
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE `owner` (
|
||||||
|
`owner_id` int(11) NOT NULL COMMENT 'Owner ID number',
|
||||||
|
`owner_co_name` varchar(127) NOT NULL DEFAULT '' COMMENT 'Company''s name',
|
||||||
|
`owner_firstname` varchar(127) NOT NULL COMMENT 'Owner''s first name',
|
||||||
|
`owner_lastname` varchar(127) NOT NULL COMMENT 'Owner''s last name',
|
||||||
|
`owner_email` varchar(127) NOT NULL COMMENT 'Owner''s email address',
|
||||||
|
`owner_street` varchar(127) NOT NULL COMMENT 'Owner''s street',
|
||||||
|
`owner_city` varchar(127) NOT NULL COMMENT 'Owner''s city',
|
||||||
|
`owner_state` varchar(127) NOT NULL COMMENT 'Owner''s state',
|
||||||
|
`owner_zipcode` varchar(40) NOT NULL COMMENT 'Owner''s zip code',
|
||||||
|
`owner_phone` varchar(25) NOT NULL COMMENT 'Owner''s phone number',
|
||||||
|
`owner_country` varchar(80) NOT NULL COMMENT 'Owner''s country',
|
||||||
|
`owner_website` varchar(125) NOT NULL COMMENT 'Owner''s website URL',
|
||||||
|
`owner_currency` varchar(15) NOT NULL COMMENT 'Owner''s currency',
|
||||||
|
`owner_zcaddress` varchar(500) NOT NULL DEFAULT '' COMMENT 'Owner''s zcash address',
|
||||||
|
`owner_usezats` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Use zats for display',
|
||||||
|
`owner_crmtoken` varchar(500) NOT NULL DEFAULT '' COMMENT 'Owner''s crm token',
|
||||||
|
`owner_usetax` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Use tax flag.',
|
||||||
|
`owner_taxvalue` double(12,3) NOT NULL DEFAULT 0.000 COMMENT 'tax rate to use',
|
||||||
|
`owner_usevat` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Use vat flag',
|
||||||
|
`owner_vat` double(12,3) NOT NULL DEFAULT 0.000 COMMENT 'vat rate to use',
|
||||||
|
`owner_payconf` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Confirm payment flag',
|
||||||
|
`owner_viewkey` varchar(500) NOT NULL DEFAULT '' COMMENT 'Viewing Key for payment confirmation',
|
||||||
|
`owner_invoices` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Use zgo invoices',
|
||||||
|
`owner_tips` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Activate tips',
|
||||||
|
`owner_paid` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'True if account is paid',
|
||||||
|
`owner_expiration` datetime NOT NULL DEFAULT current_timestamp() COMMENT 'Expiration date-time'
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Owner''s account information';
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `payment`
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE `payment` (
|
||||||
|
`payment_id` int(11) NOT NULL COMMENT 'Payment Id',
|
||||||
|
`payment_delta` int(11) NOT NULL DEFAULT 0 COMMENT 'Payment delta',
|
||||||
|
`payment_done` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Payment done flag',
|
||||||
|
`payment_zaddress` varchar(300) NOT NULL DEFAULT '' COMMENT 'Payment zcash address',
|
||||||
|
`payment_session` varchar(127) NOT NULL DEFAULT '' COMMENT 'Payment session',
|
||||||
|
`payment_blocktime` int(11) NOT NULL DEFAULT 0 COMMENT 'Payment blocktime',
|
||||||
|
`payment_amount` double(12,3) NOT NULL DEFAULT 0.000 COMMENT 'Payment amount',
|
||||||
|
`payment_txid` varchar(127) NOT NULL DEFAULT '' COMMENT 'Payment transaction id',
|
||||||
|
`payment_memo` varchar(1000) NOT NULL DEFAULT '' COMMENT 'Payment Memo'
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Payment table';
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `price`
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE `price` (
|
||||||
|
`price_id` int(11) NOT NULL COMMENT 'Price Id',
|
||||||
|
`price_delta` int(11) NOT NULL DEFAULT 0 COMMENT 'Price delta',
|
||||||
|
`price_done` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Price done flag',
|
||||||
|
`price_zaddress` varchar(300) NOT NULL DEFAULT '' COMMENT 'Price zcash address',
|
||||||
|
`price_session` varchar(127) NOT NULL DEFAULT '' COMMENT 'Price session',
|
||||||
|
`price_blocktime` int(11) NOT NULL DEFAULT 0 COMMENT 'Price blocktime',
|
||||||
|
`price_amount` double(12,3) NOT NULL DEFAULT 0.000 COMMENT 'Price amount',
|
||||||
|
`price_txid` varchar(127) NOT NULL DEFAULT '' COMMENT 'Price transaction id',
|
||||||
|
`price_memo` varchar(1000) NOT NULL DEFAULT '' COMMENT 'Price Memo'
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Price table';
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `prozesion`
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE `prozesion` (
|
||||||
|
`pro_id` int(11) NOT NULL COMMENT 'Prosession record id',
|
||||||
|
`pro_zaddress` varchar(300) NOT NULL DEFAULT '' COMMENT 'Prosession zcash address',
|
||||||
|
`pro_expiration` datetime NOT NULL COMMENT 'Prosession expiration date/time',
|
||||||
|
`pro_closed` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Prosession closed flag'
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Prosessions table';
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `transaction`
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE `transaction` (
|
||||||
|
`tx_id` int(11) NOT NULL COMMENT 'Transaction ID',
|
||||||
|
`tx_zaddress` varchar(300) NOT NULL DEFAULT '' COMMENT 'Transaction Zcash Address',
|
||||||
|
`tx_expiration` datetime NOT NULL COMMENT 'Transaction Expiration Date/Time',
|
||||||
|
`tx_closed` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Transaction Closed flag'
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Transactions table';
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `user`
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE `user` (
|
||||||
|
`user_id` int(11) NOT NULL COMMENT 'User Id',
|
||||||
|
`user_zaddress` varchar(300) NOT NULL COMMENT 'User zcash address',
|
||||||
|
`user_session` varchar(100) NOT NULL COMMENT 'User session id',
|
||||||
|
`user_blocktime` datetime NOT NULL COMMENT 'User block time',
|
||||||
|
`user_pin` varchar(100) NOT NULL COMMENT 'User pin',
|
||||||
|
`user_validated` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'User validated'
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='User session information';
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `wootoken`
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE `wootoken` (
|
||||||
|
`wootoken_id` int(11) NOT NULL COMMENT 'WooToken record Id',
|
||||||
|
`wootoken_owner_id` int(11) NOT NULL COMMENT 'WooToken owner id',
|
||||||
|
`wootoken_token` varchar(32) NOT NULL DEFAULT '' COMMENT 'WooToken token',
|
||||||
|
`wootoken_url` varchar(64) NOT NULL DEFAULT '' COMMENT 'WooToken URL'
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='WooToken integration token table';
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `xero`
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE `xero` (
|
||||||
|
`xero_id` int(11) NOT NULL COMMENT 'Xero Id',
|
||||||
|
`xero_client_id` varchar(40) NOT NULL DEFAULT '' COMMENT 'Xero client id',
|
||||||
|
`xero_client_secret` varchar(64) NOT NULL DEFAULT '' COMMENT 'Xero client secret word'
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `xerotoken`
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE `xerotoken` (
|
||||||
|
`xerotoken_id` int(11) NOT NULL COMMENT 'Xero account id',
|
||||||
|
`xerotoken_zaddress` varchar(300) NOT NULL COMMENT 'Xero zcash address',
|
||||||
|
`xerotoken_access_token` varchar(1500) NOT NULL COMMENT 'Xero account access token',
|
||||||
|
`xerotoken_expires` int(11) NOT NULL COMMENT 'Xero token expiration ',
|
||||||
|
`xerotoken_refreshtoken` varchar(127) NOT NULL COMMENT 'Xero refresh token',
|
||||||
|
`xerotoken_accexpires` datetime NOT NULL COMMENT 'Xero account expire datetime',
|
||||||
|
`xerotoken_accCode` varchar(64) NOT NULL COMMENT 'Xero account code',
|
||||||
|
`xerotoken_refexpires` datetime NOT NULL COMMENT 'Xero reference expire datetime'
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Indexes for dumped tables
|
||||||
|
--
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Indexes for table `block`
|
||||||
|
--
|
||||||
|
ALTER TABLE `block`
|
||||||
|
ADD PRIMARY KEY (`block_id`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Indexes for table `blocktx`
|
||||||
|
--
|
||||||
|
ALTER TABLE `blocktx`
|
||||||
|
ADD KEY `fx_block_id` (`blocktx_block_id`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Indexes for table `country`
|
||||||
|
--
|
||||||
|
ALTER TABLE `country`
|
||||||
|
ADD PRIMARY KEY (`country_code`),
|
||||||
|
ADD UNIQUE KEY `country_country_name_IDX` (`country_name`) USING BTREE;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Indexes for table `item`
|
||||||
|
--
|
||||||
|
ALTER TABLE `item`
|
||||||
|
ADD UNIQUE KEY `owner_item_ix` (`item_owner_id`,`item_id`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Indexes for table `languages`
|
||||||
|
--
|
||||||
|
ALTER TABLE `languages`
|
||||||
|
ADD UNIQUE KEY `language_ix` (`encode_id`,`view_name`,`view_element`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Indexes for table `orderlines`
|
||||||
|
--
|
||||||
|
ALTER TABLE `orderlines`
|
||||||
|
ADD KEY `fk_order_id` (`orderline_orderid`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Indexes for table `orders`
|
||||||
|
--
|
||||||
|
ALTER TABLE `orders`
|
||||||
|
ADD PRIMARY KEY (`order_id`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Indexes for table `owner`
|
||||||
|
--
|
||||||
|
ALTER TABLE `owner`
|
||||||
|
ADD PRIMARY KEY (`owner_id`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Indexes for table `payment`
|
||||||
|
--
|
||||||
|
ALTER TABLE `payment`
|
||||||
|
ADD PRIMARY KEY (`payment_id`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Indexes for table `price`
|
||||||
|
--
|
||||||
|
ALTER TABLE `price`
|
||||||
|
ADD PRIMARY KEY (`price_id`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Indexes for table `prozesion`
|
||||||
|
--
|
||||||
|
ALTER TABLE `prozesion`
|
||||||
|
ADD PRIMARY KEY (`pro_id`),
|
||||||
|
ADD KEY `pro_zaddress` (`pro_zaddress`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Indexes for table `transaction`
|
||||||
|
--
|
||||||
|
ALTER TABLE `transaction`
|
||||||
|
ADD PRIMARY KEY (`tx_id`),
|
||||||
|
ADD KEY `tx_zaddress` (`tx_zaddress`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Indexes for table `user`
|
||||||
|
--
|
||||||
|
ALTER TABLE `user`
|
||||||
|
ADD PRIMARY KEY (`user_id`),
|
||||||
|
ADD UNIQUE KEY `zaddress_ix` (`user_zaddress`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Indexes for table `wootoken`
|
||||||
|
--
|
||||||
|
ALTER TABLE `wootoken`
|
||||||
|
ADD PRIMARY KEY (`wootoken_id`),
|
||||||
|
ADD KEY `wootoken_owner_ix` (`wootoken_owner_id`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Indexes for table `xero`
|
||||||
|
--
|
||||||
|
ALTER TABLE `xero`
|
||||||
|
ADD PRIMARY KEY (`xero_id`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Indexes for table `xerotoken`
|
||||||
|
--
|
||||||
|
ALTER TABLE `xerotoken`
|
||||||
|
ADD PRIMARY KEY (`xerotoken_id`),
|
||||||
|
ADD UNIQUE KEY `xero_zaddress_ix` (`xerotoken_zaddress`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- AUTO_INCREMENT for dumped tables
|
||||||
|
--
|
||||||
|
|
||||||
|
--
|
||||||
|
-- AUTO_INCREMENT for table `owner`
|
||||||
|
--
|
||||||
|
ALTER TABLE `owner`
|
||||||
|
MODIFY `owner_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Owner ID number';
|
||||||
|
|
||||||
|
--
|
||||||
|
-- AUTO_INCREMENT for table `payment`
|
||||||
|
--
|
||||||
|
ALTER TABLE `payment`
|
||||||
|
MODIFY `payment_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Payment Id';
|
||||||
|
|
||||||
|
--
|
||||||
|
-- AUTO_INCREMENT for table `price`
|
||||||
|
--
|
||||||
|
ALTER TABLE `price`
|
||||||
|
MODIFY `price_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Price Id';
|
||||||
|
|
||||||
|
--
|
||||||
|
-- AUTO_INCREMENT for table `transaction`
|
||||||
|
--
|
||||||
|
ALTER TABLE `transaction`
|
||||||
|
MODIFY `tx_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Transaction ID';
|
||||||
|
|
||||||
|
--
|
||||||
|
-- AUTO_INCREMENT for table `user`
|
||||||
|
--
|
||||||
|
ALTER TABLE `user`
|
||||||
|
MODIFY `user_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'User Id';
|
||||||
|
|
||||||
|
--
|
||||||
|
-- AUTO_INCREMENT for table `xerotoken`
|
||||||
|
--
|
||||||
|
ALTER TABLE `xerotoken`
|
||||||
|
MODIFY `xerotoken_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Xero account id';
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Constraints for dumped tables
|
||||||
|
--
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Constraints for table `blocktx`
|
||||||
|
--
|
||||||
|
ALTER TABLE `blocktx`
|
||||||
|
ADD CONSTRAINT `fx_block_id` FOREIGN KEY (`blocktx_block_id`) REFERENCES `block` (`block_id`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Constraints for table `item`
|
||||||
|
--
|
||||||
|
ALTER TABLE `item`
|
||||||
|
ADD CONSTRAINT `fk_owner_id` FOREIGN KEY (`item_owner_id`) REFERENCES `owner` (`owner_id`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Constraints for table `orderlines`
|
||||||
|
--
|
||||||
|
ALTER TABLE `orderlines`
|
||||||
|
ADD CONSTRAINT `fk_order_id` FOREIGN KEY (`orderline_orderid`) REFERENCES `orders` (`order_id`);
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Constraints for table `wootoken`
|
||||||
|
--
|
||||||
|
ALTER TABLE `wootoken`
|
||||||
|
ADD CONSTRAINT `wootoken_owner_ix` FOREIGN KEY (`wootoken_owner_id`) REFERENCES `owner` (`owner_id`);
|
||||||
|
COMMIT;
|
||||||
|
|
||||||
|
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||||
|
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||||
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
Loading…
Reference in a new issue