SYMBOL INDEX (280 symbols across 24 files) FILE: admin-js/src/App.jsx constant STATE (line 49) | let STATE; constant COMPONENTS (line 94) | const COMPONENTS = { constant FUNCTIONS (line 106) | const FUNCTIONS = {exportRecords, email, maxLength, maxValue, minLength,... function apiRequest (line 109) | function apiRequest(url, options) { function dataRequest (line 125) | function dataRequest(resource, endpoint, params) { function evaluate (line 178) | function evaluate(obj) { function createFields (line 210) | function createFields(fields, name, permissions) { function createInputs (line 228) | function createInputs(resource, name, perm_type, permissions) { function createBulkUpdates (line 269) | function createBulkUpdates(resource, name, permissions) { function getFilters (line 371) | function getFilters(name, perm_type, permissions) { function hasPermission (line 384) | function hasPermission(p, permissions, context=null) { function createResources (line 423) | function createResources(resources, permissions) { FILE: admin-js/src/admin.jsx constant STATE (line 18) | const STATE = Object.freeze(JSON.parse(_body.dataset.state)); FILE: admin-js/tests/setupTests.js constant STATE (line 13) | let STATE; function alive (line 69) | function alive() { FILE: aiohttp_admin/__init__.py function pydantic_middleware (line 22) | async def pydantic_middleware(request: web.Request, handler: Handler) ->... function setup (line 29) | def setup(app: web.Application, schema: Schema, *, path: str = "/admin", FILE: aiohttp_admin/backends/abc.py class Encoder (line 42) | class Encoder(json.JSONEncoder): method default (line 43) | def default(self, o: object) -> Any: class APIRecord (line 57) | class APIRecord(TypedDict): class _Pagination (line 62) | class _Pagination(TypedDict): class _Sort (line 67) | class _Sort(TypedDict): class _Params (line 72) | class _Params(TypedDict, total=False): class GetListParams (line 76) | class GetListParams(_Params): class GetOneParams (line 82) | class GetOneParams(_Params): class GetManyParams (line 86) | class GetManyParams(_Params): class GetManyRefAPIParams (line 90) | class GetManyRefAPIParams(_Params): class GetManyRefParams (line 98) | class GetManyRefParams(_Params): class _CreateData (line 106) | class _CreateData(TypedDict): class CreateParams (line 111) | class CreateParams(_Params): class UpdateParams (line 115) | class UpdateParams(_Params): class UpdateManyParams (line 121) | class UpdateManyParams(_Params): class DeleteParams (line 126) | class DeleteParams(_Params): class DeleteManyParams (line 131) | class DeleteManyParams(_Params): class _ListQuery (line 135) | class _ListQuery(TypedDict): class AbstractAdminResource (line 140) | class AbstractAdminResource(ABC, Generic[_ID]): method __init__ (line 149) | def __init__(self, record_type: Optional[dict[str, TypeAlias]] = None)... method filter_by_permissions (line 160) | async def filter_by_permissions(self, request: web.Request, perm_type:... method get_list (line 168) | async def get_list(self, params: GetListParams) -> tuple[list[Record],... method get_one (line 172) | async def get_one(self, record_id: _ID, meta: Meta) -> Record: method get_many (line 176) | async def get_many(self, record_ids: Sequence[_ID], meta: Meta) -> lis... method get_many_ref (line 180) | async def get_many_ref(self, params: GetManyRefParams) -> tuple[list[R... method update (line 184) | async def update(self, record_id: _ID, data: Record, previous_data: Re... method update_many (line 189) | async def update_many(self, record_ids: Sequence[_ID], data: Record, m... method create (line 193) | async def create(self, data: Record, meta: Meta) -> Record: method delete (line 197) | async def delete(self, record_id: _ID, previous_data: Record, meta: Me... method delete_many (line 201) | async def delete_many(self, record_ids: Sequence[_ID], meta: Meta) -> ... method get_many_ref_name (line 204) | async def get_many_ref_name(self, target: str, meta: Meta) -> str: method _get_list (line 224) | async def _get_list(self, request: web.Request) -> web.Response: method _get_one (line 235) | async def _get_one(self, request: web.Request) -> web.Response: method _get_many (line 246) | async def _get_many(self, request: web.Request) -> web.Response: method _get_many_ref (line 260) | async def _get_many_ref(self, request: web.Request) -> web.Response: method _create (line 287) | async def _create(self, request: web.Request) -> web.Response: method _update (line 304) | async def _update(self, request: web.Request) -> web.Response: method _update_many (line 335) | async def _update_many(self, request: web.Request) -> web.Response: method _delete (line 364) | async def _delete(self, request: web.Request) -> web.Response: method _delete_many (line 378) | async def _delete_many(self, request: web.Request) -> web.Response: method _check_record (line 395) | def _check_record(self, record: Record) -> Record: method _convert_record (line 400) | async def _convert_record(self, record: Record, request: web.Request) ... method _convert_ids (line 414) | def _convert_ids(self, ids: Sequence[_ID]) -> tuple[str, ...]: method _process_list_query (line 418) | def _process_list_query(self, query: _ListQuery, request: web.Request)... method routes (line 446) | def routes(self) -> tuple[web.RouteDef, ...]: FILE: aiohttp_admin/backends/sqlalchemy.py function get_components (line 80) | def get_components(t: sa.types.TypeEngine[object]) -> _Components: function handle_errors (line 88) | def handle_errors( function permission_for (line 105) | def permission_for(sa_obj: Union[sa.Table, type[DeclarativeBase], function create_filters (line 157) | def create_filters(columns: sa.ColumnCollection[str, sa.Column[object]], class SAResource (line 165) | class SAResource(AbstractAdminResource[tuple[Any, ...]]): method __init__ (line 168) | def __init__(self, db: AsyncEngine, model_or_table: _ModelOrTable): method get_list (line 300) | async def get_list(self, params: GetListParams) -> tuple[list[Record],... method get_one (line 326) | async def get_one(self, record_id: tuple[Any, ...], meta: Meta) -> Rec... method get_many (line 333) | async def get_many(self, record_ids: Sequence[tuple[Any, ...]], meta: ... method get_many_ref_name (line 339) | async def get_many_ref_name(self, target: str, meta: Meta) -> str: method get_many_ref (line 348) | async def get_many_ref(self, params: GetManyRefParams) -> tuple[list[R... method create (line 374) | async def create(self, data: Record, meta: Meta) -> Record: method update (line 385) | async def update(self, record_id: tuple[Any, ...], data: Record, previ... method update_many (line 394) | async def update_many(self, record_ids: Sequence[tuple[Any, ...]], dat... method delete (line 402) | async def delete(self, record_id: tuple[Any, ...], previous_data: Record, method delete_many (line 410) | async def delete_many(self, record_ids: Sequence[tuple[Any, ...]], method _cmp_pk (line 417) | def _cmp_pk(self, record_id: tuple[Any, ...]) -> Iterator[_SABoolExpre... method _cmp_pk_many (line 420) | def _cmp_pk_many(self, record_ids: Sequence[tuple[Any, ...]]) -> _SABo... method _get_validators (line 423) | def _get_validators(self, table: sa.Table, c: sa.Column[object]) -> li... FILE: aiohttp_admin/routes.py function setup_resources (line 13) | def setup_resources(admin: web.Application, schema: Schema) -> None: function setup_routes (line 61) | def setup_routes(admin: web.Application) -> None: FILE: aiohttp_admin/security.py function _get_schema (line 18) | def _get_schema(t: Type[_T]) -> TypeAdapter[_T]: # type: ignore[misc] function check (line 22) | def check(t: Type[_T], value: object) -> _T: class Permissions (line 28) | class Permissions(str, Enum): function has_permission (line 36) | def has_permission(p: Union[str, Enum], permissions: Mapping[str, Mappin... function permissions_as_dict (line 64) | def permissions_as_dict(permissions: Collection[str]) -> dict[str, dict[... class AdminAuthorizationPolicy (line 75) | class AdminAuthorizationPolicy(AbstractAuthorizationPolicy): method __init__ (line 76) | def __init__(self, schema: Schema): method authorized_userid (line 80) | async def authorized_userid(self, identity: str) -> str: method permits (line 83) | async def permits( class TokenIdentityPolicy (line 109) | class TokenIdentityPolicy(SessionIdentityPolicy): method __init__ (line 110) | def __init__(self, fernet: Fernet, schema: Schema): method identify (line 117) | async def identify(self, request: web.Request) -> Optional[str]: method remember (line 138) | async def remember(self, request: web.Request, response: web.StreamRes... method forget (line 148) | async def forget(self, request: web.Request, response: web.StreamRespo... method user_identity_dict (line 152) | async def user_identity_dict(self, request: web.Request, identity: str... FILE: aiohttp_admin/types.py function data (line 17) | def data(key: str) -> Data: function fk (line 21) | def fk(*keys: str) -> FK: class ComponentState (line 25) | class ComponentState(TypedDict): class FunctionState (line 31) | class FunctionState(TypedDict): class RegexState (line 37) | class RegexState(TypedDict): class InputState (line 42) | class InputState(ComponentState): class _IdentityDict (line 47) | class _IdentityDict(TypedDict, total=False): class IdentityDict (line 51) | class IdentityDict(_IdentityDict): class UserDetails (line 57) | class UserDetails(TypedDict, total=False): class __SecuritySchema (line 65) | class __SecuritySchema(TypedDict, total=False): class _SecuritySchema (line 74) | class _SecuritySchema(__SecuritySchema): class _ViewSchema (line 80) | class _ViewSchema(TypedDict, total=False): class _Resource (line 87) | class _Resource(TypedDict, total=False): class Resource (line 111) | class Resource(_Resource): class _Schema (line 116) | class _Schema(TypedDict, total=False): class Schema (line 121) | class Schema(_Schema): class _ResourceState (line 126) | class _ResourceState(TypedDict): class State (line 138) | class State(TypedDict): function comp (line 145) | def comp(t: str, props: Optional[Mapping[str, object]] = None) -> Compon... function func (line 157) | def func(name: str, args: Optional[Sequence[object]] = None) -> Function... function regex (line 168) | def regex(value: str) -> RegexState: FILE: aiohttp_admin/views.py class _Login (line 18) | class _Login(TypedDict): function index (line 38) | async def index(request: web.Request) -> web.Response: function token (line 56) | async def token(request: web.Request) -> web.Response: function logout (line 69) | async def logout(request: web.Request) -> web.Response: FILE: examples/demo/app.py class Base (line 16) | class Base(DeclarativeBase): class User (line 20) | class User(Base): function check_credentials (line 34) | async def check_credentials(username: str, password: str) -> bool: function create_app (line 38) | async def create_app() -> web.Application: FILE: examples/permissions.py class Base (line 24) | class Base(DeclarativeBase): class Simple (line 28) | class Simple(Base): class SimpleParent (line 37) | class SimpleParent(Base): class User (line 45) | class User(Base): function check_credentials (line 52) | async def check_credentials(app: web.Application, username: str, passwor... function identity_callback (line 59) | async def identity_callback(app: web.Application, identity: str) -> User... function create_app (line 67) | async def create_app() -> web.Application: FILE: examples/relationships.py class Base (line 20) | class Base(DeclarativeBase): class OneToManyParent (line 24) | class OneToManyParent(Base): class OneToManyChild (line 33) | class OneToManyChild(Base): class ManyToOneParent (line 43) | class ManyToOneParent(Base): class ManyToOneChild (line 53) | class ManyToOneChild(Base): class OneToOneParent (line 62) | class OneToOneParent(Base): class OneToOneChild (line 71) | class OneToOneChild(Base): class ManyToManyParent (line 89) | class ManyToManyParent(Base): class ManyToManyChild (line 99) | class ManyToManyChild(Base): class CompositeForeignKeyChild (line 109) | class CompositeForeignKeyChild(Base): class CompositeForeignKeyParent (line 119) | class CompositeForeignKeyParent(Base): method __table_args__ (line 131) | def __table_args__(cls) -> tuple[sa.schema.SchemaItem, ...]: function check_credentials (line 138) | async def check_credentials(username: str, password: str) -> bool: function create_app (line 142) | async def create_app() -> web.Application: FILE: examples/simple.py class Currency (line 20) | class Currency(Enum): class Base (line 26) | class Base(DeclarativeBase): class Simple (line 30) | class Simple(Base): class SimpleParent (line 39) | class SimpleParent(Base): function check_credentials (line 48) | async def check_credentials(username: str, password: str) -> bool: function create_app (line 52) | async def create_app() -> web.Application: FILE: examples/validators.py class Base (line 26) | class Base(DeclarativeBase): class User (line 30) | class User(Base): function check_credentials (line 44) | async def check_credentials(username: str, password: str) -> bool: function serve_js (line 48) | async def serve_js(request: web.Request) -> web.Response: function create_app (line 52) | async def create_app() -> web.Application: FILE: setup.py function read_version (line 11) | def read_version(): FILE: tests/_auth.py function check_credentials (line 1) | async def check_credentials(username: str, password: str) -> bool: FILE: tests/_resources.py class DummyResource (line 8) | class DummyResource(AbstractAdminResource[tuple[str]]): method __init__ (line 9) | def __init__(self, name: str, fields: dict[str, ComponentState], method get_list (line 20) | async def get_list(self, params: GetListParams) -> tuple[list[Record],... method get_one (line 23) | async def get_one(self, record_id: tuple[str], meta: Meta) -> Record: ... method get_many (line 26) | async def get_many(self, record_ids: Sequence[tuple[str]], meta: Meta)... method get_many_ref (line 29) | async def get_many_ref(self, params: GetManyRefParams) -> tuple[list[R... method update (line 32) | async def update( # pragma: no cover method update_many (line 37) | async def update_many( # pragma: no cover method create (line 42) | async def create(self, data: Record, meta: Meta) -> Record: # pragma:... method delete (line 45) | async def delete(self, record_id: tuple[str], previous_data: Record, m... method delete_many (line 48) | async def delete_many( # pragma: no cover FILE: tests/conftest.py class Base (line 22) | class Base(DeclarativeBaseNoMeta): class DummyModel (line 26) | class DummyModel(Base): class Dummy2Model (line 34) | class Dummy2Model(Base): class ForeignModel (line 41) | class ForeignModel(Base): function mock_engine (line 55) | def mock_engine() -> AsyncMock: function create_admin_client (line 60) | def create_admin_client( function admin_client (line 101) | async def admin_client(create_admin_client: Callable[[], Awaitable[_Clie... function login (line 106) | def login() -> Callable[[_Client], Awaitable[dict[str, str]]]: FILE: tests/test_admin.py function test_path (line 10) | def test_path() -> None: function test_js_module (line 23) | def test_js_module() -> None: function test_no_js_module (line 32) | def test_no_js_module() -> None: function test_validators (line 41) | def test_validators() -> None: function test_re (line 59) | def test_re() -> None: function test_display (line 92) | def test_display() -> None: function test_display_invalid (line 112) | def test_display_invalid() -> None: function test_extra_props (line 122) | def test_extra_props() -> None: function test_invalid_repr (line 148) | def test_invalid_repr() -> None: FILE: tests/test_backends_abc.py function test_create_with_null (line 13) | async def test_create_with_null(admin_client: _Client, login: _Login) ->... function test_invalid_field (line 23) | async def test_invalid_field(admin_client: _Client, login: _Login) -> None: FILE: tests/test_backends_sqlalchemy.py function base (line 26) | def base() -> type[DeclarativeBase]: function test_no_subtypes (line 33) | def test_no_subtypes() -> None: function test_pk (line 38) | def test_pk(base: type[DeclarativeBase], mock_engine: AsyncEngine) -> None: function test_table (line 62) | def test_table(mock_engine: AsyncEngine) -> None: function test_extra_props (line 85) | def test_extra_props(base: type[DeclarativeBase], mock_engine: AsyncEngi... function test_binary (line 101) | async def test_binary( function test_fk (line 142) | def test_fk(base: type[DeclarativeBase], mock_engine: AsyncEngine) -> None: function test_fk_output (line 165) | async def test_fk_output( function test_relationship (line 211) | def test_relationship(base: type[DeclarativeBase], mock_engine: AsyncEng... function test_relationship_onetoone (line 246) | def test_relationship_onetoone(base: type[DeclarativeBase], mock_engine:... function test_check_constraints (line 280) | def test_check_constraints(base: type[DeclarativeBase], mock_engine: Asy... function test_nonid_pk (line 329) | async def test_nonid_pk(base: type[DeclarativeBase], mock_engine: AsyncE... function test_id_nonpk (line 353) | async def test_id_nonpk(base: type[DeclarativeBase], mock_engine: AsyncE... function test_nonid_pk_api (line 382) | async def test_nonid_pk_api( function test_datetime (line 447) | async def test_datetime( function test_permission_for (line 492) | def test_permission_for(base: type[DeclarativeBase]) -> None: function test_record_type (line 526) | async def test_record_type( FILE: tests/test_security.py function test_no_token (line 17) | async def test_no_token(admin_client: _Client) -> None: function test_invalid_token (line 25) | async def test_invalid_token(admin_client: _Client) -> None: function test_valid_login_logout (line 33) | async def test_valid_login_logout(admin_client: _Client) -> None: function test_missing_token (line 57) | async def test_missing_token(admin_client: _Client) -> None: function test_missing_cookie (line 74) | async def test_missing_cookie(admin_client: _Client) -> None: function test_login_invalid_payload (line 91) | async def test_login_invalid_payload(admin_client: _Client) -> None: function test_list_without_permission (line 106) | async def test_list_without_permission(create_admin_client: _CreateClient, function test_get_resource_with_permission (line 126) | async def test_get_resource_with_permission(create_admin_client: _Create... function test_get_fk_with_permission (line 142) | async def test_get_fk_with_permission(create_admin_client: _CreateClient... function test_get_fk_without_permission (line 158) | async def test_get_fk_without_permission(create_admin_client: _CreateCli... function test_get_resource_with_wildcard_permission (line 174) | async def test_get_resource_with_wildcard_permission(create_admin_client... function test_get_resource_with_negative_permission (line 190) | async def test_get_resource_with_negative_permission(create_admin_client... function test_list_resource_finegrained_permission (line 220) | async def test_list_resource_finegrained_permission(create_admin_client:... function test_get_resource_finegrained_permission (line 240) | async def test_get_resource_finegrained_permission(create_admin_client: ... function test_get_many_resource_finegrained_permission (line 256) | async def test_get_many_resource_finegrained_permission(create_admin_cli... function test_create_resource_finegrained_permission (line 272) | async def test_create_resource_finegrained_permission(create_admin_clien... function test_create_resource_filtered_permission (line 294) | async def test_create_resource_filtered_permission(create_admin_client: ... function test_update_resource_finegrained_permission (line 316) | async def test_update_resource_finegrained_permission(create_admin_clien... function test_update_resource_filtered_permission (line 334) | async def test_update_resource_filtered_permission(create_admin_client: ... function test_update_many_resource_finegrained_permission (line 359) | async def test_update_many_resource_finegrained_permission( function test_delete_resource_filtered_permission (line 377) | async def test_delete_resource_filtered_permission(create_admin_client: ... function test_permissions_cached (line 394) | async def test_permissions_cached(create_admin_client: _CreateClient, function test_permission_filter_list (line 413) | async def test_permission_filter_list(create_admin_client: _CreateClient, function test_permission_filter_list2 (line 437) | async def test_permission_filter_list2(create_admin_client: _CreateClient, function test_permission_filter_get_one (line 456) | async def test_permission_filter_get_one(create_admin_client: _CreateCli... function test_permission_filter_get_one2 (line 473) | async def test_permission_filter_get_one2(create_admin_client: _CreateCl... function test_permission_filter_get_many (line 490) | async def test_permission_filter_get_many(create_admin_client: _CreateCl... function test_permission_filter_get_many2 (line 508) | async def test_permission_filter_get_many2(create_admin_client: _CreateC... function test_permission_filter_create (line 526) | async def test_permission_filter_create(create_admin_client: _CreateClient, function test_permission_filter_create2 (line 545) | async def test_permission_filter_create2(create_admin_client: _CreateCli... function test_permission_filter_update (line 564) | async def test_permission_filter_update(create_admin_client: _CreateClient, function test_permission_filter_update2 (line 588) | async def test_permission_filter_update2(create_admin_client: _CreateCli... function test_permission_filter_update_many (line 612) | async def test_permission_filter_update_many( function test_permission_filter_update_many2 (line 634) | async def test_permission_filter_update_many2( function test_permission_filter_delete (line 656) | async def test_permission_filter_delete(create_admin_client: _CreateClient, function test_permission_filter_delete2 (line 674) | async def test_permission_filter_delete2(create_admin_client: _CreateCli... function test_permission_filter_delete_many (line 692) | async def test_permission_filter_delete_many(create_admin_client: _Creat... function test_permission_filter_delete_many2 (line 714) | async def test_permission_filter_delete_many2(create_admin_client: _Crea... function test_permission_filter_field_list (line 736) | async def test_permission_filter_field_list(create_admin_client: _Create... function test_permission_filter_field_list2 (line 757) | async def test_permission_filter_field_list2(create_admin_client: _Creat... function test_permission_filter_field_get_one (line 778) | async def test_permission_filter_field_get_one(create_admin_client: _Cre... function test_permission_filter_field_get_one2 (line 796) | async def test_permission_filter_field_get_one2(create_admin_client: _Cr... function test_permission_filter_field_get_many (line 814) | async def test_permission_filter_field_get_many(create_admin_client: _Cr... function test_permission_filter_field_get_many2 (line 830) | async def test_permission_filter_field_get_many2(create_admin_client: _C... function test_permission_filter_field_create (line 846) | async def test_permission_filter_field_create(create_admin_client: _Crea... function test_permission_filter_field_create2 (line 868) | async def test_permission_filter_field_create2(create_admin_client: _Cre... function test_permission_filter_field_update (line 890) | async def test_permission_filter_field_update(create_admin_client: _Crea... function test_permission_filter_field_update2 (line 923) | async def test_permission_filter_field_update2(create_admin_client: _Cre... function test_permission_filter_field_update_many (line 956) | async def test_permission_filter_field_update_many( function test_permission_filter_field_update_many2 (line 976) | async def test_permission_filter_field_update_many2( FILE: tests/test_views.py function test_admin_view (line 17) | async def test_admin_view(admin_client: _Client) -> None: function test_list_pagination (line 50) | async def test_list_pagination(admin_client: _Client, login: _Login) -> ... function test_list_filtering_by_pk (line 83) | async def test_list_filtering_by_pk(admin_client: _Client, login: _Login... function test_list_text_like_filtering (line 100) | async def test_list_text_like_filtering(admin_client: _Client, login: _L... function test_get_one (line 115) | async def test_get_one(admin_client: _Client, login: _Login) -> None: function test_get_one_not_exists (line 125) | async def test_get_one_not_exists(admin_client: _Client, login: _Login) ... function test_get_many (line 134) | async def test_get_many(admin_client: _Client, login: _Login) -> None: function test_get_many_not_exists (line 150) | async def test_get_many_not_exists(admin_client: _Client, login: _Login)... function test_get_many_ref (line 169) | async def test_get_many_ref(admin_client: _Client, login: _Login) -> None: function test_get_many_ref_orm (line 183) | async def test_get_many_ref_orm(admin_client: _Client, login: _Login) ->... function test_create (line 198) | async def test_create(admin_client: _Client, login: _Login) -> None: function test_create_duplicate_id (line 213) | async def test_create_duplicate_id(admin_client: _Client, login: _Login)... function test_update (line 222) | async def test_update(admin_client: _Client, login: _Login) -> None: function test_update_deleted_entity (line 241) | async def test_update_deleted_entity(admin_client: _Client, login: _Logi... function test_update_invalid_attributes (line 251) | async def test_update_invalid_attributes(admin_client: _Client, login: _... function test_update_many (line 262) | async def test_update_many(admin_client: _Client, login: _Login) -> None: function test_update_many_deleted_entity (line 280) | async def test_update_many_deleted_entity(admin_client: _Client, login: ... function test_update_many_invalid_attributes (line 289) | async def test_update_many_invalid_attributes(admin_client: _Client, log... function test_delete (line 299) | async def test_delete(admin_client: _Client, login: _Login) -> None: function test_delete_entity_not_exists (line 314) | async def test_delete_entity_not_exists(admin_client: _Client, login: _L... function test_delete_many (line 323) | async def test_delete_many(admin_client: _Client, login: _Login) -> None: function test_delete_many_not_exists (line 343) | async def test_delete_many_not_exists(admin_client: _Client, login: _Log...