This commit is contained in:
CHIEFSOFT\ameye
2025-08-12 11:59:47 -04:00
parent 14a5e6101a
commit 77f1028c70
7 changed files with 124 additions and 3 deletions
+2
View File
@@ -45,6 +45,8 @@ ALTER TABLE members ADD lastname VARCHAR(25);
ALTER TABLE members ALTER COLUMN password TYPE VARCHAR(250);
ALTER TABLE members ADD country VARCHAR(3);
ALTER TABLE members ADD stripe_customer_id VARCHAR(100)
ALTER TABLE members ADD profile_completed timestamp without time zone DEFAULT NULL;
-- UPDATE members SET account_name ='This is the account name';
+2 -1
View File
@@ -10,7 +10,8 @@ from app.api.services import (
OfficeAuthService,
OfficeDashboardService,
WebContentsService,
SubscriptionService
SubscriptionService,
CommonDataService
)
from app.utils.logger import logger
from app.api.middlewares import enforce_json, require_auth
+1 -1
View File
@@ -17,4 +17,4 @@ from app.api.services.office_auth import OfficeAuthService
from app.api.services.office_dashboard import OfficeDashboardService
from app.api.services.web_contents import WebContentsService
from app.api.services.subscription import SubscriptionService
from app.api.services.common_data import CommonDataService
+99
View File
@@ -0,0 +1,99 @@
from flask import jsonify
from app.utils.logger import logger
from app.api.services.base_service import BaseService
from sqlalchemy import func, desc
from app.api.helpers.response_helper import ResponseHelper
from app.api.schemas.user import UserSchema
from app.models import Members
from app.extensions import db
class CommonDataService(BaseService):
@staticmethod
def available_practices(data):
try:
with db.session.begin():
validated_data = CommonDataService.validate_data(data, UserSchema())
token = validated_data.get('token')
uid = validated_data.get('uid')
member_data = Members.get_member_by_uid(uid)
member_id = member_data.id
available_practices_data = {
{
"type": "Physician",
"specialties": [
"General Practitioner",
"Cardiologist",
"Dermatologist",
"Pediatrician",
"Surgeon",
"Oncologist",
"Neurologist",
"Psychiatrist",
"Radiologist",
"Anesthesiologist"
]
},
{
"type": "Nurse",
"specialties": [
"Registered Nurse (RN)",
"Nurse Practitioner (NP)",
"Licensed Practical Nurse (LPN)",
"Certified Nursing Assistant (CNA)",
"Clinical Nurse Specialist (CNS)"
]
},
{
"type": "Dentist",
"specialties": [
"General Dentist",
"Orthodontist",
"Oral Surgeon",
"Periodontist",
"Endodontist"
]
},
{
"type": "Pharmacist",
"specialties": [
"Retail Pharmacist",
"Hospital Pharmacist",
"Clinical Pharmacist",
"Compounding Pharmacist"
]
},
{
"type": "Therapist",
"specialties": [
"Physical Therapist (PT)",
"Occupational Therapist (OT)",
"Speech-Language Pathologist (SLP)",
"Psychotherapist",
"Massage Therapist"
]
},
{
"type": "Other Allied Health Professional",
"specialties": [
"Medical Assistant",
"Phlebotomist",
"Radiologic Technologist",
"Dietitian/Nutritionist",
"Optometrist",
"Chiropractor",
"Podiatrist",
"Medical Laboratory Scientist"
]
}
}
return ResponseHelper.success(data=available_practices_data)
except Exception as e:
logger.error(f"An error occurred while getting dashboard data: {str(e)}", exc_info=True)
return jsonify({"message": "Internal Server Error"}), 500
+1
View File
@@ -245,6 +245,7 @@ class LoginService(BaseService):
"firstname":member.firstname,
"lastname": member.lastname,
"room": member.uid,
"profile_completed": member.profile_completed,
"token": user_token
}
padded_member_id = str(member.id).zfill(6)
+17 -1
View File
@@ -21,22 +21,34 @@ class SubscriptionService(BaseService):
subscription_products_data = {
"current_product": {
"display_name": "Current Subscriptions",
"display_name": "Subscriptions",
"subs":[
'Post Jobs',
'advanced instructors search',
'invite candidates',
'post events',
'Cancel anythime'
],
"next_payment":'2025-10-15 11:00:07.47214'
},
"options": {
"starter":{
"package_uid" : "cd2c0a4d-9ad4-472e-96f5-28d10c06916f",
"display_name" : "Starter",
"monthly" : 5.99,
"items" : ['Post Jobs','advanced instructors search','invite candidates','post events',
'Cancel anythime']
},
"basic": {
"package_uid": "ef2ffa1c-9272-42cd-9d33-0e614047b4f8",
"display_name": "Basic",
"monthly": 12.99,
"items": ['Post Jobs', 'advanced instructors search', 'invite candidates', 'post events',
'Cancel anythime']
},
"premium": {
"package_uid": "64bf48f6-1e7f-402e-8ff0-76f4ce0f2055",
"display_name": "Premium",
"monthly": 20.99,
"items": ['Post Jobs', 'advanced instructors search', 'invite candidates', 'post events',
@@ -52,3 +64,7 @@ class SubscriptionService(BaseService):
logger.error(f"An error occurred while getting dashboard data: {str(e)}", exc_info=True)
return jsonify({"message": "Internal Server Error"}), 500
#
#
#
+2
View File
@@ -21,11 +21,13 @@ class Members(db.Model):
firstname = db.Column(db.String(25), nullable=False)
lastname = db.Column(db.String(100), nullable=True)
country = db.Column(db.String(3), nullable=True)
profile_completed = db.Column(db.DateTime(timezone=False))
def to_dict(self):
return {
"id": self.id,
"uid": str(self.uid),
"profile_completed": self.profile_completed,
"username": self.account_id,
"account_id": self.username,
"password": self.password,