Commit Graph

71 Commits

Author SHA1 Message Date
NovaFox161 c36db9aeff Get events command fully working without emitting no cal message 2020-05-05 17:53:19 -05:00
NovaFox161 32f2d037b8 Fix calendar link not converting guild ID to string 2020-05-05 17:42:49 -05:00
NovaFox161 3451714f30 Wasn't changing patron/dev params correctly 2020-05-05 17:38:18 -05:00
NovaFox161 f8536194a2 Hopefully this fixes null error when trying to retrieve version info 2020-05-03 20:29:08 -05:00
NovaFox161 314bbce300 This should fix the null error when getting messages from lang files 2020-05-03 19:24:12 -05:00
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 3e6dd0dd33 Fix null errors occurring due to EventData being null 2020-04-13 23:27:25 -05:00
NovaFox161 77950cb6e8 Fix permissions checking for correct permissions
This makes sure that users with admin permissions can run commands like
`!event create` without needing the bot's control role as admins have
full access to everything on the server.

This commit also wraps the command registration in a fromRunnable call
so that it doesn't block the client login
2020-04-13 23:23:27 -05:00
NovaFox161 4861c56b58 Fix null error on event confirm 2020-04-13 21:20:35 -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 24b797f1b4 Fix not subscribing to event listeners in our current work around 2020-04-13 17:48:36 -05:00
NovaFox161 c41230f62c Make event listeners reactive among other small fixes
Set r2dbc-mysql logging to info instead of debug as it is no longer
needed.
2020-04-13 17:36:57 -05:00
NovaFox161 99a65c5388 Temporary work around for event listeners no working as expected 2020-04-13 02:05:22 -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 5d89cf60af Trying to get client to login correctly 2020-04-12 14:19:40 -05:00
NovaFox161 891dc971e5 Fix database return inconsistency
When dealing with the API, this fixes the inconsistency in returning,
apparently caused by an UPDATE after a SELECT.
2020-04-11 16:00:02 -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 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 5bac8a4c51 Dannie - Parallelize Mono/Database Calls to Improve Response Times 2020-04-03 16:40:52 -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 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 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 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 a986afdad6 Actually retrieve the url from settings 2020-03-05 14:11:25 -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 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 d3eb0b3640 This should fix the time display issues (not tested) 2019-08-06 12:43:48 -05:00
NovaFox161 48632af129 Add FlywayDB for database migrations. 2019-06-23 02:26:03 -05:00
NovaFox161 cc4b4cb817 Should fix error occurring when announcement channel is missing. 2019-06-21 17:03:26 -05:00
NovaFox161 ca4d746ebb This *should* fix some of the errors on subscribe. 2019-06-21 13:12:31 -05:00
NovaFox161 a9ab0456c3 Should fix up some null errors on message delete. 2019-06-21 12:55:07 -05:00
NovaFox161 f48819e4ea This *should* fix linkCal not working when no description is set. 2019-06-21 12:45:38 -05:00
NovaFox161 6c5d772096 A shit ton of changes to small things. 2019-06-17 14:38:56 -05:00
NovaFox161 8834a707d3 Add shard index back into !discal 2019-06-13 22:08:33 -05:00
NovaFox161 721ff87c4a Working on fixing time display offset bug. 2019-06-13 22:01:28 -05:00
NovaFox161 6900ae7a8d Handle some additional settings. 2019-06-12 11:36:34 -05:00
NovaFox161 66d29b904c Add cache purging. 2019-06-12 11:02:18 -05:00
NovaFox161 bf0208c08c Use Redis pub/sub and HTTP requests for communication. 2019-06-12 10:55:47 -05:00
NovaFox161 299481b43f Fix bug where Categories were being seen as channels. 2019-06-08 22:18:24 -05:00
NovaFox161 cd80d43902 Update some deps. Support MySQL Master/Slave Replication 2019-06-06 14:07:39 -05:00
NovaFox161 8fb91cc364 Add webhooks for logging and such. Needs testing. 2019-04-08 16:06:43 -05:00
NovaFox161 112242f7eb Some mapping stuff. Use d4j 3.0.2 2019-04-07 13:24:41 -05:00
NovaFox161 fc2ec9a162 Use d4j v3.0.1, add redis stores (not working yet). 2019-04-02 20:45:58 -05:00
NovaFox161 10b4a15dc7 Add back server branding. 2019-03-24 13:21:11 -05:00
NovaFox161 27cc0a5737 Update all of out deps. Move to Spring 2.
Thymeleaf 3.0.11.RELEASE
Spring 2.1.3.RELEASE
Spring Security 5.1.4.RELEASE
Google api client 1.28.0
Google calendar API v3-rev371-1.25.0
Google oauth client 1.28.0
mysql connector 8.0.15
json 20180813
commons logging 1.2
okhttp 3.14.0
logback-classic 1.13.0-alpha4

Website also now uses redis for session store instead of hash_map
2019-03-23 22:25:12 -05:00
NovaFox161 7cf43c18b6 This is a mess 2019-03-21 21:20:57 -05:00
NovaFox161 339703c6f5 Can't use redis store for now. Dunno what the heck is going on. 2019-03-21 13:38:57 -05:00