- Don't adjust the ranks automatically after adding an assertion (3de4f58)
- The
make_leaderboard()
method is public, it's used in Tahrir (fbf1117)
- Store a user's current value for a badge in the DB (8a79422)
- Fix Alembic config (8d19683)
- Update dependencies
- Change the scripts to use a Flask-style config file instead of the Paste/Pyramid one (5db2f11)
- Update dependencies
- Make
get_assertions_by_email()
case insensitive (92084ed) - Add a relationship on the Person table (98ad984)
- Minor tests refactoring (85a9aa1)
- Don't create a sessionmaker just to set the recipient in assertions (47eafdd)
- Update dependencies
- fix(deps): update dependency tahrir-messages to v2 (757c4b6)
- chore(deps): update dependencies in lockfile (cd735d8)
- chore(deps): update pre-commit hook charliermarsh/ruff-pre-commit to v0.4.8 (6a40308)
- Refactor getting the db manager from the db URI (17dea50)
- Update dependencies in lockfile and the ruff pre-commit hook (a27cadc, b45bcfa)
- Fix the release github action (3f1e397)
add_invitation()
: don't assume a random user if not given (091b06f)
- Improve the
populate-avatars
script (ea1cd9d)
- Fix the github action to trigger on tags (6edf093)
- Add a column for the avatar (0841366)
- Add a script to populate the user's avatars from FASJSON (2d80012)
- Convert the changelog to markdown (ade7496)
- Update dependencies
- Add tox as a test runner (31a84c4)
- Migrate tahrir-api from Python2 to Python3 (1f55486)
- SQLAlchemy: explicitly declare order_by expression as text (#36) (b6f4984)
- Avoid configuring Session since it already is scoped and will have no effect (a06f8cb)
- Add a few step to start hack on the project in development section README (56a289d)
- Add CI with Github Actions (05f6803)
- Explicitely convert Person to json before sending it to fedora-messaging (bc18ba9)
- send fedoramessaging objects in notifications_callbacks (5a92e20)
- By default, don't include people who have opted out in
get_all_persons()
(60f9a4c) - Use Poetry (3e0b926)
- Use Black and Ruff (2121f3b)
- Use pytest rather than nose (182ed36)
- Add pre-commit config (0f549aa)
- add renovate config (00e83e4)
- Drop zope.sqlalchemy (63cea5b)
- Use sqlalchemy-helpers (83ef45c)
- Replace
datetime.datetime.utcnow()
as is deprecated (d985b4a) - Add a couple properties on Person instances (d163926)
- Replace the
__json__()
method byas_dict()
(c0d8702)
Pull Requests
- (@sayanchowdhury) #40, Fix the version of SQLAlchemy which broke while doing the release #40
Commits
- 210aa79ae Fix the version of SQLAlchemy which broke while doing the release https://github.com/fedora-infra/tahrir-api/commit/210aa79ae
Pull Requests
- (@sayanchowdhury) #38, Changes to the dbapi and the models for the Paths #38
- (@lubomir) #37, Add series information to each badge #37
- (@lubomir) #39, Skip badges with series in populate script #39
Commits
- 00295a062 Add new models and api for the path support along with tests https://github.com/fedora-infra/tahrir-api/commit/00295a062
- 5d2c8aeb1 Add series dbapi along with the tests https://github.com/fedora-infra/tahrir-api/commit/5d2c8aeb1
- 418ba645e Add Perk dbapi along with the required tests https://github.com/fedora-infra/tahrir-api/commit/418ba645e
- 158797111 Use first() instead of one() https://github.com/fedora-infra/tahrir-api/commit/158797111
- b1fbee897 Add more api methods to the dbapi and override __json__ for newer methods https://github.com/fedora-infra/tahrir-api/commit/b1fbee897
- 00418af47 Optimize code for less queries https://github.com/fedora-infra/tahrir-api/commit/00418af47
- b9ddf3d8a Change Perk to Milestone https://github.com/fedora-infra/tahrir-api/commit/b9ddf3d8a
- 00bb414bb PEP8 fixes https://github.com/fedora-infra/tahrir-api/commit/00bb414bb
- b9c806e66 Add the migration scripts. https://github.com/fedora-infra/tahrir-api/commit/b9c806e66
- 4ec1a66b8 Update the last update when the record is updated https://github.com/fedora-infra/tahrir-api/commit/4ec1a66b8
- 56b2e7616 Add default values to the migration files https://github.com/fedora-infra/tahrir-api/commit/56b2e7616
- 1b5151371 Add script to populate series information https://github.com/fedora-infra/tahrir-api/commit/1b5151371
- 6ae013ea0 Skip badges with series in populate script https://github.com/fedora-infra/tahrir-api/commit/6ae013ea0
- Add a dbapi function to check if an authorization exists d385c0435
- Merge pull request #34 from fedora-infra/feature/authorization-exists-check 0a263218f
- add badge_name_to_id function in dbapi f4c2e7ba9
- let's put the badge_name_to_id function in util.py a231489d6
- Merge pull request #35 from fedora-infra/feature/badge-name-to-id c2ac5a07b
- 0.7.1 1d47ca897
- 0.7.1 f1712f527
- Add a column to optionally associate stls with a badge. 91a8353c4
- Merge pull request #33 from fedora-infra/feature/stls 2082a782c
- Allow initialize_tahrir_db to be run on openshift. 2816dd57d
- Look for OPENSHIFT_APP_NAME instead. fbc8f8bd5
- Support postgres as well as mysql. 81699e3e0
- Merge pull request #32 from fedora-infra/feature/openshiftery 63047fba3
- Add a new field to optionally track the originating event for a badge. 992b3d702
- Actually check that the link got stuck in the db. 13694c6af
- Merge pull request #31 from fedora-infra/feature/tracking e77a7ae74
- Change API to be consistent in allowing email for add_invitation 26b68e1c3
- Merge pull request #30 from fedora-infra/feature/admin-revamp 394f605de
- Add an authz table. 72e60c0b0
- pep8. 95b9c69f2
- Add a method for checking evaluating authorization. c52b4589b
- Add an add_authorization api func. dd40ba9f5
- Fix the authorized check. d42cb2bb5
- Use utcnow, not tz now. a26c2c374
- Use python-arrow to return a relative date for expiration. a6afe7bb1
- Replace a few more instances of .now with .utcnow. d9c952b10
- Merge pull request #29 from fedora-infra/feature/authz 12694a509
- Make sqlalchemy version explicit. 68e3f5822
- PEP8 Guideline in: dbapi.py d33ec07f4
- Import don't use in model.py 1a1d21149
- PEP8 Guideline in: uitls.py b9768c95a
- Add import pprint in script initializedb.py 78c40ee65
- Add again Person.opt_out == False 07376fce7
- Merge pull request #23 from yograterol/develop fd808bbac
- users with same amount of badges share rank 71fad32db
- fix "overtaking" when updating a person's rank c042ce583
- update tied rank unit tests 6d0066865
- fix SA unicode warning in unit tests ffa90dff1
- appease pep8 1a1fab0e8
- Merge pull request #27 from nphilipp/develop 70d94bb82
- Send the badge id along with fedmsg. 0e5f15ae4
- Tests for fedmsg badge_id. d4ae91108
- Merge pull request #28 from fedora-infra/feature/badge-id-for-fedmsg c018245c5
- Watch out for the other 'person' in the scope. de8efd36f
- Preserve order here. 306da8eec
- Merge pull request #20 from fedora-infra/feature/person-scope 0c023d474
- Pull in the ordereddict on py2.6. 4700ef8af
- Merge pull request #21 from fedora-infra/feature/preserve_leaderboard_order abc5299ff
- Add a last_login field for persons. 0e08f1501
- Add API interface for last-login modifications. 6fef6f7ba
- Make the note_login signature symmetric with get_person. fb6f2b6c8
- Merge pull request #22 from fedora-infra/feature/add-last-login 3798a82d7
- Clean up readme. 79fca2522
- Harsher slugification. 0f35df3a3
- Add a new column to the persons model to keep track of rank. 7fa90759f
- Add failing test for cached ranking. e3a19392c
- Isolate those tests a little more. e0c702ed4
- Add a __repr__ to make debugging tests easier. be0ffc229
- Recalculate and cache rank each time a new assertion is awarded. f36fc6cdb
- Expose a Person's rank in __json__. c948f722c
- Accept a notification callback and invoke it when rank changes. a1ba93054
- Remove spurious backslash. 9e30a3e81
- Simplify that adjust_ranks call. c899188d6
- Add a test for pre-existing users with no cached rank. 4d5db0f95
- Additionally, send the badge award message too. Because that just makes sense. 0e6d5b22c
- Introduce timelimits to the leaderboard maker. 31d67a598
- Also.. watch out for these. 46c9e7389
- Revert "Also.. watch out for these." 7d1dd0d62
- Change that fedmsg topic from "update" to "advance" (since it will always be advancing, and we never emit messages for rank slipping). 8b6be130e
- Add a comment on the meaning of the 'start' and 'stop' parameters. 0dd45b85a
- Add a docstring for _adjust_ranks. 2bc1d8eda
- Explicitly label the sq.func('count') interface. bf2994d8c
- Nuke unicode_literals. 4bdbe3e98
- Make ranking-tie test a little more forgiving since database ordering is undefined. 8bb7db1fd
- Add a note to the comment about null rank. 899564420
- assert_in fails on py2.6, so roll our own. f296da1ec
- Merge pull request #19 from fedora-infra/feature/ranking b23db318c
- Unfinished get_badges_from_tags code from yesterday. 94bd55030
- Merge branch 'develop' into feature/badges-from-tags e82b15a8f
- More progress on badges_from_tags, just gotta figure out this last part... d1d020dbf
- Woo, get_badges_from_tags method is working! 7589178a1
- Merge branch 'feature/badges-from-tags' into develop d87ea66ae
- Misplaced paren. b3478f916
- Fix bug where duplicate badges were returned by get_badges_from_tags. df64ba362
- Update dbapi.py 286a57dd2
- Implement Threebean's idea for match_all, with a few tweaks. Tests will still not pass, because we need to make "contains" look for whole words, and not just parts. 0c4a50abe
- Add a query for opt-out to the api. 455499e48
- Remove q debugging from tags test and enable it. Will still fail. a25fdc0f0
- Make sure tags string has a trailing comma when adding a badge. c802d8000
- Make sure tags actually exists before running .endswith() on it. 775ab1dc0
- Complete get_badges_from_tags, and all tests are passing! :D 41f16bb0d
- Merge pull request #18 from Qalthos/patch-1 9f187462c
- Datetime objects are not JSON serializable. a9ccdc8c6
- Add get_invitation method to get an invite by its unique ID. 585b39e98
- Fix comical bug. 6000d623a
- Make add_badge always return a smart id. 78e13b4da
- Actually use that badge_id. a90203a67
- Allow our caller to pass in an already created session object. 2620f7bb9
- Be less odd. d710209d8
- Autocommit after certain method calls, but only when configured to do so. 257ec1b5e
- Make get person/badge and badge/person exists methods case-insensitive. 90a82a97f
- Make get_assertions_by_badge case-insensitive. e07af017c
- PEP 8. 88f89f839
- Add method to get invitations by issuer ID. 8160010c4
- Invitations have persons as issuers, not Issuers. 7de2e7b3c
- Add get_all methods for models that didn't have them. 936eb3516
- Uniform test names (where possible). f8d37261e
- Add get_assertions_by_badge. a11358bc4
- Adjust some indentation. bc0eb0cc4
- PEP 8. 1d9adc3f3
- Fix a mistake in that function I just added. 284fc4f2e
- Fix syntax error in alembic script. 3634d46c1
- persons.id is actually an integer, so this foreign key must match. 99088b584
- Alembic upgrade script to fix foreign key mismatch. d19a0a9a5
- Patch to allow creating a Person with a website and a bio, as well. 19311fd8d
- Allow add_badge to take tags. 57b32e6dd
- Add two new columns for Person we will need. 43bce48cf
- Alembic script for the last DB upgrade. b048918b4
- Merge pull request #17 from fedora-infra/feature/person.created_on b572ea3e7
- Merge pull request #16 from fedora-infra/feature/foreign-key-mismatch 58b10f435
- Put things in a straight line. b8b008178
- Include alembic stuff and tests when we do a release to pypi. 5f7a6e23a
- Allow add_person to set the nickname. 0a6daea03
- person_exists should accept other arguments. 0f53c9154
- Merge pull request #12 from fedora-infra/feature/nickname-setting 09ad98118
- Allow getting a user by id and nickname. be32cb9c2
- Merge pull request #13 from fedora-infra/feature/nickname-getting cda6a4611
- Fix typo. c7c369750
- Update link to Tahrir in readme. 344fdbc11
- Stop leaking sqlalchemy sessions. Fixes #14. ab1de52e7
- Merge pull request #15 from fedora-infra/feature/stop-session-leak 63dc66811
- PEP8. 71c7cb91d
- Remove the need for a "tahrir.salt" config value. 3d44dc91f
- Remove an old print statement. bb5ecf9f0
- Merge pull request #10 from fedora-infra/feature/simple-salts 9a1e415c7
- add initial alembic files, point at tahrir.db, and basic readme e434673c7
- Add swap file extensions to .gitignore 1d6579c73
- Make Alembic run migrations as a transaction, rolling back on OperationError. Also add a migration script to add a column. f661a7c62
- Print repr() of OperationalError. 5ae3e40e2
- Add 3 more Alembic scripts to complete Tahrir model changes for now. 46a4b2f59
- Merge branch 'feature/alembic' into develop d33a96a31
- Update models to match Alembic changes. ab28f4c14
- Make created_on default values be the current datetime. 987aa7bcc
- Alembic script to add created_by to invitations table. d51427e9e
- Add invitations table created_by field to model. Fixes Tahrir #58. 55d8803d9
- Merge branch 'feature/issue-58' into develop 6842648e4
- Make Alembic scripts properly include nullable args. (Thanks, @puiterwijk!) 47c14055a
- Make issued_on in assertions table not nullable and set default to datetime.now. 57b03be29
- Fix failing test (was failing on add_invitation). 1015377cd
- Fix unicode warning thrown in tests (thanks @Qalthos!) ee3b008bd
- Add get_all_assertions and get_all_persons methods. 5a1e07ae2
- Fix get_assertions_by_email so it actually functions. 42fe14005
- Add get_person_email and make person_exists take an email OR id. f056f26d7
- Merge pull request #11 from fedora-infra/feature/TahrirDatabase-improvements e2b485c9e