def group_list(request, org_id): connection = make_connection() db = db_auth(connection) if type(db) == JSONResponse: return db #2.2.7. 그룹(하위 조직) 리스트 요청 if request.method == 'GET': cursor = db.Groups.find({"orgId": ObjectId(org_id)}) encoded = CustomEncoder().encode(list(cursor)) groups = json.loads(encoded, object_hook=json_util.object_hook) for group in groups: group['id'] = group.pop('_id') group['org_id'] = group.pop('orgId') group['parent_id'] = group.pop('parentId') group['thumb_img_path'] = group.pop('thumbImgPath') group['thumb_img_name'] = group.pop('thumbImgName') connection.close() return JSONResponse(dict(groups=groups), status=200) #2.2.9 그룹(하위 조직) 등록 elif request.method == 'POST': data = id_type_change_str_to_object_id(request) insert_query = make_query('POST', data) group = db.Groups.insert(insert_query) rabbitmq_views.sendOrg(org_id, 'mongo', 'GROUP_ADDED') connection.close() return JSONResponse({"group": str(group)}, status=201)
def group_list(request, org_id): connection = make_connection() if type(connection) == JSONResponse: return connection cursor = connection.cursor() #2.2.7. 그룹(하위 조직) 리스트 요청 if request.method == 'GET': cursor.execute("SELECT * FROM GROUP_TBL WHERE org_id = ?", org_id) dict_list = dictfetchall(cursor) type_changed = change_to_valid_str(dict_list) cursor.close() connection.close() return JSONResponse({"groups": type_changed}, status=200) #2.2.9 그룹(하위 조직) 등록 elif request.method == 'POST': data = change_id_type_to_int(request) sql = make_query('POST', 'GROUP_TBL', data=data) cursor.execute(sql) rabbitmq_views.sendOrg(org_id, 'mysql', 'GROUP_ADDED') cursor.close() connection.close() return JSONResponse({}, status=201)
def org_list_detail(request, org_id): cursor = make_connection() #2.2.3. 조직 정보 요청 if request.method == 'GET': cursor.execute('SELECT * FROM ORG_TBL WHERE id = %s', [org_id]) dict_list = dictfetchall(cursor) type_changed = change_to_valid_str(dict_list) cursor.close() try: return JSONResponse({"org": type_changed[0]}, status=200) except IndexError as e: return JSONResponse({"org": {}}, status=400) #2.2.5. 조직 수정 elif request.method == 'PUT': data = change_id_type_to_int(request) sql = make_query('PUT', 'ORG_TBL', data=data, org_id=org_id) cursor.execute(sql) cursor.close() rabbitmq_views.sendOrg(org_id, 'mysql', 'ORG_UPDATED') return JSONResponse({}, status=201) #2.2.6. 조직 삭제 elif request.method == 'DELETE': cursor.execute('DELETE FROM ORG_TBL WHERE id = %s', [org_id]) cursor.execute('DELETE FROM GROUP_TBL WHERE org_id = %s', [org_id]) cursor.close() rabbitmq_views.sendOrg(org_id, 'mysql', 'ORG_DELETED') return JSONResponse({}, status=200)
def group_list_detail(request, org_id, group_id): connection = make_connection() if type(connection) == JSONResponse: return connection cursor = connection.cursor() #2.2.8 그룹(하위 조직) 정보 요청 if request.method == 'GET': cursor.execute('SELECT * FROM GROUP_TBL WHERE id = ?', group_id) dict_list = dictfetchall(cursor) type_changed = change_to_valid_str(dict_list) cursor.close() connection.close() try: return JSONResponse({"group": type_changed[0]}, status=200) except IndexError as e: return JSONResponse({"group": {}}, status=400) # 2.2.10. 그룹(하위 조직) 수정 elif request.method == 'PUT': data = change_id_type_to_int(request) sql = make_query('PUT', 'GROUP_TBL', data=data, group_id=group_id) cursor.execute(sql) rabbitmq_views.sendOrg(org_id, 'cubrid', 'GROUP_UPDATED') cursor.close() connection.close() return JSONResponse({}, status=201) #2.2.11. 그룹(하위조직) 삭제 elif request.method == 'DELETE': cursor.execute("DELETE FROM GROUP_TBL WHERE id = %s;" % (group_id)) rabbitmq_views.sendOrg(org_id, 'cubrid', 'GROUP_DELETED') cursor.close() connection.close() return JSONResponse({}, status=200)
def group_list_detail(request, org_id, group_id): connection = make_connection() db = db_auth(connection) if type(db) == JSONResponse: return db #2.2.8 그룹(하위 조직) 정보 요청 if request.method == 'GET': cursor = db.Groups.find_one({"_id": ObjectId(group_id)}) encoded = CustomEncoder().encode(cursor) group = json.loads(encoded, object_hook=json_util.object_hook) if group: group['id'] = group.pop('_id') connection.close() return JSONResponse(dict(group=group), status=200) # 2.2.10. 그룹(하위 조직) 수정 elif request.method == 'PUT': data = id_type_change_str_to_object_id(request) update_query = make_query('PUT', data) db.Groups.update({"_id": ObjectId(group_id)}, {"$set": update_query}, upsert=False, multi=False) rabbitmq_views.sendOrg(org_id, 'mongo', 'GROUP_UPDATED') connection.close() return JSONResponse({}, status=201) #2.2.11. 그룹(하위조직) 삭제 elif request.method == 'DELETE': cursor = db.Groups.find_one({"_id": ObjectId(group_id)}) encoded = CustomEncoder().encode(cursor) group = json.loads(encoded, object_hook=json_util.object_hook) parricide(group, org_id, db) db.Groups.remove({"_id": ObjectId(group_id)}) rabbitmq_views.sendOrg(org_id, 'mongo', 'GROUP_DELETED') connection.close() return JSONResponse({}, status=200)
def org_list_detail(request, org_id): connection = make_connection() db = db_auth(connection) if type(db) == JSONResponse: return db #2.2.3. 조직 정보 요청 if request.method == 'GET': cursor = db.Orgs.find_one({"_id": ObjectId(org_id)}) encoded = CustomEncoder().encode(cursor) org = json.loads(encoded, object_hook=json_util.object_hook) if org: org['id'] = org.pop('_id') connection.close() return JSONResponse(dict(org=org), status=200) elif request.method == 'PUT': data = id_type_change_str_to_object_id(request) update_query = make_query('PUT', data) db.Orgs.update({"_id": ObjectId(org_id)}, {"$set": update_query}, upsert=False, multi=False) rabbitmq_views.sendOrg(org_id, 'mongo', 'ORG_UPDATED') connection.close() return JSONResponse({}, status=201) #2.2.6. 조직 삭제 elif request.method == 'DELETE': db.Orgs.remove({"_id": ObjectId(org_id)}) db.Groups.remove({"orgId": ObjectId(org_id)}) rabbitmq_views.sendOrg(org_id, 'mongo', 'ORG_DELETED') connection.close() return JSONResponse({}, status=200)