Create account
This commit is contained in:
@@ -43,6 +43,7 @@ ALTER TABLE members ADD account_name VARCHAR(100);
|
|||||||
ALTER TABLE members ADD firstname VARCHAR(25);
|
ALTER TABLE members ADD firstname VARCHAR(25);
|
||||||
ALTER TABLE members ADD lastname VARCHAR(25);
|
ALTER TABLE members ADD lastname VARCHAR(25);
|
||||||
ALTER TABLE members ALTER COLUMN password TYPE VARCHAR(250);
|
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 account_name ='This is the account name';
|
||||||
-- UPDATE members SET firstname ='Firstname';
|
-- UPDATE members SET firstname ='Firstname';
|
||||||
|
|||||||
@@ -30,6 +30,10 @@ class RegisterService(BaseService):
|
|||||||
SEND_EMAIL_FROM = Config.SEND_EMAIL_FROM
|
SEND_EMAIL_FROM = Config.SEND_EMAIL_FROM
|
||||||
SEND_EMAIL_PASS = Config.SEND_EMAIL_PASS
|
SEND_EMAIL_PASS = Config.SEND_EMAIL_PASS
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def encrypt_password(self, password):
|
||||||
|
"""Encrypt password"""
|
||||||
|
return generate_password_hash(password)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def process_complete(data):
|
def process_complete(data):
|
||||||
@@ -40,6 +44,8 @@ class RegisterService(BaseService):
|
|||||||
# Simulate processing
|
# Simulate processing
|
||||||
verify_link = validated_data.get('verify_link')
|
verify_link = validated_data.get('verify_link')
|
||||||
username = validated_data.get('username')
|
username = validated_data.get('username')
|
||||||
|
password = validated_data.get('password')
|
||||||
|
country = validated_data.get('country')
|
||||||
|
|
||||||
data ={}
|
data ={}
|
||||||
if not verify_link:
|
if not verify_link:
|
||||||
@@ -56,8 +62,14 @@ class RegisterService(BaseService):
|
|||||||
"error_message_key": "use_another_username",
|
"error_message_key": "use_another_username",
|
||||||
}
|
}
|
||||||
return ResponseHelper.error(data=response_data)
|
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 = {
|
country = {
|
||||||
|
|||||||
+43
-4
@@ -1,7 +1,8 @@
|
|||||||
from datetime import datetime, timezone
|
from datetime import datetime, timezone
|
||||||
from app.extensions import db
|
from app.extensions import db
|
||||||
from sqlalchemy.sql import func
|
from sqlalchemy.sql import func
|
||||||
|
from sqlalchemy.exc import IntegrityError
|
||||||
|
import uuid
|
||||||
|
|
||||||
class Members(db.Model):
|
class Members(db.Model):
|
||||||
__tablename__ = 'members'
|
__tablename__ = 'members'
|
||||||
@@ -48,11 +49,49 @@ class Members(db.Model):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_member_by_uid(cls, uid):
|
def get_member_by_uid(cls, uid):
|
||||||
"""
|
|
||||||
Return an offer by its UID.
|
|
||||||
"""
|
|
||||||
member = cls.query.filter_by(uid=str(uid)).first()
|
member = cls.query.filter_by(uid=str(uid)).first()
|
||||||
|
|
||||||
if not member:
|
if not member:
|
||||||
raise ValueError(f"User UID = {uid} not found")
|
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) | | |
|
||||||
|
# '''
|
||||||
Reference in New Issue
Block a user