Commit 79e87809 authored by shreya.m's avatar shreya.m

save part is done

parent abd27efe
...@@ -129,3 +129,11 @@ class TagHierarchyKeys: ...@@ -129,3 +129,11 @@ class TagHierarchyKeys:
KEY_ASSET_MODEL_ID = "asset_model_id" KEY_ASSET_MODEL_ID = "asset_model_id"
KEY_ASSET_VERSION = "asset_version" KEY_ASSET_VERSION = "asset_version"
KEY_additional_fields = "additional_fields" KEY_additional_fields = "additional_fields"
class CommonKeys:
KEY_CREATED_BY = "created_by"
KEY_CREATED_TIME = "created_at"
KEY_COMPLETED_AT = "completed_at"
KEY_UPDATED_AT = "updated_by"
KEY_LAST_UPDATED_TIME = "updated_at"
...@@ -3,6 +3,7 @@ import traceback ...@@ -3,6 +3,7 @@ import traceback
from scripts.db.mongo.ilens_assistant.collection.tag_instance_data import TagInstanceData from scripts.db.mongo.ilens_assistant.collection.tag_instance_data import TagInstanceData
from scripts.schemas.batch_oee import GetOeeServices from scripts.schemas.batch_oee import GetOeeServices
from scripts.logging import logger from scripts.logging import logger
from scripts.utils.common_utils import CommonUtils
from scripts.utils.mongo_util import MongoCollectionBaseClass from scripts.utils.mongo_util import MongoCollectionBaseClass
from scripts.schemas.oee_config_schema import Oee_Tag_Mapping_List, Get_Oee_Tag, Update_Oee_Tags, Get_Project_Id from scripts.schemas.oee_config_schema import Oee_Tag_Mapping_List, Get_Oee_Tag, Update_Oee_Tags, Get_Project_Id
from scripts.constants import CommonKeys from scripts.constants import CommonKeys
...@@ -12,47 +13,40 @@ from scripts.utils.mongo_util import MongoCollectionBaseClass ...@@ -12,47 +13,40 @@ from scripts.utils.mongo_util import MongoCollectionBaseClass
from scripts.schemas import mongo_schema from scripts.schemas import mongo_schema
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
from scripts.constants.db_connections import mongo_client from scripts.constants.db_connections import mongo_client
import json
class OeeServices: class OeeServices:
def __init__(self, project_id=None): def __init__(self, project_id=None):
try: try:
self.tag_data_conn = TagInstanceData(mongo_client=mongo_client) self.tag_data_conn = TagInstanceData(mongo_client=mongo_client)
self.common_utils = CommonUtils()
# self.hierarchy = TagInstanceData(mongo_client=mongo_client, project_id=project_id)
except Exception as e: except Exception as e:
raise logger.exception(f"Error while connecting to mongodb {e.args}") raise logger.exception(f"Error while connecting to mongodb {e.args}")
def oee_tag(self, request_data: GetOeeServices,db: Session,user_id): def oee_tag(self, request_data: GetOeeServices, db: Session, user_id):
try: try:
insert_json = {"hierarchy": request_data.hierarchy, insert_json = dict(hierarchy=request_data.hierarchy,
"project_id": request_data.project_id, project_id=request_data.project_id,
"meta": request_data.meta, meta=request_data.meta,
"oee_tag_mapping": request_data.oee_tag_mapping oee_tag_mapping=request_data.oee_tag_mapping
} )
result = self.tag_data_conn.insert_one(data=insert_json) result = self.tag_data_conn.add_tag(insert_json)
if result: return result
logger.info("Data inserted in to mongodb successfully")
else:
logger.info("Unable to insert data in to Mongodb")
except Exception as e: except Exception as e:
raise logger.exception(f"Error occurred while inserting data{e.args}") raise logger.exception(f"Error occurred while inserting data{e}")
def get_oee_tag(self, request_data: GetOeeServices,db:Session): def get_oee_tag(self, request_data: GetOeeServices, db: Session):
try: try:
query = {'project_id': request_data.project_id} result = self.tag_data_conn.find_data_project_id(request_data.project_id)
skips = request_data.page_size * (request_data.page_num - 1) print(result)
no_of_documents = self.tag_data_conn.count_documents(query=query)
result = self.tag_data_conn.find(query=query).skip(skips).limit(request_data.page_num)
if result:
# if skips < no_of_documents:
# return_json["endOfrecords"] = False
# else:
# return_json["endOfrecords"] = True
return result
except Exception as e: except Exception as e:
raise logger.exception(f"Exception occurred while fetching data as {e.args}") raise logger.exception(f"Exception occurred while fetching data as {e}")
def delete_oee_tags(self, request_data: GetOeeServices,db:Session): def delete_oee_tags(self, request_data: GetOeeServices, db: Session):
try: try:
query = {"project_id": request_data.project_id} query = {"project_id": request_data.project_id}
result = self.tag_data_conn.delete_one(query=query) result = self.tag_data_conn.delete_one(query=query)
...@@ -61,7 +55,7 @@ class OeeServices: ...@@ -61,7 +55,7 @@ class OeeServices:
except Exception as e: except Exception as e:
raise logger.exception(f"Exception occurred while fetching data as {e.args}") raise logger.exception(f"Exception occurred while fetching data as {e.args}")
def update_oee_tags(self, request_data: GetOeeServices,db:Session): def update_oee_tags(self, request_data: GetOeeServices, db: Session):
try: try:
query = {"project_id": ['update_oee_tags.project_id']} query = {"project_id": ['update_oee_tags.project_id']}
result = self.tag_data_conn.update_one(query=query) result = self.tag_data_conn.update_one(query=query)
...@@ -69,3 +63,22 @@ class OeeServices: ...@@ -69,3 +63,22 @@ class OeeServices:
return result return result
except Exception as e: except Exception as e:
raise logger.exception(f"Exception occurred while fetching data as {e.args}") raise logger.exception(f"Exception occurred while fetching data as {e.args}")
# query = {'project_id': request_data.project_id}
# skips = request_data.page_size * (request_data.page_num - 1)
# no_of_documents = self.tag_data_conn.count_documents(query=query)
# result = self.tag_data_conn.find(query=query).skip(skips).limit(request_data.page_num)
# if skips < no_of_documents:
# return_json["endOfrecords"] = False
# else:
# return_json["endOfrecords"] = True
# meta = request_data.meta
# updated_meta=meta.update(self.common_utils.get_user_meta(user_id, check_flag=True))
# if request_data.hierarchy:
# self.tag_data_conn.update_hierarchy_data(
# hierarchy=insert_json["hierarchy"],
# data=insert_json, upsert=True)
# return insert_json["hierarchy"]
...@@ -38,8 +38,8 @@ class TagInstanceData(MongoCollectionBaseClass): ...@@ -38,8 +38,8 @@ class TagInstanceData(MongoCollectionBaseClass):
query = {"project": project_id} query = {"project": project_id}
record = self.find_one(query) record = self.find_one(query)
if not record: if not record:
return TagInstanceDataSchema(**dict()) return TagInstanceDataSchema()
return TagInstanceDataSchema(**dict(record)) return record
def find_all_project_instance_data(self, **query): def find_all_project_instance_data(self, **query):
records = self.find(query) records = self.find(query)
...@@ -52,3 +52,24 @@ class TagInstanceData(MongoCollectionBaseClass): ...@@ -52,3 +52,24 @@ class TagInstanceData(MongoCollectionBaseClass):
if not records: if not records:
return list() return list()
return records return records
def update_hierarchy_data(self, hierarchy, data, upsert=False):
query = {"hierarchy": hierarchy}
return self.update_one(data=data, query=query, upsert=upsert)
def get_tag_data(self, query):
record = self.find_one(query)
if not record:
return None
return record
def add_tag(self, data):
self.insert_one(data)
return TagInstanceDataSchema(**data)
def insert_one_tag(self, data):
return self.insert_one(data)
def add_new_tag(self, data):
self.insert_one(data.dict())
return TagInstanceDataSchema(**data.dict()).hierarchy
from scripts.constants import DBConstants from scripts.constants import DBConstants
database = DBConstants.db_metadata database = DBConstants.db_metadata
...@@ -17,13 +17,13 @@ auth = CookieAuthentication() ...@@ -17,13 +17,13 @@ auth = CookieAuthentication()
@oee_config_router.post(Endpoints.api_save_tag) @oee_config_router.post(Endpoints.api_save_tag)
def save_oee_tag(request_data: GetOeeServices, user_id=Depends(auth), db=Depends(get_db), async def save_oee_tag(request_data: GetOeeServices, user_id=Depends(auth), db=Depends(get_db),
meta: MetaInfoSchema = Depends(get_cookies)): meta: MetaInfoSchema = Depends(get_cookies)):
try: try:
oee_services = OeeServices(project_id=meta.project_id) oee_services = OeeServices(project_id=meta.project_id)
result = oee_services.oee_tag(request_data, user_id, db) result = oee_services.oee_tag(request_data, user_id, db)
if result: if result:
return DefaultResponse(message='Oee Tag Saved Successfully', data=result) return DefaultResponse(status="success",message='Oee Tag Saved Successfully', data=result)
except Exception as e: except Exception as e:
tb = traceback.format_exc() tb = traceback.format_exc()
logger.exception(e) logger.exception(e)
...@@ -32,7 +32,7 @@ def save_oee_tag(request_data: GetOeeServices, user_id=Depends(auth), db=Depends ...@@ -32,7 +32,7 @@ def save_oee_tag(request_data: GetOeeServices, user_id=Depends(auth), db=Depends
@oee_config_router.post(Endpoints.api_get_tag) @oee_config_router.post(Endpoints.api_get_tag)
def get_oee_tag(request_data: GetOeeServices, db=Depends(get_db), async def get_oee_tag(request_data: GetOeeServices, db=Depends(get_db),
meta: MetaInfoSchema = Depends(get_cookies)): meta: MetaInfoSchema = Depends(get_cookies)):
try: try:
oee_services = OeeServices(project_id=meta.project_id) oee_services = OeeServices(project_id=meta.project_id)
...@@ -48,7 +48,7 @@ def get_oee_tag(request_data: GetOeeServices, db=Depends(get_db), ...@@ -48,7 +48,7 @@ def get_oee_tag(request_data: GetOeeServices, db=Depends(get_db),
@oee_config_router.post(Endpoints.api_delete_tag) @oee_config_router.post(Endpoints.api_delete_tag)
def delete_oee_tag(request_data: GetOeeServices, db=Depends(get_db), async def delete_oee_tag(request_data: GetOeeServices, db=Depends(get_db),
meta: MetaInfoSchema = Depends(get_cookies)): meta: MetaInfoSchema = Depends(get_cookies)):
try: try:
oee_services = OeeServices(project_id=meta.project_id) oee_services = OeeServices(project_id=meta.project_id)
...@@ -63,7 +63,7 @@ def delete_oee_tag(request_data: GetOeeServices, db=Depends(get_db), ...@@ -63,7 +63,7 @@ def delete_oee_tag(request_data: GetOeeServices, db=Depends(get_db),
@oee_config_router.post(Endpoints.api_update_tag) @oee_config_router.post(Endpoints.api_update_tag)
def update_oee_tag(request_data: GetOeeServices, db=Depends(get_db), async def update_oee_tag(request_data: GetOeeServices, db=Depends(get_db),
meta: MetaInfoSchema = Depends(get_cookies)): meta: MetaInfoSchema = Depends(get_cookies)):
try: try:
oee_services = OeeServices(project_id=meta.project_id) oee_services = OeeServices(project_id=meta.project_id)
......
from datetime import datetime from datetime import datetime
import time
import pendulum import pendulum
from scripts.constants.db_connections import mongo_client
from scripts.config import PathToServices from scripts.config import PathToServices
from scripts.constants import Secrets from scripts.constants import Secrets, CommonKeys
from scripts.logging import logger from scripts.logging import logger
from scripts.utils.auth_util import ILensRequest, AuthenticationError from scripts.utils.auth_util import ILensRequest, AuthenticationError
from scripts.utils.security_utils.apply_encrytion_util import create_token from scripts.utils.security_utils.apply_encrytion_util import create_token
class CommonUtils: class CommonUtils:
def __init__(self, project_id=None):
self.common_key = CommonKeys()
@staticmethod @staticmethod
def check_date_format(date_time_str, time_format): def check_date_format(date_time_str, time_format):
...@@ -76,3 +78,15 @@ class CommonUtils: ...@@ -76,3 +78,15 @@ class CommonUtils:
except Exception as e: except Exception as e:
logger.exception(str(e)) logger.exception(str(e))
raise raise
def get_user_meta(self, user_id=None, check_flag=False):
data_for_meta = {}
if check_flag:
data_for_meta[self.common_key.KEY_CREATED_BY] = user_id
data_for_meta[self.common_key.KEY_CREATED_TIME] = int(time.time() * 1000)
data_for_meta[self.common_key.KEY_UPDATED_AT] = user_id
data_for_meta[self.common_key.KEY_LAST_UPDATED_TIME] = int(time.time() * 1000)
else:
data_for_meta[self.common_key.KEY_UPDATED_AT] = user_id
data_for_meta[self.common_key.KEY_LAST_UPDATED_TIME] = int(time.time() * 1000)
return data_for_meta
...@@ -303,3 +303,4 @@ class MongoAggregateBaseClass: ...@@ -303,3 +303,4 @@ class MongoAggregateBaseClass:
except Exception as e: except Exception as e:
logger.exception(str(e)) logger.exception(str(e))
raise raise
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment