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 marshmallow import ValidationError
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 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"])
except:
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 = {
"last_update": datetime.datetime.utcnow(),
"list": [
"list": country_list,
"lists": [
{"code": "US", "description": "United States"},
{"code": "CA", "description": "Canada"},
]
+2 -1
View File
@@ -19,11 +19,12 @@ from .subscription_generative import SubscriptionGenerative
from .generative_results import GenerativeResults
from .office_users import OfficeUsers
from .custom_templates import CustomTemplates
from .country import Country
__all__ = ['Members', 'Account', 'Products',
'MembersProducts', 'MembersActions', 'MembersPending', 'ProductsDetails',
'ProvisionActions', 'MembersProductsRefresh', 'MembersProductsSettings',
'PasswordReset', 'MembersProfile', 'SubscriptionOptions', 'SubscriptionOptionsItems',
'ProductsTemplates', 'Payments', 'PaymentsSession', 'SubscriptionGenerative', 'GenerativeResults',
'CustomTemplates',
'CustomTemplates','Country',
'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);
'''