* api.js added endpoint for generating openapi docs. added new info to one route in mailboxes.js and messages.js files so that the api docs generation can be done at all
* try to first generate json representation of the api docs
* add initial Joi Object parsing
* api.js make generation dynamic. messages.js add schemas from separate file. messages-schemas.js used for messages endpoint schemas
* add additions to schemas. Add new schemas to messages.js and also add response object there. Add response object parsing functionality to api.js
* add initial openapi doc yml file generation
* remove manual yaml parsing with js-yaml JSON -> YAML parsing
* fix replaceWithRefs and parseComponentsDecoupled functions, refactor, remove unnecessary comments and logs
* add support for another endpoint
* move big code from api.js to tools
* fix array type representation, fix response objects, add necessary data and changes to endpoints
* redo include logic into exclude login
* fix api generation in tools.js to accomodate new naming of objects
* fix messages.js, add structuredClone check in tools.js
* fix structured clone definition
* add one endpoint in messages.js to the api generation
* messages.js add one more endpoint to API generation
* add response to prev commit. Add new endpoint to API generation. Archive message and archive messages
* finish with post endpoints in messages.js
* added general request and response schemas. Also added req and res schemas for messages
* add multiple GET endpoints to API generation and changed them to new design. Use general schemas made earlier
* fix incorrect import of successRes
* fix mailboxes.js
* refactor general-schemas.js. Fix searchSchema in messages.js. Mailboxes.js fix response
* tools.js rename methodObj in API generation to operationObj
* tools.js api generation remove string fallbacks
* messages.js finish with GET endpoints, addition to API doc generation
* for openApi doc generation use JSON now instead of YAML
* added new file to test git repo setup
* add limit_allowed and limit_sent to loggelf in messages in API. Also if multiple recipients log each message separately
* typo fix
* messages.js refactor code. Make cleaner
* fix _limit_sent. Fix earlier issue too
* session -> sess. Session doesn't exist on request objs, sess exists
* return pback the general SUBMIT log message to track API endpoint usage
* add max mailboxes to settings and consts
* rewrite mailbox handler create function, convert it to async as well as add check for max mailboxes
* mailboxes.js add support for new createAsync function, refactor. tools.js add support for new error code
* make userDate check the first check
* fix error message, make it clearer. Remove OVERQUOTA error code and replace with CANNOT. Remove OVERQUOTA error in the tools.js as well
* fix createAsync wrapper, strict ordering. Settings handler remove unnecessary second param
* added new file to test git repo setup
* added mailboxes tests part 1, POST to /users/{user}/mailboxes
* mailboxes tests GET /users/{user}/mailboxes
* remove .only
* fix returned value check
* remove text.txt. Fix mailboxes-test.js test run name
* fix GET request tests. Add tests for GET /users/{user}/mailboxes/{mailbox}
* added tests for PUT /users/{user}/mailboxes/{mailbox}
* added couple more PUT tests. Added tests for DELETE /users/{user}/mailboxes/{mailbox}. Fixed namings in some places
* remove unnecessary .send(), add generated md file to gitignore
* add new line to gitignore
* added new file to test git repo setup
* added multiple tests for all storage api endpoints. Both positive and negative tests
* added tests for GET /addresses and GET users/:user/addresses
* added storage tests and fixes for them, fixed addresses tests
* add test overview file
* added new file to test git repo setup
* update Grunt mochaTest structure to run two separate test runs instead of one
* remove test.txt
---------
Co-authored-by: Nikolai Ovtsinnikov <nikolai@zone.ee>
* added new file to test git repo setup
* remove test.txt
Add api-tests-table.md file to keep track of api endpoints, method and their test count + test types (and their count)
* add js script to parse files in the /lib/api folder and retrieve a map of apiPath -> apiMethod
* delete parseApiFiles.js as it is unneeded
* add global (per test run) beforeEach and after hooks to collect test data and create an overview table
* update tests to conform to new test title structure
* add expectations to tests
* remove old api-tests-table.md that was handmade
* add expectations to tests in the api-test.js file
* add GET endpoint /api-methods/:arg to fetch all api endpoints for testing purposes only
* add and fix and refactor _globals-test.js file in the api test/api folder. Use global beforeEach and after hook to generate test overview table in api-test-overview.md file
* add missing newline at the end of file
* fix with prettier
* api.js fix style, remove unnecessary comments, remove :arg
* make first post,put,delete,get regex case insensitive, fix call to /api-methods
* _globals-test.js fixes
* fix some test titles
---------
Co-authored-by: Nikolai Ovtsinnikov <nikolai@zone.ee>
Having the OpenAPI verification badge on the README is not only a sign of quality of a great feature but also a good indicator to quickly catch errors in the OpenAPI file.