コード例 #1
0
def create(data):
  id_user = data['id_user']
  title = data['title']
  private = data['private']
  ordered = data['ordered']
  queryString = f'''INSERT INTO public.list(
	id_user, title, private, ordered)
	VALUES ({id_user}, '{title}', {private}, {ordered}) returning id'''
  result = query.raw(queryString, False)
  id_list = result['id']
  items = data['items']
  if ordered:
    for item in items:
      queryString = f'''INSERT INTO public.item(
      id_list, item_order, text)
      VALUES ({id_list}, {item['item_order']}, '{item['text']}') returning id'''
      print(queryString)
      result = query.raw(queryString, False)
      
    return jsonify('success creating ordered list')
  else:
    for item in items:
      queryString = f'''INSERT INTO public.item(
      id_list, text)
      VALUES ({id_list}, '{item['text']}') returning id'''
      result = query.raw(queryString, False)
    return jsonify('success creating list')
コード例 #2
0
ファイル: like.py プロジェクト: teamCAIS/makealist-api
def create(data):
    try:
        id_user = data['id_user']
        id_list = data['id_list']
        queryString = f"insert into public.like(id_user, id_list) values ({id_user}, {id_list}) returning id"
        result = query.raw(queryString, False)
        result = query.raw(
            f"update public.list set likes = likes + 1 where id={id_list} returning id",
            False)
        return jsonify('Curtido com sucesso')
    except:
        return jsonify('Ocorreu uma falha ao curtir a lista')
コード例 #3
0
def delete(id):
  try:
    queryString = f"delete from public.item where id_list={id} returning id"
    result = query.raw(queryString, True)
    result = like.delete_from_list(id)
    result = comment.delete_from_list(id)
    queryString = f"delete from public.list where id={id} returning id"
    result = query.raw(queryString, False)
    
    return jsonify("Lista excluída com sucesso")
  except Exception as e:
    print(e)
    return jsonify("Não foi possível excluir a lista")
コード例 #4
0
ファイル: like.py プロジェクト: teamCAIS/makealist-api
def delete(data):
    try:
        id_user = data['id_user']
        id_list = data['id_list']
        queryString = f"delete from public.like where id_user={id_user} and id_list={id_list} returning id"
        result = query.raw(queryString, False)
        if result == None:
            return jsonify(
                'Não é possível descurtir uma lista que não foi curtida')
        result = query.raw(
            f"update public.list set likes = likes - 1 where id={id_list} returning id",
            False)
        return jsonify('Lista descurtida')
    except:
        return jsonify('Ocorreu uma falha ao descurtir a lista')
コード例 #5
0
def get(id_list):
    queryString = f"select id, comment_text, id_user, comment_date from public.comment where id_list={id_list} order by id"
    comments = query.raw(queryString, True)
    if comments == None:
        return []
    result = map(put_user, comments)
    return list(result)
コード例 #6
0
def feed(id_viewer):
  queryString = "select * from public.list where private=false order by id desc"
  lists = query.raw(queryString, True)
  if lists == None:
    return jsonify([])
  result = map(lambda list: put_items(list, id_viewer) ,lists)
  return jsonify(list(result))
コード例 #7
0
def get(id_user):
  queryString = f"select * from public.list where id_user={id_user} order by id desc"
  lists = query.raw(queryString, True)
  if lists == None:
    return jsonify([])
  result = map(lambda list: put_items(list, id_user) ,lists)
  return jsonify(list(result))
コード例 #8
0
ファイル: user.py プロジェクト: teamCAIS/makealist-api
def update(data):
    sets = []
    try:
        sets.append(f"name = '{data['name']}'")
    except:
        print('There is no name')
    """  try:
    if email_exists(data['email']):
      return jsonify({
        'message':'O e-mail informado já está cadastrado no sistema'
      })
    sets.append(f"email = '{data['email']}'")
  except:
    print('There is no email') """
    try:
        sets.append(f"bio = '{data['bio']}'")
    except:
        print('There is no bio')
    try:
        password = pbkdf2_sha256.hash(data['password'])
        sets.append(f"password = '******'")
    except:
        print('There is no password')

    if len(sets) == 0:
        return jsonify({'message': 'Nenhum campo foi alterado'})

    sets = ', '.join(sets)
    queryString = f"update public.user set {sets} where id={data['id']} returning id"
    print(queryString)
    result = query.raw(queryString, False)
    return get(result['id'])
