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 SHARED_WORKSPACE 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) }