Module: env_response

Expand source code
# Copyright (C) 2023-present The Project Contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from __future__ import annotations
from typing import List
from pydantic import BaseModel
from pydantic import Field
from cl.runtime.routers.user_request import UserRequest


class EnvResponse(BaseModel):
    """Response data type for the /storage/get_envs route."""

    name: str = Field(..., alias="Name")
    """Name of the environment."""

    parent: str = Field(..., alias="Parent")
    """Name of the parent environment."""

    @classmethod
    def get_envs(cls, request: UserRequest) -> List[EnvResponse]:
        """Implements /storage/get_envs route."""

        # Default response when running locally without authorization
        result_dict = {
            "Name": "Dev;Runtime;V2",
            "Parent": "",  # TODO: Check if None is also accepted
        }

        return [EnvResponse(**result_dict)]

Classes

class EnvResponse (**data: Any)

Response data type for the /storage/get_envs route.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Expand source code
class EnvResponse(BaseModel):
    """Response data type for the /storage/get_envs route."""

    name: str = Field(..., alias="Name")
    """Name of the environment."""

    parent: str = Field(..., alias="Parent")
    """Name of the parent environment."""

    @classmethod
    def get_envs(cls, request: UserRequest) -> List[EnvResponse]:
        """Implements /storage/get_envs route."""

        # Default response when running locally without authorization
        result_dict = {
            "Name": "Dev;Runtime;V2",
            "Parent": "",  # TODO: Check if None is also accepted
        }

        return [EnvResponse(**result_dict)]

Ancestors

  • pydantic.main.BaseModel

Class variables

var model_computed_fields
var model_config
var model_fields
var name

Name of the environment.

var parent

Name of the parent environment.

Static methods

def get_envs(request: UserRequest) -> List[EnvResponse]

Implements /storage/get_envs route.