Commit Graph

75 Commits

Author SHA1 Message Date
Grey Himmel 0d2777c1d1 Return new member after member PATCH (#191) 2020-07-05 12:54:51 +02:00
Ske 467ce78522 Retire more IDataStore methods 2020-06-29 14:54:11 +02:00
Ske 9c1efc7886 Move system updates to the same patch system as members 2020-06-29 14:39:19 +02:00
Ske c5697b33e2 Finally retire the PKMember setters! 2020-06-29 14:15:30 +02:00
Ske 281b669391 Refactor member updates to use a patch object 2020-06-29 13:57:48 +02:00
Ske d3cf382e3b Migrate to date/time format extension methods 2020-06-21 16:05:04 +02:00
Ske dcffbef805 Migrate to more privacy helper extensions 2020-06-21 15:51:08 +02:00
Ske ae4e8f97d0 Add member avatar privacy 2020-06-20 16:00:50 +02:00
Ske 56eae82b0a Move most references to PKMember.Name to go through helper extepsions for privacy 2020-06-18 17:08:36 +02:00
Ske 244815d6c3 Update OpenAPI specification 2020-06-17 22:12:00 +02:00
Ske e92700f339 Comment out color privacy stuff for now (revisit later?) 2020-06-17 21:51:40 +02:00
BeeFox-sys 721a4502bb Feature/granular member privacy (#174)
* Some reasons this needs to exist for it to run on my machine? I don't think it would hurt to have it in other machines so

* Add options to member model

* Add Privacy to member embed

* Added member privacy display list

* Update database settings

* apparetnly this is nolonger needed?

* Fix sql call

* Fix more sql errors

* Added in settings control

* Add all subject to system privacy

* Basic API Privacy

* Name privacy in logs

* update todo

* remove CheckReadMemberPermission

* Added name privacy to log embed

* update todo

* Update todo

* Update api to handle privacy

* update todo

* Update systemlist full to respect privacy (as well as system list)

* include colour as option for member privacy subject

* move todo file (why was it there?)

* Update TODO.md

* Update TODO.md

* Update TODO.md

* Deleted to create pr

* Update command usage and add to the command tree

* Make api respect created privacy

* Add editing privacy through the api

* Fix pronoun privacy field in api

* Fix info leak of display name in api

* deprecate privacy field in api

* Deprecate privacy diffrently

* Update API

* Update documentation

* Update documentation

* Remove comment in yml

* Update userguide

* Update migration (fix typo in 5.sql too)

* Sanatize names

* some full stops

* Fix after merge

* update migration

* update schema version

* update edit command

* update privacy filter

* fix a dumb mistake

* clarify on what name privacy does

* make it easier on someone else

* Update docs

* Comment out unused code

* Add aliases for `member privacy all public` and `member privacy all private`
2020-06-17 21:31:39 +02:00
Ske 627f544ee8 Migrate API to ASP.NET Core Auth services + refactor 2020-06-16 01:15:59 +02:00
Ske 1d1b7b8716 Migrate GetSystemByToken 2020-06-13 19:44:01 +02:00
Ske 90ac186183 Extract Database to interface 2020-06-13 19:36:43 +02:00
Ske 70df9cd893 Fix API project build 2020-06-13 19:21:24 +02:00
Ske c875c8af9f Various small fixes, setting guild config now works 2020-06-13 19:15:50 +02:00
Ske e176ccbab5 Several more database-y refactors
- DbConnectionFactory renamed to "Database", will now be the primary entry point for DB stuff
- Created IPKConnection interface mostly containing async extensions to IDbConnection, use this going forward
- Reworked the Connection/Command wrappers (that have performance/logging extensions)
- Probably more stuff that I forgot???
2020-06-13 18:31:20 +02:00
Ske ba441a15cc Too many refactors in one:
- Allowed adding ephemeral(ish) views and functions
- Moved message_count to a concrete database field
- Moved most proxy logic to a stored procedure
- Moved database files around and refactored schema manager
2020-06-12 20:29:50 +02:00
Ske 599dfcc071 Enable XML comment support for Swashbuckle 2020-05-07 06:10:29 +02:00
Ske 5cc5a5b4a7 Add basic Swagger integration into ASP.NET
Only enabled in Development mode for now.
2020-05-07 05:14:31 +02:00
Ske c4c3eaf954 Integrate ApiVersioning library for ASP.NET 2020-05-07 04:40:08 +02:00
Ske db1ebd0a1d Fix OpenAPI schema ref examples for ReDoc 2020-05-07 01:45:13 +02:00
Ske 38e65b3971 Properly publish OpenAPI spec 2020-05-07 01:36:00 +02:00
Ske 1badfd9020 Add draft OpenAPI v3 definitions 2020-05-06 19:37:08 +02:00
Ske 0f64086c75 Properly save avatar_url in the API 2020-05-05 16:14:21 +02:00
Ske f803b9a392 Add a character limit to avatar URLs (256 for now) 2020-05-05 16:04:17 +02:00
Ske ab8382dffe Load proper config file for non-Docker API 2020-04-16 22:03:23 +02:00
Ske 45c5e5ed42 Normalize colors to lowercase hex 2020-02-25 16:37:52 +01:00
Ske d596cbc4e8 Clean up privacy handling in API 2020-02-13 23:11:21 +01:00
Ske bef3f5c79a Merge branch 'api-privacy' of https://github.com/greysdawn/PluralKit into greysdawn-api-privacy 2020-02-13 22:55:10 +01:00
Ske 6d5004bf54 Large refactor and project restructuring 2020-02-12 15:16:19 +01:00
Ske fde03538e0 Fix API token handling 2020-02-01 22:17:13 +01:00
Ske 1ea0526ef8 Migrate DI container to Autofac 2020-01-26 01:27:45 +01:00
Ske b347d2d557 Add front history pagination; upgrade more store methods 2020-01-18 00:58:35 +01:00
Ske 8a689ac0f2 Upgrade various store methods to IAsyncEnumerable 2020-01-18 00:02:17 +01:00
Ske 98613c4287 Add system and member privacy support 2020-01-11 16:51:13 +01:00
Ske 0f22285824 Upgrade API serialisation code to enable potential context-based serialisation 2019-12-28 15:52:59 +01:00
Ske ebc688ae54 Add original message ID to API response 2019-12-22 12:54:37 +01:00
Ske 9c9e48a799 Upgrade to .NET Core 3.1 2019-12-22 00:40:57 +01:00
Ske 55f77df39e Fix bounds checks and normalise nulls in API 2019-12-02 16:49:39 +01:00
Ske d6edbe8e8d Fix PATCHing members with one-sided proxy tags 2019-11-03 19:16:06 +01:00
Ske 49dc25ee02 Allow keeping proxy tags when proxying messages.
Required database migration:

Closes #75.
2019-10-30 09:26:50 +01:00
Ske 393ee16c1b Add support for multiple proxy tags
Tangentially closes #103.
2019-10-30 08:18:59 +01:00
Ske 6a73b3bdd6 Refactor data stores, merging the Store classes 2019-10-26 19:45:44 +02:00
Noko 397da2e1fa Added max member count to limits
A given system can now have up to 1000 members. Within 50 members of that limit, a warning will display whenever a new member is created via the bot. Once the limit is reached, a final warning will appear indicating that no additional members can be created unless members are first deleted. Attempting to create a new member at that point by any method will result in an error message indicating that the limit has been reached.

Respecting this in pk;import required some restructuring to tease apart which members already exist and which ones need to be created prior to creating any members as it seems preferable to fail early and give the user the ability to intervene rather than pushing the system to the member cap and requiring manual deletion of "lower priority" members before others can be created. One consequence of the restructure is that existing members are being read in bulk which is a performance improvement of 25-70% depending on how many switches need to be imported (the more members you have, the more noticeable this is).
2019-10-20 02:16:57 -05:00
Astrid af4da8fd72 Merge branch 'master' into patch-2 2019-10-18 13:37:09 +02:00
Ske 49dede7ff8 Remove compiler warning from API 2019-10-18 13:19:17 +02:00
Ske 5f79aaf960 Fix API service injection 2019-08-12 06:54:28 +02:00
Ske 7e92a58c8d Fix API project building 2019-08-11 22:59:05 +02:00