Commit Graph

97 Commits

Author SHA1 Message Date
Luna 5fb27c04a2 add admin_api.{users, instance_invites} blueprints
- admin_schemas: add USER_CREATE
2019-03-16 16:45:13 -03:00
Luna 16e583179c schemas: fix coerce
- run: change features_admin base to /admin/guilds
2019-03-11 02:12:09 -03:00
Luna 073f47e0f5 add draft for features_admin and add guilds_admin 2019-03-09 04:09:55 -03:00
Luna bbf80f72b1 fix tests and an ugly circular import 2019-03-04 05:24:40 -03:00
Luna ad7f93b40a add guild.region = null consistency checker
as soon as a voice region is added, we should move all guilds to it. or
if there are any guilds with a NULL region, we select one at random.

region being NULL causes the client to be unable to change it, so..

 - channels: fix update handlers for guild channels
2019-03-04 03:00:46 -03:00
Luna cb029b36e3 add admin api (w/ voice endpoints)
- add docs/admin_api.md
 - add litecord.voice_schemas
 - auth: add admin_check
 - voice.manager: add VoiceManager.voice_server_list
2019-03-04 00:37:56 -03:00
Luna f22a9b92a9 remove voice websocket fields from configs
- run: remove vws spawn
 - tests.conftest: rollback to unused_tcp_port fixture
2019-03-01 04:39:12 -03:00
Luna cbf6a3d441 run: remove unused loop variable 2019-02-28 23:14:56 -03:00
Luna ca5386d3ce add VOICE_WEBSOCKET_URL to configs
- gateway: remove implicit /ws path, leave it up to configs
 - run: fix start_websocket
2019-02-28 23:12:19 -03:00
Luna f3bc65302d add voice websocket instantiation 2019-02-28 21:16:32 -03:00
Luna 0d38c7cc0c gateway.websocket: add basic vsu handling
this adds *theoretical* interfaces to a VoiceManager. The actual
VoiceManager does not work and probably any VSU being sent over will
crash the websocket with an AttributionError.

 - enums: add VOICE_CHANNELS
 - run: add App.voice attribute
2019-02-28 20:51:09 -03:00
Luna 8c7ae9b76c add dm_channels blueprint 2019-02-08 18:20:26 -03:00
Luna a69a2423de run.py: fix other peace of mind things 2019-02-03 22:50:45 -03:00
Luna d95b6adb16 run.py: only pass app instance to PresenceManager
- presence: only receive app when instantiating
2019-02-03 22:44:43 -03:00
Luna 6ee5b2fa15 run.py: sanity of mind tweaks 2019-02-03 22:42:24 -03:00
Luna 53d7515f8c all: update copyright year 2019-01-26 19:25:46 -03:00
Luna 6c992588e9 channel.messages: fix insertion into attachments table
- channel.messages: add file write
 - images: make get_ext and get_mime public functions
 - storage: receive app instance instead of db
2018-12-08 23:38:52 -03:00
Luna b6dd495121 run: register attachments bp 2018-12-08 23:13:48 -03:00
Luna 2632d033fa all: add GPL header 2018-12-07 02:14:58 -03:00
Luna e2720a4084 embed.sanitizer: fix double-slash on path
- run: add app.session
2018-12-05 03:08:54 -03:00
Luna 5db633b797 channel.messages: use sanitize_embed
- embed: add sanitizer module
 - embed.schemas: add to_json to EmbedURL
 - utils: add custom JSON encoder
 - run: use custom JSON encoder
 - gateway.websocket: use custom JSON encoder
2018-12-04 21:45:14 -03:00
Luna df382a7a5f user: add fake_store bp
this should solve problems with 404's.
2018-11-30 17:33:23 -03:00
Luna Mendes 2852f57f96 static: add handler for index using jinja / render_template
- static: add index.html
 - run: remove index handler
2018-11-21 21:31:11 -03:00
slice 10d4771c0c
Add X-Debug-Options as an allowed header 2018-11-20 12:29:30 -08:00
Luna Mendes 3e28501bdb run: replace other/peer to user
- discord_endpoints: remove ambiguity on PUT/PATCH Modify Channel route
2018-11-20 14:52:35 -03:00
Luna Mendes 437f8de643 run: replace member/banned/target to user in api_index 2018-11-20 14:48:44 -03:00
Luna Mendes deddc82360 run: add api compliance score
Closes #21.
2018-11-20 14:32:32 -03:00
slice 2f377e1d69
return status code 500 when handling http 500s 2018-11-18 23:44:48 -08:00
Luna Mendes 6921f3b6b1 run: remove unused import
- static.invite_register: retab
2018-11-19 01:47:35 -03:00
Luna Mendes 2ff7f796fc run: add static blueprint to set_blueprints
- run: remove old handler for /register
2018-11-19 01:40:31 -03:00
Luna Mendes e949dbdc3f blueprints.auth: add *dummy* POST /api/v6/auth/register_inv
- litecord.schemas: add REGISTER, REGISTER_WITH_INVITE
 - run: add GET /register
 - add static/invite_register.html
