Compare commits
	
		
			No commits in common. "a50f9ab69a80319c44fe7c537a9b03dab3ec999f" and "dfa0c522478a358229573def1eceb7a1b90ec2f5" have entirely different histories.
		
	
	
		
			a50f9ab69a
			...
			dfa0c52247
		
	
		
@ -1,139 +0,0 @@
 | 
			
		||||
import  mysql.connector         as      mariadb
 | 
			
		||||
 | 
			
		||||
from	bottle			import	request
 | 
			
		||||
from    config                  import  database
 | 
			
		||||
from	scripts			import	loggorilla
 | 
			
		||||
 | 
			
		||||
class category:
 | 
			
		||||
 | 
			
		||||
    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/highlight/category/add"
 | 
			
		||||
        response        = {}
 | 
			
		||||
        loggorilla.prcss(APIADDR, "Define Models")
 | 
			
		||||
        title		= params["title"	]
 | 
			
		||||
        desc		= params["desc"		]
 | 
			
		||||
        background	= params["background"	]
 | 
			
		||||
        illustration	= params["illustration"	]
 | 
			
		||||
        self.cursor.execute("BEGIN;")
 | 
			
		||||
        try:
 | 
			
		||||
            loggorilla.prcss(APIADDR, "Activity: Insert")
 | 
			
		||||
            self.cursor.execute("INSERT INTO `highlight_category` VALUES (DEFAULT, %s, %s, %s, %s ) ;", (title, desc, background, illustration) )
 | 
			
		||||
            loggorilla.prcss(APIADDR, "Set Response")
 | 
			
		||||
            response["status"   ] = "success"
 | 
			
		||||
            response["desc"     ] = "data added"
 | 
			
		||||
        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/highlight/category/list"
 | 
			
		||||
        response        = {}
 | 
			
		||||
        self.cursor.execute("BEGIN;")
 | 
			
		||||
        try:
 | 
			
		||||
            self.cursor.execute("SELECT * FROM `highlight_category`;")
 | 
			
		||||
            ls = self.cursor.fetchall()
 | 
			
		||||
            loggorilla.prcss(APIADDR, "Set Response")
 | 
			
		||||
            response["status"   ] = "success"
 | 
			
		||||
            response["desc"     ] = "data collected"
 | 
			
		||||
            response["data"     ] = ls
 | 
			
		||||
        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/highlight/category/detail"
 | 
			
		||||
        response        = {}
 | 
			
		||||
        loggorilla.prcss(APIADDR, "Define Models")
 | 
			
		||||
        id		= params["id"	]
 | 
			
		||||
        self.cursor.execute("BEGIN;")
 | 
			
		||||
        try:
 | 
			
		||||
            self.cursor.execute("SELECT * FROM `highlight_category` WHERE `id` = %s ; ", (id,) )
 | 
			
		||||
            d = self.cursor.fetchone()
 | 
			
		||||
            loggorilla.prcss(APIADDR, "Set Response")
 | 
			
		||||
            response["status"   ] = "success"
 | 
			
		||||
            response["desc"     ] = "data collected"
 | 
			
		||||
            response["data"     ] = d
 | 
			
		||||
        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/highlight/category/edit"
 | 
			
		||||
        response        = {}
 | 
			
		||||
        loggorilla.prcss(APIADDR, "Define Models")
 | 
			
		||||
        id		= params["id"		]
 | 
			
		||||
        title		= params["title"	]
 | 
			
		||||
        desc		= params["desc"		]
 | 
			
		||||
        background	= params["background"	]
 | 
			
		||||
        illustration	= params["illustration"	]
 | 
			
		||||
        self.cursor.execute("BEGIN;")
 | 
			
		||||
        try:
 | 
			
		||||
            loggorilla.prcss(APIADDR, "Activity: Update")
 | 
			
		||||
            self.cursor.execute("UPDATE `highlight_category` SET `title` = %s, `desc` = %s, `background` = %s, `illustration` = %s WHERE `id` = %s ; ", (title, desc, background, illustration, id) )
 | 
			
		||||
            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/highlight/category/remove"
 | 
			
		||||
        response        = {}
 | 
			
		||||
        loggorilla.prcss(APIADDR, "Define Models")
 | 
			
		||||
        id		= params["id"		]
 | 
			
		||||
        self.cursor.execute("BEGIN;")
 | 
			
		||||
        try:
 | 
			
		||||
            loggorilla.prcss(APIADDR, "Activity: Remove")
 | 
			
		||||
            self.cursor.execute("DELETE FROM `highlight_category` WHERE `id` = %s ; ", (id,) )
 | 
			
		||||
            loggorilla.prcss(APIADDR, "Set Response")
 | 
			
		||||
            response["status"   ] = "success"
 | 
			
		||||
            response["desc"     ] = "data removed"
 | 
			
		||||
        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
 | 
			
		||||
 | 
			
		||||
