diff --git a/modules/api/metaprofile/baseurl.py b/modules/api/metaprofile/baseurl.py new file mode 100644 index 0000000..86e1858 --- /dev/null +++ b/modules/api/metaprofile/baseurl.py @@ -0,0 +1,139 @@ +import mysql.connector as mariadb + +from config import database +from scripts import loggorilla + +import datetime + +class baseurl: + + def __init__(self): + self.db_main = mariadb.connect(**database.db_main) + self.cursor = self.db_main.cursor(dictionary=True) + + def add(self, params): + APIADDR = "/api/metaprofile/baseurl/add" + response = {} + loggorilla.prcss(APIADDR, "Define Models") + metaprofile = params["metaprofile" ] + name = params["name" ] + url = params["url" ] + self.cursor.execute("BEGIN;") + try: + loggorilla.prcss(APIADDR, "Activity: Insert") + self.cursor.execute("INSERT INTO `metaprofile_baseurl` VALUES (DEFAULT, %s, %s, %s) ;", (metaprofile, name, url) ) + loggorilla.prcss(APIADDR, "Set Response") + response["status" ] = "success" + response["desc" ] = "data updated" + except Exception as e: + self.cursor.execute("ROLLBACK;") + loggorilla.error(APIADDR, str(e) ) + loggorilla.prcss(APIADDR, "Set Response") + response["status" ] = "failed" + response["desc" ] = "Internal Server Error. Please contact us if you still have an error." + finally: + self.cursor.execute("COMMIT;") + self.cursor.close() + self.db_main.close() + return response + + def list(self, params): + APIADDR = "/api/metaprofile/baseurl/list" + response = {} + loggorilla.prcss(APIADDR, "Define Models") + key = params["key" ] + self.cursor.execute("BEGIN;") + try: + self.cursor.execute("select `id`, `name`, `url` from `metaprofile_baseurl` where `metaprofile` = %s ;", (key,) ) + row = self.cursor.fetchall() + loggorilla.prcss(APIADDR, "Set Response") + response["status" ] = "success" + response["desc" ] = "data collected" + response["data" ] = row + except Exception as e: + self.cursor.execute("ROLLBACK;") + loggorilla.error(APIADDR, str(e) ) + loggorilla.prcss(APIADDR, "Set Response") + response["status" ] = "failed" + response["desc" ] = "Internal Server Error. Please contact us if you still have an error." + finally: + self.cursor.execute("COMMIT;") + self.cursor.close() + self.db_main.close() + return response + + def detail(self, params): + APIADDR = "/api/metaprofile/baseurl/detail" + response = {} + loggorilla.prcss(APIADDR, "Define Models") + key = params["key" ] + self.cursor.execute("BEGIN;") + try: + self.cursor.execute("select `id`, `metaprofile`, `name`, `url` from `metaprofile_baseurl` where `id` = %s ;", (key,) ) + row = self.cursor.fetchone() + loggorilla.prcss(APIADDR, "Set Response") + response["status" ] = "success" + response["desc" ] = "data collected" + response["data" ] = row + except Exception as e: + self.cursor.execute("ROLLBACK;") + loggorilla.error(APIADDR, str(e) ) + loggorilla.prcss(APIADDR, "Set Response") + response["status" ] = "failed" + response["desc" ] = "Internal Server Error. Please contact us if you still have an error." + finally: + self.cursor.execute("COMMIT;") + self.cursor.close() + self.db_main.close() + return response + + def edit(self, params): + APIADDR = "/api/metaprofile/baseurl/edit" + response = {} + loggorilla.prcss(APIADDR, "Define Models") + key = params["key" ] + name = params["name" ] + url = params["url" ] + self.cursor.execute("BEGIN;") + try: + loggorilla.prcss(APIADDR, "Activity: Update") + self.cursor.execute("UPDATE `metaprofile_baseurl` SET `name` = %s, `url` = %s WHERE `id` = %s ;", (name, url, key) ) + loggorilla.prcss(APIADDR, "Set Response") + response["status" ] = "success" + response["desc" ] = "data updated" + except Exception as e: + self.cursor.execute("ROLLBACK;") + loggorilla.error(APIADDR, str(e) ) + loggorilla.prcss(APIADDR, "Set Response") + response["status" ] = "failed" + response["desc" ] = "Internal Server Error. Please contact us if you still have an error." + finally: + self.cursor.execute("COMMIT;") + self.cursor.close() + self.db_main.close() + return response + + def remove(self, params): + APIADDR = "/api/metaprofile/baseurl/remove" + response = {} + loggorilla.prcss(APIADDR, "Define Models") + key = params["key" ] + self.cursor.execute("BEGIN;") + try: + loggorilla.prcss(APIADDR, "Activity: Remove") + self.cursor.execute("DELETE FROM `metaprofile_baseurl` WHERE `id` = %s ;", (key,) ) + loggorilla.prcss(APIADDR, "Set Response") + response["status" ] = "success" + response["desc" ] = "data updated" + except Exception as e: + self.cursor.execute("ROLLBACK;") + loggorilla.error(APIADDR, str(e) ) + loggorilla.prcss(APIADDR, "Set Response") + response["status" ] = "failed" + response["desc" ] = "Internal Server Error. Please contact us if you still have an error." + finally: + self.cursor.execute("COMMIT;") + self.cursor.close() + self.db_main.close() + return response +