def __get_server_and_member(self, discord_server, discord_user): member = Member.objects(discord=discord_user.id).first() server = Server.objects(id=discord_server.id).first() if not server: server = Server.create({ 'id': discord_server.id, 'name': discord_server.name, 'avatar': discord_server.icon_url or '' }) if not member: member = Member.create({ 'discord': discord_user.id, 'name': discord_user.name, 'avatar': discord_user.avatar_url or '' }) # Checks if member being added is in the server server_member = Member.objects(servers=discord_server.id, discord=discord_user.id).first() if not server_member: server.members.append(member) server.save() member.servers.append(discord_server.id) member.save() return (server, member)
def get_members() -> flask.Response: format = flask.request.args.get('format', '') name = flask.request.args.get('name', '') last_name = flask.request.args.get('lastName', '') fiscal_code = flask.request.args.get('fiscalCode', '') status = flask.request.args.get('status', '') members = Member.objects( Q(name__contains=name) & Q(last_name__contains=last_name) & Q(fiscal_code__contains=fiscal_code)) if status != '': if status == 'true': members = list(filter(lambda member: member.is_enabled(), members)) else: members = list( filter(lambda member: not member.is_enabled(), members)) if format == 'pdf': columns: str = (flask.request.args.get('columns')) cols = columns.split(',') if len(cols) < 1: flask.abort(400) data = MembersPDF().generate_members_pdf(members, cols) return {'data': str(b64encode(data).decode("utf-8"))} return flask.jsonify([member.jsonify() for member in members])
def get_member(member_id: str = 0) -> flask.Response: if not bson.ObjectId.is_valid(member_id): flask.abort(400) member = Member.objects(id=member_id).first() if not member: flask.abort(404) return flask.jsonify(member.jsonify())
def delete_member(member_id: str) -> flask.Response: if not bson.ObjectId.is_valid(member_id): flask.abort(400) member: mongoengine.Document = Member.objects(id=member_id).first() if not member: flask.abort(404) member.delete() return ('', 200)
def update_member(member_id: str) -> flask.Response: if not bson.ObjectId.is_valid(member_id): flask.abort(400) name = flask.request.form.get('name') last_name = flask.request.form.get('last_name') birth_date = flask.request.form.get('birth_date') birth_place = flask.request.form.get('birth_place') fiscal_code = flask.request.form.get('fiscal_code') address = flask.request.form.get('address') zip_code = flask.request.form.get('zip_code') city = flask.request.form.get('city') province = flask.request.form.get('province') gender = flask.request.form.get('gender') phone = flask.request.form.get('phone') email = flask.request.form.get('email') member: mongoengine.Document = Member.objects(id=member_id).first() if not member: flask.abort(404) if name is not None: member.name = name if last_name is not None: member.last_name = last_name if birth_date is not None: member.birth_date = birth_date if birth_place is not None: member.birth_place = birth_place if fiscal_code is not None: member.fiscal_code = fiscal_code if address is not None: member.address = address if zip_code is not None: member.zip_code = zip_code if city is not None: member.city = city if province is not None: member.province = province if gender is not None: member.gender = gender if phone is not None: member.phone = phone if email is not None: member.email = email member.save() return member.jsonify()