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 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';
|
||||
|
||||
@@ -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
@@ -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) | | |
|
||||
# '''
|
||||
Reference in New Issue
Block a user