| @@ -2,10 +2,11 @@ package data | |||||
| import ( | import ( | ||||
| "fmt" | "fmt" | ||||
| "time" | |||||
| "github.com/spf13/viper" | "github.com/spf13/viper" | ||||
| "gorm.io/driver/postgres" | "gorm.io/driver/postgres" | ||||
| "gorm.io/gorm" | "gorm.io/gorm" | ||||
| "time" | |||||
| ) | ) | ||||
| type ModelBase struct { | type ModelBase struct { | ||||
| @@ -2,9 +2,10 @@ package endpoints | |||||
| import ( | import ( | ||||
| "encoding/json" | "encoding/json" | ||||
| "net/http" | |||||
| "github.com/imosed/signet/auth" | "github.com/imosed/signet/auth" | ||||
| . "github.com/imosed/signet/data" | . "github.com/imosed/signet/data" | ||||
| "net/http" | |||||
| ) | ) | ||||
| type CloseRewardFundRequest struct { | type CloseRewardFundRequest struct { | ||||
| @@ -2,6 +2,10 @@ package endpoints | |||||
| import ( | import ( | ||||
| "fmt" | "fmt" | ||||
| "net/http" | |||||
| "strconv" | |||||
| "strings" | |||||
| "github.com/gorilla/websocket" | "github.com/gorilla/websocket" | ||||
| . "github.com/imosed/signet/data" | . "github.com/imosed/signet/data" | ||||
| "github.com/spf13/viper" | "github.com/spf13/viper" | ||||
| @@ -9,9 +13,6 @@ import ( | |||||
| "github.com/stellar/go/protocols/horizon" | "github.com/stellar/go/protocols/horizon" | ||||
| "github.com/stellar/go/protocols/horizon/operations" | "github.com/stellar/go/protocols/horizon/operations" | ||||
| "golang.org/x/net/context" | "golang.org/x/net/context" | ||||
| "net/http" | |||||
| "strconv" | |||||
| "strings" | |||||
| ) | ) | ||||
| var upgrader = websocket.Upgrader{ | var upgrader = websocket.Upgrader{ | ||||
| @@ -2,8 +2,9 @@ package endpoints | |||||
| import ( | import ( | ||||
| "encoding/json" | "encoding/json" | ||||
| . "github.com/imosed/signet/data" | |||||
| "net/http" | "net/http" | ||||
| . "github.com/imosed/signet/data" | |||||
| ) | ) | ||||
| type CreateQueueRequest struct { | type CreateQueueRequest struct { | ||||
| @@ -3,12 +3,13 @@ package endpoints | |||||
| import ( | import ( | ||||
| "encoding/json" | "encoding/json" | ||||
| "fmt" | "fmt" | ||||
| "net/http" | |||||
| "strconv" | |||||
| "github.com/imosed/signet/auth" | "github.com/imosed/signet/auth" | ||||
| . "github.com/imosed/signet/data" | . "github.com/imosed/signet/data" | ||||
| "github.com/stellar/go/clients/horizonclient" | "github.com/stellar/go/clients/horizonclient" | ||||
| "github.com/stellar/go/protocols/horizon" | "github.com/stellar/go/protocols/horizon" | ||||
| "net/http" | |||||
| "strconv" | |||||
| ) | ) | ||||
| type CreateRewardFundRequest struct { | type CreateRewardFundRequest struct { | ||||
| @@ -2,13 +2,16 @@ package endpoints | |||||
| import ( | import ( | ||||
| "encoding/json" | "encoding/json" | ||||
| . "github.com/imosed/signet/data" | |||||
| "net/http" | "net/http" | ||||
| . "github.com/imosed/signet/data" | |||||
| ) | ) | ||||
| type QueueMember struct { | type QueueMember struct { | ||||
| ID uint `json:"id"` | |||||
| Asset string `json:"asset"` | Asset string `json:"asset"` | ||||
| Title string `json:"title"` | Title string `json:"title"` | ||||
| Order int `json:"order"` | |||||
| } | } | ||||
| type GetQueueMembersRequest struct { | type GetQueueMembersRequest struct { | ||||
| @@ -27,7 +30,8 @@ func GetQueueMembers(w http.ResponseWriter, r *http.Request) { | |||||
| } | } | ||||
| var members []QueueMember | var members []QueueMember | ||||
| Db.Table("queue_orders qo").Select("reward_fund_id, asset, title").Where("queue_id = ?", req.ID). | |||||
| Db.Table("queue_orders qo").Select("rf.id, asset, title, qo.order"). | |||||
| Where("queue_id = ?", req.ID). | |||||
| Joins("inner join reward_funds rf on qo.reward_fund_id = rf.id"). | Joins("inner join reward_funds rf on qo.reward_fund_id = rf.id"). | ||||
| Scan(&members) | Scan(&members) | ||||
| @@ -2,10 +2,11 @@ package endpoints | |||||
| import ( | import ( | ||||
| "encoding/json" | "encoding/json" | ||||
| . "github.com/imosed/signet/data" | |||||
| "gorm.io/gorm/clause" | |||||
| "net/http" | "net/http" | ||||
| "time" | "time" | ||||
| . "github.com/imosed/signet/data" | |||||
| "gorm.io/gorm/clause" | |||||
| ) | ) | ||||
| type Total struct { | type Total struct { | ||||
| @@ -13,7 +14,7 @@ type Total struct { | |||||
| } | } | ||||
| type GetRewardFundRequest struct { | type GetRewardFundRequest struct { | ||||
| Id uint `json:"id"` | |||||
| ID uint `json:"id"` | |||||
| ConsolidateContributions bool `json:"consolidateContributions"` | ConsolidateContributions bool `json:"consolidateContributions"` | ||||
| } | } | ||||
| @@ -35,7 +36,7 @@ func GetRewardFund(resp http.ResponseWriter, req *http.Request) { | |||||
| panic("Could not read requested fund") | panic("Could not read requested fund") | ||||
| } | } | ||||
| found := Db.Preload(clause.Associations).Find(&fund, requestedFund.Id).RowsAffected | |||||
| found := Db.Preload(clause.Associations).Find(&fund, requestedFund.ID).RowsAffected | |||||
| if found == 0 { | if found == 0 { | ||||
| resp.WriteHeader(404) | resp.WriteHeader(404) | ||||
| return | return | ||||
| @@ -79,7 +80,7 @@ func GetRewardFund(resp http.ResponseWriter, req *http.Request) { | |||||
| } | } | ||||
| type GetContributionsRequest struct { | type GetContributionsRequest struct { | ||||
| Id uint `json:"id"` | |||||
| ID uint `json:"id"` | |||||
| Offset int `json:"offset"` | Offset int `json:"offset"` | ||||
| ForDate string `json:"forDate"` | ForDate string `json:"forDate"` | ||||
| ConsolidateContributions bool `json:"consolidateContributions"` | ConsolidateContributions bool `json:"consolidateContributions"` | ||||
| @@ -101,10 +102,10 @@ func GetContributions(w http.ResponseWriter, r *http.Request) { | |||||
| } | } | ||||
| var resp GetContributionsResponse | var resp GetContributionsResponse | ||||
| baseQuery := Db.Table("contributions").Where("reward_fund_id = ?", req.Id).Offset(req.Offset).Limit(30) | |||||
| baseCount := Db.Table("contributions").Where("reward_fund_id = ?", req.Id) | |||||
| baseQuery := Db.Table("contributions").Where("reward_fund_id = ?", req.ID).Offset(req.Offset).Limit(30) | |||||
| baseCount := Db.Table("contributions").Where("reward_fund_id = ?", req.ID) | |||||
| Db.Table("contributions").Select("distinct on (created_at::TIMESTAMP::DATE) created_at").Where("reward_fund_id = ?", req.Id).Scan(&resp.Dates) | |||||
| Db.Table("contributions").Select("distinct on (created_at::TIMESTAMP::DATE) created_at").Where("reward_fund_id = ?", req.ID).Scan(&resp.Dates) | |||||
| if req.ForDate == "" { | if req.ForDate == "" { | ||||
| if req.ConsolidateContributions { | if req.ConsolidateContributions { | ||||
| @@ -2,12 +2,13 @@ package endpoints | |||||
| import ( | import ( | ||||
| "encoding/json" | "encoding/json" | ||||
| "net/http" | |||||
| "time" | |||||
| "github.com/golang-jwt/jwt/v4" | "github.com/golang-jwt/jwt/v4" | ||||
| "github.com/imosed/signet/auth" | "github.com/imosed/signet/auth" | ||||
| . "github.com/imosed/signet/data" | . "github.com/imosed/signet/data" | ||||
| "github.com/spf13/viper" | "github.com/spf13/viper" | ||||
| "net/http" | |||||
| "time" | |||||
| ) | ) | ||||
| type LoginResponse struct { | type LoginResponse struct { | ||||
| @@ -22,7 +23,7 @@ func Login(w http.ResponseWriter, r *http.Request) { | |||||
| } | } | ||||
| var userData struct { | var userData struct { | ||||
| Id uint | |||||
| ID uint | |||||
| Password string | Password string | ||||
| Privileges uint | Privileges uint | ||||
| } | } | ||||
| @@ -3,16 +3,17 @@ package endpoints | |||||
| import ( | import ( | ||||
| "encoding/json" | "encoding/json" | ||||
| "fmt" | "fmt" | ||||
| "net/http" | |||||
| . "github.com/imosed/signet/data" | . "github.com/imosed/signet/data" | ||||
| "github.com/stellar/go/clients/horizonclient" | "github.com/stellar/go/clients/horizonclient" | ||||
| "github.com/stellar/go/protocols/horizon" | "github.com/stellar/go/protocols/horizon" | ||||
| "net/http" | |||||
| ) | ) | ||||
| var client = horizonclient.DefaultTestNetClient | var client = horizonclient.DefaultTestNetClient | ||||
| type SubmitFundRequest struct { | type SubmitFundRequest struct { | ||||
| FundId uint `json:"fundId"` | |||||
| FundID uint `json:"fundId"` | |||||
| } | } | ||||
| func SubmitFund(w http.ResponseWriter, r *http.Request) { | func SubmitFund(w http.ResponseWriter, r *http.Request) { | ||||
| @@ -23,12 +24,12 @@ func SubmitFund(w http.ResponseWriter, r *http.Request) { | |||||
| } | } | ||||
| var fund RewardFund | var fund RewardFund | ||||
| Db.Find(&fund, req.FundId) | |||||
| Db.Find(&fund, req.FundID) | |||||
| //source := keypair.MustParseFull(fund.FundWallet) | |||||
| //sourceReq := horizonclient.AccountRequest{AccountID: source.Address()} | |||||
| //var sourceAcct horizon.Account | |||||
| //sourceAcct, err = client.AccountDetail(sourceReq) | |||||
| // source := keypair.MustParseFull(fund.FundWallet) | |||||
| // sourceReq := horizonclient.AccountRequest{AccountID: source.Address()} | |||||
| // var sourceAcct horizon.Account | |||||
| // sourceAcct, err = client.AccountDetail(sourceReq) | |||||
| offerReq := horizonclient.OfferRequest{ | offerReq := horizonclient.OfferRequest{ | ||||
| Selling: fmt.Sprintf("%s:%s", fund.Asset, fund.IssuerWallet), | Selling: fmt.Sprintf("%s:%s", fund.Asset, fund.IssuerWallet), | ||||
| @@ -45,8 +46,8 @@ func SubmitFund(w http.ResponseWriter, r *http.Request) { | |||||
| } | } | ||||
| } | } | ||||
| //var tx *txnbuild.Transaction | |||||
| //tx, err = txnbuild.NewTransaction( | |||||
| // var tx *txnbuild.Transaction | |||||
| // tx, err = txnbuild.NewTransaction( | |||||
| // txnbuild.TransactionParams{ | // txnbuild.TransactionParams{ | ||||
| // SourceAccount: &sourceAcct, | // SourceAccount: &sourceAcct, | ||||
| // IncrementSequenceNum: true, | // IncrementSequenceNum: true, | ||||
| @@ -69,20 +70,20 @@ func SubmitFund(w http.ResponseWriter, r *http.Request) { | |||||
| // TimeBounds: txnbuild.NewInfiniteTimeout(), // TODO: change from infinite | // TimeBounds: txnbuild.NewInfiniteTimeout(), // TODO: change from infinite | ||||
| // }, | // }, | ||||
| // }) | // }) | ||||
| //if err != nil { | |||||
| // if err != nil { | |||||
| // panic("Could not submit reward fund") | // panic("Could not submit reward fund") | ||||
| //} | |||||
| // } | |||||
| // | // | ||||
| //tx, err = tx.Sign(network.TestNetworkPassphrase, source) | |||||
| //if err != nil { | |||||
| // tx, err = tx.Sign(network.TestNetworkPassphrase, source) | |||||
| // if err != nil { | |||||
| // panic("Could not submit fund") | // panic("Could not submit fund") | ||||
| //} | |||||
| // } | |||||
| // | // | ||||
| //var response horizon.Transaction | |||||
| //response, err = client.SubmitTransaction(tx) | |||||
| // var response horizon.Transaction | |||||
| // response, err = client.SubmitTransaction(tx) | |||||
| var resp SuccessResponse | var resp SuccessResponse | ||||
| //resp.Success = response.Successful | |||||
| // resp.Success = response.Successful | |||||
| err = json.NewEncoder(w).Encode(resp) | err = json.NewEncoder(w).Encode(resp) | ||||
| if err != nil { | if err != nil { | ||||