Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
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)
Exemplo n.º 6
0
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)