= dmda.DomoAuth(
auth =os.environ["DOMO_INSTANCE"],
domo_instance=os.environ["DOMO_ACCESS_TOKEN"],
access_token
) auth
CodeEngine
Routes
get_packages
get_packages (auth:mbison.client.core.DomoAuth, debug_api:bool=False)
Exported source
def get_packages(auth: dmda.DomoAuth, debug_api : bool = False):
= "/api/codeengine/v2/packages"
endpoint
= dmda.domo_api_request(endpoint = endpoint,
res =auth, request_type="get",
auth= debug_api
debug_api
)
return res
= get_packages(auth=auth, debug_api= False)
res = res.response
packages
0:1] packages[
get_package_by_id
get_package_by_id (auth:mbison.client.core.DomoAuth, package_id, debug_api:bool=False)
Exported source
def get_package_by_id(auth: dmda.DomoAuth, package_id, debug_api : bool = False):
= f"/api/codeengine/v2/packages/{package_id}"
endpoint
return dmda.domo_api_request(endpoint=endpoint, request_type = 'get', auth=auth, debug_api=debug_api)
= auth, package_id = packages[0]['id']) get_package_by_id(auth
get_package_version_by_id
get_package_version_by_id (auth:mbison.client.core.DomoAuth, package_id, version, debug_api:bool=False)
Exported source
def get_package_versions(auth: dmda.DomoAuth, package_id, debug_api : bool = False):
"""each package can have one or many version"""
= f"/api/codeengine/v2/packages/{package_id}/versions/"
endpoint
= {"parts" : " functions,code"}
params
return dmda.domo_api_request(endpoint=endpoint, request_type = 'get', auth=auth,params=params, debug_api=debug_api)
def get_package_version_by_id(auth: dmda.DomoAuth, package_id, version, debug_api : bool = False):
= f"/api/codeengine/v2/packages/{package_id}/versions/{version}"
endpoint
= {"parts" : " functions,code"}
params
return dmda.domo_api_request(endpoint=endpoint, request_type = 'get', auth=auth,params=params, debug_api=debug_api)
get_package_versions
get_package_versions (auth:mbison.client.core.DomoAuth, package_id, debug_api:bool=False)
each package can have one or many version
= packages[1]
package
get_package_version_by_id(=auth, package_id=package["id"], version=package["versions"][0]["version"]
auth )
= packages[1]
package
get_package_versions(=auth, package_id=package["id"]) auth
Classes
DomoCodeEngine_PackageVersion
DomoCodeEngine_PackageVersion (auth:mbison.client.core.DomoAuth, package_id:str, version:str, code:str, created_by:dict, created_on_dt:datetime.datetime, updated_by:dict, updated_on_dt:datetime.datetime)
one package can have multiple versions
Exported source
@dataclass
class DomoCodeEngine_PackageVersion:
"""one package can have multiple versions"""
= field(repr = False)
auth : dmda.DomoAuth str
package_id: str
version : str
code : dict
created_by :
created_on_dt : dt.datetimedict
updated_by :
updated_on_dt : dt.datetime
@classmethod
def from_json(cls, auth: dmda.DomoAuth, obj):
return cls(
= auth,
auth = obj['packageId'],
package_id = obj['version'],
version = obj["code"],
code = obj["createdBy"],
created_by = obj["createdOn"],
created_on_dt = obj["updatedBy"],
updated_by = obj["updatedOn"],
updated_on_dt
)
@classmethod
def get_by_id(cls, auth : dmda.DomoAuth, package_id : str , version: str, return_raw : bool = False, debug_api: bool= False):
= get_package_version_by_id(auth = auth, package_id = package_id,
res = version, debug_api = debug_api)
version
if return_raw:
return res
return cls.from_json(
= auth,
auth = res.response
obj )
DomoCodeEngine_PackageVersion.get_by_id(=auth,
auth=package["id"],
package_id=package["versions"][0]["version"]
version )
DomoCodeEngine_Package
DomoCodeEngine_Package (auth:mbison.client.core.DomoAuth, id:str, name:str, environment:str, availability:str, owner:dict, created_on_dt:datetime.datetime, updated_on_dt:datetime.datetime, source:str, current_version:str=None, description:str=None, language:str=None, dce_versions:List[__main__.Dom oCodeEngine_PackageVersion]=None, dce_current_ver sion:__main__.DomoCodeEngine_PackageVersion=None)
Exported source
@dataclass
class DomoCodeEngine_Package:
= field(repr=False)
auth: dmda.DomoAuth id: str
str
name: str
environment: str
availability: dict
owner:
created_on_dt: dt.datetime
updated_on_dt: dt.datetime
str
source:
str = None
current_version: str = None
description: str = None
language:
= None
dce_versions: List[DomoCodeEngine_PackageVersion] = None
dce_current_version: DomoCodeEngine_PackageVersion
@classmethod
def from_json(cls, auth: dmda.DomoAuth, obj):
return cls(
=auth,
authid=obj["id"],
=obj["name"],
name=obj["language"],
language=obj["environment"],
environment=obj["availability"],
availability=obj["owner"],
owner=obj["createdOn"],
created_on_dt=obj["updatedOn"],
updated_on_dt=obj["packageSource"],
source=obj.get("description"),
description=obj.get("versions")[0]["version"],
current_version
)
@classmethod
def get_by_id(
cls,
auth: dmda.DomoAuth,
package_id,bool = False,
debug_api: bool = False,
return_raw:
):= get_package_by_id(auth=auth, package_id=package_id, debug_api=debug_api)
res
if return_raw:
return res
return cls.from_json(auth=auth, obj=res.response)
def get_versions(self, debug_api: bool = False, return_raw: bool = False):
= get_package_versions(
res =self.auth, package_id=self.id, debug_api=debug_api
auth
)
if return_raw:
return res
self.dce_versions = [
=self.auth, obj=obj)
DomoCodeEngine_PackageVersion.from_json(authfor obj in res.response
]
return self.dce_versions
def get_current_version(self, debug_api: bool = False, return_raw: bool = False):
= DomoCodeEngine_PackageVersion.get_by_id(
res =self.auth,
auth=self.id,
package_id=self.current_version,
version=debug_api,
debug_api=return_raw,
return_raw
)
if return_raw:
return res
self.dce_current_version = res
return self.dce_current_version
=auth, package_id=package['id'])) pprint(DomoCodeEngine_Package.get_by_id(auth
DomoCodeEngine_Packages
DomoCodeEngine_Packages (auth:mbison.client.core.DomoAuth, packages:List[dict]=None, dce_packages:List[__ma in__.DomoCodeEngine_Package]=<factory>)
= DomoCodeEngine_Packages(auth = auth )
dce_packages
0:5] dce_packages.get_packages()[