

# Generated by the protocol buffer compiler.  DO NOT EDIT!
# sources: blickfeld/flow/config/flow.proto, blickfeld/flow/config/node_red_json.proto
# plugin: python-betterproto
from dataclasses import dataclass
from typing import List

import blickfeld_qb2.betterproto as betterproto
import blickfeld_qb2.betterproto.lib.google.protobuf as betterproto_lib_google_protobuf


@dataclass(eq=False, repr=False)
class Flow(betterproto.Message):
    """
    Blickfeld Flow configuration   This container is used to control high-level
    attributes of NodeRed flows.
    """

    name: str = betterproto.string_field(1)
    """Human readable label of the flow"""

    disabled: bool = betterproto.bool_field(2)
    """Is it active?"""

    locked: bool = betterproto.bool_field(3)
    """Is it read only?"""

    is_subflow: bool = betterproto.bool_field(4)
    """Is it a subflow?"""

    metadata: "betterproto_lib_google_protobuf.Struct" = betterproto.message_field(5)
    """Other arbitrary metadata"""

    nodes: List["betterproto_lib_google_protobuf.Struct"] = betterproto.message_field(6)
    """All nodes contained in the flow"""


@dataclass(eq=False, repr=False)
class NodeRedJson(betterproto.Message):
    """Simple container for the node red import / export format"""

    nodes: List["betterproto_lib_google_protobuf.Struct"] = betterproto.message_field(1)
    """List of JSON nodes"""
