apeframework 0.0.0-dev.2 → 0.0.0-dev.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +4 -46
- package/cipher/Algorithm.d.ts +6 -0
- package/cipher/Algorithm.js +7 -0
- package/cipher/Cipher.d.ts +12 -0
- package/cipher/Cipher.js +32 -0
- package/cipher/errors/DecryptError.d.ts +5 -0
- package/cipher/errors/DecryptError.js +7 -0
- package/cipher/errors/SecretLengthError.d.ts +5 -0
- package/cipher/errors/SecretLengthError.js +7 -0
- package/cipher/validateSecretLength.d.ts +3 -0
- package/cipher/validateSecretLength.js +13 -0
- package/cli/Args.d.ts +5 -0
- package/cli/Args.js +1 -0
- package/cli/Command.d.ts +3 -0
- package/cli/Command.js +1 -0
- package/cli/getArgs.d.ts +3 -0
- package/cli/getArgs.js +5 -0
- package/cli/parseArgs.d.ts +3 -0
- package/cli/parseArgs.js +25 -0
- package/cli/utils/exit.d.ts +2 -0
- package/cli/utils/exit.js +4 -0
- package/cli/utils/formatList.d.ts +2 -0
- package/cli/utils/formatList.js +7 -0
- package/cli/utils/formatTable.d.ts +2 -0
- package/cli/utils/formatTable.js +19 -0
- package/cli/utils/formatText.d.ts +2 -0
- package/cli/utils/formatText.js +5 -0
- package/cli/utils/print.d.ts +2 -0
- package/cli/utils/print.js +4 -0
- package/cli/utils/printLn.d.ts +2 -0
- package/cli/utils/printLn.js +5 -0
- package/config/Config.d.ts +2 -0
- package/config/Config.js +1 -0
- package/config/Properties.d.ts +8 -0
- package/config/Properties.js +1 -0
- package/config/errors/FileReadError.d.ts +5 -0
- package/config/errors/FileReadError.js +7 -0
- package/config/errors/PropertyNameError.d.ts +5 -0
- package/config/errors/PropertyNameError.js +7 -0
- package/config/errors/PropertyParseError.d.ts +5 -0
- package/config/errors/PropertyParseError.js +7 -0
- package/config/getConfig.d.ts +14 -0
- package/config/getConfig.js +18 -0
- package/config/getPropertyEnvVar.d.ts +2 -0
- package/config/getPropertyEnvVar.js +10 -0
- package/config/parseProperty.d.ts +3 -0
- package/config/parseProperty.js +34 -0
- package/config/readFile.d.ts +2 -0
- package/config/readFile.js +25 -0
- package/config/validatePropertyName.d.ts +2 -0
- package/config/validatePropertyName.js +8 -0
- package/env/Env.d.ts +2 -0
- package/env/Env.js +1 -0
- package/env/errors/FileReadError.d.ts +5 -0
- package/env/errors/FileReadError.js +7 -0
- package/env/getEnv.d.ts +8 -0
- package/env/getEnv.js +12 -0
- package/env/readFile.d.ts +3 -0
- package/env/readFile.js +18 -0
- package/error/BaseError.d.ts +4 -0
- package/error/BaseError.js +9 -0
- package/jwt/Algorithm.d.ts +6 -0
- package/jwt/Algorithm.js +7 -0
- package/jwt/Jwt.d.ts +13 -0
- package/jwt/Jwt.js +32 -0
- package/jwt/Payload.d.ts +11 -0
- package/jwt/Payload.js +1 -0
- package/jwt/errors/SecretLengthError.d.ts +5 -0
- package/jwt/errors/SecretLengthError.js +7 -0
- package/jwt/validateSecretLength.d.ts +3 -0
- package/jwt/validateSecretLength.js +13 -0
- package/logger/Level.d.ts +10 -0
- package/logger/Level.js +11 -0
- package/logger/Logger.d.ts +10 -0
- package/logger/Logger.js +3 -0
- package/logger/Severity.d.ts +9 -0
- package/logger/Severity.js +10 -0
- package/logger/adapters/file/FileLogger.d.ts +20 -0
- package/logger/adapters/file/FileLogger.js +64 -0
- package/logger/adapters/file/errors/FileInitError.d.ts +5 -0
- package/logger/adapters/file/errors/FileInitError.js +7 -0
- package/logger/adapters/file/initFile.d.ts +2 -0
- package/logger/adapters/file/initFile.js +14 -0
- package/logger/adapters/noop/NoopLogger.d.ts +11 -0
- package/logger/adapters/noop/NoopLogger.js +11 -0
- package/logger/adapters/stdio/StdioLogger.d.ts +20 -0
- package/logger/adapters/stdio/StdioLogger.js +67 -0
- package/mailer/Address.d.ts +5 -0
- package/mailer/Address.js +1 -0
- package/mailer/Attachment.d.ts +7 -0
- package/mailer/Attachment.js +1 -0
- package/mailer/Event.d.ts +16 -0
- package/mailer/Event.js +1 -0
- package/mailer/List.d.ts +7 -0
- package/mailer/List.js +1 -0
- package/mailer/Location.d.ts +9 -0
- package/mailer/Location.js +1 -0
- package/mailer/Mail.d.ts +19 -0
- package/mailer/Mail.js +1 -0
- package/mailer/Mailer.d.ts +7 -0
- package/mailer/Mailer.js +47 -0
- package/mailer/Method.d.ts +5 -0
- package/mailer/Method.js +6 -0
- package/mailer/adapters/noop/NoopMailer.d.ts +7 -0
- package/mailer/adapters/noop/NoopMailer.js +9 -0
- package/mailer/adapters/smtp/SmtpMailer.d.ts +18 -0
- package/mailer/adapters/smtp/SmtpMailer.js +54 -0
- package/mailer/adapters/smtp/getAddress.d.ts +4 -0
- package/mailer/adapters/smtp/getAddress.js +9 -0
- package/mailer/adapters/smtp/getAddresses.d.ts +4 -0
- package/mailer/adapters/smtp/getAddresses.js +11 -0
- package/mailer/adapters/smtp/getAttachments.d.ts +4 -0
- package/mailer/adapters/smtp/getAttachments.js +14 -0
- package/mailer/errors/AddressEmailError.d.ts +5 -0
- package/mailer/errors/AddressEmailError.js +7 -0
- package/mailer/errors/EventAttachmentUrlError.d.ts +5 -0
- package/mailer/errors/EventAttachmentUrlError.js +7 -0
- package/mailer/errors/EventGeolocationError.d.ts +5 -0
- package/mailer/errors/EventGeolocationError.js +7 -0
- package/mailer/errors/EventUrlError.d.ts +5 -0
- package/mailer/errors/EventUrlError.js +7 -0
- package/mailer/errors/ListUrlError.d.ts +5 -0
- package/mailer/errors/ListUrlError.js +7 -0
- package/mailer/getIcalendar.d.ts +3 -0
- package/mailer/getIcalendar.js +32 -0
- package/mailer/validateAddressEmail.d.ts +2 -0
- package/mailer/validateAddressEmail.js +8 -0
- package/mailer/validateEventAttachmentUrl.d.ts +2 -0
- package/mailer/validateEventAttachmentUrl.js +8 -0
- package/mailer/validateEventGeolocation.d.ts +2 -0
- package/mailer/validateEventGeolocation.js +8 -0
- package/mailer/validateEventUrl.d.ts +2 -0
- package/mailer/validateEventUrl.js +8 -0
- package/mailer/validateListUrl.d.ts +2 -0
- package/mailer/validateListUrl.js +8 -0
- package/package.json +31 -32
- package/parser/Parser.d.ts +2 -0
- package/parser/Parser.js +1 -0
- package/parser/errors/ParseError.d.ts +5 -0
- package/parser/errors/ParseError.js +7 -0
- package/parser/factories/enum/createEnumParser.d.ts +6 -0
- package/parser/factories/enum/createEnumParser.js +10 -0
- package/parser/factories/unit/Unit.d.ts +5 -0
- package/parser/factories/unit/Unit.js +1 -0
- package/parser/factories/unit/createUnitParser.d.ts +7 -0
- package/parser/factories/unit/createUnitParser.js +33 -0
- package/parser/parseBoolean.d.ts +3 -0
- package/parser/parseBoolean.js +28 -0
- package/parser/parseBytes.d.ts +2 -0
- package/parser/parseBytes.js +51 -0
- package/parser/parseInteger.d.ts +3 -0
- package/parser/parseInteger.js +16 -0
- package/parser/parseMilliseconds.d.ts +2 -0
- package/parser/parseMilliseconds.js +27 -0
- package/parser/parseNumber.d.ts +3 -0
- package/parser/parseNumber.js +15 -0
- package/parser/parseString.d.ts +3 -0
- package/parser/parseString.js +11 -0
- package/pwd/Pwd.d.ts +9 -0
- package/pwd/Pwd.js +16 -0
- package/pwd/errors/HashRoundsError.d.ts +5 -0
- package/pwd/errors/HashRoundsError.js +7 -0
- package/pwd/validateHashRounds.d.ts +2 -0
- package/pwd/validateHashRounds.js +7 -0
- package/server/ErrorHandler.d.ts +3 -0
- package/server/ErrorHandler.js +1 -0
- package/server/Format.d.ts +9 -0
- package/server/Format.js +1 -0
- package/server/Handler.d.ts +3 -0
- package/server/Handler.js +1 -0
- package/server/Method.d.ts +8 -0
- package/server/Method.js +9 -0
- package/server/OpenApiFormat.d.ts +5 -0
- package/server/OpenApiFormat.js +6 -0
- package/server/Route.d.ts +12 -0
- package/server/Route.js +1 -0
- package/server/Schema.d.ts +9 -0
- package/server/Schema.js +1 -0
- package/server/Server.d.ts +37 -0
- package/server/Server.js +86 -0
- package/server/getAjv.d.ts +4 -0
- package/server/getAjv.js +19 -0
- package/tls/Tls.d.ts +7 -0
- package/tls/Tls.js +1 -0
- package/tls/errors/FileReadError.d.ts +5 -0
- package/tls/errors/FileReadError.js +7 -0
- package/tls/getTls.d.ts +8 -0
- package/tls/getTls.js +14 -0
- package/tls/readFile.d.ts +2 -0
- package/tls/readFile.js +14 -0
- package/utils/getRandomHexString.d.ts +2 -0
- package/utils/getRandomHexString.js +5 -0
- package/utils/getTimestamp.d.ts +2 -0
- package/utils/getTimestamp.js +4 -0
- package/utils/isValidEmail.d.ts +2 -0
- package/utils/isValidEmail.js +5 -0
- package/utils/isValidGeolocation.d.ts +2 -0
- package/utils/isValidGeolocation.js +7 -0
- package/utils/isValidHexString.d.ts +2 -0
- package/utils/isValidHexString.js +5 -0
- package/utils/isValidIsoDate.d.ts +2 -0
- package/utils/isValidIsoDate.js +5 -0
- package/utils/isValidJwtToken.d.ts +2 -0
- package/utils/isValidJwtToken.js +5 -0
- package/utils/isValidUrl.d.ts +2 -0
- package/utils/isValidUrl.js +16 -0
- package/utils/isValidUuid.d.ts +2 -0
- package/utils/isValidUuid.js +5 -0
- package/utils/wait.d.ts +2 -0
- package/utils/wait.js +6 -0
- package/api/api.d.ts +0 -7
- package/api/api.js +0 -2
- package/api/api.ts +0 -8
- package/api/auth.d.ts +0 -9
- package/api/auth.js +0 -11
- package/api/auth.ts +0 -9
- package/api/config.d.ts +0 -13
- package/api/config.js +0 -59
- package/api/config.ts +0 -69
- package/api/endpoint.d.ts +0 -20
- package/api/endpoint.js +0 -5
- package/api/endpoint.ts +0 -23
- package/api/handler.d.ts +0 -8
- package/api/handler.js +0 -13
- package/api/handler.ts +0 -23
- package/api/index.d.ts +0 -7
- package/api/index.js +0 -187
- package/api/index.ts +0 -97
- package/api/route.d.ts +0 -6
- package/api/route.js +0 -2
- package/api/route.ts +0 -4
- package/api/router.d.ts +0 -4
- package/api/router.js +0 -111
- package/api/router.ts +0 -36
- package/api/schema.d.ts +0 -29
- package/api/schema.js +0 -69
- package/api/schema.ts +0 -98
- package/app/app.d.ts +0 -6
- package/app/app.js +0 -2
- package/app/app.ts +0 -7
- package/app/boot.d.ts +0 -4
- package/app/boot.js +0 -2
- package/app/boot.ts +0 -5
- package/app/bundle.d.ts +0 -14
- package/app/bundle.js +0 -2
- package/app/bundle.ts +0 -15
- package/app/config.d.ts +0 -4
- package/app/config.js +0 -9
- package/app/config.ts +0 -9
- package/app/index.d.ts +0 -9
- package/app/index.js +0 -103
- package/app/index.ts +0 -32
- package/bin/ape-cli-ts.js +0 -4
- package/bin/ape-cli.js +0 -2
- package/cli/command.d.ts +0 -4
- package/cli/command.js +0 -2
- package/cli/command.ts +0 -7
- package/cli/index.d.ts +0 -2
- package/cli/index.js +0 -103
- package/cli/index.ts +0 -41
- package/cli/internal/api.d.ts +0 -3
- package/cli/internal/api.js +0 -110
- package/cli/internal/api.ts +0 -38
- package/cli/internal/index.d.ts +0 -2
- package/cli/internal/index.js +0 -13
- package/cli/internal/index.ts +0 -9
- package/cli/internal/migration.d.ts +0 -3
- package/cli/internal/migration.js +0 -214
- package/cli/internal/migration.ts +0 -110
- package/cli/internal/queue.d.ts +0 -3
- package/cli/internal/queue.js +0 -147
- package/cli/internal/queue.ts +0 -60
- package/cli/utils.d.ts +0 -18
- package/cli/utils.js +0 -52
- package/cli/utils.ts +0 -48
- package/config/config.d.ts +0 -5
- package/config/config.js +0 -2
- package/config/config.ts +0 -6
- package/config/configuration.d.ts +0 -63
- package/config/configuration.js +0 -2
- package/config/configuration.ts +0 -72
- package/config/default.d.ts +0 -33
- package/config/default.js +0 -34
- package/config/default.ts +0 -40
- package/config/env.d.ts +0 -66
- package/config/env.js +0 -72
- package/config/env.ts +0 -79
- package/config/index.d.ts +0 -8
- package/config/index.js +0 -91
- package/config/index.ts +0 -101
- package/config/loadFile.d.ts +0 -2
- package/config/loadFile.js +0 -13
- package/config/loadFile.ts +0 -9
- package/config/node.d.ts +0 -5
- package/config/node.js +0 -11
- package/config/node.ts +0 -7
- package/config/store.d.ts +0 -6
- package/config/store.js +0 -20
- package/config/store.ts +0 -15
- package/db/config/index.d.ts +0 -10
- package/db/config/index.js +0 -43
- package/db/config/index.ts +0 -35
- package/db/config/memory.d.ts +0 -3
- package/db/config/memory.js +0 -15
- package/db/config/memory.ts +0 -13
- package/db/config/mysql.d.ts +0 -3
- package/db/config/mysql.js +0 -56
- package/db/config/mysql.ts +0 -58
- package/db/config/postgres.d.ts +0 -3
- package/db/config/postgres.js +0 -59
- package/db/config/postgres.ts +0 -61
- package/db/config/sqlite.d.ts +0 -3
- package/db/config/sqlite.js +0 -21
- package/db/config/sqlite.ts +0 -20
- package/db/database.d.ts +0 -3
- package/db/database.js +0 -3
- package/db/database.ts +0 -5
- package/db/index.d.ts +0 -10
- package/db/index.js +0 -32
- package/db/index.ts +0 -26
- package/db/postProcess.d.ts +0 -3
- package/db/postProcess.js +0 -25
- package/db/postProcess.ts +0 -27
- package/db/schema/builder/_.d.ts +0 -30
- package/db/schema/builder/_.js +0 -87
- package/db/schema/builder/_.ts +0 -101
- package/db/schema/builder/columnBuilder.d.ts +0 -7
- package/db/schema/builder/columnBuilder.js +0 -14
- package/db/schema/builder/columnBuilder.ts +0 -15
- package/db/schema/builder/dataType.d.ts +0 -28
- package/db/schema/builder/dataType.js +0 -170
- package/db/schema/builder/dataType.ts +0 -184
- package/db/schema/builder/index.d.ts +0 -15
- package/db/schema/builder/index.js +0 -42
- package/db/schema/builder/index.ts +0 -50
- package/db/schema/builder/tableBuilder.d.ts +0 -45
- package/db/schema/builder/tableBuilder.js +0 -307
- package/db/schema/builder/tableBuilder.ts +0 -409
- package/db/schema/config.d.ts +0 -4
- package/db/schema/config.js +0 -5
- package/db/schema/config.ts +0 -3
- package/db/schema/index.d.ts +0 -7
- package/db/schema/index.js +0 -252
- package/db/schema/index.ts +0 -88
- package/db/schema/migration.d.ts +0 -6
- package/db/schema/migration.js +0 -2
- package/db/schema/migration.ts +0 -7
- package/db/schema/migrationList.d.ts +0 -5
- package/db/schema/migrationList.js +0 -2
- package/db/schema/migrationList.ts +0 -5
- package/db/schema/migrationSource.d.ts +0 -10
- package/db/schema/migrationSource.js +0 -60
- package/db/schema/migrationSource.ts +0 -24
- package/db/schema/schema.d.ts +0 -6
- package/db/schema/schema.js +0 -2
- package/db/schema/schema.ts +0 -7
- package/db/utils/index.d.ts +0 -7
- package/db/utils/index.js +0 -10
- package/db/utils/index.ts +0 -8
- package/db/utils/insertGetKey.d.ts +0 -8
- package/db/utils/insertGetKey.js +0 -109
- package/db/utils/insertGetKey.ts +0 -80
- package/i18n/config.d.ts +0 -4
- package/i18n/config.js +0 -9
- package/i18n/config.ts +0 -9
- package/i18n/i18n.d.ts +0 -5
- package/i18n/i18n.js +0 -2
- package/i18n/i18n.ts +0 -6
- package/i18n/index.d.ts +0 -8
- package/i18n/index.js +0 -155
- package/i18n/index.ts +0 -42
- package/i18n/internationalization.d.ts +0 -3
- package/i18n/internationalization.js +0 -2
- package/i18n/internationalization.ts +0 -5
- package/i18n/translation.d.ts +0 -4
- package/i18n/translation.js +0 -2
- package/i18n/translation.ts +0 -4
- package/jwt/config.d.ts +0 -5
- package/jwt/config.js +0 -12
- package/jwt/config.ts +0 -11
- package/jwt/index.d.ts +0 -8
- package/jwt/index.js +0 -90
- package/jwt/index.ts +0 -60
- package/jwt/jwt.d.ts +0 -6
- package/jwt/jwt.js +0 -2
- package/jwt/jwt.ts +0 -19
- package/jwt/user.d.ts +0 -4
- package/jwt/user.js +0 -2
- package/jwt/user.ts +0 -4
- package/log/config.d.ts +0 -23
- package/log/config.js +0 -47
- package/log/config.ts +0 -43
- package/log/index.d.ts +0 -4
- package/log/index.js +0 -9
- package/log/index.ts +0 -9
- package/log/logger.d.ts +0 -3
- package/log/logger.js +0 -2
- package/log/logger.ts +0 -5
- package/mail/config.d.ts +0 -4
- package/mail/config.js +0 -5
- package/mail/config.ts +0 -3
- package/mail/email.d.ts +0 -20
- package/mail/email.js +0 -2
- package/mail/email.ts +0 -21
- package/mail/index.d.ts +0 -2
- package/mail/index.js +0 -4
- package/mail/index.ts +0 -3
- package/mail/mail.d.ts +0 -12
- package/mail/mail.js +0 -2
- package/mail/mail.ts +0 -13
- package/mail/module/bypass/index.d.ts +0 -6
- package/mail/module/bypass/index.js +0 -74
- package/mail/module/bypass/index.ts +0 -9
- package/mail/module/config.d.ts +0 -11
- package/mail/module/config.js +0 -24
- package/mail/module/config.ts +0 -25
- package/mail/module/index.d.ts +0 -8
- package/mail/module/index.js +0 -107
- package/mail/module/index.ts +0 -61
- package/mail/module/smtp/config.d.ts +0 -6
- package/mail/module/smtp/config.js +0 -25
- package/mail/module/smtp/config.ts +0 -25
- package/mail/module/smtp/index.d.ts +0 -9
- package/mail/module/smtp/index.js +0 -104
- package/mail/module/smtp/index.ts +0 -36
- package/mq/index.d.ts +0 -3
- package/mq/index.js +0 -27
- package/mq/index.ts +0 -4
- package/mq/module/bypass/index.d.ts +0 -13
- package/mq/module/bypass/index.js +0 -86
- package/mq/module/bypass/index.ts +0 -20
- package/mq/module/config.d.ts +0 -6
- package/mq/module/config.js +0 -15
- package/mq/module/config.ts +0 -14
- package/mq/module/index.d.ts +0 -9
- package/mq/module/index.js +0 -93
- package/mq/module/index.ts +0 -24
- package/mq/module/redis/config.d.ts +0 -27
- package/mq/module/redis/config.js +0 -37
- package/mq/module/redis/config.ts +0 -34
- package/mq/module/redis/index.d.ts +0 -15
- package/mq/module/redis/index.js +0 -132
- package/mq/module/redis/index.ts +0 -60
- package/mq/mq.d.ts +0 -15
- package/mq/mq.js +0 -2
- package/mq/mq.ts +0 -18
- package/mq/queue.d.ts +0 -9
- package/mq/queue.js +0 -2
- package/mq/queue.ts +0 -11
- package/pwd/config.d.ts +0 -4
- package/pwd/config.js +0 -9
- package/pwd/config.ts +0 -9
- package/pwd/index.d.ts +0 -6
- package/pwd/index.js +0 -21
- package/pwd/index.ts +0 -20
- package/pwd/pwd.d.ts +0 -4
- package/pwd/pwd.js +0 -2
- package/pwd/pwd.ts +0 -4
- package/utils/index.d.ts +0 -25
- package/utils/index.js +0 -72
- package/utils/index.ts +0 -56
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const getAttachments = (attachments) => {
|
|
2
|
+
return attachments
|
|
3
|
+
? attachments
|
|
4
|
+
.map((attachment) => {
|
|
5
|
+
return {
|
|
6
|
+
filename: attachment.fileName,
|
|
7
|
+
cid: attachment.fileName,
|
|
8
|
+
contentType: attachment.contentType,
|
|
9
|
+
content: attachment.content,
|
|
10
|
+
};
|
|
11
|
+
})
|
|
12
|
+
: [];
|
|
13
|
+
};
|
|
14
|
+
export { getAttachments, };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ICalCalendar } from 'ical-generator';
|
|
2
|
+
const getIcalendar = (event) => {
|
|
3
|
+
const calendar = new ICalCalendar({
|
|
4
|
+
method: event.method,
|
|
5
|
+
events: [
|
|
6
|
+
{
|
|
7
|
+
id: event.id,
|
|
8
|
+
start: event.start,
|
|
9
|
+
end: event.end,
|
|
10
|
+
allDay: event.allDay,
|
|
11
|
+
summary: event.name,
|
|
12
|
+
description: event.description,
|
|
13
|
+
url: event.url,
|
|
14
|
+
location: event.location
|
|
15
|
+
? {
|
|
16
|
+
title: event.location.name,
|
|
17
|
+
address: event.location.address,
|
|
18
|
+
geo: event.location.geo
|
|
19
|
+
? {
|
|
20
|
+
lat: event.location.geo.latitude,
|
|
21
|
+
lon: event.location.geo.longitude,
|
|
22
|
+
}
|
|
23
|
+
: undefined,
|
|
24
|
+
}
|
|
25
|
+
: undefined,
|
|
26
|
+
attachments: event.attachments,
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
});
|
|
30
|
+
return calendar.toString();
|
|
31
|
+
};
|
|
32
|
+
export { getIcalendar, };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { isValidEmail } from 'utils/isValidEmail';
|
|
2
|
+
import { AddressEmailError } from './errors/AddressEmailError';
|
|
3
|
+
const validateAddressEmail = (email) => {
|
|
4
|
+
if (!isValidEmail(email)) {
|
|
5
|
+
throw new AddressEmailError(email);
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
export { validateAddressEmail, };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { isValidUrl } from 'utils/isValidUrl';
|
|
2
|
+
import { EventAttachmentUrlError } from './errors/EventAttachmentUrlError';
|
|
3
|
+
const validateEventAttachmentUrl = (url) => {
|
|
4
|
+
if (!isValidUrl(url)) {
|
|
5
|
+
throw new EventAttachmentUrlError(url);
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
export { validateEventAttachmentUrl, };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { isValidGeolocation } from 'utils/isValidGeolocation';
|
|
2
|
+
import { EventGeolocationError } from './errors/EventGeolocationError';
|
|
3
|
+
const validateEventGeolocation = (latitude, longitude) => {
|
|
4
|
+
if (!isValidGeolocation(latitude, longitude)) {
|
|
5
|
+
throw new EventGeolocationError(latitude, longitude);
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
|
+
export { validateEventGeolocation, };
|
package/package.json
CHANGED
|
@@ -1,53 +1,52 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "apeframework",
|
|
3
|
-
"version": "0.0.0-dev.
|
|
3
|
+
"version": "0.0.0-dev.21",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Matthieu Symoens",
|
|
6
|
-
"description": "Node.js
|
|
6
|
+
"description": "Node.js app framework",
|
|
7
7
|
"keywords": [
|
|
8
8
|
"ape",
|
|
9
|
-
"framework"
|
|
9
|
+
"framework",
|
|
10
|
+
"nodejs"
|
|
10
11
|
],
|
|
11
12
|
"repository": {
|
|
12
13
|
"type": "git",
|
|
13
|
-
"url": "git+https://github.com/
|
|
14
|
+
"url": "git+https://github.com/ApeFramework/apeframework.git"
|
|
14
15
|
},
|
|
15
16
|
"publishConfig": {
|
|
16
17
|
"access": "public"
|
|
17
18
|
},
|
|
18
|
-
"
|
|
19
|
-
"types": "index.d.ts",
|
|
20
|
-
"bin": {
|
|
21
|
-
"ape-cli": "bin/ape-cli.js",
|
|
22
|
-
"ape-cli-ts": "bin/ape-cli-ts.js"
|
|
23
|
-
},
|
|
19
|
+
"type": "module",
|
|
24
20
|
"engines": {
|
|
25
|
-
"node": "^
|
|
21
|
+
"node": "^22"
|
|
26
22
|
},
|
|
27
23
|
"dependencies": {
|
|
28
|
-
"@fastify/
|
|
29
|
-
"@fastify/
|
|
30
|
-
"@fastify/
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
24
|
+
"@fastify/compress": "^8.0",
|
|
25
|
+
"@fastify/cors": "^10.0",
|
|
26
|
+
"@fastify/response-validation": "^3.0",
|
|
27
|
+
"@fastify/swagger": "^9.4",
|
|
28
|
+
"@types/bcryptjs": "^2.4",
|
|
29
|
+
"@types/fs-extra": "^11.0",
|
|
30
|
+
"@types/nodemailer": "^6.4",
|
|
31
|
+
"@types/yargs-parser": "^21.0",
|
|
32
|
+
"ajv": "^8.17",
|
|
33
|
+
"bcryptjs": "^2.4",
|
|
34
|
+
"bullmq": "^5.34",
|
|
35
|
+
"dotenv": "^16.4",
|
|
36
|
+
"fast-uri": "^3.0",
|
|
37
|
+
"fastify": "^5.2",
|
|
38
|
+
"fs-extra": "^11.2",
|
|
39
|
+
"ical-generator": "^8.0",
|
|
40
|
+
"ioredis": "^5.4",
|
|
41
|
+
"jose": "^5.9",
|
|
43
42
|
"nodemailer": "^6.9",
|
|
44
43
|
"openapi-types": "^12.1",
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"pino": "^8.15",
|
|
48
|
-
"pino-pretty": "^10.2",
|
|
49
|
-
"sonic-boom": "^3.3",
|
|
50
|
-
"sqlite3": "^5.1",
|
|
44
|
+
"pino": "^9.5",
|
|
45
|
+
"pino-pretty": "^13.0",
|
|
51
46
|
"yargs-parser": "^21.1"
|
|
47
|
+
},
|
|
48
|
+
"peerDependencies": {
|
|
49
|
+
"@types/node": "^22.10",
|
|
50
|
+
"typescript": "^5.7"
|
|
52
51
|
}
|
|
53
52
|
}
|
package/parser/Parser.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ParseError } from '../../errors/ParseError';
|
|
2
|
+
const createEnumParser = (params) => {
|
|
3
|
+
return (input) => {
|
|
4
|
+
if (!Object.values(params.enum).includes(input)) {
|
|
5
|
+
throw new ParseError(params.type);
|
|
6
|
+
}
|
|
7
|
+
return input;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
export { createEnumParser, };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ParseError } from '../../errors/ParseError';
|
|
2
|
+
import { parseNumber } from '../../parseNumber';
|
|
3
|
+
import { parseString } from '../../parseString';
|
|
4
|
+
const createUnitParser = (params) => {
|
|
5
|
+
return (input) => {
|
|
6
|
+
let string;
|
|
7
|
+
try {
|
|
8
|
+
string = parseString(input);
|
|
9
|
+
}
|
|
10
|
+
catch (error) {
|
|
11
|
+
throw new ParseError(params.type);
|
|
12
|
+
}
|
|
13
|
+
const units = [];
|
|
14
|
+
params.units.forEach((u) => {
|
|
15
|
+
units.push(u, { ...u, symbol: ` ${u.symbol}` });
|
|
16
|
+
});
|
|
17
|
+
units.sort((a, b) => {
|
|
18
|
+
return b.symbol.length - a.symbol.length;
|
|
19
|
+
});
|
|
20
|
+
const unit = units.find((u) => {
|
|
21
|
+
return string.toUpperCase().endsWith(u.symbol.toUpperCase());
|
|
22
|
+
});
|
|
23
|
+
let number;
|
|
24
|
+
try {
|
|
25
|
+
number = parseNumber(string.substring(0, string.length - (unit?.symbol.length ?? 0)));
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
throw new ParseError(params.type);
|
|
29
|
+
}
|
|
30
|
+
return number * (unit?.value ?? 1);
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
export { createUnitParser, };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ParseError } from './errors/ParseError';
|
|
2
|
+
const parseBoolean = (input) => {
|
|
3
|
+
if ([
|
|
4
|
+
true,
|
|
5
|
+
1,
|
|
6
|
+
BigInt(1),
|
|
7
|
+
'1',
|
|
8
|
+
'TRUE',
|
|
9
|
+
'true',
|
|
10
|
+
].includes(input)) {
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
else if ([
|
|
14
|
+
undefined,
|
|
15
|
+
null,
|
|
16
|
+
false,
|
|
17
|
+
0,
|
|
18
|
+
BigInt(0),
|
|
19
|
+
'',
|
|
20
|
+
'0',
|
|
21
|
+
'FALSE',
|
|
22
|
+
'false',
|
|
23
|
+
].includes(input)) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
throw new ParseError('boolean');
|
|
27
|
+
};
|
|
28
|
+
export { parseBoolean, };
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { createUnitParser } from './factories/unit/createUnitParser';
|
|
2
|
+
const parseBytes = createUnitParser({
|
|
3
|
+
type: 'bytes',
|
|
4
|
+
units: [
|
|
5
|
+
{
|
|
6
|
+
symbol: 'B',
|
|
7
|
+
value: 1,
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
symbol: 'kB',
|
|
11
|
+
value: 1000,
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
symbol: 'MB',
|
|
15
|
+
value: 1000000,
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
symbol: 'GB',
|
|
19
|
+
value: 1000000000,
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
symbol: 'TB',
|
|
23
|
+
value: 1000000000000,
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
symbol: 'PB',
|
|
27
|
+
value: 1000000000000000,
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
symbol: 'KiB',
|
|
31
|
+
value: 1024,
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
symbol: 'MiB',
|
|
35
|
+
value: 131072,
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
symbol: 'GiB',
|
|
39
|
+
value: 134200000,
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
symbol: 'TiB',
|
|
43
|
+
value: 137400000000,
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
symbol: 'PiB',
|
|
47
|
+
value: 140700000000000,
|
|
48
|
+
},
|
|
49
|
+
],
|
|
50
|
+
});
|
|
51
|
+
export { parseBytes, };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ParseError } from './errors/ParseError';
|
|
2
|
+
import { parseNumber } from './parseNumber';
|
|
3
|
+
const parseInteger = (input) => {
|
|
4
|
+
let number;
|
|
5
|
+
try {
|
|
6
|
+
number = parseNumber(input);
|
|
7
|
+
}
|
|
8
|
+
catch (error) {
|
|
9
|
+
throw new ParseError('integer');
|
|
10
|
+
}
|
|
11
|
+
if (!Number.isSafeInteger(number)) {
|
|
12
|
+
throw new ParseError('integer');
|
|
13
|
+
}
|
|
14
|
+
return number;
|
|
15
|
+
};
|
|
16
|
+
export { parseInteger, };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { createUnitParser } from './factories/unit/createUnitParser';
|
|
2
|
+
const parseMilliseconds = createUnitParser({
|
|
3
|
+
type: 'milliseconds',
|
|
4
|
+
units: [
|
|
5
|
+
{
|
|
6
|
+
symbol: 'ms',
|
|
7
|
+
value: 1,
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
symbol: 's',
|
|
11
|
+
value: 1000,
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
symbol: 'm',
|
|
15
|
+
value: 60000,
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
symbol: 'h',
|
|
19
|
+
value: 3600000,
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
symbol: 'd',
|
|
23
|
+
value: 86400000,
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
});
|
|
27
|
+
export { parseMilliseconds, };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ParseError } from './errors/ParseError';
|
|
2
|
+
const parseNumber = (input) => {
|
|
3
|
+
if ([undefined, null].includes(input)) {
|
|
4
|
+
return 0;
|
|
5
|
+
}
|
|
6
|
+
else if (['object', 'function', 'symbol'].includes(typeof input)) {
|
|
7
|
+
throw new ParseError('number');
|
|
8
|
+
}
|
|
9
|
+
const number = Number(input);
|
|
10
|
+
if (!Number.isFinite(number)) {
|
|
11
|
+
throw new ParseError('number');
|
|
12
|
+
}
|
|
13
|
+
return number;
|
|
14
|
+
};
|
|
15
|
+
export { parseNumber, };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ParseError } from './errors/ParseError';
|
|
2
|
+
const parseString = (input) => {
|
|
3
|
+
if ([undefined, null].includes(input)) {
|
|
4
|
+
return '';
|
|
5
|
+
}
|
|
6
|
+
else if (['object', 'function', 'symbol'].includes(typeof input)) {
|
|
7
|
+
throw new ParseError('string');
|
|
8
|
+
}
|
|
9
|
+
return String(input);
|
|
10
|
+
};
|
|
11
|
+
export { parseString, };
|
package/pwd/Pwd.d.ts
ADDED
package/pwd/Pwd.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import bcrypt from 'bcryptjs';
|
|
2
|
+
import { validateHashRounds } from './validateHashRounds';
|
|
3
|
+
class Pwd {
|
|
4
|
+
hashRounds;
|
|
5
|
+
constructor(params) {
|
|
6
|
+
validateHashRounds(params.hashRounds);
|
|
7
|
+
this.hashRounds = params.hashRounds;
|
|
8
|
+
}
|
|
9
|
+
async hashPassword(password) {
|
|
10
|
+
return bcrypt.hashSync(password, this.hashRounds);
|
|
11
|
+
}
|
|
12
|
+
async verifyPassword(password, hash) {
|
|
13
|
+
return bcrypt.compareSync(password, hash);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export { Pwd, };
|