Commit Graph

69 Commits

Author SHA1 Message Date
NovaFox161
cd9817b201 Convert to fully reactive, mostly
Okay, so its almost fully reactive. The API is still blocking as of
current. Everything else is reactive now:
- Command system
- All utility methods
- Event listeners
- Announcement Thread
- Google calendar auth

Added simple reactive wrappers for google calendar blocking calls

I have no idea if any of this works, but it *should* work. Time to test!
2020-05-03 17:19:53 -05:00
NovaFox161
65d4cad204 Reformat entire project to using spaces instead of tabs
Finally fucking fixing the formatting after all these years
2020-04-13 18:39:41 -05:00
NovaFox161
1c9eb49e95 Migrate to D4j v3.1.0-SNAPSHOT
Massive changes to the bot and d4j required migrating to the latest
snapshot. So far everything seems to work well, but will be tested later
on this week. Hopefully this is one step closer to being able to deploy
this to production in order to make the bot more stable and responsive.
2020-04-13 01:28:17 -05:00
NovaFox161
ff39bd155f Somehow this file didn't get committed 2020-04-11 16:05:10 -05:00
NovaFox161
11e5f40660 Fix update calendar endpoint not setting desc properly
Also fix database error
2020-04-10 21:38:26 -05:00
NovaFox161
9522404c91 Rewrite logger to be async
Completely rewrote our in-house logger so that its completely async.
Also designed the new logger so that we could pull it out of this
project and incorporated into our general utils library for all of our
other projects
2020-04-10 20:50:18 -05:00
NovaFox161
37c7f2d075 Fix several errors that were occurring for various reasons
This fixes an IllegalStateException happening when closing connections,
as well as some null errors caused by some changing of the logging
system.
2020-04-09 22:17:41 -05:00
NovaFox161
02f9c6e7e4 Add db migrations to fix data types in several tables
Apparently several tables were setup with incorrect datatypes resulting
in mapping issues. This is now resolved with the migration scripts
converting the datatypes to the correct types.
2020-04-09 13:17:36 -05:00
NovaFox161
4b7025215e Flyway requires regular mysql driver which was accidentally removed 2020-04-07 22:32:44 -05:00
NovaFox161
5c0c1e514d Convert all database calls to being reactive
This commit introduces the r2dbc api for all database handling to make
it fully reactive so future updates to make the bot fully reactive.
While most calls to the database are still blocking, this does use a
reactive driver for it so further work down the line will be able to use
the database reactively without much additional work.

These changes have not been tested, and will need to be tested
thoroughly as database use is the backbone for the bot's persistence
data scheme.
2020-04-07 22:18:43 -05:00
NovaFox161
f504696229 Convert several other data classes to be immutable 2020-04-05 20:23:14 -05:00
NovaFox161
2040505ed6 Remove debug statements as endpoint has been sped up as best we can
Endpoint now takes about 3-4 seconds to respond all told, which is
better than the original 15 seconds on average.
2020-04-03 16:51:36 -05:00
NovaFox161
5bac8a4c51 Dannie - Parallelize Mono/Database Calls to Improve Response Times 2020-04-03 16:40:52 -05:00
NovaFox161
c369710e50 Debugging guild get endpoint taking too long to execute
Add some more debug statements to see where execution is still slowing
down. So far its at about 4-5 seconds, the goal is to get it near 1 sec.
max
2020-04-03 15:00:46 -05:00
NovaFox161
524db88f6c Debugging guild get endpoint taking too long to execute
Optimize WebGuild conversion so that it will hopefully take less than
the current ~4 seconds to execute
2020-04-02 23:28:12 -05:00
NovaFox161
20eef0e115 Debugging guild get endpoint taking too long to execute
Rewrote a whole ton of the permissions checking so that it should run
faster. Hopefully this helps speed up the guild get endpoint
significantly
2020-04-01 20:55:22 -05:00
NovaFox161
ad0168de98 Debugging guild get endpoint taking too long to execute
This should optimize numerous things including discal role permission
check
2020-04-01 02:20:50 -05:00
NovaFox161
036596f552 Debugging guild get endpoint taking too long to execute
We have narrowed down where the slowdown starts and ends, however there
is still a lot of things happening between there, so therefore we are
checking what parts of those sections of the code are causing issues.
2020-03-31 22:55:35 -05:00
NovaFox161
1f5668a128 Debugging guild get endpoint taking too long to execute
Its taking, on average, 10-15 seconds to handle this request. To combat
this, we are adding a bunch of debug statements to diagnose *where* the
slowdown is occurring. The next part of this debugging process is to
figure out *why* it is running slow, and how to speed it up to
acceptable speeds.
2020-03-31 22:37:50 -05:00
NovaFox161
a5bd7cb444 Corrected wrongly configured repo deployment
Messed out how to deploy to repos in the poms as I forgot how to do it,
this issue is now fixed and it will correctly go through the deploy goal
while only actually deploying core to the repos.
2020-03-30 01:57:41 -05:00
NovaFox161
7729329a0b retool API to handle snowflake IDs as strings instead of longs
This is because they become out of range of JS's `number` type and cause
problems. So, by handling them as strings, and only strings withing the
API, this solves the issue and we should not run into precision issues
anymore.
2020-03-30 01:50:18 -05:00
NovaFox161
4db23c4f4a Accidentally casted to ArrayList instead of creating new ArrayList 2020-03-28 19:19:37 -05:00
NovaFox161
e7295031b0 Add support for changing language in dashboard 2020-03-28 19:11:12 -05:00
NovaFox161
9fb1d464dd Realize I confused roles and channels
I confused the handling of the control role and discal channel,
so that has now been corrected and it should work properly now
2020-03-12 23:37:45 -05:00
NovaFox161
5d265f7e2a Start work on adding control role update support
This is the initial progress on adding control role updating on the
dashboard. It probably won't work, but its progress.
2020-03-12 23:32:03 -05:00
NovaFox161
cde223e7af change nickname edit to block 2020-03-11 19:19:21 -05:00
NovaFox161
7e98659dd1 Hopefully fix issues with handling guild update requests 2020-03-11 19:02:12 -05:00
NovaFox161
33d5169bbb Sometimes I'm really dumb and duplicate a line of code 2020-03-11 18:21:19 -05:00
NovaFox161
0941d19a87 Did a dumb and didn't actually make web guild convert settings secure 2020-03-11 17:59:16 -05:00
NovaFox161
1b4ef13ac7 Fix up some handling of guild data transfer
- make sure that secure data is not sent to 3rd parties
- correct the permissions checker
- dashboard guild page should now load correctly
2020-03-11 17:51:55 -05:00
NovaFox161
d0b4181434 Use revision tag to handle project versioning in poms 2020-03-09 14:19:37 -05:00
NovaFox161
3fb549798d Remove now unneeded debug statements 2020-03-08 18:34:13 -05:00
NovaFox161
2d22b9a5e6 Fix event list month endpoint using int instead of long
In the process of this, also optimized a few database queries
2020-03-08 18:11:43 -05:00
NovaFox161
5fc4b3b5a5 Fix a ton of styling relating to calendar embed 2020-03-08 16:06:28 -05:00
NovaFox161
61a6c142c6 Fix read only key request endpoint not accepting POST requests 2020-03-07 21:31:59 -06:00
NovaFox161
e8d013a709 Get Typescript working on web + some extras
This commit gets typescript compiling to browser-safe javascript using webpack.
Also fix some issues regarding handling status endpoints, missed debug and error reports, and cleaning some other things up.

