Esempio n. 1
0
 def patch(self, request, pk, format=None):
     item = self.get_object(pk)
     serializer = ItemSerializer(item, data=request.data)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data, status.HTTP_200_OK)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Esempio n. 2
0
 def put(self, request, pk):
     item = self.get_object(pk)
     serializer = ItemSerializer(item, data=request.data)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Esempio n. 3
0
 def post(self, request, format=None):
     serializer = ItemSerializer(data=request.data, files=request.FILES)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data, status=status.HTTP_201_CREATED)
     else:
         return Response(serializer.errors,
                         status=status.HTTP_400_BAD_REQUEST)
Esempio n. 4
0
 def post(self, request, format=None):
     serializer = ItemSerializer(data=request.data,
                                 context={'request': request})
     print serializer
     if serializer.is_valid():
         print "valid "
         serializer.save()
         return Response(serializer.data, status=status.HTTP_201_CREATED)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Esempio n. 5
0
 def get(self, id):
     '''Get an item.'''
     try:
         item = Item[id]
     except orm.ObjectNotFound:
         abort(404)
     return jsonify(ItemSerializer(item).data)
Esempio n. 6
0
 def get(self, id):
     '''Get an item.'''
     try:
         item = models.item.query().get(id=id)
     except Item.DoesNotExist:
         abort(404)
     return jsonify(ItemSerializer(item).data)
Esempio n. 7
0
def items(request, pk):
    """
        **Get all the product_categories data- Ignore**

        > GET

        Returns the product_categories data.

        * Possible HTTP status codes and JSON response:

            * `HTTP_200_OK` - Returns the products data:

                    {
                      "id": Integer,
                      "name": String,
                      "description": String,
                      "image": Url,
                      "is_available": Boolean
                    }

            * `HTTP_500_INTERNAL_SERVER_ERROR` - Internal server error

            :param pk:
            :param request:
        """

    if Item.objects.filter(category_id=pk).exists(
    ):  # Checks if product_category exists with given id.
        all_items = Item.objects.filter(category_id=pk)
    else:
        return Response(messages.ITEMS_DOES_NOT_EXIST,
                        status=status.HTTP_404_NOT_FOUND)
    if request.method == 'GET':
        item_serializer = ItemSerializer(all_items, many=True)
        return Response(item_serializer.data[::-1], status=status.HTTP_200_OK)
Esempio n. 8
0
 def index(self):
     '''Return items checked out in the past hour.'''
     hour_ago  = datetime.utcnow() - timedelta(hours=1)
     recent = Item.query.filter(Item.checked_out &
                                 (Item.updated > hour_ago)) \
                                 .order_by(Item.updated.desc()).all()
     return jsonify({"items": ItemSerializer(recent, many=True).data})
Esempio n. 9
0
 def get(self, id):
     '''Get an item.'''
     # Could also use flask_peewee.utils.get_object_or_404
     try:
         item = Item.get(Item.id == id)
     except Item.DoesNotExist:
         abort(404)
     return jsonify(ItemSerializer(item).data)
Esempio n. 10
0
 def index(self):
     '''Return items checked out in the past hour.'''
     hour_ago = datetime.utcnow() - timedelta(hours=1)
     query = Item.select().where(Item.checked_out &
                                 (Item.updated > hour_ago)) \
                                 .order_by(Item.updated.desc())
     recent = [item for item in query]  # Executes query
     return jsonify({"items": ItemSerializer(recent, many=True).data})
Esempio n. 11
0
 def index(self):
     '''Return items checked out in the past hour.'''
     hour_ago = datetime.utcnow() - timedelta(hours=1)
     recent = orm.select(item for item in Item
                             if item.checked_out and
                                 item.updated > hour_ago)\
                                 .order_by(Item.updated.desc())[:]
     return jsonify({"items": ItemSerializer(recent, many=True).data})
Esempio n. 12
0
 def post(self):
     '''Insert a new item.'''
     data = request.json
     name = data.get("name", None)
     checked_out = data.get("checked_out", False)
     if not name:
         abort(400)
     person = Person.query.filter_by(id=data.get("person_id", None)).first()
     item = Item(name=name, person=person, checked_out=checked_out)
     db.session.add(item)
     db.session.commit()
     return jsonify({"message": "Successfully added new item",
                     "item": ItemSerializer(item).data}), 201
