Compare commits
No commits in common. "VORKOUT-10" and "master" have entirely different histories.
VORKOUT-10
...
master
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,8 +1,6 @@
|
|||||||
venv/
|
venv/
|
||||||
node_modules/
|
node_modules/
|
||||||
|
|
||||||
init.lock
|
|
||||||
|
|
||||||
.idea/
|
.idea/
|
||||||
.vscode/
|
.vscode/
|
||||||
*.swp
|
*.swp
|
||||||
|
9
Makefile
9
Makefile
@ -37,14 +37,5 @@ revision:
|
|||||||
cd $(API_APPLICATION_NAME)/db && \
|
cd $(API_APPLICATION_NAME)/db && \
|
||||||
PYTHONPATH='../..' ALEMBIC_MIGRATIONS=True alembic revision --autogenerate
|
PYTHONPATH='../..' ALEMBIC_MIGRATIONS=True alembic revision --autogenerate
|
||||||
|
|
||||||
venv-api:
|
|
||||||
cd api && \
|
|
||||||
poetry install
|
|
||||||
|
|
||||||
install:
|
|
||||||
make migrate head && \
|
|
||||||
cd api && \
|
|
||||||
poetry run python3 api/utils/init.py
|
|
||||||
|
|
||||||
%::
|
%::
|
||||||
echo $(MESSAGE)
|
echo $(MESSAGE)
|
||||||
|
@ -1,60 +0,0 @@
|
|||||||
import os
|
|
||||||
import asyncio
|
|
||||||
import hashlib
|
|
||||||
import secrets
|
|
||||||
|
|
||||||
from api.db.connection.session import get_connection
|
|
||||||
from api.db.tables.account import account_table, account_keyring_table, AccountRole, KeyType, KeyStatus
|
|
||||||
|
|
||||||
INIT_LOCK_FILE = "../init.lock"
|
|
||||||
DEFAULT_LOGIN = "vorkout"
|
|
||||||
|
|
||||||
|
|
||||||
def hash_password(password: str) -> str:
|
|
||||||
return hashlib.sha256(password.encode()).hexdigest()
|
|
||||||
|
|
||||||
|
|
||||||
def generate_password() -> str:
|
|
||||||
return secrets.token_urlsafe(20)
|
|
||||||
|
|
||||||
|
|
||||||
async def init():
|
|
||||||
if os.path.exists(INIT_LOCK_FILE):
|
|
||||||
print("Sorry, service is already initialized")
|
|
||||||
return
|
|
||||||
|
|
||||||
async with get_connection() as conn:
|
|
||||||
password = generate_password()
|
|
||||||
hashed_password = hash_password(password)
|
|
||||||
|
|
||||||
create_user_query = account_table.insert().values(
|
|
||||||
name=DEFAULT_LOGIN,
|
|
||||||
login=DEFAULT_LOGIN,
|
|
||||||
role=AccountRole.OWNER,
|
|
||||||
)
|
|
||||||
|
|
||||||
res = await conn.execute(create_user_query)
|
|
||||||
user_id = res.lastrowid
|
|
||||||
|
|
||||||
create_key_query = account_keyring_table.insert().values(
|
|
||||||
owner_id=user_id,
|
|
||||||
key_type=KeyType.PASSWORD,
|
|
||||||
key_value=hashed_password,
|
|
||||||
status=KeyStatus.ACTIVE,
|
|
||||||
)
|
|
||||||
|
|
||||||
await conn.execute(create_key_query)
|
|
||||||
|
|
||||||
await conn.commit()
|
|
||||||
|
|
||||||
await conn.close()
|
|
||||||
|
|
||||||
with open(INIT_LOCK_FILE, "w") as lock_file:
|
|
||||||
lock_file.write("initialized\n")
|
|
||||||
|
|
||||||
print(f"Login: {DEFAULT_LOGIN}")
|
|
||||||
print(f"Password: {password}")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
asyncio.get_event_loop().run_until_complete(init())
|
|
@ -3,13 +3,13 @@ version: "3.1"
|
|||||||
services:
|
services:
|
||||||
rabbitmq:
|
rabbitmq:
|
||||||
image: rabbitmq:4-management-alpine
|
image: rabbitmq:4-management-alpine
|
||||||
container_name: rabbitmq-connect
|
container_name: rabbitmq
|
||||||
ports:
|
ports:
|
||||||
- 5672:5672
|
- 5672:5672
|
||||||
- 15672:15672
|
- 15672:15672
|
||||||
db:
|
db:
|
||||||
image: mysql:8.0
|
image: mysql:8.0
|
||||||
container_name: mysql-connect
|
container_name: mysql
|
||||||
environment:
|
environment:
|
||||||
MYSQL_ROOT_PASSWORD: hackme
|
MYSQL_ROOT_PASSWORD: hackme
|
||||||
MYSQL_DATABASE: connect_test
|
MYSQL_DATABASE: connect_test
|
||||||
@ -21,7 +21,7 @@ services:
|
|||||||
- "3306:3306"
|
- "3306:3306"
|
||||||
redis:
|
redis:
|
||||||
image: redis:7-alpine
|
image: redis:7-alpine
|
||||||
container_name: redis-connect
|
container_name: redis
|
||||||
command: redis-server --requirepass password
|
command: redis-server --requirepass password
|
||||||
environment:
|
environment:
|
||||||
REDIS_PASSWORD: hackme
|
REDIS_PASSWORD: hackme
|
||||||
|
Loading…
Reference in New Issue
Block a user