summaryrefslogtreecommitdiff
path: root/app/models
AgeCommit message (Collapse)Author
2018-01-31keys: store type and rev in hash rather than serializedAzul
Since the old keys used to be strings i started out by json serializing the new keys with type, value, rev. However storing serialized json in couch (json) does not really make sense. So now we do not serialize but instead have one json document. The lookup for a key of type pgp may still return a string but for everything that uses the new api it will return a hash with type and revision. This data structure is way easier to handle also on the nickserver side.
2018-01-19API: implement deleting keys through new keys apiAzul
2018-01-18(WIP) first steps towards implementing keys APIAzul
2017-11-16fix: respond with error on invalid pgp keyAzul
We used to just ignore the key. Also separated the code for handling key updates from other user updates. This should eventually be moved to a different route. Mixing the two makes the implementation really hard.
2017-10-24refactor: instance method create for Account.createAzul
This simplifies returning the user while still working on it a lot. Much cleaner than all these return user statements. There's a lot more to refactor here. For example delegating methods to user etc. ... but for now this should suffice. Don't want to break this in a bugfix release.
2017-10-24fix: also remove invite codes used for tmp usersAzul
fixes #8807
2017-10-17feat: sort invite codes by last updateAzul
They used to be sorted by the code which was not helpful fixes #8806 requires deploy of new design docs to the platform
2017-10-17fix: destroy invites used to create test accountsAzul
Production instances are getting cluttered with invites from test accounts. Instead of marking them as used we will now completely remove them. refers to #8804 refers to #8807\
2017-08-07prevent token conflictsAzul
2017-03-20Merge branch 'debug/rescue-more-specifically' into 'master' azul
make the rescue in account creation less broad See merge request !15
2017-03-10Validates recovery code as hexadecimal data.Thais Siqueira
Related with https://github.com/pixelated/pixelated-user-agent/issues/924 With @aarni
2017-03-10Adds recovery code to user accountThais Siqueira
Related with https://github.com/pixelated/pixelated-user-agent/issues/924 With @aarni
2017-03-07make the rescue in account creation less broadAzul
It was catching errors that should have led to 500s
2016-11-17bugfix: only send login errors onceAzul
If a login was invalid as a username but also for the identity we used to have duplicate error messages. Let's avoid that. Also added a test to make sure invite_code errors are properly displayed no matter what other fields are set or missing. Pixelated will rely on this to test invite codes
2016-08-26[load] require login_format_validation in sessionAzul
We moved it into the lib folder so it's not in an autoload path anymore. So now it needs to be required before being used. This fixes a load order issue that would cause non-deterministic failures in CI
2016-08-12[db] def database on users instead of use_databaseAzul
use_database affects all uses of prepare_database - so also the one in tmp_database. In order to avoid that we do not use_database but just overwrite the database method itself.
2016-08-12move temporary_user into lib - fix load issueAzul
We already did the same for other concerns. The way we load models for couchrest migrations does not work well with concerns in the model directory as they will be loaded twice.
2016-07-14[feature] restrict is_admin in the user api, to only allow queryingNavaL
for him/herself So that it we do not expose the is_admin property to anyone else including other admins.
2016-07-14Merge branch 'develop' of https://github.com/leapcode/leap_web into ↵NavaL
feature/expose_admin_in_api
2016-07-12bugfix: require local email in user modelAzul
2016-07-05Fix db:migrate and similar tasksAzul
We saw errors from duplicate loading of LocalEmail and LoginFormatValidation. The latter resulted in a crash. In an attempt to ensure all subclasses of Couchrest::Model::Base are loaded Couchrest::Model::Utils::Migrate requires all files in app/models. We have an extension that does the same for the engines. During this process LoginFormatValidation and LocalEmail were autoloaded when 'identity' was required. Afterwards they were required again. It looks like rails' autoload mechanism does not play nicely with require. So to make sure they are not autoloaded first move the concerns and helper classes into the lib directory and require them explicitly.
2016-06-22[feature] expose is_admin in the user apiNavaL
So that whoever consumes the API can use this attribute to determine if admin functionalities should be made available to the current user.
2016-05-23rename destroy_identity to release_handlesAzul
This expresses the intent rather than the implementation. Also replace temp with query refactoring.
2016-05-03fix failing unit and functional testsAzul
2016-05-02upgrade: remove references to RestClientAzul
CouchRest > 1.2 does not use RestClient anymore. So we should not try to catch its errors.
2016-04-11allow monitor auth to create users even if invites are normally required.elijah
2016-03-28api: added get(:show) to identities and users, allow monitors to ↵elijah
create/delete test & tmp users.
2016-03-28api: added allow ability to limit what IPs can access api using a static ↵elijah
configured auth token.
2016-03-28api tokens - clarify terms: "monitors" are admins that authenticated via api ↵elijah
token, "tmp" users are users that exist only in tmp db, "test" users are either tmp users or users named "test_user_x"
2016-03-28api tokens: allow for special api tokens that work like session tokens but ↵elijah
are configured in the static config, to be used for infrastructure monitoring.
2016-03-19Handle conflict on token cleanup - fixes #7670Azul
the only race condition I can think of here is this... somebody tries to authenticate with a token that is almost expired. auth checks and notices it is not expired yet so starts to prolonge it. Before the polonged token is written to the db the cleanup script discovers that it has just expired. prolonged token is written to the db cleanup script fails to delete it from the db as it has been updated. So what we want in this case is to keep the token alive as it was renewed in the last minute.
2016-02-10allow user accounts to be re-enabled, and for associated identities to also ↵elijah
get re-enabled.
2016-01-31remove cert fingerprints for disabled users, so that they cannot send email ↵elijah
anymore. closes #7690
2016-01-14added UI for invite codeselijah
2016-01-10Merge branch 'remove_couponcode' of ↵elijah
https://github.com/Alster-Hamburgers/leap_web into remove_couponcode # Conflicts: # lib/tasks/invite_code.rake
2015-10-19Merge pull request #198 from claucece/developazul
Braintree_implementation
2015-10-13Remove Coupon Code gem and make invite code = idankonym
Id is set = invite code to make it easier to delete the invite codes that get created during the leap platform tests (because this avoids having to look up ttheir id each time).
2015-10-13Replace Coupon Code gem for invite code creationankonym
Replacing the Coupon Code gem with base64/securerandom as suggested by Elijah.
2015-10-13Remove Coupon Code gem and make invite code = idankonym
Id is set = invite code to make it easier to delete the invite codes that get created during the leap platform tests (because this avoids having to look up ttheir id each time).
2015-10-13Replace Coupon Code gem for invite code creationankonym
Replacing the Coupon Code gem with base64/securerandom as suggested by Elijah.
2015-10-13Fix the InviteCode initialize method so leap_web tests stay greenankonym
2015-10-13Adjust the rake task to make id = invite codeankonym
This will simplify invite code deletion after running tests.
2015-10-06Integrated feedback on multi-invite codesankonym
Removing some superfluous code, mostly, and structuring tests better.
2015-10-05add subscriptionsclaucece
2015-10-05added customers, recurring payment and payment_infoclaucece
2015-10-05correctly set up commentsclaucece
2015-10-05added payment_info, _customer_form, sucess instancesclaucece
2015-10-02Update rake task to allow generation of multi-use invitesankonym
The rake task now takes a second (optional) argument that sets the number of uses per invite code. If this is omitted, the default number of uses is 1. (This commit also contains some minor code cleanup that removes some stuff that I'd commented out but not removed.)
2015-10-02Allow multi-use invite codesankonym
Introduce a invite_max_uses property to invite codes to allow admins to set a maximum number of uses for invite codes.
2015-09-28Make invite code configurableankonym
Through the config param 'invite_required', providers can decide whether users need to provide an invite code upon signup. The default setting is false.