1414class Menus :
1515
1616 def __init__ (
17- self , network : str | None = None , update : bool = False
17+ self ,
18+ network : str | None = None ,
19+ update : bool = False ,
20+ defaults : dict [str , Any ] | None = None ,
1821 ) -> None :
1922 self .network = network
2023 self .update = update
@@ -33,7 +36,9 @@ def __resources(self) -> dict[str, Any]:
3336 return {}
3437
3538 # Construct env file contents
36- def env (self ) -> dict [str , Any ]:
39+ def env (
40+ self , name : str , resources : dict [str , Any ] | None = None
41+ ) -> dict [str , Any ]:
3742 return {}
3843
3944 def __get_jar (self ) -> str :
@@ -45,9 +50,6 @@ def __use_args(self) -> str:
4550 def __get_heaps (self ) -> dict [str , str ]:
4651 return {}
4752
48- def __get_type (self ) -> str :
49- return ""
50-
5153
5254class Builder (CustomGroup ):
5355
@@ -57,10 +59,55 @@ def __init__(self) -> None:
5759 def create (self ) -> Command :
5860
5961 help = ""
60- options = [Option ()]
62+ options = [Option (["--network" ], is_flag = True , default = False )]
63+
64+ def callback (network : bool = False ) -> None :
65+ services : set [dict [str , Any ]] = set ()
66+ networks : set [str ] = set ()
67+ envs : set [dict [str , Any ]] = set ()
68+
69+ if not network :
70+ menu = Menus ()
71+
72+ name = inquirer .text (
73+ message = "Enter the name of the service: "
74+ ).execute ()
75+
76+ service = menu .service (name = name )
77+
78+ resources = service .get ("resources" ) or None
79+ env = menu .env (name = name , resources = resources )
80+
81+ services .add (service )
82+ envs .add (env )
83+
84+ return None
85+
86+ network_name = inquirer .text (
87+ message = "Enter the name of the network: "
88+ ).execute ()
89+ networks .add (network_name )
90+
91+ menu = Menus (network = network_name )
92+
93+ while True :
94+ name = inquirer .text (
95+ message = "Enter the name of the service: "
96+ ).execute ()
97+
98+ service = menu .service (name = name )
99+
100+ resources = service .get ("resources" ) or None
101+ env = menu .env (name = name , resources = resources )
102+
103+ services .add (service )
104+ envs .add (env )
61105
62- def callback () -> dict [str , Any ]:
63- return {}
106+ if not inquirer .confirm (
107+ message = f"Want to continue adding services? (Count: { len (services )} )" ,
108+ default = True if len (services ) < 2 else False ,
109+ ).execute ():
110+ break
64111
65112 return Command (
66113 name = inspect .currentframe ().f_code .co_name , # type: ignore
@@ -74,8 +121,8 @@ def update(self) -> Command:
74121 help = ""
75122 options = [Option ()]
76123
77- def callback () -> dict [ str , Any ] :
78- return {}
124+ def callback () -> None :
125+ pass
79126
80127 return Command (
81128 name = inspect .currentframe ().f_code .co_name , # type: ignore
0 commit comments