75 lines
1.3 KiB
Go
75 lines
1.3 KiB
Go
package utils
|
||
|
||
type DataType int
|
||
|
||
// DataType - Enum for the different types of resources in db accessible from the outside
|
||
const (
|
||
INVALID DataType = iota
|
||
DATA_RESOURCE
|
||
PROCESSING_RESOURCE
|
||
STORAGE_RESOURCE
|
||
DATACENTER_RESOURCE
|
||
WORKFLOW_RESOURCE
|
||
WORKFLOW
|
||
WORKFLOW_EXECUTION
|
||
WORKSPACE
|
||
RESOURCE_MODEL
|
||
PEER
|
||
COLLABORATIVE_AREA
|
||
RULE
|
||
BOOKING
|
||
)
|
||
|
||
// Bind the standard API name to the data type
|
||
var DefaultAPI = [...]string{
|
||
"",
|
||
"oc-catalog",
|
||
"oc-catalog",
|
||
"oc-catalog",
|
||
"oc-catalog",
|
||
"oc-catalog",
|
||
"oc-workflow",
|
||
"",
|
||
"oc-workspace",
|
||
"",
|
||
"oc-peers",
|
||
"oc-shared",
|
||
"oc-shared",
|
||
"oc-datacenter",
|
||
}
|
||
|
||
// Bind the standard data name to the data type
|
||
var Str = [...]string{
|
||
"invalid",
|
||
"data_resource",
|
||
"processing_resource",
|
||
"storage_resource",
|
||
"datacenter_resource",
|
||
"workflow_resource",
|
||
"workflow",
|
||
"workflow_execution",
|
||
"workspace",
|
||
"resource_model",
|
||
"peer",
|
||
"shared_workspace",
|
||
"rule",
|
||
"booking",
|
||
}
|
||
|
||
func FromInt(i int) string {
|
||
return Str[i]
|
||
}
|
||
|
||
func (d DataType) API() string { // API - Returns the API name of the data type
|
||
return DefaultAPI[d]
|
||
}
|
||
|
||
func (d DataType) String() string { // String - Returns the string name of the data type
|
||
return Str[d]
|
||
}
|
||
|
||
// EnumIndex - Creating common behavior - give the type a EnumIndex functio
|
||
func (d DataType) EnumIndex() int {
|
||
return int(d)
|
||
}
|