Commit graph

991 commits

Author SHA1 Message Date
NickOvt
fae91d1484
fix(api-docs): Fixed requestBody in API docs ZMS-118 (#593)
* optimize CPU usage

* fix requestBody issues in API docs generation

* fix requestBody issues for API generation

* Revert "optimize CPU usage"

This reverts commit b4fde61884.
2024-01-02 12:50:06 +02:00
Andris Reinman
c886383d26
Merge branch 'master' of github.com:nodemailer/wildduck 2024-01-02 11:24:35 +02:00
Andris Reinman
43365542a3
fix(api-search): Fixed or query. Fixes #592 2024-01-02 11:24:28 +02:00
NickOvt
a15878c7d7
fix(docs): /users API docs ZMS-110 (#575)
* /users GET endpoint added

* added /users POST to api generation

* added /users/resolve/:username GET endpoint for api generation

* fixes + request user info GET endpoint added

* Added Update User information api path to api docs generation

* added Log out User endpoint to api generation

* Added Recalculate User quota endpoint to API generation

* added Recalculate Quota for all users endpoint to api generation

* added Export data endpoint to API generation

* added Import user data endpoint to API generation

* Reset password for a User endpoint added to API generation

* Reset password for a User endpoint add param to res

* add missing response types

* added Delete a User, Return recovery info for a deleted User, Cancel user deletion task - endpoints to API generation

* fix typo in users.js
2023-12-21 10:42:09 +02:00
NickOvt
29cffe0d5f
fix(api): header.key and header.value not required ZMS-116 (#582)
* remove unnecessary required() that brakes the e-mail send

* fix Header object as well, remove unnecessary required
2023-12-19 11:12:15 +02:00
NickOvt
d80ba77650
fix(api): Remove unnecessary required() that brakes the e-mail send (#580) 2023-12-19 10:41:51 +02:00
NickOvt
c1e28db0f3
fix(upload): allow empty name field in the Upload message FROM: header ZMS-113 (#577)
* allow empty name field in the Upload message FROM: header

* allow empty name for reply-to also
2023-12-15 12:58:03 +02:00
Andris Reinman
9aab24267b
fix(defer): Added new setting const:sender:defer_times ZMS 63 (#574)
* Added new setting const:sender:defer_times

* Bumped deps
2023-12-14 14:00:31 +02:00
NickOvt
28bdc7621e
fix(docs): Added support for enums ZMS-104 (#565)
* query params add support for enums and example

* add general enum and example support for requestBody as well
2023-11-30 14:29:12 +02:00
NickOvt
3c9e17595c
fix(docs): Fixed descriptions ZMS-101 (#553)
* 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

* fix description on the object issue

* add descriptions to fields for the schemas in the messages-schemas.js file

* remove yarml import in tools.js
2023-11-30 14:27:00 +02:00
NickOvt
be24af0d26
fix(addressregister): Do not add no-reply addresses to the addressregister ZMS-99 (#551)
* add check for noreply and no-reply in the email

* add check for disallowed headers

* use case insensitive regex instead of hardcoded values
2023-11-30 09:12:06 +02:00
titanism
fd98244342
fix(imap-search): rename headerdate to date (closes #560) (#561) 2023-11-26 08:41:21 +02:00
NickOvt
ea24b9328b
feat(apidocs): Autogenerate OpenAPI docs ZMS-100 (#552)
* 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
2023-11-10 17:55:16 +02:00
Andris Reinman
4434cb5e1f
fix(mailbox-create): Use correct database for loading User data when creating mailboxes (#550) 2023-11-06 12:30:23 +02:00
Andris Reinman
48b9efb8ca
fix(audit): Fixed find() query for expired audits (#547) 2023-10-30 10:55:39 +02:00
NickOvt
aae91bb6ac
Zms 91 (#545)
* 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
2023-10-26 13:11:45 +03:00
NickOvt
779bb11e83
feat(mailbox-count-limit): Set a limit for maximum number of mailbox folders ZMS-93 (#542)
* 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
2023-10-24 11:07:12 +03:00
Andris Reinman
c00cc02658
fix(api-filters): Return valid action.mailbox value for a filter object 2023-10-16 12:21:16 +03:00
Andris Reinman
292bbc2821
fix(attachments): Added contentDisposition property for attachments 2023-10-12 15:23:11 +03:00
Andris Reinman
1fee80eb30
fix(deps): Bumped nodemailer to force embedded images to content-disposition:inline 2023-10-09 14:40:18 +03:00
Andris Reinman
2de6c0bc12
fix(pop3): run socket.destroy() if pop3 socket is not closed in 1.5s 2023-10-05 11:27:07 +03:00
titanism
be900691da
Update imap-notifier.js (fixed typo subscriber > subscriber) (#513) 2023-10-04 22:44:37 +03:00
Andris Reinman
b9349f6e83
fix(sending): Do not count sending limits twice (#505) 2023-09-28 13:34:29 +03:00
NickOvt
e43ba60069
chore(tests): Zms 90 (#503)
* mailbox-handler create() returns errors, code and http status codes correctly

* mailboxes handler now correctly return errors, error codes and appropriate http status codes, fixed tests

* mailbox-handler.js codes fix + tests fix in mailboxes-test.js

* mailbox-handler.js correct error handling for update and rename

* fix mailboxes.js http status part for PUT request, fix appropriate tests

* update responseWrapper, remove unnecessary try catches, fix mailbox-handler error codes and http status response codes, fix tests

* fix imap-core create

* reverted 405 errors to 400

* fix tests
2023-09-28 12:44:06 +03:00
Andris Reinman
80797eebec
feat(storage): Added cid property to storage files (#502) 2023-09-21 12:37:35 +03:00
Andris Reinman
21d5597960 Delayed delete for orphaned files 2023-08-31 15:00:38 +03:00
Andris Reinman
8ebd4c141c Store update time when changing attachment usage counters 2023-08-31 12:32:39 +03:00
Andris Reinman
6c1ec499ce
Updated username validation schema 2023-08-25 22:55:02 +03:00
Andris Reinman
0d7ed717c3
Fixed 304 handling for bimi 2023-08-24 16:32:50 +03:00
Andris Reinman
9970c558fa Use Fetch API for BIMI downloads 2023-08-24 16:13:54 +03:00
Andris Reinman
0cdf77148d Use Fetch API for BIMI downloads 2023-08-24 16:13:54 +03:00
Andris Reinman
35f3c111af Fix invalid mailbox hidden flag in mailboxes API response 2023-08-17 09:51:02 +03:00
Andris Reinman
734b0134d6 Include attachment sha256 in the filtering response 2023-08-10 13:41:28 +03:00
Andris Reinman
ecf362c67d fixed tests 2023-07-20 13:59:59 +03:00
Andris Reinman
f19b93a67f fixed tests 2023-07-20 13:59:59 +03:00
Andris Reinman
39560ae9dc Allow including specific header fields in message listing 2023-07-20 13:59:59 +03:00
Andris Reinman
6e0e882ee0 somewhat working ES query 2023-07-20 13:59:59 +03:00
Andris Reinman
5892a9a897 fixed wrong path 2023-07-20 13:59:59 +03:00
Andris Reinman
8a2a7b72ce Started with searching from ES 2023-07-20 13:59:59 +03:00
Andris Reinman
99fe16b448 Allow defining custom metaData for filter objects 2023-06-15 11:23:26 +03:00
Andris Reinman
083342e4ed
Fixed broken bimi error caching 2023-05-25 13:31:14 +03:00
Andris Reinman
3e9a764d73
Fixed tests 2023-05-25 11:28:30 +03:00
Andris Reinman
e983eae623
Use header parser from libmime, removed local implementation 2023-05-15 15:07:21 +03:00
Andris Reinman
83b7353f3f
Initial search query parser 2023-04-27 15:24:28 +03:00
Andris Reinman
3f656e878a
Search by query text 2023-04-27 15:13:27 +03:00
Andris Reinman
68fc3418ae
updated query parser 2023-04-27 12:33:35 +03:00
Andris Reinman
853d983539
Added missing internalData object to new accounts 2023-04-19 17:08:32 +03:00
Andris Reinman
1a800fd7be
Fixed Redis config parsing 2023-03-31 12:10:26 +03:00
Andris Reinman
f2cd6ee333
fixed tests 2023-03-30 14:45:42 +03:00
Andris Reinman
50e829ab38
test docker 2023-03-30 14:21:10 +03:00