diff --git a/hodor/api/__init__.py b/hodor/api/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/hodor/api/user.py b/hodor/api/user.py new file mode 100644 index 0000000000000000000000000000000000000000..2075c091de01301a18c7a2fd146fb09701f65317 --- /dev/null +++ b/hodor/api/user.py @@ -0,0 +1,12 @@ +from hodor.app import api +from flask_restplus import Resource + +ns = api.namespace('/users', description='Operations related to blog posts') + +@ns.route('/users') +class listusers(Resource): + def get(self): + return {'user': 'noob'} + + +api.add_resource(listusers, '/users') \ No newline at end of file diff --git a/hodor/app.py b/hodor/app.py new file mode 100644 index 0000000000000000000000000000000000000000..0f402ea0a18e68be106eacf6eb98d570df3f8a88 --- /dev/null +++ b/hodor/app.py @@ -0,0 +1,21 @@ +from flask import Flask, request +from flask_restplus import Resource, Api +from api.user import ns as user_namespace + +app = Flask(__name__) +api = Api(app) + +todos = {} + +@api.route('/<string:todo_id>') +class TodoSimple(Resource): + def get(self, todo_id): + return {todo_id: todos[todo_id]} + + def put(self, todo_id): + todos[todo_id] = request.form['data'] + return {todo_id: todos[todo_id]} + +api.add_namespace(user_namespace) +if __name__ == '__main__': + app.run(debug=True) \ No newline at end of file diff --git a/hodor/controllers/user.py b/hodor/controllers/user.py new file mode 100644 index 0000000000000000000000000000000000000000..82f68d5773cb17cab37cff3172e161191978b551 --- /dev/null +++ b/hodor/controllers/user.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- +from hodor import app +from flask import jsonify + + +@app.route('/') +def start(): + return jsonify({'hello':'world'}) + + +@app.route('/print', methods=['GET', 'POST']) +def printer(): + form = {'noob' : 'shit'} + return form diff --git a/hodor/models/user.py b/hodor/models/user.py new file mode 100644 index 0000000000000000000000000000000000000000..c74526cd49fada46b69e3b207672e347f356de38 --- /dev/null +++ b/hodor/models/user.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +from hodor import db + +class User(db.Model): + __tablename__ = 'users' + + # Values entered by the user + username = db.Column(db.String(32), primary_key=True) + first_name = db.Column(db.String(32), nullable=False) + last_name = db.Column(db.String(32), nullable=False) + email = db.Column(db.String(64), unique=True, nullable=False) + password = db.Column(db.String(64), nullable=False) + + # Platform values + disabled = db.Column(db.Boolean, default=False) + verified_account = db.Column(db.Boolean, default=False) + verification_code = db.Column(db.String(32), nullable=False) + + def __unicode__(self): + return unicode(self.username) + + def __init__(self, name): + """initialize with name.""" + self.name = name + + def save(self): + db.session.add(self) + db.session.commit() + + @staticmethod + def get_all(): + return User.query.all() + + def delete(self): + db.session.delete(self) + db.session.commit() + + def __repr__(self): + return "<User: {}>".format(self.name) \ No newline at end of file diff --git a/manage.py b/manage.py new file mode 100644 index 0000000000000000000000000000000000000000..e3f8d3f6864678e49425d4e038cd7c069f579a26 --- /dev/null +++ b/manage.py @@ -0,0 +1,15 @@ +import os +from flask_script import Manager # class for handling a set of commands +from flask_migrate import Migrate, MigrateCommand +from hodor import db, create_app +from hodor.models.user import User + +app = create_app(config_name='development') + +migrate = Migrate(app, db) +manager = Manager(app) + +manager.add_command('db', MigrateCommand) + +if __name__ == '__main__': + manager.run()