country list

This commit is contained in:
CHIEFSOFT\ameye
2025-10-04 19:40:17 -04:00
parent 172acb1e20
commit 2558b51aa4
4 changed files with 1042 additions and 3 deletions
+977
View File
@@ -0,0 +1,977 @@
class CountryList:
@staticmethod
def get_signup_country_list():
return [
{
"description": "Afghanistan",
"code": "AF"
},
{
"description": "Åland Islands",
"code": "AX"
},
{
"description": "Albania",
"code": "AL"
},
{
"description": "Algeria",
"code": "DZ"
},
{
"description": "American Samoa",
"code": "AS"
},
{
"description": "AndorrA",
"code": "AD"
},
{
"description": "Angola",
"code": "AO"
},
{
"description": "Anguilla",
"code": "AI"
},
{
"description": "Antarctica",
"code": "AQ"
},
{
"description": "Antigua and Barbuda",
"code": "AG"
},
{
"description": "Argentina",
"code": "AR"
},
{
"description": "Armenia",
"code": "AM"
},
{
"description": "Aruba",
"code": "AW"
},
{
"description": "Australia",
"code": "AU"
},
{
"description": "Austria",
"code": "AT"
},
{
"description": "Azerbaijan",
"code": "AZ"
},
{
"description": "Bahamas",
"code": "BS"
},
{
"description": "Bahrain",
"code": "BH"
},
{
"description": "Bangladesh",
"code": "BD"
},
{
"description": "Barbados",
"code": "BB"
},
{
"description": "Belarus",
"code": "BY"
},
{
"description": "Belgium",
"code": "BE"
},
{
"description": "Belize",
"code": "BZ"
},
{
"description": "Benin",
"code": "BJ"
},
{
"description": "Bermuda",
"code": "BM"
},
{
"description": "Bhutan",
"code": "BT"
},
{
"description": "Bolivia",
"code": "BO"
},
{
"description": "Bosnia and Herzegovina",
"code": "BA"
},
{
"description": "Botswana",
"code": "BW"
},
{
"description": "Bouvet Island",
"code": "BV"
},
{
"description": "Brazil",
"code": "BR"
},
{
"description": "British Indian Ocean Territory",
"code": "IO"
},
{
"description": "Brunei Darussalam",
"code": "BN"
},
{
"description": "Bulgaria",
"code": "BG"
},
{
"description": "Burkina Faso",
"code": "BF"
},
{
"description": "Burundi",
"code": "BI"
},
{
"description": "Cambodia",
"code": "KH"
},
{
"description": "Cameroon",
"code": "CM"
},
{
"description": "Canada",
"code": "CA"
},
{
"description": "Cape Verde",
"code": "CV"
},
{
"description": "Cayman Islands",
"code": "KY"
},
{
"description": "Central African Republic",
"code": "CF"
},
{
"description": "Chad",
"code": "TD"
},
{
"description": "Chile",
"code": "CL"
},
{
"description": "China",
"code": "CN"
},
{
"description": "Christmas Island",
"code": "CX"
},
{
"description": "Cocos (Keeling) Islands",
"code": "CC"
},
{
"description": "Colombia",
"code": "CO"
},
{
"description": "Comoros",
"code": "KM"
},
{
"description": "Congo",
"code": "CG"
},
{
"description": "Congo, The Democratic Republic of the",
"code": "CD"
},
{
"description": "Cook Islands",
"code": "CK"
},
{
"description": "Costa Rica",
"code": "CR"
},
{
"description": "Cote D'Ivoire",
"code": "CI"
},
{
"description": "Croatia",
"code": "HR"
},
{
"description": "Cuba",
"code": "CU"
},
{
"description": "Cyprus",
"code": "CY"
},
{
"description": "Czech Republic",
"code": "CZ"
},
{
"description": "Denmark",
"code": "DK"
},
{
"description": "Djibouti",
"code": "DJ"
},
{
"description": "Dominica",
"code": "DM"
},
{
"description": "Dominican Republic",
"code": "DO"
},
{
"description": "Ecuador",
"code": "EC"
},
{
"description": "Egypt",
"code": "EG"
},
{
"description": "El Salvador",
"code": "SV"
},
{
"description": "Equatorial Guinea",
"code": "GQ"
},
{
"description": "Eritrea",
"code": "ER"
},
{
"description": "Estonia",
"code": "EE"
},
{
"description": "Ethiopia",
"code": "ET"
},
{
"description": "Falkland Islands (Malvinas)",
"code": "FK"
},
{
"description": "Faroe Islands",
"code": "FO"
},
{
"description": "Fiji",
"code": "FJ"
},
{
"description": "Finland",
"code": "FI"
},
{
"description": "France",
"code": "FR"
},
{
"description": "French Guiana",
"code": "GF"
},
{
"description": "French Polynesia",
"code": "PF"
},
{
"description": "French Southern Territories",
"code": "TF"
},
{
"description": "Gabon",
"code": "GA"
},
{
"description": "Gambia",
"code": "GM"
},
{
"description": "Georgia",
"code": "GE"
},
{
"description": "Germany",
"code": "DE"
},
{
"description": "Ghana",
"code": "GH"
},
{
"description": "Gibraltar",
"code": "GI"
},
{
"description": "Greece",
"code": "GR"
},
{
"description": "Greenland",
"code": "GL"
},
{
"description": "Grenada",
"code": "GD"
},
{
"description": "Guadeloupe",
"code": "GP"
},
{
"description": "Guam",
"code": "GU"
},
{
"description": "Guatemala",
"code": "GT"
},
{
"description": "Guernsey",
"code": "GG"
},
{
"description": "Guinea",
"code": "GN"
},
{
"description": "Guinea-Bissau",
"code": "GW"
},
{
"description": "Guyana",
"code": "GY"
},
{
"description": "Haiti",
"code": "HT"
},
{
"description": "Heard Island and Mcdonald Islands",
"code": "HM"
},
{
"description": "Holy See (Vatican City State)",
"code": "VA"
},
{
"description": "Honduras",
"code": "HN"
},
{
"description": "Hong Kong",
"code": "HK"
},
{
"description": "Hungary",
"code": "HU"
},
{
"description": "Iceland",
"code": "IS"
},
{
"description": "India",
"code": "IN"
},
{
"description": "Indonesia",
"code": "ID"
},
{
"description": "Iran, Islamic Republic Of",
"code": "IR"
},
{
"description": "Iraq",
"code": "IQ"
},
{
"description": "Ireland",
"code": "IE"
},
{
"description": "Isle of Man",
"code": "IM"
},
{
"description": "Israel",
"code": "IL"
},
{
"description": "Italy",
"code": "IT"
},
{
"description": "Jamaica",
"code": "JM"
},
{
"description": "Japan",
"code": "JP"
},
{
"description": "Jersey",
"code": "JE"
},
{
"description": "Jordan",
"code": "JO"
},
{
"description": "Kazakhstan",
"code": "KZ"
},
{
"description": "Kenya",
"code": "KE"
},
{
"description": "Kiribati",
"code": "KI"
},
{
"description": "Korea, Democratic People'S Republic of",
"code": "KP"
},
{
"description": "Korea, Republic of",
"code": "KR"
},
{
"description": "Kuwait",
"code": "KW"
},
{
"description": "Kyrgyzstan",
"code": "KG"
},
{
"description": "Lao People'S Democratic Republic",
"code": "LA"
},
{
"description": "Latvia",
"code": "LV"
},
{
"description": "Lebanon",
"code": "LB"
},
{
"description": "Lesotho",
"code": "LS"
},
{
"description": "Liberia",
"code": "LR"
},
{
"description": "Libyan Arab Jamahiriya",
"code": "LY"
},
{
"description": "Liechtenstein",
"code": "LI"
},
{
"description": "Lithuania",
"code": "LT"
},
{
"description": "Luxembourg",
"code": "LU"
},
{
"description": "Macao",
"code": "MO"
},
{
"description": "Macedonia, The Former Yugoslav Republic of",
"code": "MK"
},
{
"description": "Madagascar",
"code": "MG"
},
{
"description": "Malawi",
"code": "MW"
},
{
"description": "Malaysia",
"code": "MY"
},
{
"description": "Maldives",
"code": "MV"
},
{
"description": "Mali",
"code": "ML"
},
{
"description": "Malta",
"code": "MT"
},
{
"description": "Marshall Islands",
"code": "MH"
},
{
"description": "Martinique",
"code": "MQ"
},
{
"description": "Mauritania",
"code": "MR"
},
{
"description": "Mauritius",
"code": "MU"
},
{
"description": "Mayotte",
"code": "YT"
},
{
"description": "Mexico",
"code": "MX"
},
{
"description": "Micronesia, Federated States of",
"code": "FM"
},
{
"description": "Moldova, Republic of",
"code": "MD"
},
{
"description": "Monaco",
"code": "MC"
},
{
"description": "Mongolia",
"code": "MN"
},
{
"description": "Montserrat",
"code": "MS"
},
{
"description": "Morocco",
"code": "MA"
},
{
"description": "Mozambique",
"code": "MZ"
},
{
"description": "Myanmar",
"code": "MM"
},
{
"description": "Namibia",
"code": "NA"
},
{
"description": "Nauru",
"code": "NR"
},
{
"description": "Nepal",
"code": "NP"
},
{
"description": "Netherlands",
"code": "NL"
},
{
"description": "Netherlands Antilles",
"code": "AN"
},
{
"description": "New Caledonia",
"code": "NC"
},
{
"description": "New Zealand",
"code": "NZ"
},
{
"description": "Nicaragua",
"code": "NI"
},
{
"description": "Niger",
"code": "NE"
},
{
"description": "Nigeria",
"code": "NG"
},
{
"description": "Niue",
"code": "NU"
},
{
"description": "Norfolk Island",
"code": "NF"
},
{
"description": "Northern Mariana Islands",
"code": "MP"
},
{
"description": "Norway",
"code": "NO"
},
{
"description": "Oman",
"code": "OM"
},
{
"description": "Pakistan",
"code": "PK"
},
{
"description": "Palau",
"code": "PW"
},
{
"description": "Palestinian Territory, Occupied",
"code": "PS"
},
{
"description": "Panama",
"code": "PA"
},
{
"description": "Papua New Guinea",
"code": "PG"
},
{
"description": "Paraguay",
"code": "PY"
},
{
"description": "Peru",
"code": "PE"
},
{
"description": "Philippines",
"code": "PH"
},
{
"description": "Pitcairn",
"code": "PN"
},
{
"description": "Poland",
"code": "PL"
},
{
"description": "Portugal",
"code": "PT"
},
{
"description": "Puerto Rico",
"code": "PR"
},
{
"description": "Qatar",
"code": "QA"
},
{
"description": "Reunion",
"code": "RE"
},
{
"description": "Romania",
"code": "RO"
},
{
"description": "Russian Federation",
"code": "RU"
},
{
"description": "RWANDA",
"code": "RW"
},
{
"description": "Saint Helena",
"code": "SH"
},
{
"description": "Saint Kitts and Nevis",
"code": "KN"
},
{
"description": "Saint Lucia",
"code": "LC"
},
{
"description": "Saint Pierre and Miquelon",
"code": "PM"
},
{
"description": "Saint Vincent and the Grenadines",
"code": "VC"
},
{
"description": "Samoa",
"code": "WS"
},
{
"description": "San Marino",
"code": "SM"
},
{
"description": "Sao Tome and Principe",
"code": "ST"
},
{
"description": "Saudi Arabia",
"code": "SA"
},
{
"description": "Senegal",
"code": "SN"
},
{
"description": "Serbia and Montenegro",
"code": "CS"
},
{
"description": "Seychelles",
"code": "SC"
},
{
"description": "Sierra Leone",
"code": "SL"
},
{
"description": "Singapore",
"code": "SG"
},
{
"description": "Slovakia",
"code": "SK"
},
{
"description": "Slovenia",
"code": "SI"
},
{
"description": "Solomon Islands",
"code": "SB"
},
{
"description": "Somalia",
"code": "SO"
},
{
"description": "South Africa",
"code": "ZA"
},
{
"description": "South Georgia and the South Sandwich Islands",
"code": "GS"
},
{
"description": "Spain",
"code": "ES"
},
{
"description": "Sri Lanka",
"code": "LK"
},
{
"description": "Sudan",
"code": "SD"
},
{
"description": "Suriname",
"code": "SR"
},
{
"description": "Svalbard and Jan Mayen",
"code": "SJ"
},
{
"description": "Swaziland",
"code": "SZ"
},
{
"description": "Sweden",
"code": "SE"
},
{
"description": "Switzerland",
"code": "CH"
},
{
"description": "Syrian Arab Republic",
"code": "SY"
},
{
"description": "Taiwan, Province of China",
"code": "TW"
},
{
"description": "Tajikistan",
"code": "TJ"
},
{
"description": "Tanzania, United Republic of",
"code": "TZ"
},
{
"description": "Thailand",
"code": "TH"
},
{
"description": "Timor-Leste",
"code": "TL"
},
{
"description": "Togo",
"code": "TG"
},
{
"description": "Tokelau",
"code": "TK"
},
{
"description": "Tonga",
"code": "TO"
},
{
"description": "Trinidad and Tobago",
"code": "TT"
},
{
"description": "Tunisia",
"code": "TN"
},
{
"description": "Turkey",
"code": "TR"
},
{
"description": "Turkmenistan",
"code": "TM"
},
{
"description": "Turks and Caicos Islands",
"code": "TC"
},
{
"description": "Tuvalu",
"code": "TV"
},
{
"description": "Uganda",
"code": "UG"
},
{
"description": "Ukraine",
"code": "UA"
},
{
"description": "United Arab Emirates",
"code": "AE"
},
{
"description": "United Kingdom",
"code": "GB"
},
{
"description": "United States",
"code": "US"
},
{
"description": "United States Minor Outlying Islands",
"code": "UM"
},
{
"description": "Uruguay",
"code": "UY"
},
{
"description": "Uzbekistan",
"code": "UZ"
},
{
"description": "Vanuatu",
"code": "VU"
},
{
"description": "Venezuela",
"code": "VE"
},
{
"description": "Viet Nam",
"code": "VN"
},
{
"description": "Virgin Islands, British",
"code": "VG"
},
{
"description": "Virgin Islands, U.S.",
"code": "VI"
},
{
"description": "Wallis and Futuna",
"code": "WF"
},
{
"description": "Western Sahara",
"code": "EH"
},
{
"description": "Yemen",
"code": "YE"
},
{
"description": "Zambia",
"code": "ZM"
},
{
"description": "Zimbabwe",
"code": "ZW"
}
]
+13 -2
View File
@@ -3,7 +3,7 @@ from app.utils.logger import logger
from app.api.services.base_service import BaseService from app.api.services.base_service import BaseService
from marshmallow import ValidationError from marshmallow import ValidationError
from app.extensions import db from app.extensions import db
from app.models import MembersPending, Members from app.models import MembersPending, Members, Country
from app.api.helpers.response_helper import ResponseHelper from app.api.helpers.response_helper import ResponseHelper
from werkzeug.security import generate_password_hash, check_password_hash from werkzeug.security import generate_password_hash, check_password_hash
@@ -123,10 +123,21 @@ class RegisterService(BaseService):
data = jwt.decode(verify_link, RegisterService.JWT_SECRET_KEY, algorithms=["HS256"]) data = jwt.decode(verify_link, RegisterService.JWT_SECRET_KEY, algorithms=["HS256"])
except: except:
return jsonify({'status': 'INVALID', 'message': 'Link is invalid'}), 403 return jsonify({'status': 'INVALID', 'message': 'Link is invalid'}), 403
country_list = []
country_data = Country.get_signup_countries(1)
for subs in country_data:
country_list.append({
'id': subs.id,
'code': subs.code,
'uid': str(subs.uid),
'description': subs.description
})
country = { country = {
"last_update": datetime.datetime.utcnow(), "last_update": datetime.datetime.utcnow(),
"list": [ "list": country_list,
"lists": [
{"code": "US", "description": "United States"}, {"code": "US", "description": "United States"},
{"code": "CA", "description": "Canada"}, {"code": "CA", "description": "Canada"},
] ]
+2 -1
View File
@@ -19,11 +19,12 @@ from .subscription_generative import SubscriptionGenerative
from .generative_results import GenerativeResults from .generative_results import GenerativeResults
from .office_users import OfficeUsers from .office_users import OfficeUsers
from .custom_templates import CustomTemplates from .custom_templates import CustomTemplates
from .country import Country
__all__ = ['Members', 'Account', 'Products', __all__ = ['Members', 'Account', 'Products',
'MembersProducts', 'MembersActions', 'MembersPending', 'ProductsDetails', 'MembersProducts', 'MembersActions', 'MembersPending', 'ProductsDetails',
'ProvisionActions', 'MembersProductsRefresh', 'MembersProductsSettings', 'ProvisionActions', 'MembersProductsRefresh', 'MembersProductsSettings',
'PasswordReset', 'MembersProfile', 'SubscriptionOptions', 'SubscriptionOptionsItems', 'PasswordReset', 'MembersProfile', 'SubscriptionOptions', 'SubscriptionOptionsItems',
'ProductsTemplates', 'Payments', 'PaymentsSession', 'SubscriptionGenerative', 'GenerativeResults', 'ProductsTemplates', 'Payments', 'PaymentsSession', 'SubscriptionGenerative', 'GenerativeResults',
'CustomTemplates', 'CustomTemplates','Country',
'OfficeUsers'] 'OfficeUsers']
+50
View File
@@ -0,0 +1,50 @@
from datetime import datetime, timezone, timedelta
from app.extensions import db
from sqlalchemy.orm import relationship
from sqlalchemy.sql import func
class Country(db.Model):
__tablename__ = 'country'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
uid = db.Column(db.String(150), nullable=False)
code = db.Column(db.String(2), nullable=False)
description = db.Column(db.String(100), nullable=False)
status = db.Column(db.Integer, nullable=False, default=0)
signup = db.Column(db.Integer, nullable=False, default=0)
added = db.Column(db.DateTime(timezone=True), server_default=func.now())
@classmethod
def get_signup_countries(cls, signup):
country_list = cls.query.filter_by(signup=signup).order_by(cls.description.asc()).all()
if not country_list:
return None
return country_list
def to_dict(self):
return {
"id": self.id,
"uid": str(self.uid),
"code": self.code,
"description": self.description,
"status": self.status,
"signup": self.signup,
"added": self.added.isoformat() if self.added else None
}
'''
CREATE TABLE country (
id SERIAL,
uid uuid DEFAULT uuid_generate_v4(),
code VARCHAR(2) UNIQUE NOT NULL,
description VARCHAR(100) UNIQUE NOT NULL,
status INT DEFAULT 0,
signup INT DEFAULT 0,
added timestamp without time zone DEFAULT now()
);
ALTER TABLE ONLY country
ADD CONSTRAINT country_id_key UNIQUE (id);
'''