def serialize(self): s = { to_camel_case(column.name): getattr(self, column.name) for column in self.__table__.columns if column.name not in ['created_at', 'updated_at', 'start_time', 'stop_time'] } if 'start_time' in self.__table__.columns: s[to_camel_case('start_time')] = str(self.start_time) if 'stop_time' in self.__table__.columns: s[to_camel_case('stop_time')] = str(self.stop_time) s['timestamps'] = { 'created_at': datetime.strftime(self.created_at, '%Y-%m-%d'), 'updated_at': self.updated_at } return s
def handleFormAction(formClass, field, submit, id=0): form_type = formClass.__name__.lower()[:-4] form = formClass() form._id = id model = get_model(form_type, id) if field == 'submit': for f in get_fields(formClass): load_field_value_from_submit(form_type, form, model, f) return submitForm(form, submit, id) data = request.form.get('value') if data is None: return 'The value parameter is not provided', 400 for f in get_fields(formClass): load_field_value_from_session(form_type, form, model, f) form_field = get_attribute(form, field) if form_field is None: return 'Field "' + field + '" in ' + form_type + ' form was not found', 400 if isinstance(form_field, str): return 'Field "' + field + '" in ' + form_type + ' form is not editable', 400 session[form_type + '_' + field] = data form_field.data = data if data != '' or model is None else get_attribute(model, field) if get_attribute(form, 'post_load'): form.post_load() if form_field.validate(form): result = get_attribute(form_field, 'usedType', field) return to_camel_case(result) + ' is correct' return '\n'.join(item for item in form_field.errors), 400
def _upload_profile_photo(current_user, files): current_user.upload_profile_photo(files[0]) resp = jsonify( to_camel_case({ 'url': current_user.profile_photo_url(), 'file_name': files[0].filename, })) return resp, 200
def serialize(self, get_children=False): s = { column.name: getattr(self, column.name) for column in self.__table__.columns if column.name not in ["created_at", "updated_at", "start_time", "stop_time"] } if "start_time" in self.__table__.columns: s[to_camel_case("start_time")] = str(self.start_time) if "stop_time" in self.__table__.columns: s[to_camel_case("stop_time")] = str(self.stop_time) s["timestamps"] = { "created_at": datetime.strftime(self.created_at, "%Y-%m-%d"), "updated_at": self.updated_at, } # get the related objects and serialize them if get_children: self.serialize_children_objects(s) return s
def add_new_field(self, field): class_name = to_camel_case(field['discriminator']) class_ = getattr(models, class_name) field = class_(**field) session = db.session session.add(field) session.commit() return field
def serialize(self): s = { to_camel_case(column.name): getattr(self, column.name) for column in self.__table__.columns if column.name not in ['created_at', 'updated_at'] } s['timestamps'] = { 'created_at': self.created_at, 'updated_at': self.updated_at } return s
def serialize(self): s = { to_camel_case(column.name): getattr(self, column.name) for column in self.__table__.columns if column.name not in ['created_at', 'updated_at', 'password_hash'] } s['timestamps'] = { 'createdAt': format_response_timestamp(self.created_at), 'updatedAt': format_response_timestamp(self.updated_at) } return s
def serialize_old(self): s = { to_camel_case(column.name): getattr(self, column.name) for column in self.__table__.columns if column.name not in ["created_at", "updated_at"] } s["timestamps"] = { "createdAt": format_response_timestamp(self.created_at), "updatedAt": format_response_timestamp(self.updated_at), } return s
def get_user_payload(user): data = { 'role': user.role.value, 'verified_email': user.verified_email, 'first_name': user.first_name, 'last_name': user.last_name, 'email': user.email, 'profile_photo_url': user.profile_photo_url(), 'allow_resend_invite': user.password_hash is None, } return to_camel_case(data)
def serialize_children_objects(self, s): """Get the model related objects and serializes them Args: s (list): serialized list object """ back_refs = set(inspect(self).attrs.keys()) - set( self.__table__.columns.keys()) for item in back_refs: obj = getattr(self, item) if isinstance(obj, list): list_item = [record.serialize() for record in obj] s[to_camel_case(item)] = list_item
def serialize(self): s = { to_camel_case(column.name): getattr(self, column.name) for column in self.__table__.columns if column.name not in ['created_at', 'updated_at'] } s['timestamps'] = { 'created_at': self.created_at, 'update_at': self.updated_at, 'date_pretty_short': self.created_at.strftime('%b %d, %Y'), 'date_pretty': self.created_at.strftime('%B %d, %Y') } return s
def create_object(self, parent_object, dto, releation_key) -> Model: cls_name = parent_object.__class__.__name__ if "discriminator" in dto: dto = dto.copy() class_name = to_camel_case(dto['discriminator']) class_ = getattr(models, class_name) del dto['discriminator'] obj = class_(**dto) return obj model = find_model_for_relation(parent_object.__class__, releation_key) return model(**dto)
def authenticate_payload(user): data = { 'userID': user.id, 'role': user.role.value, 'verified_email': user.verified_email, 'first_name': user.first_name.title(), 'last_name': user.last_name.title(), 'email': user.email, 'profile_photo': None, } if user.profile_photo_s3_key: key = user.profile_photo_s3_key data['profile_photo'] = { 'url': user.profile_photo_url(), 'file_name': key[key.rfind('/') + 1:], } return jsonify(to_camel_case(data))
def test_utils_to_camel_case(): assert to_camel_case('apple') == 'Apple' assert to_camel_case('apple_pie') == 'Apple Pie' assert to_camel_case('MY_apple_pie') == 'My Apple Pie'
def serialize(self, excluded=[], with_timestamp=True): excluded = excluded + ['created_at', 'updated_at', 'password', 'is_deleted', 'activation_code', 'auth_key'] s = {to_camel_case(column.name): getattr(self, column.name) for column in self.__table__.columns if column.name not in excluded} if with_timestamp: s['timestamps'] = {'createdAt': format_response_timestamp(self.created_at), 'updatedAt': format_response_timestamp(self.updated_at)} return s