2019-09-24 18:34:35 +00:00
|
|
|
from jsonmodels import models, fields
|
|
|
|
|
2021-01-05 17:02:48 +00:00
|
|
|
from apiserver.apimodels import ListField, ActualEnumField
|
2021-01-05 14:28:49 +00:00
|
|
|
from apiserver.apimodels.organization import TagsRequest
|
2021-01-05 17:02:48 +00:00
|
|
|
from apiserver.database.model import EntityVisibility
|
2020-06-21 20:54:05 +00:00
|
|
|
|
2019-09-24 18:34:35 +00:00
|
|
|
|
|
|
|
class ProjectReq(models.Base):
|
2021-05-03 14:39:13 +00:00
|
|
|
project = fields.StringField(required=True)
|
|
|
|
|
|
|
|
|
|
|
|
class DeleteRequest(ProjectReq):
|
|
|
|
force = fields.BoolField(default=False)
|
|
|
|
delete_contents = fields.BoolField(default=False)
|
2019-09-24 18:34:35 +00:00
|
|
|
|
|
|
|
|
|
|
|
class GetHyperParamReq(ProjectReq):
|
|
|
|
page = fields.IntField(default=0)
|
|
|
|
page_size = fields.IntField(default=500)
|
|
|
|
|
|
|
|
|
2020-06-21 20:54:05 +00:00
|
|
|
class ProjectTagsRequest(TagsRequest):
|
|
|
|
projects = ListField(str)
|
2021-01-05 16:49:25 +00:00
|
|
|
|
|
|
|
|
2021-05-03 14:34:40 +00:00
|
|
|
class MultiProjectReq(models.Base):
|
|
|
|
projects = fields.ListField(str)
|
|
|
|
|
|
|
|
|
|
|
|
class ProjectTaskParentsRequest(MultiProjectReq):
|
2021-01-05 17:02:48 +00:00
|
|
|
tasks_state = ActualEnumField(EntityVisibility)
|
|
|
|
|
2021-05-03 14:34:40 +00:00
|
|
|
|
|
|
|
class ProjectHyperparamValuesRequest(MultiProjectReq):
|
|
|
|
section = fields.StringField(required=True)
|
|
|
|
name = fields.StringField(required=True)
|
|
|
|
allow_public = fields.BoolField(default=True)
|
2021-05-03 14:36:04 +00:00
|
|
|
|
|
|
|
|
|
|
|
class ProjectsGetRequest(models.Base):
|
|
|
|
include_stats = fields.BoolField(default=False)
|
|
|
|
stats_for_state = ActualEnumField(EntityVisibility, default=EntityVisibility.active)
|
|
|
|
non_public = fields.BoolField(default=False)
|
|
|
|
active_users = fields.ListField(str)
|