Documentation ¶
Index ¶
- Variables
- func InvValidateHelper(w http.ResponseWriter, r *http.Request, options []string, method string) (core.Investor, error)
- func StartServer(portx int, insecure bool)
- type ExplorePageStub
- type GetAccessTokenData
- type GetAssetStruct
- type GetEnergyAttributionData
- type GetEnergyStruct
- type GetSwytchUserStruct
- type LenReturn
- type ParticleDevice
- type ParticleEventStream
- type ParticlePingResponse
- type ParticleProductDevice
- type ParticleProductInfo
- type ParticleUser
- type SerialNumberResponse
- type SignalResponse
- type SnInvestor
- type SnRecipient
- type SnUser
- type UserRoleStruct
Constants ¶
This section is empty.
Variables ¶
var AdminRPC = map[int][]string{
1: {"/admin/flag", "GET", "projIndex"},
2: {"/admin/getallprojects", "GET"},
3: {"/admin/getrecipient", "GET", "index"},
4: {"/admin/getinvestor", "GET", "index"},
5: {"/admin/getentity", "GET", "index"},
6: {"/admin/getallinvestors", "GET"},
7: {"/admin/getallrecipients", "GET"},
8: {"/admin/project/complete", "POST", "index"},
9: {"/admin/project/featured", "POST", "index"},
}
AdminRPC is a list of all the endpoints that can be called by admins
var DevRPC = map[int][]string{
1: {"/developer/withdraw", "POST", "amount", "projIndex"},
2: {"/developer/dashboard", "GET"},
3: {"/developer/money/request", "GET", "index", "amount"},
}
DevRPC contains a list of all the developer rpc endpoints
var EntityRPC = map[int][]string{
1: {"/entity/validate", "GET"},
2: {"/entity/stage0", "GET"},
3: {"/entity/stage1", "GET"},
4: {"/entity/stage2", "GET"},
5: {"/entity/addcollateral", "POST", "amount", "collateral"},
6: {"/entity/proposeproject/opensolar", "POST", "projIndex", "fee"},
7: {"/entity/register", "POST", "name", "username", "pwhash", "token", "seedpwd", "entityType"},
8: {"/entity/contractor/dashboard", "GET"},
}
EntityRPC is a list of endpoints that can be called by an entity
var GuaRPC = map[int][]string{
1: {"/guarantor/deposit/xlm", "POST", "amount", "projIndex", "seedpwd"},
2: {"/guarantor/deposit/asset", "POST", "amount", "projIndex", "seedpwd", "assetCode"},
}
GuaRPC contains a list of all guarantor related RPC endpoints
var InvRPC = map[int][]string{
1: {"/investor/register", "POST", "name", "username", "pwhash", "token", "seedpwd"},
2: {"/investor/validate", "GET"},
3: {"/investor/all", "GET"},
4: {"/investor/invest", "POST", "seedpwd", "projIndex", "amount"},
5: {"/investor/vote", "POST", "votes", "projIndex"},
6: {"/investor/localasset", "POST", "assetName"},
7: {"/investor/sendlocalasset", "POST", "assetName", "seedpwd", "destination", "amount"},
8: {"/investor/sendemail", "POST", "message", "to"},
9: {"/investor/dashboard", "GET"},
10: {"/investor/company/set", "POST"},
11: {"/investor/company/details", "POST", "companytype",
"name", "legalname", "address", "country", "city", "zipcode", "role"},
}
InvRPC contains a list of all investor related endpoints
var ParticleRPC = map[int][]string{
1: {"/particle/devices", "GET", "accessToken"},
2: {"/particle/productinfo", "GET", "accessToken", "productInfo"},
3: {"/particle/deviceinfo", "GET", "accessToken", "deviceId"},
4: {"/particle/deviceping", "GET", "accessToken", "deviceId"},
5: {"/particle/devicesignal", "GET", "signal", "accessToken"},
6: {"/particle/getdeviceid", "GET", "serialNumber", "accessToken"},
7: {"/particle/diag/last", "GET", "accessToken", "deviceId"},
8: {"/particle/diag/all", "GET", "accessToken", "deviceId"},
9: {"/particle/user/info", "GET", "accessToken"},
10: {"/particle/sims", "GET", "accessToken"},
}
ParticleRPC contains a list of all particle related endpoints
var ProjectRPC = map[int][]string{
2: {"/project/all", "GET"},
3: {"/project/get", "GET", "index"},
4: {"/projects", "GET", "stage"},
5: {"/utils/addhash", "GET", "projIndex", "choice", "choicestr"},
6: {"/tellershutdown", "GET", "projIndex", "deviceId", "tx1", "tx2"},
7: {"/tellerpayback", "GET", "deviceId", "projIndex"},
8: {"/project/get/dashboard", "GET", "index"},
9: {"/explore", "GET"},
10: {"/project/detail", "GET", "index"},
11: {"/project/active", "GET"},
12: {"/project/complete", "GET"},
13: {"/project/featured", "GET"},
}
ProjectRPC contains a list of all the project related RPC endpoints
var PublicRPC = map[int][]string{
1: {"/public/investor/all"},
2: {"/public/recipient/all"},
3: {"/public/recipient/reputation/top"},
4: {"/public/investor/reputation/top"},
}
PublicRPC contains a list of all public RPC endpoints
var RecpRPC = map[int][]string{
1: {"/recipient/all", "GET"},
2: {"/recipient/register", "POST", "name", "username", "pwhash", "seedpwd"},
3: {"/recipient/validate", "GET"},
4: {"/recipient/payback", "POST", "assetName", "amount", "seedpwd", "projIndex"},
5: {"/recipient/deviceId", "POST", "deviceId"},
6: {"/recipient/startdevice", "POST", "start"},
7: {"/recipient/storelocation", "POST", "location"},
8: {"/recipient/auction/choose/blind", "GET"},
9: {"/recipient/auction/choose/vickrey", "GET"},
10: {"/recipient/auction/choose/time", "GET"},
11: {"/recipient/unlock/opensolar", "POST", "seedpwd", "projIndex"},
12: {"/recipient/addemail", "POST", "email"},
13: {"/recipient/finalize", "POST", "projIndex"},
14: {"/recipient/originate", "POST", "projIndex"},
15: {"/recipient/trustlimit", "GET", "assetName"},
16: {"/recipient/ssh", "POST", "hash"},
17: {"/recipient/onetimeunlock", "POST", "projIndex", "seedpwd"},
18: {"/recipient/register/teller", "POST", "url", "projIndex"},
19: {"/recipient/teller/details", "POST", "projIndex", "url", "brokerurl", "topic"},
20: {"/recipient/dashboard", "GET"},
21: {"/recipient/company/set", "POST"},
22: {"/recipient/company/details", "POST", "companytype", "name", "legalname", "address", "country", "city", "zipcode", "role"},
23: {"/recipient/teller/energy", "POST", "energy"},
}
RecpRPC is a collection of all recipient RPC endpoints and their required params
var StagesRPC = map[int][]string{
1: {"/stages/all", "GET"},
2: {"/stages", "GET", "index"},
3: {"/stages/promote", "GET", "index"},
}
StagesRPC is a list of all stage related RPC endpoints
var UserRPC = map[int][]string{
1: {"/update", "POST"},
2: {"/user/report", "POST", "projIndex"},
3: {"/user/info", "GET"},
4: {"/user/register", "POST", "email", "username", "pwhash", "seedpwd"},
5: {"/user/roles", "GET"},
}
UserRPC is a collection of all user RPC endpoints and their required params
Functions ¶
func InvValidateHelper ¶
func InvValidateHelper(w http.ResponseWriter, r *http.Request, options []string, method string) (core.Investor, error)
InvValidateHelper is a helper that validates an investor and returns the investor struct if successful
func StartServer ¶
StartServer starts the opensolar backend server
Types ¶
type ExplorePageStub ¶
type ExplorePageStub struct { StageDescription interface{} Name interface{} Location interface{} ProjectType interface{} OriginatorName interface{} Description interface{} Bullet1 interface{} Bullet2 interface{} Bullet3 interface{} Solar interface{} Storage interface{} Tariff interface{} Return interface{} Rating interface{} Tax interface{} Acquisition interface{} MainImage interface{} Stage int Index int Raised float64 Total float64 Backers int }
ExplorePageStub is used to show brief descriptions of the project on the frontend's explore page
type GetAccessTokenData ¶
type GetAccessTokenData struct {
Data []getAccessTokenDataHelper `json:"data"`
}
GetAccessTokenData is a helper struct for the swytch API
type GetAssetStruct ¶
type GetAssetStruct struct {
Data []gA2 `json:"data"`
}
GetAssetStruct is a helper struct for the swytch API
type GetEnergyAttributionData ¶
type GetEnergyAttributionData struct {
Data []getEnergyAttributionHelper `json:"data"`
}
GetEnergyAttributionData is a helper struct for the swytch API
type GetEnergyStruct ¶
type GetEnergyStruct struct {
Data []getEnergyHelper `json:"data"`
}
GetEnergyStruct is a helper struct for the swytch API
type GetSwytchUserStruct ¶
type GetSwytchUserStruct struct {
Data []getSwytchUserStructHelper `json:"data"`
}
GetSwytchUserStruct is a helper struct for the swytch API
type ParticleDevice ¶
type ParticleDevice struct { ID string `json:"id"` Name string `json:"name"` LastApp string `json:"last_app"` LastIPAddress string `json:"last_ip_address"` ProductID int `json:"product_id"` Connected bool `json:"connected"` PlatformID int `json:"platform_id"` Cellular bool `json:"cellular"` Notes string `json:"notes"` Status string `json:"status"` SerialNumber string `json:"serial_number"` CurrentBuildTarget string `json:"current_build_target"` SystemFirmwareVersion string `json:"system_firmware_version"` DefaultBuildTarget string `json:"default_build_target"` }
ParticleDevice is a structure to parse the returned particle.io data
type ParticleEventStream ¶
type ParticleEventStream struct { Data string `json:"data"` TTL string `json:"ttl"` PublishedAt string `json:"published_at"` Coreid string `json:"coreid"` }
ParticleEventStream is a structure to parse returned particle.io data
type ParticlePingResponse ¶
ParticlePingResponse is a structure to parse returned particle.io data
type ParticleProductDevice ¶
type ParticleProductDevice struct { ID string `json:"id"` ProductID int `json:"product_id"` LastIPAddress string `json:"last_ip_address"` LastHandshakeAt string `json:"last_handshake_at"` UserID string `json:"user_id"` Online bool `json:"online"` Name string `json:"name"` PlatformID int `json:"platform_id"` FirmwareProductID int `json:"firmware_product_id"` Quarantined bool `json:"quarantined"` Denied bool `json:"denied"` Development bool `json:"development"` Groups []string `json:"groups"` TargetedFirmwareReleaseVersion string `json:"targeted_firmware_release_version"` SystemFirmwareVersion string `json:"system_firmware_version"` SerialNumber string `json:"serial_number"` Owner string `json:"owner"` }
ParticleProductDevice is a structure to parse returned particle.io data
type ParticleProductInfo ¶
type ParticleProductInfo struct {
Devices []ParticleProductDevice
}
ParticleProductInfo is a structure to parse returned particle.io data
type ParticleUser ¶
type ParticleUser struct { Username string `json:"username"` SubscriptionIds []string `json:"subscription_ids"` AccountInfo struct { FirstName string `json:"first_name"` LastName string `json:"last_name"` CompanyName string `json:"company_name"` BusinessAccount bool `json:"business_account"` } `json:"account_info"` TeamInvites []string `json:"team_invites"` WifiDeviceCount int `json:"wifi_device_count"` CellularDeviceCount int `json:"cellular_device_count"` }
ParticleUser is a structure to parse returned particle.io data
type SerialNumberResponse ¶
type SerialNumberResponse struct { Ok bool `json:"ok"` DeviceID string `json:"device_id"` PlatformID int `json:"platform_id"` }
SerialNumberResponse is a structure to parse returned particle.io data
type SignalResponse ¶
type SignalResponse struct { ID string `json:"id"` Connected bool `json:"connected"` Signaling bool `json:"signaling"` }
SignalResponse is a structure to parse returned particle.io data
type SnInvestor ¶
type SnInvestor struct { Name string InvestedSolarProjects []string AmountInvested float64 InvestedBonds []string InvestedCoops []string PublicKey string Reputation float64 }
SnInvestor defines a sanitized investor
type SnRecipient ¶
type SnRecipient struct { Name string PublicKey string ReceivedSolarProjects []string Reputation float64 }
SnRecipient defines a sanitized recipient