###
Returns a Application by it's ID
###
exports.get_by_id = (connection, app_id, fn) ->

	connection.query 'SELECT * FROM applications WHERE applications.id=? LIMIT 1;', [ 1 * app_id ], (err, results) ->

		if err
			fn err
		else
			fn err, results[0]

###
Returns a Application by it's Key
###
exports.get_by_key = (connection, app_key, fn) ->

	connection.query 'SELECT * FROM applications WHERE applications.key=? LIMIT 1;', [ app_key ], (err, results) ->

		if err
			fn err
		else
			fn err, results[0]

###
Returns a Application by it's User ID
###
exports.get_by_user_id = (connection, user_id, fn) ->

	connection.query 'SELECT * FROM applications WHERE applications.user=?;', [ 1 * user_id ], (err, results) ->

		if err
			fn err
		else
			fn err, results

###
Returns a Application by it's Organization ID
###
exports.get_by_organization_id = (connection, org_id, fn) ->

	connection.query 'SELECT * FROM applications WHERE applications.organization=?;', [ 1 * org_id ], (err, results) ->

		if err
			fn err
		else
			fn err, results

###
Handles validation and create or update a Application.

Only members are allowed depending on their groups
###
exports.save = (connection, org_params, fn) ->
	fn()

###
Removes the Application with the specified ID
###
exports.delete = (connection, org_id, fn) ->
	fn()

