883dc9ef6e
Create a src-level environment.ts file for all environment variables
2025-07-21 19:35:04 -04:00
b737cd0fa5
Add errors to the parking structure resolvers
2025-07-21 19:16:38 -04:00
e78982538e
Add implementation and tests for ParkingStructureResolvers.ts
2025-07-21 19:06:00 -04:00
ee7b5eefda
Rename query interface for historical data
2025-07-19 13:14:39 -04:00
52a0133107
Add system ID to parking structure
2025-07-19 12:55:36 -04:00
182587596c
Change properties to match GraphQL input and query result
2025-07-19 12:15:41 -04:00
8ee1f1522e
Change ParkingStructureCountOptions and HistoricalParkingAverageQueryResult to use Date objects
...
This matches the behavior of `updatedTime` on shuttle objects. When returning API data, dates are converted into milliseconds since Epoch by the DateTime scalar implementation.
2025-07-19 12:12:08 -04:00
ed037cf2d2
Move repositories into folders.
2025-07-19 11:58:45 -04:00
3302822bf8
Add a placeholder implementation of ParkingStructureResolvers
2025-07-19 11:55:51 -04:00
86710657df
Use TLS in production
2025-07-03 16:30:12 -04:00
d1b60772d8
Update RedisParkingRepository.ts to use Redis aggregation functions
2025-07-03 16:00:57 -04:00
f406e3e01d
Add retention period for new time series
2025-07-03 15:53:06 -04:00
df657a02f3
Build Redis parking repository instead of in-memory one
2025-07-03 15:20:07 -04:00
b9d5f7b3df
Refactor parking repositories to use dedicated Constants file and smaller functions
2025-07-03 15:19:57 -04:00
53632fe470
Add BaseRedisRepository as parent class of RedisNotificationRepository.ts and RedisParkingRepository.ts
2025-07-02 20:00:44 -04:00
19336ce6ec
Add setLoggingInterval method and implementation for tests and other purposes.
...
Let users control the logging interval of both parking repositories.
2025-07-02 19:48:16 -04:00
868a9f3b1d
Add RedisParkingRepository.ts and convert existing tests to shared tests for both classes
2025-07-02 19:40:45 -04:00
ca2a66509b
Implement getHistoricalAveragesOfParkingStructureCounts for InMemoryParkingRepository.ts, and add tests
2025-07-02 19:10:16 -04:00
2b04ca01a9
Update InMemoryParkingRepository.ts and tests to use the circular queue
2025-07-02 18:48:33 -04:00
220b402b3b
Optimize the append method to check if the data is already sorted
2025-07-02 18:43:41 -04:00
4fbc30a264
Add CircularQueue.ts and test file
2025-07-02 18:34:55 -04:00
18be03bfa6
Add stub implementation for my best friend, the humble circular queue
...
Add stubs for a custom circular queue implementation for the historical data in the parking repo
2025-07-01 22:01:07 -04:00
4758d566da
Add constant MAX_NUM_ENTRIES and adjust PARKING_LOGGING_INTERVAL_MS
2025-07-01 21:47:15 -04:00
8fb296027d
Fix remaining issues with tests, and add implementation within InMemoryParkingRepository.ts
2025-07-01 21:37:26 -04:00
6759bba2ce
Add properties to determine when the parking repository should log data
2025-07-01 21:23:15 -04:00
81272e94b1
Add getHistoricalAveragesOfParkingStructureCounts stub and update constructor with dependency injection support
2025-07-01 21:20:11 -04:00
1f252ee468
Define new method to get historical averages depending on timestamps and interval
2025-07-01 21:13:55 -04:00
ab29b08337
Add entities IParkingStructureTimestampRecord and type HistoricalParkingAggregatedQueryResult
...
To support historical data storage
2025-07-01 21:12:22 -04:00
aae24d9920
add updated shuttle
2025-06-27 08:17:32 -07:00
2db983ef53
Merge pull request #52 from brendan-ch/chore/update-test-data
...
add shuttle to test data
2025-06-26 20:58:51 -04:00
f6f71526d7
add shuttle to test data
2025-06-26 17:45:42 -07:00
f74376c8ed
add test and code for client closure events
2025-04-30 18:17:55 -07:00
4b77a89ac2
Merge branch 'main' into chore/improve-apns-performance
2025-04-30 17:54:00 -07:00
06d2a7bb27
extract code to open and close the apns connection
2025-04-30 17:51:28 -07:00
075b35e7ad
reuse the client when sending a notification
2025-04-30 17:40:17 -07:00
1c7ee9fbc3
change all millisecond references into Dates
2025-04-29 17:05:23 -07:00
b58babc7ea
change updatedTime into a Date
2025-04-29 17:01:51 -07:00
b91f8ce151
update resolvers with updated argument name
2025-04-29 16:49:55 -07:00
ba82ce9f98
add custom DateTime scalar type
2025-04-29 16:47:08 -07:00
b02e2f721d
update resolvers to include timestamps
2025-04-29 16:26:47 -07:00
ee4b11a308
remove "optional" from entity type
2025-04-29 16:19:41 -07:00
518044d860
update parking code
2025-04-29 16:12:31 -07:00
563362b0b5
update ApiBasedShuttleRepositoryLoader with timestamps
2025-04-29 16:11:41 -07:00
d529554d84
update loadShuttleTestData for integration tests
2025-04-29 16:09:23 -07:00
fe90ffe911
update property name again and make it required
2025-04-29 16:07:30 -07:00
f1dd8650b6
update the time of the data update
2025-04-29 16:06:15 -07:00
9969e93fc9
use min/max version instead of one static version
2025-04-24 09:56:36 -07:00
bf06c7ed3a
update custom keys passed through notification scheduler
2025-04-23 11:55:15 -07:00
b3cd399e10
fix custom keys so they're spread across payload correctly
2025-04-23 11:54:32 -07:00
12bdd4c631
add stop id, in case app wants to switch stops on notification tap
2025-04-22 11:17:10 -07:00