def get_app_param(param_id: str): app_param: AppParamsModel = AppParamsModel.find_by_id(param_id) if not app_param: raise EntityNotFound( "The param_id = {} is not valid.".format(param_id)) return response.model_to_response(app_param)
def get_user_by_username(username: str): user = UserModel.find_by_username(username) if user: return response.model_to_response(user) return response.empty_response()
def get_users(): all_users: List[UserModel] = UserModel.get_all() if all_users: return response.model_to_response(all_users) return response.empty_response()
def user_self_update(user: dict): # update user updated_user = UserModel.update_user(user, current_user.id, is_self_update=True) if not updated_user: raise PermissionDenied( "Either, this user don't exists or you are trying to update someone that is not you." ) if updated_user.save(): return response.model_to_response(updated_user) return response.empty_response()
def login(username=None, password=None): user = UserModel.find_by_username(username) if user and user.has_valid_password(password): # create a token for user. token_model = TokenModel.find_by_user_id(user.id) if not token_model: # create if token don't exist. token_model = TokenModel.create_token(user.id) if token_model.save(): app_logger.info("User {} logged in successfully.".format(username)) return response.model_to_response(user) else: app_logger.warning("User {} fail to login.".format(username)) return response.empty_response() app_logger.info("User {} has bad credentials.".format(username)) return response.empty_response()
def get_roles(): roles: List[RoleModel] = RoleModel.get_all(order_by=RoleModel.label) if roles: return response.model_to_response(roles) return response.empty_response()
def get_station(station_id: str): station = StationModel.find_by_id(station_id) if station: return response.model_to_response(station) return response.empty_response()
def get_user(user_id: str): user: UserModel = UserModel.find_by_id(user_id) if user: return response.model_to_response(user) return response.empty_response()
def get_target_folders(): target_folders = TargetFolderModel.get_all() return response.model_to_response(target_folders)
def save_target_folder(target_folder: TargetFolderModel): target_folder = TargetFolderModel.save_target_folder(target_folder) return response.model_to_response(target_folder)
def search(user_search: Search): search_result: SearchResult = UserModel.search(user_search) return response.model_to_response(search_result)
def search_stations(station_search: Search): search_result: SearchResult = StationModel.search(station_search) return response.model_to_response(search_result)
def get_data_loggers(): dataloggers = EquipmentModel.find_by(type="Datalogger", order_by=EquipmentModel.manufactory, get_first=False) return response.model_to_response(dataloggers)
def search_data(seismic_search: SeismicDataSearch): search_result = SeismicDataModel.join_search(seismic_search) return response.model_to_response(search_result)
def get_equipments_types(): eq_tags = EquipmentTypeModel.get_all(order_by=EquipmentTypeModel.type_id) return response.model_to_response(eq_tags)
def get_networks(): networks = NetworkModel.get_all(order_by=NetworkModel.id) return response.model_to_response(networks)
def get_attached_to_station(station_id: str): attached_list = StationAttachedFileModel.find_by(station_id=station_id, get_first=False) if attached_list: return response.model_to_response(attached_list) return response.empty_response()
def search_channels(station_search: Search): search_result: SearchResult = ChannelModel.search(station_search) return response.model_to_response(search_result)
def search_locations(location_search: Search): print(location_search) search_result: SearchResult = LocationModel.search(location_search) return response.model_to_response(search_result)
def get_rights(): rights: List[RightModel] = RightModel.get_all(order_by=RightModel.label) if rights: return response.model_to_response(rights) return response.empty_response()
def get_app_params(): app_params = AppParamsModel.get_all(order_by=AppParamsModel.param_id) return response.model_to_response(app_params)
def get_data_sensors(): sensors = EquipmentModel.find_by(type="Sensor", order_by=EquipmentModel.name, get_first=False) return response.model_to_response(sensors)
def get_location_model(location_id: str): location = LocationModel.find_by_id(location_id) if location: return response.model_to_response(location) return response.empty_response()
def get_location(lat, long): location = GeoCoder().get_location(lat, long) return response.model_to_response(location)
def get_channel(channel_id: str): channel = ChannelModel.find_by_id(channel_id) if channel: return response.model_to_response(channel) return response.empty_response()