Commit Graph

27 Commits

Author SHA1 Message Date
Shyam Sunder 2bdb072296 server/posts: store and provide MD5 checksums 2021-01-05 13:20:01 -05:00
Shyam Sunder a302b2c4a4 server: enable large file support in database 2020-10-11 12:50:21 -04:00
neobooru 06ad8b1882 client+server: add tag category ordering feature
Fixes  #209
2020-09-19 22:55:17 +02:00
Shyam Sunder 57193b5715 client+server: implement code autoformatting using prettier and black 2020-06-06 08:58:23 -04:00
Shyam Sunder ea623449e7 server: format code to flake8 2020-06-05 10:02:18 -04:00
Shyam Sunder b0f1b8c230 fix python lint issues 2020-06-03 11:55:50 -04:00
Ruin0x11 5ca21f9e7f Add pool tests 2020-05-04 19:12:54 -07:00
Ruin0x11 8795279a73 Add pool input box in post details 2020-05-04 02:20:23 -07:00
Ruin0x11 e6bf102bc0 Add list of posts to pools 2020-05-04 00:09:33 -07:00
Ruin0x11 d59ecb8e23 Add pool CRUD operations/pages 2020-05-03 19:53:28 -07:00
neobooru c60ec22b92 server/func/tags: allow tags to have longer names 2020-03-15 22:25:45 +01:00
Shyam Sunder db0c33bb14 server/func/image_hash: added docstrings to functions 2020-03-13 22:45:11 -04:00
Shyam Sunder 4c78cf8c47 server/image_search: implement reverse search functionality in postgres
This will remove the dependency on the Elasticsearch database.

The search query is passed currently as raw SQL. Proper implementation
using SQLAlchemy will need custom ORM classed to be made.

Additional config parameter "allow_broken_uploads" has been added.
2020-03-13 22:45:11 -04:00
Shyam Sunder 9b02a0bd5e server/posts: allow for longer source URLs
Fixes #272
2019-07-27 19:24:39 -04:00
Shyam Sunder 4117f63375 server/model/posts: Make post flags a hybrid attribute in model
This should (hopefully) fix #250 and #252
2019-04-22 20:20:19 -04:00
Shyam Sunder 3879c2ec20 server/search: allow searching by post flags 2018-09-24 11:36:13 +02:00
Shyam Sunder 2235a72d2f server+client: added sound flag to video posts 2018-09-24 11:36:13 +02:00
ReAnzu 2a69f0193f server/auth: add token authentication
* Users are only authenticated against their password on login,
  and to retrieve a token
* Passwords are wiped from the GUI frontend and cookies
  after login and token retrieval
* Tokens are revoked at the end of the session/logout
* If the user chooses the "remember me" option,
  the token is stored in the cookie
* Tokens correctly delete themselves on logout
* Tokens can expire at user-specified date
* Tokens have their last usage time
* Tokens can have user defined descriptions
* Users can manage login tokens in their account settings
2018-03-25 22:23:29 +02:00
ReAnzu 3f52aceca4 server/users: harden password hashes
- Changed password setup to use libsodium and argon2id (regular SHA256
  hashing for passwords is inadequate as modern GPU's can hash generate
  billions of hashes per second).
- Added code to auto migrate old passwords to the new password_hash if
  the existing password_hash matches either of the legacy password
  generation schemes (SHA1 or SHA256).
- Added migration to support new password_hash format length
- Added column password_revision. This field will default to 0, which
  all passwords will have till they're updated. After that each password
  hash method has a revision.
2018-03-08 23:40:47 +01:00
rr- 4bc58a3c95 server: lint 2017-04-24 23:30:53 +02:00
rr- ee6b66329b server/posts: fix search by aspect ratio
It was being rounded to nearest integer because of the width/height
columns' data type.
2017-02-05 23:21:43 +01:00
rr- 49e5975254 server/model: use new sqlalchemy import style 2017-02-05 23:21:43 +01:00
rr- 00c3a4320b server/posts: support aspect-ratio search query 2017-02-05 22:09:33 +01:00
rr- ad842ee8a5 server: refactor + add type hinting
- Added type hinting (for now, 3.5-compatible)
- Split `db` namespace into `db` module and `model` namespace
- Changed elastic search to be created lazily for each operation
- Changed to class based approach in entity serialization to allow
  stronger typing
- Removed `required` argument from `context.get_*` family of functions;
  now it's implied if `default` argument is omitted
- Changed `unalias_dict` implementation to use less magic inputs
2017-02-05 16:34:45 +01:00
rr- 219ab7c2c3 server/general: be more pythonic 2016-04-03 23:21:22 +02:00
rr- 2578a297bf server/general: improve pylint score
+ incorporate some in-house rules - no more useless doc strings...
2016-04-03 19:17:54 +02:00
rr- e487adcc97 split files into client/ and server/ 2016-04-01 18:48:16 +02:00