예제 #1
0
def create_user(user: User, is_admin: bool = False) -> User:
    """
    创建用户

    :param              user: User                  用户ORM
    :param              is_admin: bool              是否admin

    创建头像信息,创建用户基本信息
    """
    user.roles = Role.get_by_user_default(is_admin)
    avator = Storages(**ADMIN_AVATOR) if is_admin else Storages(**USER_AVATOR)
    user.userinfo.avator = avator
    return user.save()
예제 #2
0
def init_development_users(password: Optional[str] = None) -> None:
    """
    初始化数据
    """
    su_role = Role.get_by_name(name="SuperUser")
    if not password:
        print("请输入初始超级用户密码")
        password = getpass("Password:"******"wisdom",
        password=password,
        email="*****@*****.**",
        phonenum="1234567",
        active=True,
        confirmed_at=datetime.utcnow(),
    )
    avator = Storages(
        name="AdminAvator.jpg",
        storetype="avator",
        saved=True,
        filetype="image/jpeg",
        path="default/AdminAvator.jpg",
        uid=1,
        store=load_avator_from_path("default/AdminAvator.jpg"),
    )
    UserInfo.create(user=root, avator=avator)
    root.roles.append(su_role)
    root.save()
예제 #3
0
def init():
    """
    初始化数据
    """
    su_role = Role.get_by_name(name="SuperUser")

    # create super user
    root = User.create(
        username="******",
        password="******",
        email="*****@*****.**",
        phonenum="1234567",
        active=True,
        confirmed_at=datetime.utcnow(),
    )
    avator = Storages(
        name="AdminAvator.jpg",
        storetype="avator",
        saved=True,
        filetype="image/jpeg",
        path="default/AdminAvator.jpg",
        uid=1,
    )
    UserInfo.create(user=root, avator=avator)
    root.roles.append(su_role)
    root.save()
예제 #4
0
def add_storage(store: FileStorage) -> "Storages":
    # pylint: disable=W0621
    from smorest_sfs.services.storages.handlers import StorageFactory
    from smorest_sfs.modules.storages.models import Storages

    factory = StorageFactory(
        Storages(name="test.txt", storetype="foo",
                 store=store))  # type: ignore
    storage: "Storages" = factory.save()
    return storage
예제 #5
0
    def test_model_load(self) -> None:
        from smorest_sfs.services.storages.handlers import StorageFactory
        from smorest_sfs.modules.storages.models import Storages

        factory = StorageFactory(self.storage)
        factory.save()
        storage = Storages.find_or_fail(self.storage.id_)
        for _ in range(3):
            storage.as_stream()
            assert storage.store.read() == b"abc"
예제 #6
0
def create_user(user: User, is_admin: bool = False) -> User:
    """
    创建用户

    :param              user: User                  用户ORM
    :param              is_admin: bool              是否admin

    创建头像信息,创建用户基本信息
    """
    user.roles = Role.get_by_user_default(is_admin)
    avator = (
        Storages(  # type: ignore
            store=load_avator_from_path(ADMIN_AVATOR["path"]),
            saved=True,
            **ADMIN_AVATOR) if is_admin else Storages(  # type: ignore
                store=load_avator_from_path(USER_AVATOR["path"]),
                saved=True,
                **USER_AVATOR))
    user.userinfo.update(avator=avator)
    return user
예제 #7
0
    def test_model_update(self) -> None:
        from smorest_sfs.services.storages.handlers import StorageFactory
        from smorest_sfs.modules.storages.models import Storages

        factory = StorageFactory(self.storage)
        factory.save()
        factory.update(name="t.txt", store=self.next_store)
        storage = Storages.find_or_fail(self.storage.id_)
        storage.store = None
        assert storage.store.read(
        ) == b"efg" and storage.name == "t.txt"  # type: ignore
예제 #8
0
def storage(store: FileStorage) -> "Storages":
    # pylint: disable=W0621
    from smorest_sfs.modules.storages.models import Storages

    return Storages(name="test.txt", storetype="foo",
                    store=store)  # type: ignore
예제 #9
0
def add_storage(store):
    factory = StorageFactory(
        Storages(name="test.txt", storetype="foo", store=store))
    return factory.save()
예제 #10
0
def storage(store):
    return Storages(name="test.txt", storetype="foo", store=store)