@ -1,64 +0,0 @@
 | 
			
		||||
-- README
 | 
			
		||||
-- idx_ = index
 | 
			
		||||
-- fk_  = foreign
 | 
			
		||||
-- Create an index for fast lookups
 | 
			
		||||
-- Defining constraints separately for better readability & maintainability
 | 
			
		||||
 | 
			
		||||
-- Item table
 | 
			
		||||
 | 
			
		||||
create table if not exists `catalog_item` (
 | 
			
		||||
	`id`			int(11)			not null auto_increment primary key,
 | 
			
		||||
	name 			varchar(36) 	not null
 | 
			
		||||
) engine=InnoDB default charset=utf8mb4;
 | 
			
		||||
 | 
			
		||||
-- Main table
 | 
			
		||||
 | 
			
		||||
create table if not exists `highlight_category` (
 | 
			
		||||
	`id`			int(11)			not null auto_increment primary key,
 | 
			
		||||
	`title`			longtext		not null,
 | 
			
		||||
	`desc`			longtext		default null,
 | 
			
		||||
	`background`	longtext		default null,
 | 
			
		||||
	`illustration`	longtext		default null
 | 
			
		||||
) engine=InnoDB default charset=utf8mb4;
 | 
			
		||||
 | 
			
		||||
-- Bridge table
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
create table if not exists `highlight_<item>` (
 | 
			
		||||
	`id`			int(11)			not null auto_increment primary key,
 | 
			
		||||
	`<fk>`			int(11)			not null,
 | 
			
		||||
	`category`		int(11)			not null,
 | 
			
		||||
	key				`idx_<fk>`		(`<fk>`),
 | 
			
		||||
	key				`idx_category`	(`category`),
 | 
			
		||||
	constraint		`highlight_<item>_fk_<fk>`
 | 
			
		||||
		foreign key (`<fk>`) references `<table>` (`<pk>`)
 | 
			
		||||
		on update cascade
 | 
			
		||||
		on delete cascade,
 | 
			
		||||
	constraint		`highlight_videdu_fk_category`
 | 
			
		||||
		foreign key (`category`) references `highlight_category` (`id`)
 | 
			
		||||
		on update cascade
 | 
			
		||||
		on delete cascade
 | 
			
		||||
) engine=InnoDB default charset=utf8mb4;
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
-- <item> 	= Your reference module name	: "catalog"			[2]
 | 
			
		||||
-- <fk> 	= Your FK field name 			: "item"			[5]
 | 
			
		||||
-- <table> 	= Your reference table name 	: "catalog_item"	[1]
 | 
			
		||||
-- <pk> 	= Your reference table PK 		: "id"				[1]
 | 
			
		||||
 | 
			
		||||
create table if not exists `highlight_catalog` (
 | 
			
		||||
	`id`			int(11)			not null auto_increment primary key,
 | 
			
		||||
	`item`			int(11)			not null,
 | 
			
		||||
	`category`		int(11)			not null,
 | 
			
		||||
	key				`idx_item`		(`item`),
 | 
			
		||||
	key				`idx_category`	(`category`),
 | 
			
		||||
	constraint		`highlight_catalog_fk_item`
 | 
			
		||||
		foreign key (`item`) references `catalog_item` (`id`)
 | 
			
		||||
		on update cascade
 | 
			
		||||
		on delete cascade,
 | 
			
		||||
	constraint		`highlight_videdu_fk_category`
 | 
			
		||||
		foreign key (`category`) references `highlight_category` (`id`)
 | 
			
		||||
		on update cascade
 | 
			
		||||
		on delete cascade
 | 
			
		||||
) engine=InnoDB default charset=utf8mb4;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user