Esempio n. 13
0
def get_items(request):
    if request == 'POST' and 'user_name' in request.data.keys() and 'data' in request.data.keys() and 'maxPrice' in \
            request.data['data'].keys():
        if Users.object.get(user_name=request.data['user_name']):
            # partion_index
            data = request.data['data']
            PI = data['page'] if 'page' in data.keys() else 0
            # TODO: check page validation
            items = Items.objects.filter(
                item_price__lte=data['maxPrice']).order_by(
                    '-item_update_dt')[PI * PAGINATION:(PI + 1) * PAGINATION]
            serializer = ItemSerializer(data=items, many=True)
            return Response(serializer.data, status.HTTP_200_OK)
    return Response(EMPTY_DICT, status=status.HTTP_400_BAD_REQUEST)
Esempio n. 14
0
 def put(self, id):
     '''Update an item.'''
     item = Item.query.get_or_404(int(id))
     # Update item
     item.name = request.json.get("name", item.name)
     item.checked_out = request.json.get("checked_out", item.checked_out)
     if request.json.get("person_id"):
         person = Person.query.get(int(request.json['person_id']))
         item.person = person or item.person
     else:
         item.person = None
     item.updated = datetime.utcnow()
     db.session.add(item)
     db.session.commit()
     return jsonify({"message": "Successfully updated item.",
                     "item": ItemSerializer(item).data})
Esempio n. 15
0
 def put(self, id):
     '''Update an item.'''
     item = get_object_or_404(Item, Item.id == id)
     # Update item
     item.name = request.json.get("name", item.name)
     item.checked_out = request.json.get("checked_out", item.checked_out)
     if request.json.get("person_id"):
         person = Person.get(Person.id == int(request.json['person_id']))
         item.person = person or item.person
     else:
         item.person = None
     item.updated = datetime.utcnow()
     item.save()
     return jsonify({
         "message": "Successfully updated item.",
         "item": ItemSerializer(item).data
     })
Esempio n. 16
0
 def post(self):
     '''Insert a new item.'''
     data = request.json
     name = data.get("name", None)
     checked_out = data.get('checked_out', False)
     if not name:
         abort(400)
     pid = data.get("person_id")
     if pid:
         person = Person.get(id=pid)  # None if not found
     else:
         person = None
     item = Item(name=name, person=person, checked_out=checked_out)
     orm.commit()
     return jsonify({
         "message": "Successfully added new item",
         "item": ItemSerializer(item).data
     }), 201
Esempio n. 17
0
def items_list(request):
    if request.method == 'Post' and 'user_name' in request.data.keys():
        if Users.object.get(user_name=request.data['user_name']):
            data = request.data['data']
            cObj = Categories.objects.get(category_name=data['item_category'])
            if cObj:
                data['item_category'] = cObj.id
                serializer = ItemSerializer(data=data)
                if serializer.is_valid():
                    serializer.save()
                    return Response(serializer.data,
                                    status=status.HTTP_201_CREATED)
    # neet to eliminate this GET request
    if request.method == 'GET':
        items = Items.objects.all()
        serializer = ItemSerializer(items, many=True)
        return Response(serializer.data, status.HTTP_200_OK)
    return Response(EMPTY_DICT, status=status.HTTP_400_BAD_REQUEST)
Esempio n. 18
0
 def post(self):
     '''Insert a new item.'''
     data = request.json
     name = data.get("name", None)
     checked_out = data.get('checked_out', False)
     if not name:
         abort(400)  # Must specify name
     person_id = data.get("person_id")
     if person_id:
         try:
             person = Person.get(Person.id == person_id)
         except Person.DoesNotExist:
             person = None
     else:
         person = None
     item = Item.create(name=name, person=person, checked_out=checked_out)
     return jsonify({
         "message": "Successfully added new item",
         "item": ItemSerializer(item).data
     }), 201
Esempio n. 19
0
 def post(self):
     '''Insert a new item.'''
     data = request.json
     name = data.get("name", None)
     person_id = data.get("person_id")
     person = None
     checked_out = data.get("checked_out", False)
     if not name:
         abort(400)
     if person_id:
         try:
             person = models.person.query().get(id=person_id)
         except Person.DoesNotExist:
             pass
     item = models.item.new(name=name,
                            person=person,
                            checked_out=checked_out)
     return jsonify({
         "message": "Successfully added new item",
         "item": ItemSerializer(item).data
     }), 201
Esempio n. 20
0
 def put(self, id):
     '''Update an item.'''
     try:
         item = Item[id]
     except orm.ObjectNotFound:
         abort(404)
     # Update item
     item.name = request.json.get("name", item.name)
     item.checked_out = request.json.get("checked_out", item.checked_out)
     pid = request.json.get("person_id")
     if pid:
         person = Person.get(id=pid)
         item.person = person or item.person
     else:
         item.person = None
     item.updated = datetime.utcnow()
     orm.commit()
     return jsonify({
         "message": "Successfully updated item.",
         "item": ItemSerializer(item).data
     })
