@stbmoz-onboarding/core 1.0.26 → 1.0.28

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.
@@ -0,0 +1,112 @@
1
+ const { isAboveMaxLength, isMinLength, notIncludes, isIn } = require("./../Validations")
2
+
3
+ const feedbacks = {
4
+ oversized: "Ultrapassou o limite de caracteres",
5
+ invalidChars: "O campo contem caracteres inválidos",
6
+ required: "Campo obrigatório"
7
+ }
8
+
9
+ module.exports.removeFile = (path) => {
10
+ try {
11
+ if (!path) {
12
+ return
13
+ }
14
+ fs.unlink(path, (err) => {
15
+ if (err) console.error(err)
16
+ })
17
+ } catch (error) { }
18
+ }
19
+
20
+ module.exports.GenerateNumericPin = async (pinSize) => {
21
+ let pin = ''
22
+ const numbers = [0, 1, 2, 6, 4, 5, 6, 7, 8, 9]
23
+
24
+ for (let i = 0; i < pinSize; i++) {
25
+ pin = pin + numbers[Math.floor(Math.random() * 10)]
26
+ }
27
+ return pin
28
+ }
29
+
30
+ module.exports.ReferenceGenerator = async (length) => {
31
+
32
+ let charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".split("")
33
+ let reference = ""
34
+
35
+ for (let i = 0; i < length; i++) {
36
+ const aux = charset[Math.floor(Math.random() * charset.length)]
37
+ reference = reference + aux
38
+ }
39
+
40
+ const date = new Date()
41
+ reference = `${date.getFullYear()}${date.getMonth() + 1 < 10 ? `0${date.getMonth() + 1}` : `${date.getMonth() + 1}`}` + reference
42
+
43
+ return reference
44
+ }
45
+
46
+ module.exports.AllowedPrefixes = [
47
+ '25884', '25885', '25886', '25887', '25882', '25883'
48
+ ]
49
+
50
+ module.exports.Sanitize = (values, key, errors, isRequired, failMessage, _minLength, _maxLength, allowedChars) => {
51
+ try {
52
+ values[key] = values[key].replace(/(\r\n|\n|\r)/gm, " ")
53
+
54
+ if (!values[key] && isRequired) {
55
+ errors[key] = feedbacks.required
56
+ } else if (!notIncludes(values[key], allowedChars)) {
57
+ if (!isMinLength(values[key], _minLength)) {
58
+ errors[key] = failMessage
59
+ } else {
60
+ if (!isAboveMaxLength(values[key], _maxLength)) {
61
+ errors[key] = feedbacks.oversized
62
+ }
63
+ }
64
+ } else {
65
+ errors[key] = feedbacks.invalidChars
66
+ }
67
+ } catch (e) {
68
+ errors[key] = failMessage
69
+ }
70
+
71
+
72
+
73
+ }
74
+
75
+ module.exports.Serializer = (requestBody, allowedFieldsArray) => {
76
+
77
+ Object.entries(requestBody).forEach(([key, value]) => {
78
+ if (!isIn(key, allowedFieldsArray)) {
79
+ delete requestBody[key]
80
+ } else {
81
+ try {
82
+ if (typeof value == "string") {
83
+ if (key == 'email') {
84
+ requestBody[key] = requestBody[key].toLowerCase()
85
+ } else if (value == "TRUE" || value == "true") {
86
+ requestBody[key] = true
87
+ } else if (value == "FALSE" || value == "false") {
88
+ requestBody[key] = false
89
+ }
90
+ else {
91
+ requestBody[key] = requestBody[key].toUpperCase()
92
+ }
93
+ }
94
+ } catch (error) {
95
+ console.log(error)
96
+ }
97
+ }
98
+ })
99
+
100
+ return requestBody
101
+ }
102
+
103
+
104
+ module.exports.SubArrayGenerator = (arrayOfObjects, key) => {
105
+ let subArray = []
106
+
107
+ arrayOfObjects.forEach(item=>{
108
+ subArray.push(item[key])
109
+ })
110
+
111
+ return subArray
112
+ }
@@ -0,0 +1,9 @@
1
+ const {
2
+ AllowedPrefixes, GenerateNumericPin, ReferenceGenerator, Sanitize, Serializer,
3
+ removeFile, SubArrayGenerator
4
+ } = require("./functions")
5
+
6
+ module.exports = {
7
+ AllowedPrefixes, GenerateNumericPin, ReferenceGenerator, Sanitize, Serializer, removeFile,
8
+ SubArrayGenerator
9
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stbmoz-onboarding/core",
3
3
  "type": "module",
4
- "version": "1.0.26",
4
+ "version": "1.0.28",
5
5
  "description": "\"core module\"",
6
6
  "main": "index.js",
7
7
  "scripts": {