Repository navigation
Changelog
- 12c3d76 Abstracted out an API object representing a Gin router to further isolate logic for the API
- df97393 Added Comments for AddRoutes and addSetRoutes
- ba5221d Added Go module and dependencies
- 3adedaa Added ValidateToken middleware to authenticated endpoints
- e3cc1c1 Added a basic constructor for the API struct
- 0d278fc Added a very vanilla config file that can be used in most deployments
- b7b0636 Added additional dependencies and updated the LICENSE for cobra
- 3980d66 Added additional errors for failing to find a deck
- efbd4f9 Added additional errors for no decks being found upon an index
- a02be07 Added additional errors to cover moving cards between boards that do not exist
- a98aa5c Added additional flags for passing auth0 information into the viper config
- 5aba53d Added additional scope reset:password
- f7745e6 Added additional validation for the api.no_scope flag. This can bypass scope validation
- 0164f09 Added an additional CLI flag for auth0.scope
- 9eac4c8 Added an additional check and response for invalid email address being returned from GET /user
- 6e8ab93 Added an additional check on DeckContentPOST to return an error when no cards are passed in the request body
- 0b84a43 Added an additional constructor for initializing the API from viper config values
- a2edaa2 Added an additional endpoint /deck/content to fetch the contents of a deck
- cdd070a Added an additional error check for when the api fails to start
- b76a5b8 Added an additional error response for when no cards are passed to the DeckContentDELETE route
- 74ea9ba Added an additional error to cover if MongoDB returns an error on a delete operation
- d6336eb Added an additional flag called api.no_scope that allows you to bypassed scoped permissions for all endpoints
- 1b84c98 Added cobra flags for all config values
- a31e7a8 Added comments
- 6b30004 Added comments for each of the functions in api.go
- 1607c33 Added dependencies for slog-gin
- 07db3d4 Added empty OneDev build spec
- 1359be8 Added go-version input on setup-go action
- 6b38d33 Added initConfig function for initializing viper and its associating values
- fa9a6fb Added missing quotes
- f2e76c8 Added missing return statement from conditional
- 2c7a546 Added scope validators to all protected endpoints
- f909913 Added some new errors that we are going to need for deck creation
- 47aa13a Added support for adding set endpoints to the namespaces slice
- 9715553 Added support for creating a new deck from a Deck model. Additionally, the ValidateCards function was implemented to ensure that all cards are present within the database
- ab703f5 Added the prefix /api/v1 to all endpoints
- dd6efa9 Attempting to post a deck with a code that already exists under a different deck now returns a conflict instead of a bad request
- e13fe8e Basic function for returning JSON whenever the /health endpoint is called
- 249f1fc Basic support for deleting a single item has been implemented
- 2256495 Boilerplate code for the CardGET function. This function is going to handle returning basic card metadata as requested from users
- 636f40a Boilerplate code for the Run command. This will be the primary entrypoint for our API and will allow you to pass configuration either through a JSON file or through environmental variables
- d0fcc14 Boilerplate for this written
- be86dcf Changed the order for how handlers are getting appended to the Handle function. The core logic handler for the endpoint was getting appended first, bypassing all authentication and authorization
- aa68504 Changed the semantics of the port flag
- 4d0d27b Combined the Card Atomic and Card Set types as this is going to represent all cards
- fb7a67e Comments for API functions
- d972ac9 Comments for Card API
- e4d7a3b Comments for Card API
- ef83d25 Comments for Deck API functions
- 9d91084 Comments, comments, comments
- c2839fe Converted all integer based status codes to use the const variables provided by the HTTP package
- e504ba8 Created additional errors for when updating a deck fails
- 7dde3f1 Decided to remove the PUT request register for the /deck/content endpoint and move it to a POST request. Planning on using PUT for moving cards in between boards
- f1628c0 Defined basic Dockerfile for starting the API
- 341cb28 Exported the ValidateUUID function to ensure that it can be used outside of the file
- a81aae8 Externalized UUID validation to a seperate function
- 8f5ad19 Externalized ValidateScope to a seperate file within the auth package
- 8e50ad3 Externalized all gin handler functions to the middleware package
- e73c604 Externalized errors and context to there own packages to ensure that we can avoid circular imports
- a03d252 Externalized logic for adding cards to the Deck model. Additionally, cards can now be added to any board and multiple can be passed in a single request
- a42b0ca Externalized logic for interacting with deck content to a seperate file
- 3d96bf5 Externalized logic for storing user email to a seperate gin handler
- 4cca28d Externalized logic for updating a MongoDB record from AddCard. This allows us to update the deck multiple times with new cards without having to replace the row each time we add a card
- 76363c4 Externalized logic for validating cards to the card_set file instead of the deck model. This ensures that we can validate the deck of cards before we add them to the model
- 6f9b1bb Externalized logic for validating scopes to a seperate function so that we can use this in the gin handlers of the endpoints
- f325110 Externalized sealed products to a seperate module
- 24094fa Externalized the logic for fetching a board to a seperate function. This ensures that the code remains re-usable
- 4aebef4 Externalized the model for recognizing deck updates to a seperate file
- 800540f Fixed logic issue that was splitting the expected scope instead of the scope stored in the custom claims
- 4a79a72 Fixed small typo in --debug help message
- 6b65826 Fixed small typos in the data types of the following fields: BorderColor, FrameVersion
- d67ca0f Fixed spelling errors in the comment for GetValidator
- af7a250 Full functionaltiy for fetching single deck through the /deck endpoint
- 5f52520 Full model for BoosterPacks and BoosterConfig
- a9669e4 Full model for Sealed Product contents
- 13f743e Full model for SealedProducts
- 390f9f1 Full model for Set
- c452f3e Full model for the BoosterSheet
- e4ed182 Further externalized the logic for fetching single cards. Two custom errors were also created: ErrInvalidUUID, and ErrNoCard
- da1ecb4 Go mod tidy
- c27658c Go mod tidy
- d9e0031 Impelemented full support for making delete requests to the /deck endpoint
- 1d19fd4 Implemented a CLI flags that allows the user to start the API without authentication enabled
- a7b9ae6 Implemented a GetDatabase function under the context package to ensure that we dont have to directly interact with the context variable
- 76eb689 Implemented a RegisterEndpoint function. This registers the endpoint with the request type and any gin handlers
- 0c1b91c Implemented a basic background context here. This stores the config and database structs so that we can re-use the same connection across each request that is made. Proper destructor still needs to be implemented
- f9bf4e6 Implemented a simple PostRun function to destroy the database after execution
- 6f4aee7 Implemented a simple disconnection function for Cobra to execute after the API has finished executing
- 684941f Implemented an additional flag for overriding the default log path
- b000eec Implemented an additional flag for setting the name of a log file
- 62a70ae Implemented basic functionality for fetching card's based on the mtgjsonV4Id
- d4cc508 Implemented full support for making delete requests to the /deck/contents endpoint
- f892807 Implemented full support for making delete requests to the /deck/contents endpoint. The format for the request is the same
- 2d80300 Implemented function for Deleting a deck from the MongoDB database
- bed73da Implemented functionality for basic set fetching
- 637a4d6 Implemented functionality for deleting cards from a set
- 25920f4 Implemented functionality for deleting cards from the database through the use of DELETE request
- 49268e5 Implemented functionality for fetching a single deck. This logic is held within the model to ensure readability within the code base
- b92f05f Implemented functionality for fetching decks from the /deck endpoint
- bb4a662 Implemented functionality for fetching sets
- 01d7d18 Implemented functionality for indexing all cards according to a limit
- f64758c Implemented functionality for the run command. The context is initialized in the PreRun block of the command and execution is started during the Run block. The PostRun block will call the destructor to disconnect from the Database
- 5b727b9 Implemented functionality to create sets from a POST request to the set endpoint
- 0613014 Implemented functionality to insert new documents into MongoDB
- b9494b6 Implemented functionality to run the API in release mode. The --debug flag can be used to run the API in debug mode
- e7012f9 Implemented functionaltiy for deleting sets using a DELETE request
- db44e96 Implemented functionaltiy for fetching access tokens from the login endpoint. This is a post request that accepts an email address and a password in exchange for a token. Additionally, the ValidateToken middleware was removed from the Use directive as all endpoint's can no longer be authenticated. The /login endpoint needs to be unauthenticated so that users can make calls to it
- 78f724a Implemented functionaltiy for fetching set contents using a GET request
- d97ebbc Implemented functionaltiy for fetching the issuer url from config values in viper
- f008d2f Implemented middleware for validating tokens when making API calls
- 38c4b57 Implemented new ValidateScope middleware to validate that the user has the correct permissions to access a specific resource after authorization
- 38992e5 Implemented proper server disconnecting
- 81e78d2 Implemented structure for satisfying the interface off CustomClaims
- cf4937d Implemented support for adding additional cards to a deck. Deck sizes are not enforced here
- e9bce12 Implemented support for binding viper values to cobra cli arguments. Additionally, provided functionality for setting the gin mode using the --debug flag
- a9420ea Implemented support for deleting users from the API using a DELETE request to the /user endpoint
- f41beb9 Implemented support for fetching the contents of a deck. The IterCards function iterates through a list of mtgjsonV4Id's (uuid v5) and calls the GetCard function to fetch the respective card. Additionally, 3 functions were added to the Deck struct: GetMainboard, GetSideboard, and GetCommander. While these just call the IterCards function and returns them, they enable the user of the API to not be aware of the underlying variables
- ae2e26c Implemented support for fetching user models through a GET request to the /user endpoint. This expects an email query string argument to determine which user should be pulled
- 0cdbb0f Implemented support for listing all users from the database
- 148aee0 Implemented support for making PUT requests to the /deck/contents endpoint. This takes a JSON document with a single list of strings: uuid
- 4f82249 Implemented support for posting new cards. Currently only Name and MTGJSONv4Id are required. Better validation is going to be needed here
- ef16160 Implemented support for removing cards from the Mainboard
- 9817536 Implemented support for replacing a single document in a collection
- 7a9f8fa Implemented support for starting and stopping the API
- 8bd5282 Implemented support for the verbose flag
- b9eadec Implemented support for updating deck contents. An issue currently exists where a board that does not have cards added to it gets stored as null. This results in a assignment runtime error when trying to assign cards to it
- e1223fd Implemented support for validating card UUID's when creating a new deck
- ce8b107 Implemented the ability to update the set with new cards using a POST request
- 4428868 Implemented the config flag and added it to the Run Command
- 97e4da7 Implemented the env flag. This allows the user to parse a config through environmental variables instead of the config
- 8e06f53 Implemented the logic that was previously present in context.InitConfig()
- e942d8f Implemented the port flag. This allows the user to choose what port the API listens on
- 8d2775f Implemented the register endpoint. This requires an email, password, and username to be passed in a POST request. This will create the user both in MongoDB and in Auth0
- 718b583 Implemented the reset password endpoint for the API
- 90b7ed5 Improved comments accross all functions and files
- 5bb9f69 Improved readme file
- 658afe1 Included basic docker compose file
- 21574a6 Initial commit
- bcbe8b4 Initial commit for BoosterConfig
- 9e80c76 Initial commit for BoosterSheet
- e205c8e Initial commit for Dockerfile. This will hold logic for building a docker container
- 0a53cbd Initial commit for Sealed Product contents
- 188788d Initial commit for Set logic functions
- 37f1c8a Initial commit for all Card models. Currently the Card Atomic and Card Set models are defined. The Card Atomic model acts a base for other models and represents keys that are present in all types of cards. Any substructures of the cards is stored in the meta/ directory
- 5a5a3a4 Initial commit for api.go. This is going to abstract out the API
- 2a653c0 Initial commit for api.go. This is going to contain any re-usable code needed for running the API. Additionally, this will be responsible for building the gin context. The database and config objects are going to be stored here to ensure that they can be re-used across endpoints
- 9fca011 Initial commit for auth.go. This will hold middleware needed for authenticating tokens
- 364159a Initial commit for card.go. This is going to hold all logic needed for processing requests to the card endpoint and any sub-routes
- 9158444 Initial commit for claims.go. This is going to hold the struct needed for parsing custom claims from the validator
- d3372b2 Initial commit for config.go. This represents the server side config file that will hold our MongoDB connection information
- c82f84a Initial commit for context.go. This is going to store any data that needs to be persisted through requests
- 6fe60fe Initial commit for database.go. Small GoLang representation of a MongoDB instance. Only supports fetching documents for now. Also disconnections are not deffered to in the 'Find()' function requiring manually calling the 'Disconnect()' function when your finished with it. Diconnection will be handled by the Gin context, which is why this is not implemented
- 28ff384 Initial commit for deck.go. This is going to store logic needed for the /deck endpoint
- 7c165ed Initial commit for development pipeline
- c61d8e0 Initial commit for development pipeline
- db9d31f Initial commit for docker-compose.yaml. This will provide a very basic example of deploying an instance of MTGJSON-API in a containerized environment
- 22818a6 Initial commit for goreleaser
- cae07b0 Initial commit for login.go. This file is going to store to nessicary logic for logging in a user and fetching a token
- 5b42116 Initial commit for middleware.go. This is going to store any functions that need to be registered with Go before requests are accepted. Primarily this will control connecting to our database and storing it within the Gin context
- 95ea31b Initial commit for register.go. This is going to hold the register endpoint
- a21fd52 Initial commit for reset.go. This will hold logic needed for resetting user passwords
- fd4aa02 Initial commit for sealed products including booster packs
- 0491633 Initial commit for the Cobra generated command line. None of this has been changed yet, this is just what was pre-generated
- 170226a Initial commit for the Deck model. Instead of storing full Card Documents in the 'commander', 'mainBoard', and 'sideBoard' fields, we are storing just the card UUID's here. This ensures that we have one universal place for all cards to live
- 52c4013 Initial commit for the Translations model
- 553cdbd Initial commit for the card version of SealedProduct
- 52b9271 Initial commit for the deck version of SealedProduct
- de96162 Initial commit for the health endpoint. This is going to store logic needed for fetching the /health endpoint
- 2585458 Initial commit for the other version of SealedProduct
- 1226b87 Initial commit for the pack version of SealedProduct
- a42e3ad Initial commit for the run command. This just contains pre-generated code for now
- 423f610 Initial commit for the sealed version of SealedProduct
- 83befd7 Initial commit for the set.go file
- 6cba5aa Initial commit for token.go and scope.go. This is going to hold middleware functions
- 869b930 Initial commit for user.go. This is going to hold the API logic needed for interacting with user accounts
- 3480b08 Initial commit for user.go. This will hold middleware for interacting with the users account
- 35a4d62 Instead of using bson.D for queries we are using bson.M. bson.D represents ordered data
- 65a0ff7 Made all endpoint functions not exposed
- fa860dc Merge pull request #1 from stevezaluk/feature/server
- 21e561f Merge pull request #10 from stevezaluk/feature/deck-refactor
- bf475bf Merge pull request #11 from stevezaluk/feature/release-mode
- 2fe560a Merge pull request #12 from stevezaluk/bug/deck-resp-codes
- afa8939 Merge pull request #13 from stevezaluk/refactor/config
- 02541b5 Merge pull request #14 from stevezaluk/feature/card-manipulation
- af9ba84 Merge pull request #15 from stevezaluk/rework/config
- a4ab3bf Merge pull request #16 from stevezaluk/feature/logging
- a308729 Merge pull request #17 from stevezaluk/feature/authentication
- b476ecf Merge pull request #18 from stevezaluk/task/better-comments
- a8060eb Merge pull request #19 from stevezaluk/task/better-readme
- 6541cf5 Merge pull request #2 from stevezaluk/feature/cmd
- f4d62f6 Merge pull request #20 from stevezaluk/refactor/status-codes
- 67fabbb Merge pull request #21 from stevezaluk/feature/protos
- 63f61fe Merge pull request #22 from stevezaluk/feature/externalize-scopes
- 9f4227a Merge pull request #23 from stevezaluk/feature/ownership
- 8034555 Merge pull request #24 from stevezaluk/feature/cmd-refactor
- cdcae56 Merge pull request #25 from stevezaluk/feature/full-set-support
- b4cee65 Merge pull request #26 from stevezaluk/feature/refactor
- c42aa1b Merge pull request #27 from stevezaluk/feature/standardize-responses
- 20993c3 Merge pull request #28 from stevezaluk/bug/index-status-code
- 81917c9 Merge pull request #29 from stevezaluk/bug/refactor-err-responses
- 2823d85 Merge pull request #3 from stevezaluk/feature/card-models
- caee1da Merge pull request #30 from stevezaluk/feature/docker
- 4131ae3 Merge pull request #31 from stevezaluk/refactor/email-middleware
- 1037296 Merge pull request #32 from stevezaluk/feature/refactor
- 08c7cf4 Merge pull request #33 from stevezaluk/bug/fix-readme
- 0d523e2 Merge pull request #34 from stevezaluk/feature/remove-user-stats
- 2c7ace6 Merge pull request #35 from stevezaluk/feature/deck-model-rework
- 3c9b96e Merge pull request #37 from stevezaluk/feature/go-releaser
- feb4b4d Merge pull request #4 from stevezaluk/feature/health-endpoint
- 37d28f7 Merge pull request #5 from stevezaluk/feature/card-endpoint
- 3e633a5 Merge pull request #6 from stevezaluk/feature/deck-endpoint
- 5bd853c Merge pull request #7 from stevezaluk/task/refactor
- 4495728 Merge pull request #8 from stevezaluk/feature/set
- 2605756 Merge pull request #9 from stevezaluk/feature/api-prefix
- 5fc1c45 Modified the context variable to return JSON here instead of HTML
- c3972a3 Modified the return value of the Delete function for MongoDB
- e90441e More dependencies
- 8f304cb Moved dockerfile and docker-compose to there own directories
- f181792 Moved middleware code to a seperate package to avoid circular imports
- 79cbfd0 Moved ownership validation to the top of the CardDELETE handler. This ensures that these are validated before the request is processed
- 86f0466 Moved ownership validation to the top of the CardPOST handler. This ensures that these are validated before processing the request
- c51c6d7 Moved ownership validation to the top of the DeckContentDELETE handler
- 30dbe38 Moved ownership validation to the top of the DeckContentGET handler
- ac2c26b Moved ownership validation to the top of the DeckContentPOST handler
- cf94217 Moved ownership validation to the top of the DeckDELETE handler
- fdc9f84 Moved ownership validation to the top of the handler DeckPOST
- 3a720ca Moved the GetDeck database call to after request validation succeeds
- 440fda1 Moved the GetDeck database call to after response validation occurs
- c9c718f Named errors imported from mtgjson-models to sdkErrors
- a01ec02 Outline boiler plate code for posting new cards to the /card endpoint
- 4f1b568 Outline boilerplate code needed for fetching decks
- e7f44f7 Outlined boiler plate code needed for fetching decks
- 1516e60 Re-organized the UpdateDeck and DeleteDeck functions for better readability
- 8539891 Registered the DeckPOST function with the API
- 2269812 Remamed card_model import to cardModel
- d8abbdf Removed StoreUserEmailHandler and internalized the logic into the ValidateToken handler
- 5c904f0 Removed api.go. Going to re-work how the flow of execution works when starting the API and then move from there
- 332a532 Removed arbitrary print statement from the Find function
- 845f4d7 Removed arbitrary print statement when enabling debug mode in PreRun function
- e96a636 Removed health endpoint as it is not used
- 5f81281 Removed old code as this is going to be completely re-done
- df25ab1 Removed old code for interacting with deck contents
- 9fdebf7 Removed pre-generated comments and un-needed code
- e2eeadb Removed redundant alias for card
- f236486 Removed redundant bson marshaling and unmarshaling after fetching database results with Find()
- 352ccb0 Removed some comments
- d45787e Removed the un-needed 'toggle' argument that is pre-generated and replaced it with a 'Verbose' flag. This will allow the user to enable more verbosity when the API is run
- 804fee4 Removed trigger for merging to main
- 7249363 Removed un-needed build pipeline from onedev
- 468ef5d Removed un-needed examples directory
- 1e12ea1 Removed un-needed middleware functions
- bc9b7a9 Removed un-needed viper flags: api.no_auth and api.no_scope
- 4e6d672 Removing the run command entirely. Functionality for this is going to be migrated to the root command to ensure simplicity of the CLI
- e87c698 Renamed CardSet to Card for better readability
- 075cdc1 Renamed GetValidator to GetTokenValidator
- 5f7baa5 Renamed IterCards to GetCards
- 01e5d25 Renamed Start and Stop functions to Run and Shutdown
- dab3792 Renamed context variable from 'c' to 'ctx' in card.go
- cb87ba8 Renamed context variable from 'c' to 'ctx' in deck.go
- ecfb442 Renamed context variable from 'c' to 'ctx' in health.go
- 3125443 Renamed context variable from 'c' to 'ctx' in set.go
- 8b600a4 Renamed errors import to sdkErrors
- 13ba4a9 Renamed imports from mtgjson-models to sdkErrors
- c2c488c Renamed named import deck_model to deckModel
- f2fdcad Renamed the GetCards function to IndexCards
- 78677ff Renamed the package that was being used for the Card endpoint and externalized logic for fetching these cards here
- 103ee73 Renamed validator in GetValidator and ValidateTokenHandler functions to avoid clashes with the imported package
- e914c97 Renamed: GetMainboard, GetSideboard, and GetCommander
- 5e197db Replaced error equality checks with errors.Is
- 8b8c27a Resolved package issues with all Card models. This was not caught when code was moved over from the older repository
- 2433b68 Restored functionality with the register endpoint
- 41f9cfe Setting cache to false on setup-go as it is hanging for a while
- 6128200 Small comment
- e370b9c Standardized comments across all gin handlers
- b417d2c Translations fully implemented
- 7db552f Updated .gitignore files for goreleaser
- 36831bd Updated .gitignore to ignore idea files
- 4ed900c Updated API constructor
- 5495ff8 Updated API with newly externalized code
- 04e13b5 Updated Card handler functions
- 50323c4 Updated Deck handler functions
- f07dfeb Updated DeckContentPUT with validation on the cards that are added. This prevents callers from passing empty lists and cards that do not exist into a deck
- 5451549 Updated DeckPOST to only validate cards if both the ContentIds structure is not nil, and if cards were passed to the structure
- fc38add Updated IndexCards operation to return StatusOk instead of StatusFound
- 6a2ba9e Updated Login handler function
- 611d0f4 Updated README with new scopes
- beef028 Updated README with scoped permission documentation
- a380bea Updated README with update scope names and updated mongo config flags
- 3f39b5b Updated Register handler function
- 064d500 Updated Reset handler function
- b9d1e55 Updated Set handler function
- b4c364c Updated User handler function
- 0a0dc3b Updated ValidateToken to store the authnetication token string in the gin context
- 51319be Updated ValidateTokenHandler comment to remove references to the deprecated flage 'api.no_auth'
- 1c141e7 Updated all deck api functions to work with protobuffers
- 4c54cad Updated all deck endpoints with proper ownership
- 6e89dd8 Updated all middleware functions to reference from the middleware package instead of the auth package
- 1afeffd Updated card endpoints with proper ownership evaluation
- a68e74d Updated comments
- 987023a Updated comments
- b1707d3 Updated comments
- ebae8a7 Updated comments
- d1505d0 Updated comments
- 298fd31 Updated comments and error equality checks
- f27a6e7 Updated comments and error equality checks
- bd703c8 Updated comments and used errors.Is for error equality
- 1280d06 Updated contact information and project name/description
- 3e87000 Updated delete user endpoint to properly deactivate accounts
- 0335e33 Updated dependencies
- 3183e0c Updated descriptions for the root command
- f63f887 Updated error equality checks with errors.Is
- 84c36ac Updated go.mod and go.sum with the latest version of mtgjson-sdk
- 3e9ff33 Updated help message
- 67ead82 Updated login endpoint to return a 401 when Auth0 authentication fails
- 53551e1 Updated minimum scope required to send GET requests to the user endpoint to read:profile
- f149bfb Updated mtgjson-api to use viper for configuration
- c41260f Updated mtgjson-models
- 3973359 Updated mtgjson-models
- 27ad45f Updated mtgjson-sdk
- c507245 Updated mtgjson-sdk
- 366b081 Updated mtgjson-sdk
- 25e4094 Updated mtgjson-sdk
- 481cc2b Updated mtgjson-sdk
- d49be56 Updated mtgjson-sdk
- ac247cd Updated mtgjson-sdk
- dd8a590 Updated mtgjson-sdk
- c0554f1 Updated mtgjson-sdk
- ef8079e Updated mtgjson-sdk
- 1f30d1b Updated mtgjson-sdk
- 1934188 Updated mtgjson-sdk
- 0587741 Updated mtgjson-sdk
- ae044f1 Updated mtgjson-sdk
- 3ef1ac7 Updated mtgjson-sdk
- 7f27060 Updated mtgjson-sdk and mtgjson-models
- bc4168e Updated mtgjson-sdk and mtgjson-models
- ea47dca Updated mtgjson-sdk to resolve a nil pointer dereference
- afe4065 Updated permission validation to support new scopes. README still needs to be updated for this
- 1f9a562 Updated readme with auth0.scope flag
- 693ffc2 Updated response document with the key 'message'
- e85835e Updated response message
- c9a9a26 Updated response messages for some operations
- cd3b699 Updated responses for all error messages
- a14973d Updated responses of all functions
- 7447f2f Updated short and long descriptions for the root command
- a38bdc9 Updated the API Structure with a way for registering endpoints. A new type called HandlerFunc was introduced which wraps a gin handler and returns it function. This is done to provide gin handler functions with a way to access the database
- 2cc7116 Updated the API constructor ti initialize the gin router
- eb431c8 Updated the API constructor to initialize the gin router
- 3ec3e55 Updated the DeckContentPOST function to validate the cards that the user is passing instead of the cards within the deck
- 130eb3d Updated the DeleteCards function to take a list of cards along with the board you want to modify
- 8ce2c78 Updated the command line with the 'namespaces' flag. This allows you to limit which endpoints are exposed to ensure that the API can be run in a microservices based architecture
- 3b93e26 Updated the deck endpoint with new function names and the ability to fetch a deck's contents in one request
- 87c4118 Updated the names of ValidateToken and ValidateScope to ensure clarity
- 5d81757 Updated the reset password endpoint to ensure that callers cannot reset other user's passwords
- b1b484c Updated the run command to use the abstracted version of the API object
- 8026f2d Updated the run function to take the port to expose the API on as a parameter instead of using viper
- 56fea19 Updated the validate token handler to store the callers email address in the gin context for proper ownership validation. This ensures that we don't need to excessively write additional code for fetching the users email between each request
- ab8c5b0 Updated token middleware
- f7ae264 Updated user endpoints to ensure that only the caller can access there own account
- 12326e6 Updated workflow with proper secret names and docker login actions. UNSAFE_REGISTRY will be replaced with REGISTRY when SSL is configured on the self hosted registry I am using
- 7049eab Upgraded mtgjson-models package
- 98c37c7 Upgraded mtgjson-models version
- 8712e58 Upgraded mtgjson-sdk
- a6346a7 Upgraded mtgjson-sdk
- f4b4d5a Upgraded mtgjson-sdk
- 908fe17 Upgraded mtgjson-sdk
- 4f2f102 Upgraded mtgjson-sdk
- 6bcdd55 Upgraded mtgjson-sdk and mtgjson-models
- 4cd6ffc Using gin to set the slog logger as middleware
- 35dd329 Wrapped error equality with errors.Is
Released by GoReleaser.