intermediate-component-sa 1.0.4 → 1.1.0
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/CHANGELOG.md +11 -0
- package/README.md +1 -20
- package/build-dev.bat +2 -0
- package/build-prod-aot.bat +2 -0
- package/build-prod-rollup-aot.bat +2 -0
- package/build-prod.bat +2 -0
- package/config.ts +4 -0
- package/gulpfile.ts +172 -0
- package/index.js +10 -1
- package/karma.conf.js +124 -0
- package/package.json +340 -15
- package/postgrator-test.json +9 -0
- package/postgrator.json +9 -0
- package/src/app.server.ts +4 -0
- package/src/client/app/app.component.ts +37 -0
- package/src/client/app/app.html +6 -0
- package/src/client/app/app.module.ts +36 -0
- package/src/client/app/app.routing.ts +7 -0
- package/src/client/app/hot_loader_main.ts +14 -0
- package/src/client/app/main-aot.ts +8 -0
- package/src/client/app/main.ts +8 -0
- package/src/client/app/rxjs-operators.ts +15 -0
- package/src/client/index.html +90 -0
- package/src/client/tsconfig.json +44 -0
- package/src/server/config/app.config.ts +57 -0
- package/src/server/config/jwt.config.ts +4 -0
- package/src/server/config/logger.config.ts +161 -0
- package/src/server/config/mssql.config.ts +30 -0
- package/src/server/config/redis.config.ts +10 -0
- package/src/server/config/server.config.ts +20 -0
- package/src/server/config/templates.config.ts +41 -0
- package/src/server/crypt.ts +37 -0
- package/src/server/customRequest.ts +609 -0
- package/src/server/index.ts +231 -0
- package/src/server/interfaces/cleaner.interface.ts +3 -0
- package/src/server/interfaces/supervisor.interface.ts +3 -0
- package/src/server/routes-centralized.ts +36 -0
- package/src/server/routes.ts +6 -0
- package/src/server/services/index.ts +10 -0
- package/src/server/services/routes.service.ts +11 -0
- package/src/server/shared/file-manager.ts +1007 -0
- package/src/server/shared/http.shared.ts +49 -0
- package/src/server/shared/promises.shared.ts +13 -0
- package/src/server/shared/security.shared.ts +90 -0
- package/src/server/ssl/star_inconcertcc_com.key +28 -0
- package/src/server/ssl/star_inconcertcc_com.pem +62 -0
- package/src/server/tsconfig.json +38 -0
- package/tools/build.js.prod.ts +40 -0
- package/tools/config/project.config.ts +718 -0
- package/tools/config.ts +4 -0
- package/tools/database/SchemaZen.exe +0 -0
- package/tools/database/generate-all-data-scripts.bat +32 -0
- package/tools/database/generate-database-scripts.bat +36 -0
- package/tools/debug.ts +17 -0
- package/tools/env/base.ts +8 -0
- package/tools/env/dev.ts +9 -0
- package/tools/env/env-config.interface.ts +1 -0
- package/tools/env/prod.ts +10 -0
- package/tools/manual_typings/project/sample.package.d.ts +3 -0
- package/tools/manual_typings/seed/angular2-hot-loader.d.ts +9 -0
- package/tools/manual_typings/seed/autoprefixer.d.ts +13 -0
- package/tools/manual_typings/seed/colorguard.d.ts +15 -0
- package/tools/manual_typings/seed/connect-livereload.d.ts +5 -0
- package/tools/manual_typings/seed/cssnano.d.ts +18 -0
- package/tools/manual_typings/seed/doiuse.d.ts +16 -0
- package/tools/manual_typings/seed/express-history-api-fallback.d.ts +18 -0
- package/tools/manual_typings/seed/istream.d.ts +10 -0
- package/tools/manual_typings/seed/karma.d.ts +12 -0
- package/tools/manual_typings/seed/merge-stream.d.ts +8 -0
- package/tools/manual_typings/seed/open.d.ts +8 -0
- package/tools/manual_typings/seed/postcss-reporter.d.ts +20 -0
- package/tools/manual_typings/seed/slash.d.ts +5 -0
- package/tools/manual_typings/seed/stylelint.d.ts +16 -0
- package/tools/manual_typings/seed/systemjs-builder.d.ts +10 -0
- package/tools/manual_typings/seed/tildify.d.ts +5 -0
- package/tools/manual_typings/seed/tiny-lr.d.ts +10 -0
- package/tools/manual_typings/seed/walk.d.ts +10 -0
- package/tools/scripts/install.speech-analytic.sh +35 -0
- package/tools/tasks/build.app.server.ts +57 -0
- package/tools/tasks/build.assets.dev.ts +19 -0
- package/tools/tasks/build.assets.prod.ts +31 -0
- package/tools/tasks/build.bundles.app.aot.ts +31 -0
- package/tools/tasks/build.bundles.app.rollup.aot.ts +101 -0
- package/tools/tasks/build.bundles.app.ts +31 -0
- package/tools/tasks/build.bundles.ts +45 -0
- package/tools/tasks/build.database.scripts.runner.ts +137 -0
- package/tools/tasks/build.database.scripts.ts +27 -0
- package/tools/tasks/build.flags.ts +9 -0
- package/tools/tasks/build.fonts.ts +9 -0
- package/tools/tasks/build.html_css.ts +126 -0
- package/tools/tasks/build.index.dev.ts +68 -0
- package/tools/tasks/build.index.prod.ts +64 -0
- package/tools/tasks/build.js.dev.ts +66 -0
- package/tools/tasks/build.js.prod.aot.ts +44 -0
- package/tools/tasks/build.js.prod.rollup.aot.ts +50 -0
- package/tools/tasks/build.js.prod.ts +40 -0
- package/tools/tasks/build.packages.prod.ts +19 -0
- package/tools/tasks/build.server.dev.ts +59 -0
- package/tools/tasks/build.server.prod.ts +31 -0
- package/tools/tasks/build.server.statics.ts +24 -0
- package/tools/tasks/build.skins.ts +51 -0
- package/tools/tasks/build.sme.prod.aot.ts +6 -0
- package/tools/tasks/build.sme.prod.rollup.aot.ts +6 -0
- package/tools/tasks/build.sme.prod.ts +6 -0
- package/tools/tasks/build.tar.prod.ts +17 -0
- package/tools/tasks/build.test.database.scripts.ts +52 -0
- package/tools/tasks/clean.dev.ts +7 -0
- package/tools/tasks/clean.prod.ts +7 -0
- package/tools/tasks/compile.ahead.prod.ts +65 -0
- package/tools/tasks/copy.client.js.prod.rollup.aot.ts +33 -0
- package/tools/tasks/copy.client.js.prod.ts +18 -0
- package/tools/tasks/copy.server.assets.ts +38 -0
- package/tools/tasks/copy.server.js.prod.ts +16 -0
- package/tools/tasks/css-lint.ts +58 -0
- package/tools/tasks/e2e.ts +32 -0
- package/tools/tasks/karma.run.ts +18 -0
- package/tools/tasks/karma.watch.ts +9 -0
- package/tools/tasks/minify.server.statics.ts +52 -0
- package/tools/tasks/server.prod.ts +6 -0
- package/tools/tasks/server.start.ts +6 -0
- package/tools/tasks/test.database.ts +6 -0
- package/tools/tasks/transpile.bundles.rollup.aot.ts +43 -0
- package/tools/tasks/tslint.ts +64 -0
- package/tools/tasks/watch.file.changes.dev.ts +37 -0
- package/tools/tasks/watch.key.press.dev.ts +116 -0
- package/tools/tasks/webdriver.ts +6 -0
- package/tools/utils/project/sample_util.ts +18 -0
- package/tools/utils/project.utils.ts +4 -0
- package/tools/utils/seed/build_optimizer.ts +26 -0
- package/tools/utils/seed/clean.ts +35 -0
- package/tools/utils/seed/code_change_tools.ts +38 -0
- package/tools/utils/seed/karma.start.ts +10 -0
- package/tools/utils/seed/server.ts +43 -0
- package/tools/utils/seed/sme.ts +51 -0
- package/tools/utils/seed/tasks_tools.ts +70 -0
- package/tools/utils/seed/template_locals.ts +64 -0
- package/tools/utils/seed/tsproject.ts +25 -0
- package/tools/utils/seed.utils.ts +11 -0
- package/tools/utils.ts +5 -0
- package/tsconfig.json +33 -0
- package/tslint.json +120 -0
- package/utils.ts +5 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
// Habilitar prefijo en los ID de contacto
|
|
2
|
+
export const ENABLE_CONTACT_ID_PREFIX: any = {
|
|
3
|
+
/*intancia por cliente en una instancia
|
|
4
|
+
default: {
|
|
5
|
+
Amazon:'campaignClient'
|
|
6
|
+
}
|
|
7
|
+
*/
|
|
8
|
+
default: '',
|
|
9
|
+
instance1: 'campaignId',
|
|
10
|
+
instance2: 'campaignClient',
|
|
11
|
+
instance3: 'campaignCategory',
|
|
12
|
+
instance4: 'sourceId'
|
|
13
|
+
};
|
|
14
|
+
// Prefijo de ventas
|
|
15
|
+
export const CONTACT_SALE_ID_PREFIX: string = 'CS';
|
|
16
|
+
// Deshabilitar archivos minificados
|
|
17
|
+
export const DISABLE_MINIFY: boolean = false;
|
|
18
|
+
// Flag para que el servidor levante en modo de servicio distribuido
|
|
19
|
+
export const IS_DISTRIBUTED_SERVICE: boolean = false;
|
|
20
|
+
// Claves para subir contenido a cada instancia
|
|
21
|
+
export const DISTRIBUTED_SERVICE_KEYS: any = {
|
|
22
|
+
default: 'bjFOyOXM6tOBJlkoKa6eGY4ZzovkEiBV01H7swK63elwkQEv',
|
|
23
|
+
instance1: 'm49y5SEFzNjrt1c3SkDAn9ynBWlVsQ3L87fb12OyzNYsdhbu',
|
|
24
|
+
instance2: 'eGk19JaQYDViax1Cll8CKI17OkswmSyVzVPemFQMCB9ReOS7',
|
|
25
|
+
instance3: '3VQjm3IT4PzR0OPoeFsfFzZ3tkzGH38hcO8SnpWTDQot4GOl',
|
|
26
|
+
instance4: 'qqYZfFRzfEp78YlkBzmvIzn9P6m209FFOaNJlezsW3nhVf4U'
|
|
27
|
+
};
|
|
28
|
+
// Lista de origenes validos para cada instancia
|
|
29
|
+
export const DISTRIBUTED_SERVICE_ORIGINS: any = {
|
|
30
|
+
default: [
|
|
31
|
+
'A.A.A.A',
|
|
32
|
+
'B.B.B.B',
|
|
33
|
+
'C.C.C.C'
|
|
34
|
+
],
|
|
35
|
+
instance1: [
|
|
36
|
+
'D.D.D.D',
|
|
37
|
+
'E.E.E.E',
|
|
38
|
+
'F.F.F.F'
|
|
39
|
+
],
|
|
40
|
+
instance2: [
|
|
41
|
+
'G.G.G.G',
|
|
42
|
+
'H.H.H.H',
|
|
43
|
+
'I.I.I.I'
|
|
44
|
+
],
|
|
45
|
+
instance3: [
|
|
46
|
+
'J.J.J.J',
|
|
47
|
+
'K.K.K.K',
|
|
48
|
+
'L.L.L.L'
|
|
49
|
+
],
|
|
50
|
+
instance4: [
|
|
51
|
+
'M.M.M.M',
|
|
52
|
+
'N.N.N.N',
|
|
53
|
+
'O.O.O.O'
|
|
54
|
+
]
|
|
55
|
+
};
|
|
56
|
+
// Limite de tamaño para upload de archivos genericos (20MB)
|
|
57
|
+
export const FILE_UPLOAD_LIMIT: number = 20 * 1024 * 1024;
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
import * as stackTrace from 'stack-trace';
|
|
3
|
+
|
|
4
|
+
// Ruta task.log
|
|
5
|
+
export const TASK_LOG_FILE: string = path.resolve(__dirname, '..', 'logs', 'Task.log');
|
|
6
|
+
|
|
7
|
+
// Obtiene el PID asociado al log
|
|
8
|
+
let getLogPid = function() {
|
|
9
|
+
// Obtengo pid
|
|
10
|
+
let pid: string = process.pid.toString();
|
|
11
|
+
// Devuevlo con formato y largo fijo
|
|
12
|
+
return (pid + ' ').substring(0, 5);
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
// Obtiene y arma el dato de nivel de log
|
|
16
|
+
let getLogLevel = function(loggingEvent: any) {
|
|
17
|
+
// Largo del resultado a devolver
|
|
18
|
+
let resultLength: number = 5;
|
|
19
|
+
// Obtengo nivel de log
|
|
20
|
+
var level: string = loggingEvent.level.toString();
|
|
21
|
+
// Devuevlo con formato y largo fijo
|
|
22
|
+
return '[' + (level + Array(resultLength + 1).join(' ')).substring(0, resultLength) + ']';
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
// Obtiene y arma el contexto asiciado al log
|
|
26
|
+
let getLogContext = function(loggingEvent: any) {
|
|
27
|
+
// Largo del resultado a devolver
|
|
28
|
+
let resultLength: number = 30;
|
|
29
|
+
// Obtengo el trace de la ejecucion actual
|
|
30
|
+
let trace: stackTrace.StackFrame[] = stackTrace.get();
|
|
31
|
+
// Verifico que tengo al menos la cantidad esperada de llamados
|
|
32
|
+
if (trace.length <= 9) return '[Unknown context]';
|
|
33
|
+
// Obtengo el nodo correspondiente a la funcion que llamo al logger
|
|
34
|
+
let caller: any = trace[9];
|
|
35
|
+
// Obtengo las variables del contexto
|
|
36
|
+
let fileName: string = path.basename(caller.getFileName() || '');
|
|
37
|
+
let lineNumber: string = caller.getLineNumber() || '';
|
|
38
|
+
// Armo y acomodo el contexto para que tenga siempre el mismo largo
|
|
39
|
+
let context: string = (fileName + ':' + lineNumber);
|
|
40
|
+
context = ( context.length > resultLength ? '...' + context.slice(-1 * (resultLength - ('...').length)) : context );
|
|
41
|
+
// Devuelvo el texto completo juntando todo
|
|
42
|
+
return '[' + (context + Array(resultLength + 1).join(' ')).substring(0, resultLength) + ']';
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
// Configuracion de los loggers a utilizar
|
|
46
|
+
export const LOGGER_CONFIG: any = {
|
|
47
|
+
appenders: [
|
|
48
|
+
{
|
|
49
|
+
type: 'file',
|
|
50
|
+
filename: path.resolve(__dirname, '..', 'logs', 'AccessLog.log'),
|
|
51
|
+
maxLogSize: 20 * 1000 * 1024,
|
|
52
|
+
backups: 5,
|
|
53
|
+
category: 'AccessLog',
|
|
54
|
+
layout: {
|
|
55
|
+
type: 'pattern',
|
|
56
|
+
pattern: '%x{level} %d{ISO8601} %x{pid} %m',
|
|
57
|
+
tokens: {
|
|
58
|
+
pid: getLogPid,
|
|
59
|
+
level: getLogLevel,
|
|
60
|
+
context: getLogContext
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
type: 'file',
|
|
66
|
+
filename: path.resolve(__dirname, '..', 'logs', 'ServerScripts.log'),
|
|
67
|
+
maxLogSize: 20 * 1000 * 1024,
|
|
68
|
+
backups: 5,
|
|
69
|
+
category: 'ServerScripts',
|
|
70
|
+
layout: {
|
|
71
|
+
type: 'pattern',
|
|
72
|
+
pattern: '%x{level} %d{ISO8601} %x{pid} %x{context} %m',
|
|
73
|
+
tokens: {
|
|
74
|
+
pid: getLogPid,
|
|
75
|
+
level: getLogLevel,
|
|
76
|
+
context: getLogContext
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'file',
|
|
82
|
+
filename: path.resolve(__dirname, '..', 'logs', 'PublicScripts.log'),
|
|
83
|
+
maxLogSize: 20 * 1000 * 1024,
|
|
84
|
+
backups: 15,
|
|
85
|
+
category: 'PublicScripts',
|
|
86
|
+
layout: {
|
|
87
|
+
type: 'pattern',
|
|
88
|
+
pattern: '%x{level} %d{ISO8601} %x{pid} %x{context} %m',
|
|
89
|
+
tokens: {
|
|
90
|
+
pid: getLogPid,
|
|
91
|
+
level: getLogLevel,
|
|
92
|
+
context: getLogContext
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
type: 'file',
|
|
98
|
+
filename: path.resolve(__dirname, '..', 'logs', 'DoubleClick.log'),
|
|
99
|
+
maxLogSize: 20 * 1000 * 1024,
|
|
100
|
+
backups: 5,
|
|
101
|
+
category: 'DoubleClick',
|
|
102
|
+
layout: {
|
|
103
|
+
type: 'pattern',
|
|
104
|
+
pattern: '%x{level} %d{ISO8601} %x{pid} %x{context} %m',
|
|
105
|
+
tokens: {
|
|
106
|
+
pid: getLogPid,
|
|
107
|
+
level: getLogLevel,
|
|
108
|
+
context: getLogContext
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
type: 'file',
|
|
114
|
+
filename: path.resolve(__dirname, '..', 'logs', 'Sql.log'),
|
|
115
|
+
maxLogSize: 20 * 1000 * 1024,
|
|
116
|
+
backups: 5,
|
|
117
|
+
category: 'Sql',
|
|
118
|
+
layout: {
|
|
119
|
+
type: 'pattern',
|
|
120
|
+
pattern: '%x{level} %d{ISO8601} %x{pid} %x{context} %m',
|
|
121
|
+
tokens: {
|
|
122
|
+
pid: getLogPid,
|
|
123
|
+
level: getLogLevel,
|
|
124
|
+
context: getLogContext
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
type: 'file',
|
|
130
|
+
filename: path.resolve(__dirname, '..', 'logs', 'Redis.log'),
|
|
131
|
+
maxLogSize: 20 * 1000 * 1024,
|
|
132
|
+
backups: 5,
|
|
133
|
+
category: 'Redis',
|
|
134
|
+
layout: {
|
|
135
|
+
type: 'pattern',
|
|
136
|
+
pattern: '%x{level} %d{ISO8601} %x{pid} %x{context} %m',
|
|
137
|
+
tokens: {
|
|
138
|
+
pid: getLogPid,
|
|
139
|
+
level: getLogLevel,
|
|
140
|
+
context: getLogContext
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
type: 'file',
|
|
146
|
+
filename: path.resolve(__dirname, '..', 'logs', 'Task.log'),
|
|
147
|
+
maxLogSize: 20 * 1000 * 1024,
|
|
148
|
+
backups: 5,
|
|
149
|
+
category: 'Task',
|
|
150
|
+
layout: {
|
|
151
|
+
type: 'pattern',
|
|
152
|
+
pattern: '%x{level} %d{ISO8601} %x{pid} %x{context} %m',
|
|
153
|
+
tokens: {
|
|
154
|
+
pid: getLogPid,
|
|
155
|
+
level: getLogLevel,
|
|
156
|
+
context: getLogContext
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
]
|
|
161
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export const MSSQL_HOST = '192.168.2.199';
|
|
2
|
+
export const MSSQL_PORT = 1433;
|
|
3
|
+
export const MSSQL_USER = '';
|
|
4
|
+
export const MSSQL_PASSWORD = '';
|
|
5
|
+
export const MSSQL_DATABASE = 'Testing_Billing';
|
|
6
|
+
export const MSSQL_CONN_TIMEOUT = 30 * 1000;
|
|
7
|
+
export const MSSQL_REQ_TIMEOUT = 300 * 1000;
|
|
8
|
+
export const MSSQL_POOL_MIN = 0;
|
|
9
|
+
export const MSSQL_POOL_MAX = 50;
|
|
10
|
+
export const MSSQL_POOL_IDLE_TIMEOUT = 24 * 60 * 60 * 1000;
|
|
11
|
+
export const MSSQL_ENCRYPT = false;
|
|
12
|
+
export const MSSQL_USE_UTC = true;
|
|
13
|
+
export const MSSQL_CONFIG = {
|
|
14
|
+
user: MSSQL_USER,
|
|
15
|
+
password: MSSQL_PASSWORD,
|
|
16
|
+
server: MSSQL_HOST,
|
|
17
|
+
database: MSSQL_DATABASE,
|
|
18
|
+
port: MSSQL_PORT,
|
|
19
|
+
connectionTimeout: MSSQL_CONN_TIMEOUT,
|
|
20
|
+
requestTimeout: MSSQL_REQ_TIMEOUT,
|
|
21
|
+
pool: {
|
|
22
|
+
max: MSSQL_POOL_MAX,
|
|
23
|
+
min: MSSQL_POOL_MIN,
|
|
24
|
+
idleTimeoutMillis: MSSQL_POOL_IDLE_TIMEOUT
|
|
25
|
+
},
|
|
26
|
+
options: {
|
|
27
|
+
encrypt: MSSQL_ENCRYPT,
|
|
28
|
+
useUTC: MSSQL_USE_UTC
|
|
29
|
+
}
|
|
30
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// Parámetros de configuracion para el redis
|
|
2
|
+
export const REDIS_OPTIONS: any = {
|
|
3
|
+
prefix: 'inconcertCache:'
|
|
4
|
+
};
|
|
5
|
+
// Tiempo en segundos que se mantendran las sesiones en cache
|
|
6
|
+
export const REDIS_SESSION_PERSISTENCE: number = 7 * 24 * 60 * 60;
|
|
7
|
+
// Tiempo en segundos que se mantendran los datos en cache
|
|
8
|
+
export const REDIS_DATA_PERSISTENCE: number = 60 * 60;
|
|
9
|
+
// Tiempo en segundos que se mantendran los datos en cache para reprocesados
|
|
10
|
+
export const REDIS_DATA_PERSISTENCE_RETRY: number = 10 * 60;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
|
|
3
|
+
// Modo del servicio (dev, prod, test)
|
|
4
|
+
export const SERVER_MODE: string = <string>'<%= ENV %>';
|
|
5
|
+
// HTTP habilitado
|
|
6
|
+
export const HTTP_ENABLED: boolean = true;
|
|
7
|
+
// Host de listen para HTTP
|
|
8
|
+
export const HTTP_BINDING_HOST: string = '0.0.0.0';
|
|
9
|
+
// Puerto de listen para HTTP
|
|
10
|
+
export const HTTP_BINDING_PORT: number = <number>+('<%= APP_SERVER_PORT %>');
|
|
11
|
+
// HTTPS habilitado
|
|
12
|
+
export const HTTPS_ENABLED: boolean = false;
|
|
13
|
+
// Host de listen para HTTPS
|
|
14
|
+
export const HTTPS_BINDING_HOST: string = '0.0.0.0';
|
|
15
|
+
// Puerto de listen para HTTPS
|
|
16
|
+
export const HTTPS_BINDING_PORT: number = 443;
|
|
17
|
+
// Clave para HTTPS
|
|
18
|
+
export const HTTPS_KEY: string = path.resolve(__dirname, '../ssl/star_inconcertcc_com.key');
|
|
19
|
+
// Certificado para HTTPS
|
|
20
|
+
export const HTTPS_CERT: string = path.resolve(__dirname, '../ssl/star_inconcertcc_com.pem');
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
// Nombre de la carpeta final
|
|
3
|
+
export const TEMP_FOLDER = 'temp';
|
|
4
|
+
// Ruta completa de la carpeta de archivos
|
|
5
|
+
export const TEMP_PATH = path.resolve(__dirname, '..', TEMP_FOLDER);
|
|
6
|
+
// Nombre de la carpeta de templates
|
|
7
|
+
export const TEMPLATE_FOLDER: string = 'template';
|
|
8
|
+
// Nombre de la carpeta de views (dentro de la de templates)
|
|
9
|
+
export const VIEWS_FOLDER: string = 'views';
|
|
10
|
+
// Nombre de la carpeta para mailing templates usadas por el sistema
|
|
11
|
+
export const MAIL_FOLDER: string = 'mail';
|
|
12
|
+
// Ruta relativa (URI) de la carpeta de vistas de templates
|
|
13
|
+
export const TEMPLATE_VIEWS_URI: string = TEMPLATE_FOLDER + '/' + VIEWS_FOLDER;
|
|
14
|
+
// Ruta completa de la carpeta de templates
|
|
15
|
+
export const TEMPLATE_PATH: string = path.resolve(__dirname, '..', TEMPLATE_FOLDER);
|
|
16
|
+
// Ruta completa de la carpeta de vistas de templates
|
|
17
|
+
export const TEMPLATE_VIEWS_PATH: string = path.resolve(__dirname, '..', TEMPLATE_FOLDER, VIEWS_FOLDER);
|
|
18
|
+
// Ruta completa de la carpeta de templates para mailing
|
|
19
|
+
export const TEMPLATE_MAIL_PATH: string = path.resolve(__dirname, '..', TEMPLATE_FOLDER, MAIL_FOLDER);
|
|
20
|
+
// Tiempo a mantener los archivos o carpeta temporales
|
|
21
|
+
export const TEMPLATE_TEMP_PERSISTENCE: number = 24 * 60 * 60;
|
|
22
|
+
// Nombre de la carpeta temporal para las templates
|
|
23
|
+
export const TEMPLATE_TEMP_FOLDER: string = 'temp';
|
|
24
|
+
// Prefijo para nombrar las carpetas temporales de las templates
|
|
25
|
+
export const TEMPLATE_TEMP_PREFIX: string = 'temp';
|
|
26
|
+
// Prefijo para nombrar las carpetas temporales de las templates en modo edición
|
|
27
|
+
export const TEMPLATE_EDIT_PREFIX: string = 'edit';
|
|
28
|
+
// Prefijo para nombrar los temporales para descarga de las templates
|
|
29
|
+
export const TEMPLATE_DOWNLOAD_PREFIX: string = 'download';
|
|
30
|
+
// Prefijo para nombrar los temporales para upload de las templates
|
|
31
|
+
export const TEMPLATE_UPLOAD_PREFIX: string = 'upload';
|
|
32
|
+
// Extensión para la generación de snapshots de las templates
|
|
33
|
+
export const TEMPLATE_PREVIEW_EXT: string = '.jpg';
|
|
34
|
+
// Ruta hacia la carpeta temporal donde se alojan las templates
|
|
35
|
+
export const TEMPLATE_TEMP_PATH: string = path.resolve(TEMPLATE_PATH, TEMPLATE_TEMP_FOLDER);
|
|
36
|
+
// Ruta relativa (URI) de la carpeta de vistas de templates
|
|
37
|
+
export const TEMPLATE_TEMP_URI: string = TEMPLATE_FOLDER + '/' + TEMPLATE_TEMP_FOLDER;
|
|
38
|
+
// Ruta completa de la carpeta de archivos js estaticos
|
|
39
|
+
export const STATIC_JS_PATH: string = path.resolve(__dirname, '../static/js');
|
|
40
|
+
// Prefijo para los partiales de archivos js estaticos
|
|
41
|
+
export const STATIC_JS_PARTIALS_PREFIX: string = 'static/js/';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
const crypto = require('crypto');
|
|
2
|
+
|
|
3
|
+
const algorithm = 'aes-256-ctr';
|
|
4
|
+
const password = 'vOVH6sdmpNWjRRIqCc7rdxs01lwHzfr3';
|
|
5
|
+
|
|
6
|
+
export function InconcertEncrypt(myText) : string {
|
|
7
|
+
const iv = crypto.randomBytes(16);
|
|
8
|
+
const cipher = crypto.createCipheriv(algorithm, password, Buffer.from(iv));
|
|
9
|
+
const encrypted = Buffer.concat([cipher.update(myText), cipher.final()]);
|
|
10
|
+
|
|
11
|
+
return `${encrypted.toString('hex')}-${iv.toString('hex')}`;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export function InconcertDecrypt(myEncryptedText) : string {
|
|
15
|
+
const iv = crypto.randomBytes(24);
|
|
16
|
+
let decipher = crypto.createDecipheriv(algorithm, Buffer.from(password), iv);
|
|
17
|
+
let decrypted = '';
|
|
18
|
+
decipher.on(
|
|
19
|
+
'readable',
|
|
20
|
+
() => {
|
|
21
|
+
const data = decipher.read();
|
|
22
|
+
if (data)
|
|
23
|
+
decrypted += data.toString('utf8');
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
decipher.on(
|
|
27
|
+
'end',
|
|
28
|
+
() => {
|
|
29
|
+
return decrypted;
|
|
30
|
+
}
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
decipher.write(myEncryptedText, 'hex');
|
|
34
|
+
decipher.end();
|
|
35
|
+
|
|
36
|
+
return decrypted;
|
|
37
|
+
}
|