Documentation ¶
Index ¶
- Constants
- Variables
- func AcceptableIDType(id interface{}) (string, bool)
- func Adjust(obj interface{}, state map[string]interface{}) interface{}
- func CreateCorsObject() *cors.Cors
- func DownloadFileFromURL(url, dest string) error
- func GetIDVariable(dbType string) string
- func GetTokenFromHeader(r *http.Request) string
- func JoinLeading(s1 string, s2 string, ch string) string
- func JoinLeadingTrailing(s1 string, s2 string, ch string) string
- func JoinTrailing(s1 string, s2 string, ch string) string
- func LoadBool(key interface{}, args map[string]interface{}) (bool, error)
- func LoadNumber(key interface{}, args map[string]interface{}) (float64, error)
- func LoadStringIfExists(value string, state map[string]interface{}) string
- func LoadValue(key string, state map[string]interface{}) (interface{}, error)
- func SingleLeading(s string, ch string) string
- func SingleLeadingTrailing(s string, ch string) string
- func SingleTrailing(s string, ch string) string
- func Unzip(src string, dest string) error
- func UserHomeDir() string
- func Validate(where map[string]interface{}, obj interface{}) bool
- type Array
- type Broker
- type DBType
- type DatabaseCollections
- type FieldType
- type FileOpType
- type FileStoreType
- type ForeignKeysType
- type MakeHttpRequest
- type Object
- type OperationType
- type OrchestratorType
- type RequestKind
Constants ¶
const ( // One operation returns a single document from the database One string = "one" // All operation returns multiple documents from the database All string = "all" // Count operation returns the number of documents which match the condition Count string = "count" // Distinct operation returns distinct values Distinct string = "distinct" // Upsert creates a new document if it doesn't exist, else it updates exiting document Upsert string = "upsert" )
const ( // RealtimeInsert is for create operations RealtimeInsert string = "insert" // RealtimeUpdate is for update operations RealtimeUpdate string = "update" // RealtimeDelete is for delete operations RealtimeDelete string = "delete" // RealtimeInitial is for the initial data RealtimeInitial string = "initial" )
const ( // TypeRealtimeSubscribe is the request type for live query subscription TypeRealtimeSubscribe string = "realtime-subscribe" // TypeRealtimeUnsubscribe is the request type for live query subscription TypeRealtimeUnsubscribe string = "realtime-unsubscribe" // TypeRealtimeFeed is the response type for realtime feed TypeRealtimeFeed string = "realtime-feed" )
const ( // PortHTTP is the port used for the http server PortHTTP string = "4122" // PortHTTPConnect is the port used for the http server with consul connect PortHTTPConnect string = "4124" // PortHTTPSecure is the port used for the http server with tls PortHTTPSecure string = "4126" )
const ( // GQL_CONNECTION_KEEP_ALIVE send every 20 second to client over websocket GQL_CONNECTION_KEEP_ALIVE string = "ka" // Server -> Client // GQL_CONNECTION_INIT is used by graphql over websocket protocol GQL_CONNECTION_INIT string = "connection_init" // Client -> Server // GQL_CONNECTION_ACK is used by graphql over websocket protocol GQL_CONNECTION_ACK string = "connection_ack" // Server -> Client // GQL_CONNECTION_ERROR is used by graphql over websocket protocol GQL_CONNECTION_ERROR string = "connection_error" // Server -> Client // GQL_CONNECTION_TERMINATE is used by graphql over websocket protocol GQL_CONNECTION_TERMINATE string = "connection_terminate" // Client -> Server // GQL_START is used by graphql over websocket protocol GQL_START string = "start" // Client -> Server // GQL_DATA is used by graphql over websocket protocol GQL_DATA string = "data" // Server -> Client // GQL_ERROR is used by graphql over websocket protocol GQL_ERROR string = "error" // Server -> Client // GQL_COMPLETE is used by graphql over websocket protocol GQL_COMPLETE string = "complete" // Server -> Client // GQL_STOP is used by graphql over websocket protocol GQL_STOP string = "stop" // Client -> Server )
const ( // EventCreate is fired for create request EventCreate string = "DB_INSERT" // EventUpdate is fired for update request EventUpdate string = "DB_UPDATE" // EventDelete is fired for delete request EventDelete string = "DB_DELETE" )
const ( // EventStatusIntent signifies that the event hasn't been staged yet EventStatusIntent string = "intent" // EventStatusStaged signifies that the event can be processed EventStatusStaged string = "staged" // EventStatusProcessed signifies that the event has been successfully been processed and can be deleted EventStatusProcessed string = "processed" // EventStatusFailed signifies that the event has failed and should not be processed EventStatusFailed string = "failed" // EventStatusCancelled signifies that the event has been cancelled and should not be processed EventStatusCancelled string = "cancel" )
const BuildVersion = "0.14.0"
BuildVersion is the current version of Space Cloud
const DefaultConfigFilePath string = "config.yaml"
DefaultConfigFilePath is the default path to load / store the config file
const InternalUserID string = "internal-sc-user"
InternalUserID is the auth.id used for internal requests
const MaxEventTokens int = 100
MaxEventTokens describes the maximum number of event workers
const ( // PayloadSize is the size of the payload(in bytes) in file upload and download PayloadSize int = 256 * 1024 // 256 kB )
const SpaceCloudServiceName string = "space-cloud"
SpaceCloudServiceName is the service name space cloud will register itself with in service discovery mechanisms
Variables ¶
var ErrDatabaseConfigAbsent = errors.New("No such database found in SC config file")
ErrDatabaseConfigAbsent is thrown when database config is not present
var ErrDatabaseConnection = errors.New("Could not connect to database. Make sure it is up and connection string provided to SC is correct")
ErrDatabaseConnection is thrown when SC was unable to connect to the requested database
var ErrDatabaseDisabled = errors.New("Database is disabled. Please enable it")
ErrDatabaseDisabled is thrown when an operation is requested on a disabled database
var ErrInvalidParams = errors.New("Invalid parameter provided")
ErrInvalidParams is thrown when the input parameters for an operation are invalid
var ErrUnsupportedDatabase = errors.New("Unsupported database. Make sure your database type is correct")
ErrUnsupportedDatabase is thrown when an invalid db type is provided
Functions ¶
func AcceptableIDType ¶
AcceptableIDType converts a provied id to string
func Adjust ¶
func Adjust(obj interface{}, state map[string]interface{}) interface{}
Adjust loads value from state if referenced
func CreateCorsObject ¶
CreateCorsObject creates a cors object with the required config
func DownloadFileFromURL ¶
DownloadFileFromURL downloads a file from url and stores it at a given destination
func GetIDVariable ¶
GetIDVariable gets the id variable for the provided db type
func GetTokenFromHeader ¶
GetTokenFromHeader returns the token from the request header
func JoinLeading ¶
JoinLeading joins s1 and s2, using ch, and ensures ch occurs at the start
func JoinLeadingTrailing ¶
JoinLeadingTrailing joins s1 and s2, using ch, and ensures ch occurs at the start and end
func JoinTrailing ¶
JoinTrailing joins s1 and s2, using ch, and ensures ch occurs at the end
func LoadNumber ¶
LoadNumber loads a key as a float. Throws error
func LoadStringIfExists ¶
LoadStringIfExists loads a value if its present else returns the same
func SingleLeading ¶
SingleLeading ensures that a string s starts with ch, but doesnt end with it
func SingleLeadingTrailing ¶
SingleLeadingTrailing ensures that a string s starts and ends with single occurence of ch
func SingleTrailing ¶
SingleTrailing ensures that a string s ends with ch, but doesnt start with it
Types ¶
type Array ¶
type Array struct {
// contains filtered or unexported fields
}
Array is an atomic array
type Broker ¶
type Broker string
Broker is the type of broker used by Space Cloud
const ( // Nats is the type used for Nats Nats Broker = "nats" )
type DBType ¶
type DBType string
DBType is the type of database used for a particular crud operation
type DatabaseCollections ¶
type DatabaseCollections struct {
TableName string `db:"table_name" json:"tableName"`
}
DatabaseCollections stores all callections of sql or postgres or mongo
type FieldType ¶
type FieldType struct { FieldName string `db:"Field"` FieldType string `db:"Type"` FieldNull string `db:"Null"` FieldKey string `db:"Key"` FieldDefault *string `db:"Default"` FieldExtra string `db:"Extra"` }
FieldType is the type for storing sql inspection information
type FileOpType ¶
type FileOpType string
FileOpType is the type of file operation being performed on the file store
const ( // FileRead is the type used for read operations FileRead FileOpType = "read" // FileCreate is the type used for create operations FileCreate FileOpType = "create" // FileDelete is the type used for delete operations FileDelete FileOpType = "delete" )
type FileStoreType ¶
type FileStoreType string
FileStoreType is the type of file store used
const ( // Local is the type used for the local filesystem Local FileStoreType = "local" // AmazonS3 is the type used for the AmazonS3 storage AmazonS3 FileStoreType = "amazon-s3" // GCPStorage is the type used for the GCP storage GCPStorage FileStoreType = "gcp-storage" )
type ForeignKeysType ¶
type ForeignKeysType struct { TableName string `db:"TABLE_NAME"` ColumnName string `db:"COLUMN_NAME"` ConstraintName string `db:"CONSTRAINT_NAME"` RefTableName string `db:"REFERENCED_TABLE_NAME"` RefColumnName string `db:"REFERENCED_COLUMN_NAME"` }
ForeignKeysType is the type for storing foreignkeys information of sql inspection
type MakeHttpRequest ¶
type Object ¶
type Object struct {
// contains filtered or unexported fields
}
Object is an atomic array
type OperationType ¶
type OperationType string
OperationType is the type of operation being performed on the database
const ( // Create is the type used for insert operations Create OperationType = "create" // Read is the type used for query operation Read OperationType = "read" // Update is the type used ofr update operations Update OperationType = "update" // Delete is the type used for delete operations Delete OperationType = "delete" // Batch is the type used for batch operations Batch OperationType = "batch" // Aggregation is the type used for aggregations Aggregation OperationType = "aggr" )
type OrchestratorType ¶
type OrchestratorType string
OrchestratorType is the type of the orchestrator
const ( // Kubernetes is the type used for a kubernetes deployement Kubernetes OrchestratorType = "kubernetes" )
type RequestKind ¶
type RequestKind string
const ( // RequestKindDirect is used when an http request is to be made directly RequestKindDirect RequestKind = "direct" // RequestKindConsulConnect is used when an http request is to be made via consul connect RequestKindConsulConnect RequestKind = "consul-connect" )