app/controllers/cadenero/v1/accounts_controller.rb in cadenero-0.0.2.a3 vs app/controllers/cadenero/v1/accounts_controller.rb in cadenero-0.0.2.b1
- old
+ new
@@ -1,13 +1,25 @@
require_dependency "cadenero/application_controller"
module Cadenero
module V1
+ # Handles the Accounts for the multitenant. An account creates a subdomain in the server as a route
+ # the account has an owner that is the default admin for that account
class AccountsController < Cadenero::ApplicationController
+ # For API consistency provides the example for creating a new account
def new
errors = %Q{Please sign up. posting the account json data as {account: { name: "Testy", subdomain: "test", owner_attributes: {email: "testy@example.com", password: "changeme", password_confirmation: "changeme"} }} to /v1/accounts/sign_up}
- render json: {errors: errors, links: "/v1/accounts/sign_up"}, status: 422
+ render json: {errors: errors, links: "/v1/accounts/sign_up"}, status: :unprocessable_entity
end
+ # Create a [Cadenero::V1::Account] based on the params sended by the client as a JSON with the account inrormation
+ #
+ # @example Posting the account data to be created in a subdomain
+ # post "http://www.example.com/v1/accounts",
+ # account: { name: "Testy", subdomain: "test",
+ # owner_attributes: {email: "testy@example.com", password: "changeme", password_confirmation: "changeme"} }
+ #
+ # @return render JSON of [Cadenero::V1::Account] created and the status 201 Created: The request has been
+ # fulfilled and resulted in a new resource being created.
def create
@account = Cadenero::V1::Account.create_with_owner(params[:account])
if @account.valid?
@account.create_schema
@account.ensure_authentication_token!