Rename examples to demo

This commit is contained in:
Andrew Svetlov
2015-11-21 08:45:35 +02:00
parent 7bf9b02b08
commit 9f16878a35
3 changed files with 0 additions and 0 deletions

35
demo/db.py Normal file
View File

@@ -0,0 +1,35 @@
import sqlalchemy as sa
metadata = sa.Metadata()
users = sa.Table(
'users', metadata,
sa.Column('id', sa.Integer, nullable=False),
sa.Column('login', sa.String(256), nullable=False),
sa.Column('passwd', sa.String(256), nullable=False),
sa.Column('salt', sa.String(256), nullable=False),
sa.Column('is_superuser', sa.Boolean, nullable=False,
server_default='FALSE'),
sa.Column('disabled', sa.Boolean, nullable=False,
server_default='FALSE'),
# indices
sa.PrimaryKeyConstraint('id', name='user_pkey'),
sa.UniqueConstraint('login', name='user_login_key'),
)
permissions = sa.Table(
'permissions', metadata,
sa.Column('id', sa.Integer, nullable=False),
sa.Column('user_id', sa.Integer, nullable=False),
sa.Column('perm_name', sa.String(64), nullable=False),
# indices
sa.PrimaryKeyConstraint('id', name='permission_pkey'),
sa.ForeignKeyConstraint(['user_id'], [users.c.id],
name='user_permission_fkey',
ondelete='CASCADE'),
)

23
demo/db_auth.py Normal file
View File

@@ -0,0 +1,23 @@
import asyncio
from aiohttp_security.authorization import AbstractAuthorizationPolicy
class DBAuthorizationPolicy(AbstractAuthorizationPolicy):
def __init__(self, db_pool):
self.db_pool = db_pool
@asyncio.coroutine
def permits(self, identity, permission, context=None):
record = self.data.get(identity)
if record is not None:
# TODO: implement actual permission checker
if permission in record:
return True
return False
@asyncio.coroutine
def authorized_user_id(self, identity):
with (yield from self.db_pool) as conn:
conn
return identity if identity in self.data else None

0
demo/simple.py Normal file
View File