zrb 1.2.2__py3-none-any.whl → 1.3.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- zrb/builtin/llm/llm_chat.py +42 -6
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_util.py +28 -6
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/gateway/view/content/my-module/my-entity.html +206 -178
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/schema/my_entity.py +3 -1
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_db_repository.py +18 -1
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository.py +4 -0
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service.py +20 -11
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_db_repository.py +17 -2
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository.py +4 -0
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service.py +19 -11
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/permission.html +209 -180
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/role.html +362 -0
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/user.html +377 -0
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/common/util.js +68 -13
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/util.js +50 -29
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/permission.py +3 -1
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/role.py +6 -5
- zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/user.py +9 -3
- zrb/input/any_input.py +5 -0
- zrb/input/base_input.py +6 -0
- zrb/input/bool_input.py +2 -0
- zrb/input/float_input.py +2 -0
- zrb/input/int_input.py +2 -0
- zrb/input/option_input.py +2 -0
- zrb/input/password_input.py +2 -0
- zrb/input/text_input.py +2 -0
- zrb/runner/cli.py +1 -1
- zrb/runner/common_util.py +3 -3
- zrb/runner/web_route/task_input_api_route.py +1 -1
- {zrb-1.2.2.dist-info → zrb-1.3.0.dist-info}/METADATA +84 -17
- {zrb-1.2.2.dist-info → zrb-1.3.0.dist-info}/RECORD +33 -33
- {zrb-1.2.2.dist-info → zrb-1.3.0.dist-info}/WHEEL +0 -0
- {zrb-1.2.2.dist-info → zrb-1.3.0.dist-info}/entry_points.txt +0 -0
@@ -51,7 +51,9 @@ class UserUpdate(SQLModel):
|
|
51
51
|
active: bool | None = None
|
52
52
|
|
53
53
|
def with_audit(self, updated_by: str) -> "UserUpdateWithAudit":
|
54
|
-
return UserUpdateWithAudit(
|
54
|
+
return UserUpdateWithAudit(
|
55
|
+
**self.model_dump(exclude_none=True), updated_by=updated_by
|
56
|
+
)
|
55
57
|
|
56
58
|
|
57
59
|
class UserUpdateWithAudit(UserUpdate):
|
@@ -62,7 +64,9 @@ class UserUpdateWithRoles(UserUpdate):
|
|
62
64
|
role_names: list[str] | None = None
|
63
65
|
|
64
66
|
def with_audit(self, updated_by: str) -> "UserUpdateWithRolesAndAudit":
|
65
|
-
return UserUpdateWithRolesAndAudit(
|
67
|
+
return UserUpdateWithRolesAndAudit(
|
68
|
+
**self.model_dump(exclude_none=True), updated_by=updated_by
|
69
|
+
)
|
66
70
|
|
67
71
|
|
68
72
|
class UserUpdateWithRolesAndAudit(UserUpdateWithRoles):
|
@@ -70,7 +74,9 @@ class UserUpdateWithRolesAndAudit(UserUpdateWithRoles):
|
|
70
74
|
|
71
75
|
def get_user_update_with_audit(self) -> UserUpdateWithAudit:
|
72
76
|
data = {
|
73
|
-
key: val
|
77
|
+
key: val
|
78
|
+
for key, val in self.model_dump(exclude_none=True).items()
|
79
|
+
if key != "role_names"
|
74
80
|
}
|
75
81
|
return UserUpdateWithAudit(**data)
|
76
82
|
|
zrb/input/any_input.py
CHANGED
zrb/input/base_input.py
CHANGED
@@ -17,6 +17,7 @@ class BaseInput(AnyInput):
|
|
17
17
|
auto_render: bool = True,
|
18
18
|
allow_empty: bool = False,
|
19
19
|
allow_positional_parsing: bool = True,
|
20
|
+
always_prompt: bool = True,
|
20
21
|
):
|
21
22
|
self._name = name
|
22
23
|
self._description = description
|
@@ -25,6 +26,7 @@ class BaseInput(AnyInput):
|
|
25
26
|
self._auto_render = auto_render
|
26
27
|
self._allow_empty = allow_empty
|
27
28
|
self._allow_positional_parsing = allow_positional_parsing
|
29
|
+
self._always_prompt = always_prompt
|
28
30
|
|
29
31
|
def __repr__(self):
|
30
32
|
return f"<{self.__class__.__name__} name={self._name}>"
|
@@ -37,6 +39,10 @@ class BaseInput(AnyInput):
|
|
37
39
|
def description(self) -> str:
|
38
40
|
return self._description if self._description is not None else self.name
|
39
41
|
|
42
|
+
@property
|
43
|
+
def always_prompt(self) -> bool:
|
44
|
+
return self._always_prompt
|
45
|
+
|
40
46
|
@property
|
41
47
|
def prompt_message(self) -> str:
|
42
48
|
return self._prompt if self._prompt is not None else self.name
|
zrb/input/bool_input.py
CHANGED
@@ -15,6 +15,7 @@ class BoolInput(BaseInput):
|
|
15
15
|
auto_render: bool = True,
|
16
16
|
allow_empty: bool = False,
|
17
17
|
allow_positional_parsing: bool = True,
|
18
|
+
always_prompt: bool = True,
|
18
19
|
):
|
19
20
|
super().__init__(
|
20
21
|
name=name,
|
@@ -24,6 +25,7 @@ class BoolInput(BaseInput):
|
|
24
25
|
auto_render=auto_render,
|
25
26
|
allow_empty=allow_empty,
|
26
27
|
allow_positional_parsing=allow_positional_parsing,
|
28
|
+
always_prompt=always_prompt,
|
27
29
|
)
|
28
30
|
|
29
31
|
def to_html(self, shared_ctx: AnySharedContext) -> str:
|
zrb/input/float_input.py
CHANGED
@@ -14,6 +14,7 @@ class FloatInput(BaseInput):
|
|
14
14
|
auto_render: bool = True,
|
15
15
|
allow_empty: bool = False,
|
16
16
|
allow_positional_parsing: bool = True,
|
17
|
+
always_prompt: bool = True,
|
17
18
|
):
|
18
19
|
super().__init__(
|
19
20
|
name=name,
|
@@ -23,6 +24,7 @@ class FloatInput(BaseInput):
|
|
23
24
|
auto_render=auto_render,
|
24
25
|
allow_empty=allow_empty,
|
25
26
|
allow_positional_parsing=allow_positional_parsing,
|
27
|
+
always_prompt=always_prompt,
|
26
28
|
)
|
27
29
|
|
28
30
|
def to_html(self, shared_ctx: AnySharedContext) -> str:
|
zrb/input/int_input.py
CHANGED
@@ -14,6 +14,7 @@ class IntInput(BaseInput):
|
|
14
14
|
auto_render: bool = True,
|
15
15
|
allow_empty: bool = False,
|
16
16
|
allow_positional_parsing: bool = True,
|
17
|
+
always_prompt: bool = True,
|
17
18
|
):
|
18
19
|
super().__init__(
|
19
20
|
name=name,
|
@@ -23,6 +24,7 @@ class IntInput(BaseInput):
|
|
23
24
|
auto_render=auto_render,
|
24
25
|
allow_empty=allow_empty,
|
25
26
|
allow_positional_parsing=allow_positional_parsing,
|
27
|
+
always_prompt=always_prompt,
|
26
28
|
)
|
27
29
|
|
28
30
|
def to_html(self, shared_ctx: AnySharedContext) -> str:
|
zrb/input/option_input.py
CHANGED
@@ -15,6 +15,7 @@ class OptionInput(BaseInput):
|
|
15
15
|
auto_render: bool = True,
|
16
16
|
allow_empty: bool = False,
|
17
17
|
allow_positional_parsing: bool = True,
|
18
|
+
always_prompt: bool = True,
|
18
19
|
):
|
19
20
|
super().__init__(
|
20
21
|
name=name,
|
@@ -24,6 +25,7 @@ class OptionInput(BaseInput):
|
|
24
25
|
auto_render=auto_render,
|
25
26
|
allow_empty=allow_empty,
|
26
27
|
allow_positional_parsing=allow_positional_parsing,
|
28
|
+
always_prompt=always_prompt,
|
27
29
|
)
|
28
30
|
self._options = options
|
29
31
|
|
zrb/input/password_input.py
CHANGED
@@ -15,6 +15,7 @@ class PasswordInput(BaseInput):
|
|
15
15
|
auto_render: bool = True,
|
16
16
|
allow_empty: bool = False,
|
17
17
|
allow_positional_parsing: bool = True,
|
18
|
+
always_prompt: bool = True,
|
18
19
|
):
|
19
20
|
super().__init__(
|
20
21
|
name=name,
|
@@ -24,6 +25,7 @@ class PasswordInput(BaseInput):
|
|
24
25
|
auto_render=auto_render,
|
25
26
|
allow_empty=allow_empty,
|
26
27
|
allow_positional_parsing=allow_positional_parsing,
|
28
|
+
always_prompt=always_prompt,
|
27
29
|
)
|
28
30
|
self._is_secret = True
|
29
31
|
|
zrb/input/text_input.py
CHANGED
@@ -19,6 +19,7 @@ class TextInput(BaseInput):
|
|
19
19
|
auto_render: bool = True,
|
20
20
|
allow_empty: bool = False,
|
21
21
|
allow_positional_parsing: bool = True,
|
22
|
+
always_prompt: bool = True,
|
22
23
|
editor: str = DEFAULT_EDITOR,
|
23
24
|
extension: str = ".txt",
|
24
25
|
comment_start: str | None = None,
|
@@ -32,6 +33,7 @@ class TextInput(BaseInput):
|
|
32
33
|
auto_render=auto_render,
|
33
34
|
allow_empty=allow_empty,
|
34
35
|
allow_positional_parsing=allow_positional_parsing,
|
36
|
+
always_prompt=always_prompt,
|
35
37
|
)
|
36
38
|
self._editor = editor
|
37
39
|
self._extension = extension
|
zrb/runner/cli.py
CHANGED
@@ -33,7 +33,7 @@ class Cli(Group):
|
|
33
33
|
if "h" in kwargs or "help" in kwargs:
|
34
34
|
self._show_task_info(node)
|
35
35
|
return
|
36
|
-
run_kwargs = get_run_kwargs(task=node, args=args, kwargs=kwargs,
|
36
|
+
run_kwargs = get_run_kwargs(task=node, args=args, kwargs=kwargs, cli_mode=True)
|
37
37
|
try:
|
38
38
|
result = self._run_task(node, args, run_kwargs)
|
39
39
|
if result is not None:
|
zrb/runner/common_util.py
CHANGED
@@ -5,10 +5,10 @@ from zrb.task.any_task import AnyTask
|
|
5
5
|
|
6
6
|
|
7
7
|
def get_run_kwargs(
|
8
|
-
task: AnyTask, args: list[str], kwargs: dict[str, str],
|
8
|
+
task: AnyTask, args: list[str], kwargs: dict[str, str], cli_mode: bool
|
9
9
|
) -> tuple[Any]:
|
10
10
|
arg_index = 0
|
11
|
-
str_kwargs = {key: val for key, val in kwargs.items()}
|
11
|
+
str_kwargs = {key: f"{val}" for key, val in kwargs.items()}
|
12
12
|
run_kwargs = {**str_kwargs}
|
13
13
|
shared_ctx = SharedContext(args=args)
|
14
14
|
for task_input in task.inputs:
|
@@ -21,7 +21,7 @@ def get_run_kwargs(
|
|
21
21
|
task_input.update_shared_context(shared_ctx, run_kwargs[task_input.name])
|
22
22
|
arg_index += 1
|
23
23
|
else:
|
24
|
-
if
|
24
|
+
if cli_mode and task_input.always_prompt:
|
25
25
|
str_value = task_input.prompt_cli_str(shared_ctx)
|
26
26
|
else:
|
27
27
|
str_value = task_input.get_default_str(shared_ctx)
|
@@ -41,7 +41,7 @@ def serve_task_input_api(
|
|
41
41
|
return JSONResponse(content={"detail": "Forbidden"}, status_code=403)
|
42
42
|
query_dict = json.loads(query)
|
43
43
|
run_kwargs = get_run_kwargs(
|
44
|
-
task=task, args=[], kwargs=query_dict,
|
44
|
+
task=task, args=[], kwargs=query_dict, cli_mode=False
|
45
45
|
)
|
46
46
|
return run_kwargs
|
47
47
|
return JSONResponse(content={"detail": "Not found"}, status_code=404)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: zrb
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.3.0
|
4
4
|
Summary: Your Automation Powerhouse
|
5
5
|
Home-page: https://github.com/state-alchemists/zrb
|
6
6
|
License: AGPL-3.0-or-later
|
@@ -39,29 +39,96 @@ Description-Content-Type: text/markdown
|
|
39
39
|
|
40
40
|
# 🤖 Zrb: Your Automation Powerhouse
|
41
41
|
|
42
|
-
Zrb allows you to write your automation tasks in Python
|
42
|
+
Zrb allows you to write your automation tasks in Python. For example, you can define the following script in your home directory (`/home/<your-user-name>/zrb_init.py`).
|
43
43
|
|
44
44
|
|
45
45
|
```python
|
46
|
-
|
47
|
-
from zrb import cli,
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
)
|
46
|
+
import os
|
47
|
+
from zrb import cli, LLMTask, CmdTask, StrInput
|
48
|
+
from zrb.builtin.llm.tool.file import read_source_code, write_text_file
|
49
|
+
from pydantic_ai.models.openai import OpenAIModel
|
50
|
+
|
51
|
+
|
52
|
+
CURRENT_DIR = os.getcwd()
|
53
|
+
OPENROUTER_BASE_URL = "https://openrouter.ai/api/v1"
|
54
|
+
OPENROUTER_API_KEY = os.getenv("OPENROUTER_API_KEY", "")
|
55
|
+
OPENROUTER_MODEL_NAME = os.getenv(
|
56
|
+
"AGENT_MODEL_NAME", "anthropic/claude-3.7-sonnet"
|
57
|
+
)
|
58
|
+
|
59
|
+
|
60
|
+
# Defining a LLM Task to create a Plantuml script based on source code in current directory.
|
61
|
+
# User can choose the diagram type. By default it is "state diagram"
|
62
|
+
make_uml = cli.add_task(
|
63
|
+
LLMTask(
|
64
|
+
name="make-uml",
|
65
|
+
description="Creating plantuml diagram based on source code in current directory",
|
66
|
+
input=StrInput(name="diagram", default="state diagram"),
|
67
|
+
model=OpenAIModel(
|
68
|
+
OPENROUTER_MODEL_NAME,
|
69
|
+
base_url=OPENROUTER_BASE_URL,
|
70
|
+
api_key=OPENROUTER_API_KEY,
|
71
|
+
),
|
72
|
+
message=(
|
73
|
+
f"Read source code in {CURRENT_DIR}, "
|
74
|
+
"make a {ctx.input.diagram} in plantuml format. "
|
75
|
+
f"Write the script into {CURRENT_DIR}/{{ctx.input.diagram}}.uml"
|
76
|
+
),
|
77
|
+
tools=[
|
78
|
+
read_source_code,
|
79
|
+
write_text_file,
|
80
|
+
],
|
81
|
+
)
|
82
|
+
)
|
83
|
+
|
84
|
+
# Defining a Cmd Task to transform Plantuml script into a png image.
|
85
|
+
make_png = cli.add_task(
|
86
|
+
CmdTask(
|
87
|
+
name="make-png",
|
88
|
+
description="Creating png based on source code in current directory",
|
89
|
+
input=StrInput(name="diagram", default="state diagram"),
|
90
|
+
cmd="plantuml -tpng '{ctx.input.diagram}.uml'",
|
91
|
+
cwd=CURRENT_DIR,
|
92
|
+
)
|
93
|
+
)
|
94
|
+
|
95
|
+
# Making sure that make_png has make_uml as its dependency.
|
96
|
+
make_uml >> make_png
|
58
97
|
```
|
59
98
|
|
60
|
-
Once defined,
|
99
|
+
Once defined, your automation tasks are immediately accessible from the CLI. You can then invoke the tasks by invoking.
|
61
100
|
|
62
|
-
|
101
|
+
```bash
|
102
|
+
zrb make-png --diagram "state diagram"
|
103
|
+
```
|
104
|
+
|
105
|
+
Or you can invoke the tasks without parameter.
|
106
|
+
|
107
|
+
```bash
|
108
|
+
zrb make-png
|
109
|
+
```
|
110
|
+
|
111
|
+
At this point, Zrb will politely ask you to provide the diagram type.
|
112
|
+
|
113
|
+
```
|
114
|
+
diagram [state diagram]:
|
115
|
+
```
|
116
|
+
|
117
|
+
You can just press enter if you want to use the default value.
|
118
|
+
|
119
|
+
Finally, you can run Zrb as a server and make your tasks available for non technical users by invoking the following command.
|
120
|
+
|
121
|
+
```bash
|
122
|
+
zrb server start
|
123
|
+
```
|
124
|
+
|
125
|
+
You will have a nice web interface running on `http://localhost:12123`
|
126
|
+
|
127
|
+

|
128
|
+
|
129
|
+
Now, let's see how Zrb generate the state diagram. Based on the source code in your current directory, Zrb will generate a `state diagram.uml` and transform it into `state diagram.png`.
|
63
130
|
|
64
|
-
|
131
|
+

|
65
132
|
|
66
133
|
See the [getting started guide](https://github.com/state-alchemists/zrb/blob/main/docs/recipes/getting-started/README.md) for more information. Or just watch the demo:
|
67
134
|
|
@@ -7,7 +7,7 @@ zrb/builtin/base64.py,sha256=1YnSwASp7OEAvQcsnHZGpJEvYoI1Z2zTIJ1bCDHfcPQ,921
|
|
7
7
|
zrb/builtin/git.py,sha256=8_qVE_2lVQEVXQ9vhiw8Tn4Prj1VZB78ZjEJJS5Ab3M,5461
|
8
8
|
zrb/builtin/git_subtree.py,sha256=7BKwOkVTWDrR0DXXQ4iJyHqeR6sV5VYRt8y_rEB0EHg,3505
|
9
9
|
zrb/builtin/group.py,sha256=-phJfVpTX3_gUwS1u8-RbZUHe-X41kxDBSmrVh4rq8E,1682
|
10
|
-
zrb/builtin/llm/llm_chat.py,sha256=
|
10
|
+
zrb/builtin/llm/llm_chat.py,sha256=yiL16XRy4oh5jKMzH0W7RBxfEwGKflvvrsYKleJFKWc,6221
|
11
11
|
zrb/builtin/llm/previous-session.js,sha256=xMKZvJoAbrwiyHS0OoPrWuaKxWYLoyR5sguePIoCjTY,816
|
12
12
|
zrb/builtin/llm/tool/api.py,sha256=bXFE7jihdhUscxJH8lu5imwlYH735AalbCyUTl28BaQ,826
|
13
13
|
zrb/builtin/llm/tool/cli.py,sha256=to_IjkfrMGs6eLfG0cpVN9oyADWYsJQCtyluUhUdBww,253
|
@@ -24,17 +24,17 @@ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/.gitignore,sha256=D
|
|
24
24
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/README.md,sha256=MAo7ZFbg7LLiAfQbXcippMgjJ2-VXMKtiTDEZ3I4AAg,221
|
25
25
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
26
26
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_task.py,sha256=j24bFnqMCZrYx67HMtOAJMBb2P1-ymvo8_oFjP0uTxg,3726
|
27
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_util.py,sha256=
|
27
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/column/add_column_util.py,sha256=GycuEtcvO02OwqULfP-qRxnAnJDDhWx_hdRSmbfx5bo,10952
|
28
28
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/config.py,sha256=uviB4q2iZjoU9_fA1O4VrjpuVAqx2gj5hjospJ0Xzeg,885
|
29
29
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_task.py,sha256=W0ziCIhSwUbu8vBABEcTvLrTAegJmRbqui6TzG1xqlo,11183
|
30
30
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/add_entity_util.py,sha256=M7FSCdq-dzXqa22kFO6HwMIJ2XlHMSys-I0-K1_90xE,16683
|
31
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/gateway/view/content/my-module/my-entity.html,sha256=
|
31
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/gateway/view/content/my-module/my-entity.html,sha256=AFriF9Vz5889nfIIZbqaNXREMiShPcEiHBvO3aWs-ao,13240
|
32
32
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/my_entity_service.py,sha256=PgwTsHMHRiFS7JQeAe6wWmIHk6s-OfIybx_mJfuT_G4,3918
|
33
33
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/my_entity_service_factory.py,sha256=lnhhpc_AflWnCQbLkYORrshiqIA5wy4SdxDuUxmn7Ts,372
|
34
34
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/repository/my_entity_db_repository.py,sha256=GrMxMb98-XD7Rue1v14jBu6HRb8Gy5DywBSKnMhN0iY,770
|
35
35
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/repository/my_entity_repository.py,sha256=QJmQmeXvkuhpnAFWkATJk7zvr-GY1RSyb5U9bSslFn4,1644
|
36
36
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/module/my_module/service/my_entity/repository/my_entity_repository_factory.py,sha256=XKkHHpH_3N_govvyuPY6yn1PBZKKtwstWtxyo7hYJS8,523
|
37
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/schema/my_entity.py,sha256=
|
37
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/schema/my_entity.py,sha256=0G6GTo0ZaiVk6XjQXk-YArh4WNrUhtikTyTAUfzskUI,1279
|
38
38
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/test/my_module/my_entity/test_create_my_entity.py,sha256=00aKIcP1_XDsjt2LtOlHYbXbXv3Btpce5rN-0G1UnDw,1815
|
39
39
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/test/my_module/my_entity/test_delete_my_entity.py,sha256=pGA2Lb7FbrQRvzRbkJ7z_PZUPMRg8tQfYY3jyCbv7OY,2272
|
40
40
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/_zrb/entity/template/app_template/test/my_module/my_entity/test_read_my_entity.py,sha256=2a6uikwnEldW6_lxIMIu8A2HYPcBjSsrE0ynGpiTbE0,2337
|
@@ -102,16 +102,16 @@ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service
|
|
102
102
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository.py,sha256=qpzSQg_opkq0U2bGjShxS8cGX26zncqNPoZsqqHnRfk,1699
|
103
103
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/permission/repository/permission_repository_factory.py,sha256=tusBxTVVMIhKn__-9oj3O7DUYNQmvcmqGfMJ-UMrE-c,529
|
104
104
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
105
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_db_repository.py,sha256=
|
106
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository.py,sha256=
|
105
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_db_repository.py,sha256=6psTHm0trRYoZf8AMFXy9QzNVKaJ5tq7cLLEiAw6QcI,4699
|
106
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository.py,sha256=yYSzZfFcutGkyLkZnSu8ZTptbseAH2-bKvKTkhhCmn8,1928
|
107
107
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/repository/role_repository_factory.py,sha256=iTEoSP3kKnhpGEFW3veA3lnGb3CfmQJslnneUJ8ktJs,463
|
108
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service.py,sha256=
|
108
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service.py,sha256=Z1FYC0EVW5-b3YdLUrKXE0iCfRXN_yg39eF2tv09MoU,5715
|
109
109
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/role/role_service_factory.py,sha256=TqQfx0jXGZmBDR1UYPyys8-I6tDKhqr1yjWpp-ezkDA,305
|
110
110
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
111
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_db_repository.py,sha256=
|
112
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository.py,sha256=
|
111
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_db_repository.py,sha256=kWihtY_42thI5ssarndmkFVvpkGMlHoZmqmdqJe8TSY,10890
|
112
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository.py,sha256=qWPcKqYfxh0vMrzMe5LHEOZ7WoNlIzZUptKaKVyiZQk,3188
|
113
113
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/repository/user_repository_factory.py,sha256=Ea9ykNhzYiWu_IEhfpWsg1OIWeQ9pOTCzbZF9rrsZqU,463
|
114
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service.py,sha256=
|
114
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service.py,sha256=wdiSRleoSVdb2_jd4qKXAbwZ0Mb7gGua8sIBildScxw,13117
|
115
115
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/auth/service/user/user_service_factory.py,sha256=TFqm7_wcU6zDiyV7DSCYc1Q47ppZaIDxlK_R9PmpDI4,1239
|
116
116
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/alembic.ini,sha256=mgQyBAIwdkZZJWLu_FQWPx1FkyaARCNp6-rLqSVvMbA,3723
|
117
117
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/config/navigation.py,sha256=veY3xU8kt1p_CU-zOYvgIRUP4HqOOW2kOLauqBgiG88,797
|
@@ -125,16 +125,16 @@ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/sche
|
|
125
125
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/subroute/auth.py,sha256=KXwia0eexjoxa7OK_VT7NuUL6snxxtOpMIgSjRRbBD0,17678
|
126
126
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/auth.py,sha256=zThjspTe-pu0r73vXwNb9Se4vCbX2HquTZKg2h9AMY0,2643
|
127
127
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/util/view.py,sha256=7C0KlvpUwlQ27p_zyFFxVZZNaQnZ9k2i3yit1cNZHoo,3192
|
128
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/permission.html,sha256=
|
129
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/role.html,sha256=
|
130
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/user.html,sha256=
|
128
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/permission.html,sha256=l2j1GCDIrSTUn1PY8cLf3sLJdVe8D1gjGUShUG20zUA,13782
|
129
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/role.html,sha256=uVL7ZmbsIuya_RbZLL2qSfc7jJM_FPn2Mg8gten_ZUc,14980
|
130
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/auth/user.html,sha256=CDeYHfcbThjraIzNIaOnnd7Wpk1Y5vz9eTLJCKiiyyk,15502
|
131
131
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/error.html,sha256=FISZNhjhfIuoBWI0GR-c5XQxLniy0euWOjKgbtnVlt8,239
|
132
132
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/homepage.html,sha256=Q8jEwRraYJmn0rJIT1Ct4Dz2NB4S-NWJ1ZrU46oZkkw,126
|
133
133
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/login.html,sha256=OanTVSQG5T03AX4eformFN69qeSMh5jiWERNth1EAMw,2301
|
134
134
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/content/logout.html,sha256=HQnUPE_I9l-aF8LqpKuHCp6zsjYplTfbLfKbxn4hdXo,1571
|
135
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/common/util.js,sha256
|
135
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/common/util.js,sha256=-O3c441oaxIu9-6i2Foe6PSvdC5ycK_I3gKmTP4fNq8,8407
|
136
136
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/style.css,sha256=UzmYDiz4dlxKPPKXwTjybK1nrwkk-3DmFEmlpWnnqfo,206
|
137
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/util.js,sha256=
|
137
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/crud/util.js,sha256=7TQftOjZGmx6POLCHzmh08m4q-sc01BRtmcZCQQ5JU8,4376
|
138
138
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/pico-style.css,sha256=7VEhpZWXz8pcKtTULorjQlWX1fMs7Bcbn1QBDJiJZfY,233
|
139
139
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/script.js,sha256=JhuxTn6Qs3AkHULEfnL8tG1UHU1YZTPY5gYRi5o1H9I,1357
|
140
140
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/static/default/style.css,sha256=tS7UIUO1AcRgaRJpN7OCTrKvQqDNa3NyAVd7SGtfvJE,1813
|
@@ -164,9 +164,9 @@ zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view
|
|
164
164
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/module/gateway/view/template/default.html,sha256=Lg4vONCLOx8PSORFitg8JZa-4dp-pyUvKSVzCJEFsB8,4048
|
165
165
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/requirements.txt,sha256=VqHI89r0E8sU5vp3h-AXrZy30vGWVP2E8MYsvVxQ_Wg,194
|
166
166
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
167
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/permission.py,sha256=
|
168
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/role.py,sha256=
|
169
|
-
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/user.py,sha256=
|
167
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/permission.py,sha256=q66LXdZ-QTb30F1VTXNLnjyYBlK_ThVLiHgavtJy4LY,1424
|
168
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/role.py,sha256=7USbuhHhPc3xXkmwiqTVKsN8-eFWS8Q7emKxCGNGPw0,3244
|
169
|
+
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/schema/user.py,sha256=E7BTCLlQRrvlTL2e9cZiFpdV1AOjLEMckrXQBWxx8ak,4457
|
170
170
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/template.env,sha256=DquDUGa12Jzg24ATq_I6M-TglO-2vDwr5kE768DoJ-w,61
|
171
171
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/_util/access_token.py,sha256=hbSxpc70jaA9nNvVKwUeqFtFr6gtwKwqUD8TED2xvII,605
|
172
172
|
zrb/builtin/project/add/fastapp/fastapp_template/my_app_name/test/auth/permission/test_create_permission.py,sha256=kY2ZMhj4OZ90d0R54ag6qLDtLemR8jq4XS0fpZyh5-k,2243
|
@@ -228,18 +228,18 @@ zrb/group/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
228
228
|
zrb/group/any_group.py,sha256=1rNcsi5eu_86JAx_6Jy46SK4BTeppcb89MORynJd-4o,1115
|
229
229
|
zrb/group/group.py,sha256=JFmWVEQ9PVy2WCf5pUG74iwL2xcGxXaAjT-NArAeloM,1861
|
230
230
|
zrb/input/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
231
|
-
zrb/input/any_input.py,sha256=
|
232
|
-
zrb/input/base_input.py,sha256=
|
233
|
-
zrb/input/bool_input.py,sha256=
|
234
|
-
zrb/input/float_input.py,sha256=
|
235
|
-
zrb/input/int_input.py,sha256=
|
236
|
-
zrb/input/option_input.py,sha256=
|
237
|
-
zrb/input/password_input.py,sha256=
|
231
|
+
zrb/input/any_input.py,sha256=mmkU7WsqIK-IK8B5rNkWdy6mKS47zasnXJWE60MTRWQ,984
|
232
|
+
zrb/input/base_input.py,sha256=2gwIcT9xLXjcrwF-4k6ghDs819E-DWIwijlzfQtauWs,3766
|
233
|
+
zrb/input/bool_input.py,sha256=9ir8aTm8zaufrJ84_EerC5vOjyn4hHZ3BiLzFqPgPFM,1839
|
234
|
+
zrb/input/float_input.py,sha256=8G9lJKLlb_Upk9m5pBF9JwqlAAiYJLrbIItLnyzPxpg,1475
|
235
|
+
zrb/input/int_input.py,sha256=UhxCFYlZdJcgUSGGEkz301zOgRVpK0KDG_IxxWpQfMU,1457
|
236
|
+
zrb/input/option_input.py,sha256=TQB82ko5odgzkULEizBZi0e9TIHEbIgvdP0AR3RhA74,2135
|
237
|
+
zrb/input/password_input.py,sha256=szBojWxSP9QJecgsgA87OIYwQrY2AQ3USIKdDZY6snU,1465
|
238
238
|
zrb/input/str_input.py,sha256=NevZHX9rf1g8eMatPyy-kUX3DglrVAQpzvVpKAzf7bA,81
|
239
|
-
zrb/input/text_input.py,sha256=
|
239
|
+
zrb/input/text_input.py,sha256=shvVbc2U8Is36h23M5lcW8IEwKc9FR-4uEPZZroj3rU,3377
|
240
240
|
zrb/runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
241
|
-
zrb/runner/cli.py,sha256=
|
242
|
-
zrb/runner/common_util.py,sha256=
|
241
|
+
zrb/runner/cli.py,sha256=HtfJQecFg2keIMK-7bVATBlTeZC_RvT8DsbUC58TMKU,6736
|
242
|
+
zrb/runner/common_util.py,sha256=0zhZn1Jdmr194_nsL5_L-Kn9-_NDpMTI2z6_LXUQJ-U,1369
|
243
243
|
zrb/runner/web_app.py,sha256=Ji2AWeFpJu5guXmur7mAAbjMToyjgmPDdfYu8047FFI,2616
|
244
244
|
zrb/runner/web_config/config.py,sha256=0wR58KreAmawGGfamm0GLZY344HaXs7qfDgHLavBDwo,3125
|
245
245
|
zrb/runner/web_config/config_factory.py,sha256=GNByKviNhQF5qG2ypmC_mV2xglzWHLVQC0x2SQJjrbA,894
|
@@ -275,7 +275,7 @@ zrb/runner/web_route/static/resources/session/current-session.js,sha256=kAYHoSVj
|
|
275
275
|
zrb/runner/web_route/static/resources/session/event.js,sha256=X5OlSHefK0SDB9VkFCRyBKE_Pb7mqM319mW9jRGoDOk,4716
|
276
276
|
zrb/runner/web_route/static/resources/session/past-session.js,sha256=RwGJYKSp75K8NZ-iZP58XppWgdzkiKFaiC5wgcMLxDo,5470
|
277
277
|
zrb/runner/web_route/static/static_route.py,sha256=BxFXIhKqkPtSBVkuf6Uho8yLph_EqDTLTVB0KG2-Pbo,1539
|
278
|
-
zrb/runner/web_route/task_input_api_route.py,sha256=
|
278
|
+
zrb/runner/web_route/task_input_api_route.py,sha256=WgkqprftYrtyq9YK0TVr1lQNQF30kEeyEaT6lRGkGLY,1751
|
279
279
|
zrb/runner/web_route/task_session_api_route.py,sha256=RJJ_GVH3RkGrVe906ZIMaucXI-eTPdn2blI9zgs2JR0,5945
|
280
280
|
zrb/runner/web_schema/session.py,sha256=NwbuS2Sv-CXO52nU-EZv8OMlD4vgCQWNeLC_dT0FK7I,92
|
281
281
|
zrb/runner/web_schema/token.py,sha256=Y7XCPS4WzrxslTDtHeLcPTTUpmWhPOkRcl4b99zrC7c,185
|
@@ -340,7 +340,7 @@ zrb/util/string/name.py,sha256=8picJfUBXNpdh64GNaHv3om23QHhUZux7DguFLrXHp8,1163
|
|
340
340
|
zrb/util/todo.py,sha256=1nDdwPc22oFoK_1ZTXyf3638Bg6sqE2yp_U4_-frHoc,16015
|
341
341
|
zrb/xcom/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
342
342
|
zrb/xcom/xcom.py,sha256=o79rxR9wphnShrcIushA0Qt71d_p3ZTxjNf7x9hJB78,1571
|
343
|
-
zrb-1.
|
344
|
-
zrb-1.
|
345
|
-
zrb-1.
|
346
|
-
zrb-1.
|
343
|
+
zrb-1.3.0.dist-info/METADATA,sha256=3wbbvRet-OzX0DonamEcOLlFxXCVclJufAhAhH28m7U,6303
|
344
|
+
zrb-1.3.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
345
|
+
zrb-1.3.0.dist-info/entry_points.txt,sha256=-Pg3ElWPfnaSM-XvXqCxEAa-wfVI6BEgcs386s8C8v8,46
|
346
|
+
zrb-1.3.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|