move datatypes

This commit is contained in:
jopejoe1 2024-02-06 17:49:57 +01:00
parent 166c3ff202
commit 90577ea86e
3 changed files with 37 additions and 1 deletions

View file

@ -1,81 +0,0 @@
from dataclasses import dataclass, asdict
@dataclass
class Customer:
customer_id: int
first_name: str
last_name: str
street: str
birth_date: str # Assuming timestamp as a string for simplicity
house_number: str
postal_code: int
email: str
phone: int
city: str
def dict(self):
return {k: str(v) for k, v in asdict(self).items()}
@dataclass
class Order:
order_id: int
customer: Customer
invoice_amount: int
order_date: str # Assuming timestamp as a string for simplicity
def dict(self):
return {k: str(v) for k, v in asdict(self).items()}
@dataclass
class Ingredient:
ingredient_id: int
designation: str
stock: int
net_price: int
unit: str
carbohydrates: int
calories: int
protein: int
def dict(self):
return {k: str(v) for k, v in asdict(self).items()}
@dataclass
class Supplier:
supplier_id: int
city: str
street: str
email: str
phone: str
supplier_name: str
house_number: str
postal_code: int
def dict(self):
return {k: str(v) for k, v in asdict(self).items()}
@dataclass
class SupplierContainsIngredients:
supplier: Supplier
ingredient: Ingredient
delivery_cost: int
delivery_time: int
def dict(self):
return {k: str(v) for k, v in asdict(self).items()}
@dataclass
class OrderContainsIngredients:
order: Order
ingredient: Ingredient
quantity: int
def dict(self):
return {k: str(v) for k, v in asdict(self).items()}

37
fuzzer/filldb.py Normal file
View file

@ -0,0 +1,37 @@
import string
from dataclasses import fields
from surrealdb import Surreal
import random
from lib.datatypes import Customer
async def mainold():
"""Example of how to use the SurrealDB client."""
async with Surreal("ws://localhost:8000/rpc") as db:
await db.signin({"user": "root", "pass": "root"})
await db.use("test", "test")
for k in range(1, 20):
await db.create(
"Kunde",
fill_data().dict(),
)
def randomword(length):
letters = string.ascii_lowercase
return ''.join(random.choice(letters) for i in range(length))
def fill_data():
data = Customer(1, "a", "a", "a", "a", "a", 1, "a", 1, "a")
for var in fields(Customer):
if var.type == type("str"):
setattr(data, var.name, randomword(random.randint(1, 20)))
elif var.type == type(1):
setattr(data, var.name, random.randint(0, 100))
return data
print(fill_data())