Create account

This commit is contained in:
CHIEFSOFT\ameye
2025-07-10 17:36:06 -04:00
parent a243f89fc1
commit 5489524be1
3 changed files with 58 additions and 6 deletions
+1
View File
@@ -43,6 +43,7 @@ ALTER TABLE members ADD account_name VARCHAR(100);
ALTER TABLE members ADD firstname VARCHAR(25);
ALTER TABLE members ADD lastname VARCHAR(25);
ALTER TABLE members ALTER COLUMN password TYPE VARCHAR(250);
ALTER TABLE members ADD country VARCHAR(3);
-- UPDATE members SET account_name ='This is the account name';
-- UPDATE members SET firstname ='Firstname';
+13 -1
View File
@@ -30,6 +30,10 @@ class RegisterService(BaseService):
SEND_EMAIL_FROM = Config.SEND_EMAIL_FROM
SEND_EMAIL_PASS = Config.SEND_EMAIL_PASS
@staticmethod
def encrypt_password(self, password):
"""Encrypt password"""
return generate_password_hash(password)
@staticmethod
def process_complete(data):
@@ -40,6 +44,8 @@ class RegisterService(BaseService):
# Simulate processing
verify_link = validated_data.get('verify_link')
username = validated_data.get('username')
password = validated_data.get('password')
country = validated_data.get('country')
data ={}
if not verify_link:
@@ -56,10 +62,16 @@ class RegisterService(BaseService):
"error_message_key": "use_another_username",
}
return ResponseHelper.error(data=response_data)
user= data["user"]
firstname = user['first_name']
lastname = user['last_name']
email = user['email']
encrypted_pass = generate_password_hash(password)
newAccount = Members.add_member(firstname, lastname, email, username,encrypted_pass, country)
country = {
"last_update": datetime.datetime.utcnow(),
"list": [
+44 -5
View File
@@ -1,7 +1,8 @@
from datetime import datetime, timezone
from app.extensions import db
from sqlalchemy.sql import func
from sqlalchemy.exc import IntegrityError
import uuid
class Members(db.Model):
__tablename__ = 'members'
@@ -48,11 +49,49 @@ class Members(db.Model):
@classmethod
def get_member_by_uid(cls, uid):
"""
Return an offer by its UID.
"""
member = cls.query.filter_by(uid=str(uid)).first()
if not member:
raise ValueError(f"User UID = {uid} not found")
return member
return member
@classmethod
def add_member(cls, firstname, lastname, email, username,password, country):
# Save the response
member_data = cls(
uid=str(uuid.uuid4()),
firstname=firstname,
lastname=lastname,
username =username,
email=email,
country=country,
password=password,
added=datetime.now(timezone.utc),
updated=datetime.now(timezone.utc)
)
try:
db.session.add(member_data)
except IntegrityError as err:
raise ValueError(f"Database integrity error: {err}")
return member_data
# '''
# Table "public.members"
# Column | Type | Collation | Nullable | Default
# --------------+-----------------------------+-----------+----------+-------------------------------------
# id | integer | | not null | nextval('members_id_seq'::regclass)
# uid | uuid | | | uuid_generate_v4()
# username | character varying(25) | | not null |
# password | character varying(250) | | not null |
# loc | inet | | |
# status | integer | | | 0
# added | timestamp without time zone | | | now()
# updated | timestamp without time zone | | | now()
# email | character varying(100) | | |
# account_name | character varying(100) | | |
# firstname | character varying(25) | | |
# lastname | character varying(25) | | |
# '''