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

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

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

###
Returns a account from it's UID and provider
###
exports.get_by_uid = (connection, uid, provider, fn) ->

	connection.query 'SELECT * FROM accounts WHERE accounts.uid=? AND accounts.provider=? LIMIT 1;', [ uid, provider ], (err, results) ->

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

###
Returns all Accounts by a certain user.
###
exports.get_by_user_id = (connection, user_id, fn) ->

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

		if err
			fn err
		else
			fn err, results

exports.validate = (params, fn) ->
	return

###
Handles validation and create or update a acount.
###
exports.save = (connection, account_params, fn) ->

	if 'id' in account_params

		# Update
		return

	else

		# Create
		return


	fn()

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