Esempio n. 21
0
 def put(self, id):
     '''Update an item.'''
     try:
         item = models.item.query().get(id=int(id))
     except Item.DoesNotExist:
         abort(404)
     # Update item
     item.name = request.json.get("name", item.name)
     item.checked_out = request.json.get("checked_out", item.checked_out)
     if request.json.get("person_id"):
         try:
             person = models.person.get(id=int(request.json['person_id']))
         except Person.DoesNotExist:
             abort(404)
         item.person = person or item.person
     else:
         item.person = None
     item.updated = datetime.utcnow()
     item.save()
     return jsonify({
         "message": "Successfully updated item.",
         "item": ItemSerializer(item).data
     })
Esempio n. 22
0
def item_detail(request, pk):
    """
    **Get or change the user profile data- Ignore**

    > GET

    Returns the User Profile data.

    * Requires `user id` which is an integer and taken as primary key
    to identify user.

    * Possible HTTP status codes and JSON response:

        * `HTTP_200_OK` - Returns the User Profile data:

                {
                  "email": String,
                  "id": Integer,
                  "first_name": String,
                  "last_name": String,
                  "created": String,
                  "contact_no": Integer
                }

        * `HTTP_500_INTERNAL_SERVER_ERROR` - Internal server error



    > PUT

    ### Update User Profile Data

    * Requires data that needs to be changed. Any and all of the below fields
    could be modified in a single PUT request.

        1. `first_name`: String
        2. `last_name`: String
        3. `contact_no`: Integer
        4. `email` : String


    * Requires only the changed data of the user and `email` along the changed
    parameters.

    * Possible HTTP status codes and JSON response:

        * `HTTP_200_OK` - User profile data in JSON format:

                {
                  "email": String,
                  "id": Integer,
                  "first_name": String,
                  "last_name": String,
                  "created": String,
                  "contact_no": Integer
                }

        * `HTTP_500_INTERNAL_SERVER_ERROR`

        :param pk:
        :param request:
    """

    data = request.data
    try:
        item = validations_utils.item_validation(
            pk)  # Validates if user exists or not.
    except ValidationException as e:  # Generic exception
        return Response(e.errors, status=e.status)
    if request.method == 'GET':
        item_serializer = ItemSerializer(item)
        return Response(item_serializer.data, status=status.HTTP_200_OK)
Esempio n. 23
0
 def get(self, request, id_uuid):
     
     queryset = get_object_or_404(Collection, col_uuid=id_uuid)
     serializer_class = ItemSerializer(queryset)
     
     return RestResponse(serializer_class.data)
Esempio n. 24
0
 def index(self):
     '''Get all items.'''
     all_items = models.item.query().sort_by("-updated").all()
     data = ItemSerializer(all_items, many=True).data
     return jsonify({"items": data})
Esempio n. 25
0
 def index(self):
     '''Return items checked out in the past hour.'''
     hour_ago = datetime.utcnow() - timedelta(hours=1)
     recent = models.item.filter(checked_out=True).sort_by("-updated").all()
     return jsonify({"items": ItemSerializer(recent, many=True).data})
Esempio n. 26
0
 def post(request):
     serialized = ItemSerializer(data=request.data)
     if serialized.is_valid():
         serialized.save()
         return Response(serialized.data, status=status.HTTP_201_CREATED)
     return Response(serialized.errors, status=status.HTTP_400_BAD_REQUEST)
Esempio n. 27
0
 def get(self, request, format=None):
     item = Item.objects.all()
     serializer = ItemSerializer(item, many=True)
     return Response(data=serializer.data, status=status.HTTP_200_OK)
Esempio n. 28
0
 def index(self):
     '''Get all items.'''
     all_items = orm.select(item for item in Item)\
                             .order_by(orm.desc(Item.updated))[:]
     data = ItemSerializer(all_items, many=True).data
     return jsonify({"items": data})
Esempio n. 29
0
 def get(self, request, pk, format=None):
     item = self.get_object(pk)
     print "item", item
     serializer = ItemSerializer(item, context={'request': request})
     return Response(data=serializer.data, status=status.HTTP_200_OK)
Esempio n. 30
0
 def get(self, id):
     '''Get an item.'''
     item = Item.query.get_or_404(int(id))
     return jsonify(ItemSerializer(item).data)
Esempio n. 31
0
 def index(self):
     '''Get all items.'''
     all_items = Item.select().order_by(Item.updated.desc())
     data = ItemSerializer(all_items, many=True).data
     return jsonify({"items": data})