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 ) var NOAPI = "" var CATALOGAPI = "oc-catalog" var SHAREDAPI = "oc-shared" var WORKFLOWAPI = "oc-workflow" var WORKSPACEAPI = "oc-workspace" var PEERSAPI = "oc-peers" var DATACENTERAPI = "oc-datacenter" // Bind the standard API name to the data type var DefaultAPI = [...]string{ NOAPI, CATALOGAPI, CATALOGAPI, CATALOGAPI, CATALOGAPI, CATALOGAPI, WORKFLOWAPI, NOAPI, WORKSPACEAPI, NOAPI, PEERSAPI, SHAREDAPI, SHAREDAPI, DATACENTERAPI, } // 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) }