simplex/app.moon
2018-04-24 10:02:39 -07:00

41 lines
1.1 KiB
Plaintext

import Application from require "lapis"
import APIKeys, Tasks from require "models"
import autoload, locate, registry from require "locator"
import settings from autoload "utility"
import main from autoload "layouts"
class Simplex extends Application
@before_filter =>
settings.load!
registry.before_filter(@)
layout: main
@include locate "users"
@include locate "api"
[index: "/"]: =>
-- NOTE TEMPORARY
if @user
@keys = APIKeys\select "WHERE user_id = ? ORDER BY id ASC", @user.id
@tasks = Tasks\select "WHERE user_id = ? ORDER BY id ASC", @user.id
unless @keys and #@keys > 0
@keys = {APIKeys\create(@user)}
return render: "index.logged_in"
else
return redirect_to: @url_for "user_login", nil, redirect: @url_for "index"
[new_api_key: "/new-api-key"]: =>
if @user
if api_key = APIKeys\create(@user)
return json: { success: true, :api_key }
[console: "/console"]: =>
if @user and @user.admin
console = require "lapis.console"
return console.make(env: "all")(@)