def get_experiment(app_id, slug): SQL = """ SELECT E.* FROM ab_experiment E WHERE E.app_id = %s AND UPPER(E.slug) = UPPER(%s) """ return db.fetchone(SQL, [app_id, slug])
def get_dev_mode(app_id, user_id, date_updated): SQL = """ SELECT D.* FROM dashboard_developmentmode D WHERE D.app_id = %s AND D.user_id = %s AND D.date_updated > %s """ return db.fetchone(SQL, [app_id, user_id, date_updated])
def get_app_version_for_bundle_version(app_id, bundle_version): SQL = """ SELECT V.version FROM dashboard_version V WHERE app_id = %s AND (V.max_bundle <= %s OR V.max_bundle = '') AND (V.min_bundle >= %s OR V.min_bundle = '') ORDER BY V.version DESC """ # Normalize the bundle version try: split_bundle = bundle_version.split('.') if not len(split_bundle) == 3: raise ValueError('Bundle is not three points') split_bundle = map(int, split_bundle) norm = '.'.join([str(i).zfill(5) for i in split_bundle]) except ValueError: norm = '' resp = db.fetchone(SQL, [app_id, norm, norm]) if resp: return resp['version'] return 0
def get_user_from_creds(username, password): SQL = "SELECT U.* FROM auth_user U WHERE UPPER(U.username) = UPPER(%s)" user = db.fetchone(SQL, [username]) if user is None: return None if not check_password(password, user['password']): return None return user
def get_app_from_key(key): SQL = """ SELECT A.* FROM dashboard_app A LEFT JOIN dashboard_appkey K ON (K.app_id = A.id) WHERE K.key = %s AND K.status = 'active' """ return db.fetchone(SQL, [key])
def get_app_from_user_and_slug(user_id, slug): SQL = """ SELECT A.* FROM dashboard_app A WHERE UPPER(A.slug) = UPPER(%s) AND A.id IN ( SELECT M.app_id FROM dashboard_member M where M.user_id = %s ) """ return db.fetchone(SQL, [slug, user_id])
def get_latest_app_version(app_id): SQL = """ SELECT V.version FROM dashboard_version V WHERE V.app_id = %s ORDER BY v.version DESC LIMIT 1 """ resp = db.fetchone(SQL, [app_id]) if resp is None: return None return resp['version']
def get_device_for_udid_and_app(udid, app_id): SQL = """ SELECT D.*, U.username, U.email FROM dashboard_device D LEFT JOIN auth_user U ON (U.id = D.user_id) WHERE D.udid = %s AND D.user_id IN ( SELECT M.user_id FROM dashboard_member M WHERE M.app_id = %s ) LIMIT 1 """ return db.fetchone(SQL, [udid, app_id])
def get_user_from_id(user_id): SQL = "SELECT U.* FROM auth_user U WHERE U.id = %s" return db.fetchone(SQL, [user_id])