from flask_restplus import fields from rest import api from rest.common.base_models import meta, custom_fields entity_type_request = api.model('entity_type_request', { 'name': fields.String(description='entity name', required=True), 'display_name': fields.String(description='entity display name', required=True), 'parent': fields.String(description='parent entity'), 'type': fields.String(description='entity display name', enum=["ORGANIZATION", "WORKSPACE", "ITEM"], default=""), 'fields': fields.List(fields.Nested(custom_fields), description='custom_fields') }) entity_type = api.inherit('entity_type', entity_type_request, { 'meta': fields.Nested(meta), }) entity_type_response = api.inherit('entity_type_response', entity_type, { '_id': fields.String(description='unique id', required=True), })
# from rest.entity_types.models import entity_type_response from rest.utils.dateutils import reformat from datetime import datetime class Fields(fields.Raw): def format(self, data): for key, value in data.items(): if isinstance(value, datetime): data[key] = reformat(value, '%m/%d/%Y %H:%M') return data stock_request = api.model('stock request', { 'entity_name': fields.String(required=True, description='entity name'), 'entity_id': fields.String(required=True, description='entity id'), 'availability': fields.Integer(required=True, description='availability'), 'fields': Fields(description='fields', default={}) }) stock_update_request = api.inherit('stock update', stock_request, { }) stock_entity = api.inherit('stock', stock_request, { 'meta': fields.Nested(meta), 'tags': fields.List(fields.Nested(tag)), 'stock_status': fields.String(default='AVAILABLE', description='stock status'), }) stock_response = api.inherit('stock response', stock_entity, { '_id': fields.String(),
from flask_restplus import fields from rest import api from rest.common.base_models import meta, custom_fields from rest.entity_types.models import entity_type_response entity_template_request = api.model( 'entity_template_request', { 'entity_type': fields.String(description='entity type', required=True), 'force': fields.Boolean( description='force type', default=False, enum=[True, False]), 'fields': fields.List(fields.Nested(custom_fields), description='custom_fields'), }) entity_template = api.inherit( 'entity_template', entity_template_request, { 'meta': fields.Nested(meta), 'entity_type_details': fields.Nested(entity_type_response, description='entity type details'), }) entity_template_response = api.inherit( 'entity_template_response', entity_template, { '_id': fields.String(description='unique id', required=True), })
from rest.utils.dateutils import reformat from datetime import datetime class Fields(fields.Raw): def format(self, data): for key, value in data.items(): if isinstance(value, datetime): data[key] = reformat(value, '%m/%d/%Y %H:%M') return data booking_request = api.model( 'booking request', { 'entity_name': fields.String(required=True, description='entity name'), 'entity_id': fields.String(required=True, description='entity id'), 'quantity': fields.String(required=True, description='quantity'), 'fields': Fields(description='fields', default={}) }) booking_update_request = api.inherit('booking update', booking_request, {}) booking_entity = api.inherit( 'bookings', booking_request, { 'meta': fields.Nested(meta), 'tags': fields.List(fields.Nested(tag)), 'booking_status': fields.String(default='', description='booking status'), }) booking_response = api.inherit('booking response', booking_entity, {
class DateTimeISO(fields.String): """ Custom Format to modify time to ISO Format """ def format(self, value): modified_date = value + 'Z' return modified_date meta = api.model('meta', { 'is_deleted': fields.Boolean(default=False), 'created': DateTimeISO(), 'updated': DateTimeISO(), 'created_by': fields.String(default=''), 'updated_by': fields.String(default=''), }) audit = api.model('audit event', { 'meta': fields.Nested(meta), 'method': fields.String(description='method'), 'endpoint': fields.String(description='endpoint'), 'message': fields.String(description='message'), 'result': fields.Raw(description='fields', default={}), 'status': fields.Integer(description='status'), 'event': fields.String(description='event'), 'req_data': fields.Raw(default={}, description='req_data'), 'query_param': fields.Raw(description='query_param') })
from flask_restx import fields, reqparse from rest import api from utils import parser_utils CategorySchema = api.model( 'Category', { 'id': fields.Integer(required=False, description='Category id.'), 'name': fields.String(required=True, description='Category name min 3, max 50.'), }) CategoryParser = reqparse.RequestParser() CategoryParser.add_argument('name', type=parser_utils.validate_string(50, 3), required=True, location='json')
from flask_restx import fields, reqparse from rest import api from utils import parser_utils MediaSchema = api.model( 'Media', { 'id': fields.String(required=False, description='Media id.'), 'path': fields.String(required=True, description='Media path 10, max 200.'), }) MediaParser = reqparse.RequestParser() MediaParser.add_argument('id', type=parser_utils.validate_int(min_length=1), required=False, location='json') MediaParser.add_argument('path', type=parser_utils.validate_string(200, 10), required=True, location='json') UserSchema = api.model( 'User', { 'username': fields.String(required=True, description='User username.'), }) CategorySchema = api.model( 'Category', { 'id': fields.Integer(required=True, description='Category id.'),
from flask_restplus import fields from rest import api application_status = api.model('application_status', { 'status': fields.String(description='application status', required=True), })
from flask_restx import fields, reqparse from rest import api from utils import parser_utils LoginRegisterSchema = api.model( 'User', { 'username': fields.String(required=True, description='User username min 5, max 50.'), 'password': fields.String(required=True, description='User password min 5, max 50.'), }) LoginRegisterParser = reqparse.RequestParser() LoginRegisterParser.add_argument('username', type=parser_utils.validate_string(50, 5), required=True, location='json') LoginRegisterParser.add_argument('password', type=parser_utils.validate_string(50, 5), required=True, location='json')
from rest.utils.dateutils import reformat from datetime import datetime class Fields(fields.Raw): def format(self, data): for key, value in data.items(): if isinstance(value, datetime): data[key] = reformat(value, '%m/%d/%Y %H:%M') return data entity_request = api.model( 'entity request', { 'name': fields.String(required=True, description='entity name'), 'parent': fields.String(description='parent entity'), 'parent_type': fields.String(description='parent entity type'), 'entity_type': fields.String(description='entity type', required=True), 'fields': Fields(description='fields', default={}) }) entity_update_request = api.inherit( 'entity update', entity_request, { 'parent_details': fields.Raw(description='fields', default={}), }) entity = api.inherit( 'entities', entity_request, { 'meta': fields.Nested(meta), 'tags': fields.List(fields.Nested(tag)),
import datetime from flask_restplus import fields from rest import api meta = api.model('meta', { 'is_deleted': fields.Boolean(default=False), 'created': fields.DateTime(default=datetime.datetime.utcnow()), 'updated': fields.DateTime(default=datetime.datetime.utcnow()), 'created_by': fields.String(default=''), 'updated_by': fields.String(default=''), }) tag = api.model('tag', { 'name': fields.String(description='Tag name', default=''), 'value': fields.String(description='Tag value', default=''), }) response = api.model('response', { 'status': fields.Integer(description='Status code'), 'message': fields.String(description='Message'), 'data': fields.Raw(description='Response data', default={}), })