Commit 02eb2a7e authored by Sarah Abrishami's avatar Sarah Abrishami

changed different views of rules, rulegroup and dataset to a single one

parent 18e5e728
from app.main import main
from app.main.utils.common import response_message
from flask import request
from rulemall import RulesGroup, Rule
from app.main.utils.db_util import add_obj, return_obj, rm_obj, return_project_rules
@main.post('/api/<what>')
def create_obj(what):
"""
create rulegroup, rule or datastructure
"""
req = request.get_json()
if what == 'rg':
try:
RulesGroup().from_dict(req.copy())
except Exception:
return response_message(str('Not a Valid rulegroup'), 500)
elif what == 'rule':
try:
if req['rule'].get('validator_parameters'):
empty_cols = [x[0] for x in list(filter(lambda x: x[1] == '', req['rule']['validator_parameters'].items()))]
for col in empty_cols:
req['rule']['validator_parameters'].pop(col)
Rule().from_dict(req['rule'].copy())
except Exception:
return response_message(str('Not a Valid rule'), 500)
if what not in ['rule', 'ds', 'rg']:
return response_message(f"{what} doesn't exist", 500)
try:
return response_message(add_obj(req, what))
except Exception as e:
return response_message(str(e), 500)
@main.get('/api/<what>/<uuid:oid>')
def read_obj(what, oid):
try:
rg = return_obj(oid, what)
except Exception as e:
return response_message(str(e), 500)
return response_message(rg)
@main.delete('/api/<what>/<uuid:oid>')
def delete_obj(what, oid):
try:
rg = rm_obj(oid, what)
except Exception as e:
return response_message(str(e), 500)
return response_message(rg)
@main.get('/api/rule/all/<project_id>')
def read_all_rules(project_id):
try:
rg = return_project_rules(project_id)
except Exception as e:
return response_message(str(e), 500)
return response_message(rg)
from app.main import main
from app.main.utils.common import response_message
from flask import request
from rulemall import RulesGroup
from app.main.utils.db_util import add_rg, return_rg, rm_rg
from datetime import datetime
@main.post('/rg/<uuid:rsid>')
def create_rg(rsid):
'''
create rulegroup
json should have rules and name values to create the rulegroup
rulegroup's uid will be returned
'''
req = request.get_json()
try:
configs = {'name': req['name'], 'rules': req['rules'], 'created_date': str(datetime.now()),
'modified_date': str(datetime.now())}
RulesGroup().from_dict(configs.copy())
return response_message(add_rg(rsid, configs))
except Exception as e:
return response_message(str(e), 500)
@main.get('/rg/<uuid:rsid>')
def read_all_rg(rsid):
try:
# TODO what do we what to send back?
rgs = return_rg(rsid)
except Exception as e:
return response_message(str(e), 500)
return response_message(rgs)
@main.get('/rg/<uuid:rsid>/<uuid:rgid>')
def read_rg(rsid, rgid):
try:
rgs = return_rg(rsid, rgid)
except Exception as e:
return response_message(str(e), 500)
return response_message(rgs)
# TODO
@main.put('/rg')
def update_rg():
req = request.get_json()
data = req['data']
return response_message()
@main.delete('/rg/<uuid:rsid>')
def delete_rg_all(rsid):
try:
rgs = rm_rg(rsid)
except Exception as e:
return response_message(str(e), 500)
return response_message(rgs)
@main.delete('/rg/<uuid:rsid>/<uuid:rgid>')
def delete_rg(rsid, rgid):
try:
rgs = rm_rg(rsid, rgid)
except Exception as e:
return response_message(str(e), 500)
return response_message(rgs)
from app.main import main
from app.main.utils.common import response_message
from flask import request
from app.main.utils.db_util import add_rs
from datetime import datetime
@main.post('/rs')
def create_rs():
'''
create a ruleset
request should have data value
for now data structure is {"uid": "", "type": "rp"} type rp means rabit project
uid value would be returned
'''
req = request.get_json()
try:
req['created_date'] = datetime.now()
req['modified_date'] = datetime.now()
return response_message(add_rs(req))
except Exception as e:
return response_message(str(e), 500)
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