Added simple code documentation
This commit is contained in:
		
							parent
							
								
									afc9db32e4
								
							
						
					
					
						commit
						2a2783fd09
					
				| @ -7,6 +7,17 @@ class CartService: | ||||
| 
 | ||||
| 	@staticmethod | ||||
| 	def add_to_cart(user_id: str, product_id: int, count: int) -> Tuple[Union[dict, str], int]: | ||||
| 		""" | ||||
| 		Adds a product to a user's cart. | ||||
| 
 | ||||
| 		:param user_id: User ID. | ||||
| 		:type user_id: str | ||||
| 		:param product_id: ID of product to be added. | ||||
| 		:type product_id: int | ||||
| 		:return: Tuple containing a dictionary with a token and an HTTP status code. | ||||
| 		:rtype: Tuple[Union[dict, str], int] | ||||
| 		""" | ||||
| 
 | ||||
| 		try: | ||||
| 			with db_connection.cursor(dictionary=True) as cursor: | ||||
| 				cursor.execute("select count from cart_item where cart_id = %s and product_id = %s", (user_id, product_id)) | ||||
| @ -26,6 +37,19 @@ class CartService: | ||||
| 
 | ||||
| 	@staticmethod | ||||
| 	def update_count(user_id: str, product_id: int, count: int) -> Tuple[Union[dict, str], int]: | ||||
| 		""" | ||||
| 		Updates count of products in user's cart | ||||
| 
 | ||||
| 		:param user_id: User ID. | ||||
| 		:type user_id: str | ||||
| 		:param product_id: ID of product to be updated. | ||||
| 		:type product_id: int | ||||
| 		:param count: New count of products | ||||
| 		:type count: int | ||||
| 		:return: Tuple containing a dictionary with a token and an HTTP status code. | ||||
| 		:rtype: Tuple[Union[dict, str], int] | ||||
| 		""" | ||||
| 
 | ||||
| 		try: | ||||
| 			if count <= 0: | ||||
| 				return CartService.delete_from_cart(user_id, product_id) | ||||
| @ -41,6 +65,18 @@ class CartService: | ||||
| 
 | ||||
| 	@staticmethod | ||||
| 	def delete_from_cart(user_id: str, product_id: int) -> Tuple[Union[dict, str], int]: | ||||
| 		""" | ||||
| 		Completely deletes an item from a user's cart | ||||
| 
 | ||||
| 		:param user_id: User ID. | ||||
| 		:type user_id: str | ||||
| 		:param product_id: ID of product to be updated. | ||||
| 		:type product_id: int | ||||
| 		:return: Tuple containing a dictionary with a token and an HTTP status code. | ||||
| 		:rtype: Tuple[Union[dict, str], int] | ||||
| 		""" | ||||
| 
 | ||||
| 
 | ||||
| 		try: | ||||
| 			with db_connection.cursor() as cursor: | ||||
| 				cursor.execute("delete from cart_item where cart_id = %s and product_id = %s", (user_id, product_id)) | ||||
| @ -53,6 +89,15 @@ class CartService: | ||||
| 
 | ||||
| 	@staticmethod | ||||
| 	def show_cart(user_id: str) -> Tuple[Union[dict, str], int]: | ||||
| 		""" | ||||
| 		Gives the user the content of their cart | ||||
| 		 | ||||
| 		:param user_id: User ID. | ||||
| 		:type user_id: str | ||||
| 		:return: Tuple containing a dictionary with a token and an HTTP status code. | ||||
| 		:rtype: Tuple[Union[dict, str], int] | ||||
| 		""" | ||||
| 
 | ||||
| 		try: | ||||
| 			with db_connection.cursor(dictionary=True) as cursor: | ||||
| 				cursor.execute("select product.name as product_name, count, price_subtotal, date_added from cart_item inner join product on cart_item.product_id = product.id where cart_item.cart_id = %s", (user_id,)) | ||||
| @ -78,6 +123,15 @@ class CartService: | ||||
| 
 | ||||
| 	@staticmethod | ||||
| 	def purchase(user_id: str) -> Tuple[Union[dict, str], int]: | ||||
| 		""" | ||||
| 		"Purchases" the contents of user's cart | ||||
| 
 | ||||
| 		:param user_id: User ID. | ||||
| 		:type user_id: str | ||||
| 		:return: Tuple containing a dictionary with a token and an HTTP status code. | ||||
| 		:rtype: Tuple[Union[dict, str], int] | ||||
| 		""" | ||||
| 		 | ||||
| 		try: | ||||
| 			with db_connection.cursor(dictionary=True) as cursor: | ||||
| 				# get all cart items | ||||
|  | ||||
| @ -11,6 +11,13 @@ class ProductService: | ||||
| 
 | ||||
| 	@staticmethod | ||||
| 	def get_products(page: int): | ||||
| 		""" | ||||
| 		Fetches 10 products | ||||
| 
 | ||||
| 		:param page: Page, aka offset of fetching | ||||
| 		:type page: int | ||||
| 		""" | ||||
| 		 | ||||
| 		try: | ||||
| 			with db_connection.cursor(dictionary=True) as cursor: | ||||
| 				 | ||||
| @ -39,6 +46,15 @@ class ProductService: | ||||
| 
 | ||||
| 	@staticmethod | ||||
| 	def get_product_info(fields: list[str], product_id: int): | ||||
| 		""" | ||||
| 		Fetches specific product info | ||||
| 
 | ||||
| 		:param fields: array of fields that can be fetched | ||||
| 		:type fields: list[str] | ||||
| 		:param product_id: ID of product to be updated. | ||||
| 		:type product_id: int | ||||
| 		""" | ||||
| 
 | ||||
| 		try: | ||||
| 			with db_connection.cursor(dictionary=True) as cursor: | ||||
| 				fields_to_sql = { | ||||
| @ -79,6 +95,17 @@ class ProductService: | ||||
| 
 | ||||
| 	@staticmethod | ||||
| 	def create_listing(seller_id: str, name: str, price: float): | ||||
| 		""" | ||||
| 		Creates a new product listing | ||||
| 
 | ||||
| 		:param seller_id: User ID | ||||
| 		:type seller_id: str | ||||
| 		:param name: New product's name | ||||
| 		:type name: str | ||||
| 		:param price: New product's price | ||||
| 		:type price: float | ||||
| 		""" | ||||
| 		 | ||||
| 		try: | ||||
| 			with db_connection.cursor() as cursor: | ||||
| 				rounded_price = round(price, 2) | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user