brilliance-admin 0.44.13__tar.gz → 0.44.14__tar.gz
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.
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/PKG-INFO +2 -1
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/schema/table/category_table.py +6 -6
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/schema/table/fields/function_field.py +2 -2
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/schema/table/fields_schema.py +2 -2
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin.egg-info/PKG-INFO +2 -1
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin.egg-info/requires.txt +1 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/pyproject.toml +2 -1
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/LICENSE +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/README.md +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/__init__.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/api/__init__.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/api/routers.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/api/utils.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/api/views/__init__.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/api/views/auth.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/api/views/autocomplete.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/api/views/dashboard.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/api/views/index.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/api/views/schema.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/api/views/settings.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/api/views/table.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/auth.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/docs.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/exceptions.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/integrations/__init__.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/integrations/sqlalchemy/__init__.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/integrations/sqlalchemy/auth.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/integrations/sqlalchemy/autocomplete.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/integrations/sqlalchemy/fields.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/integrations/sqlalchemy/fields_schema.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/integrations/sqlalchemy/table/__init__.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/integrations/sqlalchemy/table/base.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/integrations/sqlalchemy/table/create.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/integrations/sqlalchemy/table/delete.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/integrations/sqlalchemy/table/list.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/integrations/sqlalchemy/table/retrieve.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/integrations/sqlalchemy/table/update.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/locales/en.yml +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/locales/ru.yml +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/schema/__init__.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/schema/admin_schema.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/schema/category.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/schema/dashboard/__init__.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/schema/dashboard/category_dashboard.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/schema/table/__init__.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/schema/table/admin_action.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/schema/table/fields/__init__.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/schema/table/fields/base.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/schema/table/table_models.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/static/index-B8JOx1Ps.css +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/static/index-COgQt_g1.js +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/static/materialdesignicons-webfont-CYDMK1kx.woff2 +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/static/materialdesignicons-webfont-CgCzGbLl.woff +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/static/materialdesignicons-webfont-D3kAzl71.ttf +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/static/materialdesignicons-webfont-DttUABo4.eot +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/static/tinymce/dark-first/content.min.css +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/static/tinymce/dark-first/skin.min.css +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/static/tinymce/dark-slim/content.min.css +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/static/tinymce/dark-slim/skin.min.css +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/static/tinymce/img/example.png +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/static/tinymce/img/tinymce.woff2 +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/static/tinymce/lightgray/content.min.css +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/static/tinymce/lightgray/fonts/tinymce.woff +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/static/tinymce/lightgray/skin.min.css +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/static/tinymce/plugins/accordion/css/accordion.css +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/static/tinymce/plugins/accordion/plugin.js +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/static/tinymce/plugins/codesample/css/prism.css +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/static/tinymce/plugins/customLink/css/link.css +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/static/tinymce/plugins/customLink/plugin.js +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/static/tinymce/tinymce.min.js +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/static/vanilla-picker-B6E6ObS_.js +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/templates/index.html +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/translations.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/utils.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin.egg-info/SOURCES.txt +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin.egg-info/dependency_links.txt +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin.egg-info/top_level.txt +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/setup.cfg +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/tests/test_action.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/tests/test_payments_fields_schema.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/tests/test_settings.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/tests/test_sqlalcmeny_auth.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/tests/test_sqlalcmeny_crud.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/tests/test_sqlalcmeny_filters.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/tests/test_sqlalcmeny_schema.py +0 -0
- {brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/tests/test_translations.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: brilliance-admin
|
|
3
|
-
Version: 0.44.
|
|
3
|
+
Version: 0.44.14
|
|
4
4
|
Summary: Simple and lightweight data managment framework powered by FastAPI and Vue3 Vuetify all-in-one. Some call it heavenly in its brilliance.
|
|
5
5
|
License-Expression: MIT
|
|
6
6
|
Requires-Python: >=3.10
|
|
@@ -28,6 +28,7 @@ Requires-Dist: sqlalchemy>=2.0.41; extra == "tests"
|
|
|
28
28
|
Requires-Dist: aiosqlite>=0.22.1; extra == "tests"
|
|
29
29
|
Requires-Dist: factory-boy>=3.3.3; extra == "tests"
|
|
30
30
|
Requires-Dist: pyjwt>=2.10.1; extra == "tests"
|
|
31
|
+
Requires-Dist: testcontainers>=4.14.1; extra == "tests"
|
|
31
32
|
Provides-Extra: scalar
|
|
32
33
|
Requires-Dist: scalar-fastapi>=1.5.0; extra == "scalar"
|
|
33
34
|
Dynamic: license-file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import abc
|
|
2
|
-
import asyncio
|
|
3
2
|
import copy
|
|
3
|
+
import inspect
|
|
4
4
|
from typing import Awaitable, List
|
|
5
5
|
|
|
6
6
|
from fastapi import HTTPException, Request
|
|
@@ -50,17 +50,17 @@ class CategoryTable(BaseCategory):
|
|
|
50
50
|
return False
|
|
51
51
|
|
|
52
52
|
fn = getattr(self, 'retrieve', None)
|
|
53
|
-
return
|
|
53
|
+
return inspect.iscoroutinefunction(fn)
|
|
54
54
|
|
|
55
55
|
@property
|
|
56
56
|
def has_create(self):
|
|
57
57
|
fn = getattr(self, 'create', None)
|
|
58
|
-
return
|
|
58
|
+
return inspect.iscoroutinefunction(fn)
|
|
59
59
|
|
|
60
60
|
@property
|
|
61
61
|
def has_update(self):
|
|
62
62
|
fn = getattr(self, 'update', None)
|
|
63
|
-
return
|
|
63
|
+
return inspect.iscoroutinefunction(fn)
|
|
64
64
|
|
|
65
65
|
def generate_schema(self, user, language_context: LanguageContext) -> dict:
|
|
66
66
|
schema = super().generate_schema(user, language_context)
|
|
@@ -93,7 +93,7 @@ class CategoryTable(BaseCategory):
|
|
|
93
93
|
continue
|
|
94
94
|
|
|
95
95
|
attribute = getattr(self, attribute_name)
|
|
96
|
-
if
|
|
96
|
+
if inspect.iscoroutinefunction(attribute) and getattr(attribute, '__action__', False):
|
|
97
97
|
action = copy.copy(attribute.action_info)
|
|
98
98
|
|
|
99
99
|
action['title'] = language_context.get_text(action.get('title'))
|
|
@@ -116,7 +116,7 @@ class CategoryTable(BaseCategory):
|
|
|
116
116
|
|
|
117
117
|
def _get_action_fn(self, action: str) -> Awaitable | None:
|
|
118
118
|
attribute = getattr(self, action)
|
|
119
|
-
if not
|
|
119
|
+
if not inspect.iscoroutinefunction(attribute) or not getattr(attribute, '__action__', False):
|
|
120
120
|
return None
|
|
121
121
|
|
|
122
122
|
return attribute
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import asyncio
|
|
2
1
|
import functools
|
|
2
|
+
import inspect
|
|
3
3
|
from typing import Any
|
|
4
4
|
|
|
5
5
|
from pydantic.dataclasses import dataclass
|
|
@@ -45,7 +45,7 @@ class FunctionField(TableField):
|
|
|
45
45
|
fn: Any = None
|
|
46
46
|
|
|
47
47
|
def __post_init__(self):
|
|
48
|
-
if not
|
|
48
|
+
if not inspect.iscoroutinefunction(self.fn):
|
|
49
49
|
msg = f'{type(self).__name__}.fn {self.fn} must be coroutine function'
|
|
50
50
|
raise AttributeError(msg)
|
|
51
51
|
|
{brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/schema/table/fields_schema.py
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import inspect
|
|
2
2
|
from typing import Any, ClassVar, Dict, List
|
|
3
3
|
|
|
4
4
|
from pydantic_core import core_schema
|
|
@@ -186,7 +186,7 @@ class FieldsSchema:
|
|
|
186
186
|
|
|
187
187
|
validate_method = getattr(self, f'validate_{field_slug}', None)
|
|
188
188
|
if callable(validate_method):
|
|
189
|
-
if not
|
|
189
|
+
if not inspect.iscoroutinefunction(validate_method):
|
|
190
190
|
msg = f'Validate method {type(self).__name__}.{field_slug} must be async'
|
|
191
191
|
raise AttributeError(msg)
|
|
192
192
|
deserialized_value = await validate_method(value)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: brilliance-admin
|
|
3
|
-
Version: 0.44.
|
|
3
|
+
Version: 0.44.14
|
|
4
4
|
Summary: Simple and lightweight data managment framework powered by FastAPI and Vue3 Vuetify all-in-one. Some call it heavenly in its brilliance.
|
|
5
5
|
License-Expression: MIT
|
|
6
6
|
Requires-Python: >=3.10
|
|
@@ -28,6 +28,7 @@ Requires-Dist: sqlalchemy>=2.0.41; extra == "tests"
|
|
|
28
28
|
Requires-Dist: aiosqlite>=0.22.1; extra == "tests"
|
|
29
29
|
Requires-Dist: factory-boy>=3.3.3; extra == "tests"
|
|
30
30
|
Requires-Dist: pyjwt>=2.10.1; extra == "tests"
|
|
31
|
+
Requires-Dist: testcontainers>=4.14.1; extra == "tests"
|
|
31
32
|
Provides-Extra: scalar
|
|
32
33
|
Requires-Dist: scalar-fastapi>=1.5.0; extra == "scalar"
|
|
33
34
|
Dynamic: license-file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "brilliance-admin"
|
|
3
|
-
version = "0.44.
|
|
3
|
+
version = "0.44.14"
|
|
4
4
|
description = 'Simple and lightweight data managment framework powered by FastAPI and Vue3 Vuetify all-in-one. Some call it heavenly in its brilliance.'
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.10"
|
|
@@ -46,6 +46,7 @@ tests = [
|
|
|
46
46
|
"aiosqlite>=0.22.1",
|
|
47
47
|
"factory-boy>=3.3.3",
|
|
48
48
|
"pyjwt>=2.10.1",
|
|
49
|
+
"testcontainers>=4.14.1",
|
|
49
50
|
]
|
|
50
51
|
scalar = [
|
|
51
52
|
"scalar-fastapi>=1.5.0",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/api/views/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/api/views/autocomplete.py
RENAMED
|
File without changes
|
{brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/api/views/dashboard.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/api/views/settings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/integrations/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/schema/admin_schema.py
RENAMED
|
File without changes
|
|
File without changes
|
{brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/schema/dashboard/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/schema/table/__init__.py
RENAMED
|
File without changes
|
{brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/schema/table/admin_action.py
RENAMED
|
File without changes
|
|
File without changes
|
{brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/schema/table/fields/base.py
RENAMED
|
File without changes
|
{brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/schema/table/table_models.py
RENAMED
|
File without changes
|
{brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/static/index-B8JOx1Ps.css
RENAMED
|
File without changes
|
{brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/static/index-COgQt_g1.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin/static/tinymce/tinymce.min.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{brilliance_admin-0.44.13 → brilliance_admin-0.44.14}/brilliance_admin.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|