コード例 #9
0
def delete_from_list(id_list):
    try:
        queryString = f"delete from public.comment where id_list={id_list} returning id"
        result = query.raw(queryString, True)
        return jsonify({'success': True})
    except Exception as e:
        print(e)
        return jsonify({'success': False})
コード例 #10
0
def delete(id):
    try:
        queryString = f"delete from public.comment where id={id} returning id"
        result = query.raw(queryString, False)
        if result == None:
            return jsonify('Não é possível excluir um comentário inexistente')
        return jsonify('Comentário excluído')
    except Exception as e:
        print(e)
        return jsonify('Não foi possível excluir o comentário')
コード例 #11
0
ファイル: user.py プロジェクト: teamCAIS/makealist-api
def create(data):
    #convert dict to strings of keys and values
    name = data['name']
    email = data['email']
    if email_exists(email):
        return jsonify(
            {'message': 'O e-mail informado já está cadastrado no sistema'})
    password = pbkdf2_sha256.hash(data['password'])
    queryString = f"insert into public.user (name, email, password) values ('{name}', '{email}', '{password}') returning id"
    result = query.raw(queryString, False)
    return get(result['id'])
コード例 #12
0
ファイル: user.py プロジェクト: teamCAIS/makealist-api
def login(data):
    email = data['email']
    queryString = f"select id, password from public.user where email='{email}'"
    result = query.raw(queryString, False)
    if result == None:
        return jsonify(
            {'message': 'O e-mail informado não está cadastrado no sistema'})
    password = data['password']
    is_correct = pbkdf2_sha256.verify(password, result['password'])
    if is_correct:
        return get(result['id'])
    return jsonify({'message': 'A senha está incorreta'})
コード例 #13
0
def put_items(list, id_viewer):
  #put user
  id_user = list['id_user']
  list['user'] = query.raw(f"select id, name, email, photo from public.user where id={id_user}", False)
  #put items
  list['items'] = []
  id_list = list['id']
  queryString = f'select * from public.item where id_list={id_list}'
  items = query.raw(queryString, True)
  for item in items:
    list['items'].append(item)
  #put liked
  queryString = f'select * from public.like where id_list={id_list} and id_user={id_viewer}'
  liked = query.raw(queryString, False)
  if liked == None:
    liked = False
  else:
    liked = True
  list['liked'] = liked
  #put comments
  list['comments'] = comment.get(id_list)
  return list
コード例 #14
0
def create(data):
    try:
        id_user = data['id_user']
        id_list = data['id_list']
        comment_text = data['comment_text']
        queryString = f'''INSERT INTO public.comment(
    id_user, id_list, comment_text)
    VALUES ({id_user}, {id_list}, '{comment_text}') returning id'''
        result = query.raw(queryString, False)
        return jsonify(result)
    except Exception as e:
        print(e)
        return jsonify('Não foi possível salvar seu comentário')
コード例 #15
0
ファイル: user.py プロジェクト: teamCAIS/makealist-api
def get(id):
    queryString = "select id, name, email, bio, birth_date, photo from public.user where id={0}".format(
        id)
    result = query.raw(queryString, False)
    return jsonify(result)
コード例 #16
0
def put_user(comment):
    queryString = f"select name, photo from public.user where id={comment['id_user']}"
    result = query.raw(queryString, False)
    comment['user'] = result
    return comment
コード例 #17
0
ファイル: like.py プロジェクト: teamCAIS/makealist-api
def get_likes(id_list):
    queryString = f"select * from public.like where id_list={id_list}"
    result = query.raw(queryString, True)
    return jsonify(result)
コード例 #18
0
ファイル: user.py プロジェクト: teamCAIS/makealist-api
def email_exists(email):
    queryString = f"select email from public.user where email='{email}'"
    result = query.raw(queryString, False)
    if result == None:
        return False
    return True