124 lines
4.1 KiB
Python
124 lines
4.1 KiB
Python
import random
|
|
|
|
from datetime import datetime, timedelta
|
|
from validations import InsertPerson, InsertUsers
|
|
from faker import Faker
|
|
|
|
faker_engine = Faker(["tr-TR"])
|
|
|
|
|
|
def generate_random_country_code():
|
|
return random.choice(["TR", "EN"])
|
|
|
|
|
|
def generate_random_digit(n):
|
|
return random.randint(10 ** (n - 1), 10**n)
|
|
|
|
|
|
def generate_random_gender():
|
|
return random.choice(["M", "F"])
|
|
|
|
|
|
def generate_random_city_code():
|
|
return random.choice(["ANK", "IST", "IZM"])
|
|
|
|
|
|
def generate_random_phone_number():
|
|
return f"+90{''.join([str(random.randint(0, 9)) for _ in range(10)])}"
|
|
|
|
|
|
def generate_random_coordinates():
|
|
latitude = random.uniform(-90, 90)
|
|
longitude = random.uniform(-180, 180)
|
|
return latitude, longitude
|
|
|
|
|
|
def generate_random_profile():
|
|
"""
|
|
asd = {
|
|
'job': 'Belediye meclisi üyesi', 'company': 'Zorlu Enerji', 'ssn': '33384169120',
|
|
'residence': 'Unit 2753 Box 0533\nDPO AE 94969', 'current_location': (Decimal('57.4049185'), Decimal('56.715540')),
|
|
'blood_group': 'B+', 'website': ['https://borusan.tr/'], 'username': 'mugberdemirel', 'name': 'Kelâmi Yorulmaz',
|
|
'sex': 'M', 'address': '39314 Zorlu Ramp\nEast Ömürberg, MO 85532', 'mail': 'denizalp28@yandex.com',
|
|
'birthdate': datetime.date(2017, 8, 20)
|
|
}
|
|
"""
|
|
return faker_engine.profile()
|
|
|
|
|
|
def create_random_email(people_id: int = None, company_id: int = None):
|
|
return {
|
|
"email": faker_engine.email(domain="evyos.com.tr"),
|
|
"expiry_starts": datetime.now().__str__(),
|
|
"expiry_ends": str(datetime.now() + timedelta(days=365)),
|
|
"email_name": faker_engine.email(domain="evyos.com.tr").split("@")[0],
|
|
"people_id": people_id,
|
|
"company_id": company_id,
|
|
}
|
|
|
|
|
|
def create_random_phone(people_id: int = None, company_id: int = None):
|
|
return {
|
|
"country_code": generate_random_country_code(),
|
|
"phone_no": generate_random_phone_number(),
|
|
"city_code": generate_random_city_code(),
|
|
"expiry_starts": datetime.now().__str__(),
|
|
"expiry_ends": str(datetime.now() + timedelta(days=365)),
|
|
"description": faker_engine.text(max_nb_chars=50),
|
|
"people_id": people_id,
|
|
"company_id": company_id,
|
|
}
|
|
|
|
|
|
def create_random_person():
|
|
profile = generate_random_profile()
|
|
return InsertPerson(
|
|
**{
|
|
"firstname": faker_engine.first_name(),
|
|
"surname": faker_engine.last_name(),
|
|
"middle_name": faker_engine.name_male().split(" ")[1],
|
|
"father_name": faker_engine.name_male().replace(".", ""),
|
|
"mother_name": faker_engine.name_female().replace(".", ""),
|
|
"sex_code": profile.get("sex"),
|
|
"country_code": generate_random_country_code(),
|
|
"national_identity_id": str(generate_random_digit(n=11)),
|
|
"birth_place": faker_engine.city(),
|
|
"birth_date": faker_engine.date_of_birth(
|
|
minimum_age=25, maximum_age=50
|
|
).__str__(),
|
|
"tax_no": str(generate_random_digit(n=10)),
|
|
"is_employee_related": True,
|
|
"is_living_space_related": False,
|
|
}
|
|
)
|
|
|
|
|
|
def create_random_user(people_id: int):
|
|
profile = generate_random_profile()
|
|
insert_user = InsertUsers(
|
|
**dict(
|
|
user_tag=profile.get("username"),
|
|
domain_name="wag.evyos.com",
|
|
email=faker_engine.email(domain="evyos.com.tr"),
|
|
phone_number=generate_random_phone_number(),
|
|
avatar="https://s.tmimgcdn.com/scr/800x500/276800/building-home-nature-logo-vector-template-3_276851-original.jpg",
|
|
people_uu_id=str(people_id),
|
|
)
|
|
)
|
|
return insert_user.excluded_dump()
|
|
|
|
|
|
def create_random_occupant_user(people_id: int):
|
|
profile = generate_random_profile()
|
|
insert_user = InsertUsers(
|
|
**dict(
|
|
user_tag=profile.get("username"),
|
|
domain_name="wag.evyos.com",
|
|
email=faker_engine.email(),
|
|
phone_number=generate_random_phone_number(),
|
|
avatar="https://s.tmimgcdn.com/scr/800x500/276800/building-home-nature-logo-vector-template-3_276851-original.jpg",
|
|
people_uu_id=str(people_id),
|
|
)
|
|
)
|
|
return insert_user.excluded_dump()
|