Last change involves getting maven to automatically compile typescript and styles for the website without needing to do it in cli before the package
2020-03-07 21:24:11 -06:00
NovaFox161
7b87cc6f32 Add status message for when server and API have started up 2020-03-05 15:57:05 -06:00
NovaFox161
0fed1716ea Fix endpoint registration for spring
Apparently you can't have 2 classes named the same thing because of how it registers beans.
2020-03-05 15:29:00 -06:00
NovaFox161
164a939c8f Make some massive changes to how the website is built and fix several issues
This commit changes a lot of things, the major changes are as follows:
- removed all old web files from server module
- Switched to using Typescript for development of the frontend
- fixed /events/list/list endpoint duplication
- Compile all TS code into a single JS file
- Add automatic gulp building/cleaning on maven steps
- Add object parity in TS for OOP handling
- All relevant API calls have own TS file for request eliminating duplicated code
- Add read-only API key support for embed pages (so that a temp key can be generated for anonymous users without write permissions)
- Fixed several typos and small issues
2020-03-03 14:16:40 -06:00
NovaFox161
4977ade3e1 Complete documentation on API and clean up API code
Completely finished the doc pages on the API,
as well as refined some of the code in the API endpoints
so that everything is nice and standardized,
as well as comprehensive.
2019-12-09 17:45:53 -06:00
NovaFox161
775ccdfe6e Huge progress on the API. Push for other computer
Not done yet.
2019-12-06 22:22:31 -06:00
NovaFox161
020fd2d511 Finish status page rewrite. 2019-11-04 01:11:49 -06:00
NovaFox161
71b9aac9dd Continuing work on the website rewrite
Add back everything that was accidentally removed, fix up some stuff, and make it bootable. Next up is getting the theming corrected and adding the rest of the public pages before working on the dashboard.
2019-10-16 13:57:25 -05:00
NovaFox161
7e1bbdbcee Committing so I can work on this on the plane 2019-09-20 13:49:23 -05:00
NovaFox161
c197b911f6 Start work on website rewrite 2019-08-06 13:40:44 -05:00
NovaFox161
48632af129 Add FlywayDB for database migrations. 2019-06-23 02:26:03 -05:00
NovaFox161
6c5d772096 A shit ton of changes to small things. 2019-06-17 14:38:56 -05:00
NovaFox161
ef6bd649ff Fix some logging stuff 2019-06-13 13:39:38 -05:00
NovaFox161
6900ae7a8d Handle some additional settings. 2019-06-12 11:36:34 -05:00
NovaFox161
bf0208c08c Use Redis pub/sub and HTTP requests for communication. 2019-06-12 10:55:47 -05:00