2018-11-18 19:24:17 -03:00
Luna Mendes 339d1b0c8b blueprints: add nodeinfo blueprint 2018-11-18 17:04:31 -03:00
Luna Mendes 0aa679677f user_storage: add UserStorage.get_user_guilds
So that we're consistent.

 - gateway.websocket, presence: change to UserStorage for
    get_user_guilds
2018-11-17 18:41:54 -03:00
Luna Mendes 64af426035 guild: add emoji blueprint
- storage: add get_emoji, get_guild_emojis
2018-11-17 17:06:27 -03:00
Luna Mendes a7f8852324 test.test_websocket: add test_ready_fields
- RatelimitManager: add a test flag to overwrite _ws.connect ratelimit
2018-11-17 04:09:22 -03:00
Luna Mendes 00c976c552 gateway.gateway: add default args when connecting
- gateway.gateway: pass app instance instead of a 7-tuple
2018-11-17 02:20:48 -03:00
Luna Mendes 11d4b54f87 split Storage into UserStorage
this should help with the amount of methods being tossed in the Storage
class.
2018-11-17 02:14:10 -03:00
Luna Mendes 0ec615f3bd user.billing: add create_payment
- user: add billing_job for recurring payments (monthly or weekly)
 - user.billing: make main functions accept external db object
 - user.billing: fix get_payment's fields
 - litecord: add job module with JobManager
2018-11-14 19:49:36 -03:00
Luna Mendes b9ef4c6d8c litecord.blueprints: split users bp into user sub-bp
- blueprints.user: add biling bp
 - blueprints.user: add settings bp
 - schema.sql: add user_payment_sources, user_subscriptions,
    user_payments
2018-11-14 03:43:40 -03:00
Luna Mendes 5480a669a3 all: add guild icon support
- fix update_guild's methods
 - fix update_guild's sql statements
 - litecord: add images module
 - schemas: add splash to GUILD_UPDATE
 - schemas: add validate to INVITE
 - manage.cmd.migration: add script 2
2018-11-13 21:12:40 -03:00
Luna Mendes e54bcc312a blueprints: add icons blueprint
- Pipfile: add pillow
2018-11-13 17:33:28 -03:00
Luna Mendes 40f7efd1df tests: add test_ratelimits, test_gateway
- tests: use event_loop fixture instead of get_event_loop
 - tests: move custom fixtures to conftest
2018-11-13 01:10:43 -03:00
Luna Mendes 1711192ac9 tests.test_main: fix testing 2018-11-12 17:39:30 -03:00
Luna Mendes 62332e15c3 run: add set_blueprints 2018-11-12 04:26:16 -03:00
Luna Mendes 7b75202311 tests: add basic test 2018-11-12 04:10:31 -03:00
Luna Mendes a1a914dc87 add manage.py 2018-11-06 17:42:27 -03:00
Luna Mendes 22fe0f07c6 channel: create channel.pins blueprint
- schemas: add CHAN_UPDATE and CHAN_OVERWRITE
2018-11-05 00:15:59 -03:00
Luna Mendes da8b049174 channel.messages: add permission checks
this commit only adds permission checking to most parts of the
message endpoints.

 - channel.messages: fix extract_limit's default param
 - channel.messages: check send_messages, mention_everyone, send_tts_messages
 - channel.messages: check manage_messages
 - blueprints.checks: add guild_perm_check, channel_perm_check
 - errors: add error_code property, change some inheritance
 - permissions: fix base_permissions
 - storage: fix get_reactions
 - storage: remove print-debug
 - run: use error_code property when given
2018-11-04 19:55:21 -03:00
Luna Mendes a96b9c5e7f ratelimits.handler: five better retry_after and global flag
- run: add X-RateLimit-Global and Retry-After headers
2018-11-04 02:23:26 -03:00
Luna Mendes 33f893c0ff all: add ratelimit implementation
haven't tested yet, but it should work in theory.

 - gateway.websocket: add the 3 main ws ratelimits
 - litecord: add ratelimits package
 - ratelimits.main: add implementation
 - run: add app_set_ratelimit_headers
2018-11-04 02:06:40 -03:00