@skalfa/skalfa-api-core 1.0.21 → 1.0.23
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/dist/commands/cli.js +1 -1
- package/dist/commands/cli.js.map +1 -1
- package/dist/commands/runner/blueprint/migration-generation.js +1 -1
- package/dist/commands/runner/blueprint/migration-generation.js.map +1 -1
- package/dist/commands/stubs/index.d.ts +12 -12
- package/dist/commands/stubs/index.js +59 -41
- package/dist/commands/stubs/index.js.map +1 -1
- package/dist/validation/validation.js +40 -19
- package/dist/validation/validation.js.map +1 -1
- package/package.json +12 -5
- package/src/commands/cli.ts +1 -1
- package/src/commands/runner/blueprint/migration-generation.ts +1 -1
- package/src/commands/stubs/index.ts +59 -41
- package/src/validation/validation.ts +41 -20
- package/tsconfig.build.json +13 -0
package/dist/commands/cli.js
CHANGED
|
@@ -92,7 +92,7 @@ export const devCommand = new Command("dev")
|
|
|
92
92
|
.description("Start development server")
|
|
93
93
|
.action(() => {
|
|
94
94
|
const pm = getPackageManager();
|
|
95
|
-
executeCommand(`concurrently --raw "${pm} run watch" "${pm} run skalfa watch:barrels"`);
|
|
95
|
+
executeCommand(`concurrently --raw "${pm} run watch" "${pm} run skalfa watch:barrels" "skalfa lang dev --quiet"`);
|
|
96
96
|
});
|
|
97
97
|
export const watchCommand = new Command("watch")
|
|
98
98
|
.description("Start app watcher")
|
package/dist/commands/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/commands/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/commands/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -86,7 +86,7 @@ export async function migrationGeneration(model, schema = {}, relations = {}, ma
|
|
|
86
86
|
}
|
|
87
87
|
migrationFields.push(columnDef);
|
|
88
88
|
}
|
|
89
|
-
const migrationSchema = migrationFields.map((f) => `
|
|
89
|
+
const migrationSchema = migrationFields.map((f) => ` ${f}`).join("\n");
|
|
90
90
|
let stub = skalfaMigrationStub;
|
|
91
91
|
stub = stub
|
|
92
92
|
.replace(/{{\s*marker\s*}}/g, marker)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-generation.js","sourceRoot":"","sources":["../../../../src/commands/runner/blueprint/migration-generation.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"migration-generation.js","sourceRoot":"","sources":["../../../../src/commands/runner/blueprint/migration-generation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export declare const basicControllerStub = "import type { ControllerContext } from \"elysia\"\n\nexport class {{ name }} {\n // ========================================>\n // ## Display a listing of the resource.\n // ========================================>\n static async index(c: ControllerContext) {\n // something amazing\n }\n\n\n // =============================================>\n // ## Store a newly created resource.\n // =============================================>\n static async store(c: ControllerContext) {\n // something amazing\n }\n\n\n // ============================================>\n // ## Update the specified resource.\n // ============================================>\n static async update(c: ControllerContext) {\n // something amazing\n }\n\n\n // ===============================================>\n // ## Remove the specified resource.\n // ===============================================>\n static async destroy(c: ControllerContext) {\n // something amazing\n }\n}";
|
|
2
|
-
export declare const basicMigrationStub = "import type { Knex } from \"knex\"\n\nexport async function up(knex: Knex): Promise<void> {\n
|
|
3
|
-
export declare const basicModelStub = "import { Model } from '@utils'\n\nexport class {{ name }} extends Model {\n // something amazing\n}";
|
|
4
|
-
export declare const basicSeederStub = "import { {{ model }} } from \"@models\";\n\nexport default async function {{ name }}() {\n // =========================>\n // ## Seed the application's database\n // =========================>\n \n await {{ model }}.query().insert([]);\n}\n";
|
|
1
|
+
export declare const basicControllerStub = "import type { ControllerContext } from \"elysia\"\n\n\n\nexport class {{ name }} {\n // ========================================>\n // ## Display a listing of the resource.\n // ========================================>\n static async index(c: ControllerContext) {\n // something amazing\n }\n\n\n // =============================================>\n // ## Store a newly created resource.\n // =============================================>\n static async store(c: ControllerContext) {\n // something amazing\n }\n\n\n // ============================================>\n // ## Update the specified resource.\n // ============================================>\n static async update(c: ControllerContext) {\n // something amazing\n }\n\n\n // ===============================================>\n // ## Remove the specified resource.\n // ===============================================>\n static async destroy(c: ControllerContext) {\n // something amazing\n }\n}";
|
|
2
|
+
export declare const basicMigrationStub = "import type { Knex } from \"knex\"\n\n\n\nexport async function up(knex: Knex): Promise<void> {\n await knex.schema.createTable(\"{{ tableName }}\", (table) => {\n table.bigIncrements('id').primary()\n // your table schema\n table.timestamps(true, true)\n table.softDelete()\n })\n}";
|
|
3
|
+
export declare const basicModelStub = "import { Model } from '@utils'\n\n\n\nexport class {{ name }} extends Model {\n // something amazing\n}";
|
|
4
|
+
export declare const basicSeederStub = "import { {{ model }} } from \"@models\";\n\n\n\nexport default async function {{ name }}() {\n // =========================>\n // ## Seed the application's database\n // =========================>\n \n await {{ model }}.query().insert([]);\n}\n";
|
|
5
5
|
export declare const blueprintStub = "[\n {\n \"model\" : \"\",\n \"schema\" : {},\n \"relations\": {},\n \"controllers\": {},\n \"migrations\" : true,\n \"seeders\" : [],\n \"documentation\": true\n }\n]";
|
|
6
|
-
export declare const daMigrationStub = "import { DAMigration } from \"@utils\"\n\nexport default class {{ className }} extends DAMigration {\n
|
|
6
|
+
export declare const daMigrationStub = "import { DAMigration } from \"@utils\"\n\n\n\nexport default class {{ className }} extends DAMigration {\n async up() { \n await this.createTable(\"{{ tableName }}\",(table) => {\n table.uuid()\n }, {\n engine: \"MergeTree\",\n })\n }\n}\n";
|
|
7
7
|
export declare const skalfaControllerStub = "{{ marker }}\nimport type { ControllerContext } from \"elysia\"\nimport { permission } from '@utils'\nimport { {{ model }} } from '@models'\n\n\n\n// ========================================>\n// ## Permission of the resource.\n// ========================================>\nconst p = permission.register({\n \"{{ permission_code }}\": {\n name: \"{{ permission_name }}\",\n accesses: {\n \"00\": \"Melihat\",\n \"01\": \"Membuat\",\n \"02\": \"Mengubah\",\n \"03\": \"Menghapus\",\n }\n }\n})\n\n\n\nexport class {{ name }} {\n // ========================================>\n // ## Display a listing of the resource.\n // ========================================>\n static async index(c: ControllerContext) {\n p.have(\"{{ permission_code }}.00\").guard(c)\n\n const { data, total } = await {{ model }}.query().resolve(c)\n \n c.responseData(data, total)\n }\n\n\n // =============================================>\n // ## Store a newly created resource.\n // =============================================>\n static async store(c: ControllerContext) {\n p.have(\"{{ permission_code }}.01\").guard(c)\n\n c.validation<{{ model }}>({{{ validations }}})\n\n let record = {}\n\n try {\n record = await (new {{ model }}).pump(c.payload) \n } catch (err) {\n c.responseError(err as Error, \"Create {{ model }}\")\n }\n\n c.responseSaved(record)\n }\n\n\n // ============================================>\n // ## Update the specified resource.\n // ============================================>\n static async update(c: ControllerContext) {\n p.have(\"{{ permission_code }}.02\").guard(c)\n\n const record = await {{ model }}.query().findOrNotFound(c.params.id)\n\n c.validation<{{ model }}>({{{ validations }}})\n\n try {\n await record.pump(c.payload)\n } catch (err) {\n c.responseError(err as Error, \"Update {{ model }}\")\n }\n \n c.responseSaved(record)\n }\n\n\n // ===============================================>\n // ## Remove the specified resource.\n // ===============================================>\n static async destroy(c: ControllerContext) {\n p.have(\"{{ permission_code }}.03\").guard(c)\n\n const record = await {{ model }}.query().findOrNotFound(c.params.id)\n \n try {\n await record.delete()\n } catch (err) {\n c.responseError(err as Error, \"Delete {{ model }}\")\n }\n\n c.responseSuccess(record)\n }\n}\n";
|
|
8
|
-
export declare const skalfaMigrationStub = "{{ marker }}\nimport type { Knex } from \"knex\"\n\nexport async function up(knex: Knex): Promise<void> {\n
|
|
9
|
-
export declare const skalfaModelStub = "{{ marker }}\nimport { Model, SoftDelete{{ import_utils }} } from '@utils'\n{{ import }}\n\nexport class {{ name }} extends Model {\n // =====================>\n // ##
|
|
10
|
-
export declare const skalfaSeederStub = "{{ marker }}\nimport { {{ model }} } from \"@models\";\n\nexport default async function {{ name }}Seeder() {\n // =========================>\n // ## Seed the application's database\n // =========================>\n \n await (new {{ model }}).pump([\n {{ seeders }}\n ]);\n}\n";
|
|
11
|
-
export declare const mailStub = "import { renderMailTemplate, sendMail } from \"@utils\"\n\nexport async function {{ name }}Mail(to: string) {\n
|
|
12
|
-
export declare const notificationStub = "import { queue } from \"@utils\";\n\nexport async function {{ name }}Notification(payload: Record<string,any>) {\n
|
|
13
|
-
export declare const queueStub = "import { queue } from '@utils'\n\nexport const {{ name }}QueueWorker = () => {\n
|
|
14
|
-
export declare const routeStub = "import { Elysia } from 'elysia'\nimport { api, middleware } from '@utils'\nimport { \n\n} from '@controllers'\n\nexport const {{ name }}Routes = (app: Elysia) => app.group('/{{ path }}', (route) => {\n\n return route;\n})\n";
|
|
8
|
+
export declare const skalfaMigrationStub = "{{ marker }}\nimport type { Knex } from \"knex\"\n\n\n\nexport async function up(knex: Knex): Promise<void> {\n await knex.schema.createTable(\"{{ tableName }}\", (table) => {\n table.bigIncrements('id').primary()\n{{ schemas }}\n table.timestamps(true, true)\n table.softDelete()\n })\n\n{{ pivot }}\n}";
|
|
9
|
+
export declare const skalfaModelStub = "{{ marker }}\nimport { Model, SoftDelete{{ import_utils }} } from '@utils'\n{{ import }}\n\n\n\nexport class {{ name }} extends Model {\n // =====================>\n // ## Fields\n // =====================>\n{{ fields }}\n\n @SoftDelete()\n deleted_at!: Date\n\n\n // =========================>\n // ## Relations\n // =========================>\n{{ relations }}\n\n\n // =====================>\n // ## Services\n // =====================>\n{{ attributes }}\n}\n";
|
|
10
|
+
export declare const skalfaSeederStub = "{{ marker }}\nimport { {{ model }} } from \"@models\";\n\n\n\nexport default async function {{ name }}Seeder() {\n // =========================>\n // ## Seed the application's database\n // =========================>\n \n await (new {{ model }}).pump([\n {{ seeders }}\n ]);\n}\n";
|
|
11
|
+
export declare const mailStub = "import { renderMailTemplate, sendMail } from \"@utils\"\n\n\n\nexport async function {{ name }}Mail(to: string) {\n const content = renderMailTemplate(\"{{ name }}\", {\n title : \"{{ title }}\",\n })\n\n const send = await sendMail({\n subject : \"{{ title }}\",\n to : to,\n content : content\n })\n \n return send;\n}\n";
|
|
12
|
+
export declare const notificationStub = "import { queue } from \"@utils\";\n\n\n\nexport async function {{ name }}Notification(payload: Record<string,any>) {\n await queue.add('notification', { payload })\n}\n";
|
|
13
|
+
export declare const queueStub = "import { queue } from '@utils'\n\n\n\nexport const {{ name }}QueueWorker = () => {\n queue.worker(\"{{ worker_name }}\", async (payload) => {\n\n })\n}\n";
|
|
14
|
+
export declare const routeStub = "import { Elysia } from 'elysia'\nimport { api, middleware } from '@utils'\nimport { \n\n} from '@controllers'\n\n\n\nexport const {{ name }}Routes = (app: Elysia) => app.group('/{{ path }}', (route) => {\n\n return route;\n})\n";
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export const basicControllerStub = `import type { ControllerContext } from "elysia"
|
|
2
2
|
|
|
3
|
+
|
|
4
|
+
|
|
3
5
|
export class {{ name }} {
|
|
4
6
|
// ========================================>
|
|
5
7
|
// ## Display a listing of the resource.
|
|
@@ -34,21 +36,27 @@ export class {{ name }} {
|
|
|
34
36
|
}`;
|
|
35
37
|
export const basicMigrationStub = `import type { Knex } from "knex"
|
|
36
38
|
|
|
39
|
+
|
|
40
|
+
|
|
37
41
|
export async function up(knex: Knex): Promise<void> {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
await knex.schema.createTable("{{ tableName }}", (table) => {
|
|
43
|
+
table.bigIncrements('id').primary()
|
|
44
|
+
// your table schema
|
|
45
|
+
table.timestamps(true, true)
|
|
46
|
+
table.softDelete()
|
|
47
|
+
})
|
|
44
48
|
}`;
|
|
45
49
|
export const basicModelStub = `import { Model } from '@utils'
|
|
46
50
|
|
|
51
|
+
|
|
52
|
+
|
|
47
53
|
export class {{ name }} extends Model {
|
|
48
54
|
// something amazing
|
|
49
55
|
}`;
|
|
50
56
|
export const basicSeederStub = `import { {{ model }} } from "@models";
|
|
51
57
|
|
|
58
|
+
|
|
59
|
+
|
|
52
60
|
export default async function {{ name }}() {
|
|
53
61
|
// =========================>
|
|
54
62
|
// ## Seed the application's database
|
|
@@ -70,14 +78,16 @@ export const blueprintStub = `[
|
|
|
70
78
|
]`;
|
|
71
79
|
export const daMigrationStub = `import { DAMigration } from "@utils"
|
|
72
80
|
|
|
81
|
+
|
|
82
|
+
|
|
73
83
|
export default class {{ className }} extends DAMigration {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
84
|
+
async up() {
|
|
85
|
+
await this.createTable("{{ tableName }}",(table) => {
|
|
86
|
+
table.uuid()
|
|
87
|
+
}, {
|
|
88
|
+
engine: "MergeTree",
|
|
89
|
+
})
|
|
90
|
+
}
|
|
81
91
|
}
|
|
82
92
|
`;
|
|
83
93
|
export const skalfaControllerStub = `{{ marker }}
|
|
@@ -178,13 +188,15 @@ export class {{ name }} {
|
|
|
178
188
|
export const skalfaMigrationStub = `{{ marker }}
|
|
179
189
|
import type { Knex } from "knex"
|
|
180
190
|
|
|
191
|
+
|
|
192
|
+
|
|
181
193
|
export async function up(knex: Knex): Promise<void> {
|
|
182
|
-
|
|
183
|
-
|
|
194
|
+
await knex.schema.createTable("{{ tableName }}", (table) => {
|
|
195
|
+
table.bigIncrements('id').primary()
|
|
184
196
|
{{ schemas }}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
197
|
+
table.timestamps(true, true)
|
|
198
|
+
table.softDelete()
|
|
199
|
+
})
|
|
188
200
|
|
|
189
201
|
{{ pivot }}
|
|
190
202
|
}`;
|
|
@@ -192,9 +204,11 @@ export const skalfaModelStub = `{{ marker }}
|
|
|
192
204
|
import { Model, SoftDelete{{ import_utils }} } from '@utils'
|
|
193
205
|
{{ import }}
|
|
194
206
|
|
|
207
|
+
|
|
208
|
+
|
|
195
209
|
export class {{ name }} extends Model {
|
|
196
210
|
// =====================>
|
|
197
|
-
// ##
|
|
211
|
+
// ## Fields
|
|
198
212
|
// =====================>
|
|
199
213
|
{{ fields }}
|
|
200
214
|
|
|
@@ -209,20 +223,16 @@ export class {{ name }} extends Model {
|
|
|
209
223
|
|
|
210
224
|
|
|
211
225
|
// =====================>
|
|
212
|
-
// ##
|
|
226
|
+
// ## Services
|
|
213
227
|
// =====================>
|
|
214
228
|
{{ attributes }}
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
// =====================>
|
|
218
|
-
// ## Hook
|
|
219
|
-
// =====================>
|
|
220
|
-
|
|
221
229
|
}
|
|
222
230
|
`;
|
|
223
231
|
export const skalfaSeederStub = `{{ marker }}
|
|
224
232
|
import { {{ model }} } from "@models";
|
|
225
233
|
|
|
234
|
+
|
|
235
|
+
|
|
226
236
|
export default async function {{ name }}Seeder() {
|
|
227
237
|
// =========================>
|
|
228
238
|
// ## Seed the application's database
|
|
@@ -235,32 +245,38 @@ export default async function {{ name }}Seeder() {
|
|
|
235
245
|
`;
|
|
236
246
|
export const mailStub = `import { renderMailTemplate, sendMail } from "@utils"
|
|
237
247
|
|
|
248
|
+
|
|
249
|
+
|
|
238
250
|
export async function {{ name }}Mail(to: string) {
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
251
|
+
const content = renderMailTemplate("{{ name }}", {
|
|
252
|
+
title : "{{ title }}",
|
|
253
|
+
})
|
|
254
|
+
|
|
255
|
+
const send = await sendMail({
|
|
256
|
+
subject : "{{ title }}",
|
|
257
|
+
to : to,
|
|
258
|
+
content : content
|
|
259
|
+
})
|
|
260
|
+
|
|
261
|
+
return send;
|
|
250
262
|
}
|
|
251
263
|
`;
|
|
252
264
|
export const notificationStub = `import { queue } from "@utils";
|
|
253
265
|
|
|
266
|
+
|
|
267
|
+
|
|
254
268
|
export async function {{ name }}Notification(payload: Record<string,any>) {
|
|
255
|
-
|
|
269
|
+
await queue.add('notification', { payload })
|
|
256
270
|
}
|
|
257
271
|
`;
|
|
258
272
|
export const queueStub = `import { queue } from '@utils'
|
|
259
273
|
|
|
274
|
+
|
|
275
|
+
|
|
260
276
|
export const {{ name }}QueueWorker = () => {
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
277
|
+
queue.worker("{{ worker_name }}", async (payload) => {
|
|
278
|
+
|
|
279
|
+
})
|
|
264
280
|
}
|
|
265
281
|
`;
|
|
266
282
|
export const routeStub = `import { Elysia } from 'elysia'
|
|
@@ -269,6 +285,8 @@ import {
|
|
|
269
285
|
|
|
270
286
|
} from '@controllers'
|
|
271
287
|
|
|
288
|
+
|
|
289
|
+
|
|
272
290
|
export const {{ name }}Routes = (app: Elysia) => app.group('/{{ path }}', (route) => {
|
|
273
291
|
|
|
274
292
|
return route;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/stubs/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/stubs/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCjC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;EAWhC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;EAM5B,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;CAW9B,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;EAU3B,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;CAa9B,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8FnC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;EAcjC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B9B,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;CAc/B,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;CAiBvB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;CAO/B,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;;;;;;;;;CASxB,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;;;;;;;;;;;;CAYxB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import validator from "validator";
|
|
2
2
|
import { db } from "@skalfa/skalfa-orm";
|
|
3
|
+
import { getLang } from "@skalfa/skalfa-lang";
|
|
3
4
|
// =====================================>
|
|
4
5
|
// ## Validation: validate request data
|
|
5
6
|
// =====================================>
|
|
@@ -21,13 +22,15 @@ export async function validate(data, rules) {
|
|
|
21
22
|
};
|
|
22
23
|
}
|
|
23
24
|
async function checkRules({ field, value, rules, data, errors }) {
|
|
25
|
+
const l = getLang();
|
|
24
26
|
for (const rule of rules) {
|
|
25
27
|
const [name, param] = rule.split(":");
|
|
26
28
|
switch (name) {
|
|
27
29
|
// === BASIC ===
|
|
28
30
|
case "required":
|
|
29
31
|
if (validator.isEmpty(String(value).trim())) {
|
|
30
|
-
|
|
32
|
+
const msg = l.validation?.required ? l.validation.required() : `${field} wajib diisi`;
|
|
33
|
+
addError(errors, field, msg);
|
|
31
34
|
}
|
|
32
35
|
break;
|
|
33
36
|
case "string":
|
|
@@ -35,7 +38,8 @@ async function checkRules({ field, value, rules, data, errors }) {
|
|
|
35
38
|
if (!value)
|
|
36
39
|
break;
|
|
37
40
|
if (typeof value !== "string") {
|
|
38
|
-
|
|
41
|
+
const msg = l.validation?.string ? l.validation.string() : `${field} harus berupa string`;
|
|
42
|
+
addError(errors, field, msg);
|
|
39
43
|
}
|
|
40
44
|
break;
|
|
41
45
|
case "numeric":
|
|
@@ -43,33 +47,38 @@ async function checkRules({ field, value, rules, data, errors }) {
|
|
|
43
47
|
if (!value)
|
|
44
48
|
break;
|
|
45
49
|
if (!validator.isNumeric(String(value))) {
|
|
46
|
-
|
|
50
|
+
const msg = l.validation?.numeric ? l.validation.numeric() : `${field} harus berupa angka`;
|
|
51
|
+
addError(errors, field, msg);
|
|
47
52
|
}
|
|
48
53
|
break;
|
|
49
54
|
case "boolean":
|
|
50
55
|
if (!(value === true || value === false || value === "true" || value === "false" || value === 1 || value === 0)) {
|
|
51
|
-
|
|
56
|
+
const msg = l.validation?.boolean ? l.validation.boolean() : `${field} harus berupa boolean`;
|
|
57
|
+
addError(errors, field, msg);
|
|
52
58
|
}
|
|
53
59
|
break;
|
|
54
60
|
case "email":
|
|
55
61
|
if (!value)
|
|
56
62
|
break;
|
|
57
63
|
if (!validator.isEmail(String(value))) {
|
|
58
|
-
|
|
64
|
+
const msg = l.validation?.email ? l.validation.email() : `${field} harus berupa email yang valid`;
|
|
65
|
+
addError(errors, field, msg);
|
|
59
66
|
}
|
|
60
67
|
break;
|
|
61
68
|
case "url":
|
|
62
69
|
if (!value)
|
|
63
70
|
break;
|
|
64
71
|
if (!validator.isURL(String(value))) {
|
|
65
|
-
|
|
72
|
+
const msg = l.validation?.url ? l.validation.url() : `${field} harus berupa URL yang valid`;
|
|
73
|
+
addError(errors, field, msg);
|
|
66
74
|
}
|
|
67
75
|
break;
|
|
68
76
|
case "date":
|
|
69
77
|
if (!value)
|
|
70
78
|
break;
|
|
71
79
|
if (!validator.isDate(String(value))) {
|
|
72
|
-
|
|
80
|
+
const msg = l.validation?.date ? l.validation.date() : `${field} harus berupa tanggal yang valid`;
|
|
81
|
+
addError(errors, field, msg);
|
|
73
82
|
}
|
|
74
83
|
break;
|
|
75
84
|
// === LENGTH ===
|
|
@@ -78,7 +87,8 @@ async function checkRules({ field, value, rules, data, errors }) {
|
|
|
78
87
|
break;
|
|
79
88
|
const min = parseInt(param);
|
|
80
89
|
if (!validator.isLength(String(value), { min })) {
|
|
81
|
-
|
|
90
|
+
const msg = l.validation?.min ? l.validation.min({ min }) : `${field} minimal ${min} karakter`;
|
|
91
|
+
addError(errors, field, msg);
|
|
82
92
|
}
|
|
83
93
|
break;
|
|
84
94
|
}
|
|
@@ -87,7 +97,8 @@ async function checkRules({ field, value, rules, data, errors }) {
|
|
|
87
97
|
break;
|
|
88
98
|
const max = parseInt(param);
|
|
89
99
|
if (!validator.isLength(String(value), { max })) {
|
|
90
|
-
|
|
100
|
+
const msg = l.validation?.max ? l.validation.max({ max }) : `${field} maksimal ${max} karakter`;
|
|
101
|
+
addError(errors, field, msg);
|
|
91
102
|
}
|
|
92
103
|
break;
|
|
93
104
|
}
|
|
@@ -96,7 +107,8 @@ async function checkRules({ field, value, rules, data, errors }) {
|
|
|
96
107
|
break;
|
|
97
108
|
const [minVal, maxVal] = param.split(",").map(Number);
|
|
98
109
|
if (!validator.isLength(String(value), { min: minVal, max: maxVal })) {
|
|
99
|
-
|
|
110
|
+
const msg = l.validation?.min_max ? l.validation.min_max({ min: minVal, max: maxVal }) : `${field} harus antara ${minVal} - ${maxVal} karakter`;
|
|
111
|
+
addError(errors, field, msg);
|
|
100
112
|
}
|
|
101
113
|
break;
|
|
102
114
|
}
|
|
@@ -106,7 +118,8 @@ async function checkRules({ field, value, rules, data, errors }) {
|
|
|
106
118
|
break;
|
|
107
119
|
const allowed = param.split(",");
|
|
108
120
|
if (!allowed.includes(String(value))) {
|
|
109
|
-
|
|
121
|
+
const msg = l.validation?.in ? l.validation.in({ keywords: allowed.join(", ") }) : `${field} harus salah satu dari: ${allowed.join(", ")}`;
|
|
122
|
+
addError(errors, field, msg);
|
|
110
123
|
}
|
|
111
124
|
break;
|
|
112
125
|
}
|
|
@@ -115,7 +128,8 @@ async function checkRules({ field, value, rules, data, errors }) {
|
|
|
115
128
|
break;
|
|
116
129
|
const notAllowed = param.split(",");
|
|
117
130
|
if (notAllowed.includes(String(value))) {
|
|
118
|
-
|
|
131
|
+
const msg = l.validation?.not_in ? l.validation.not_in({ keywords: notAllowed.join(", ") }) : `${field} tidak boleh salah satu dari: ${notAllowed.join(", ")}`;
|
|
132
|
+
addError(errors, field, msg);
|
|
119
133
|
}
|
|
120
134
|
break;
|
|
121
135
|
}
|
|
@@ -123,24 +137,28 @@ async function checkRules({ field, value, rules, data, errors }) {
|
|
|
123
137
|
if (!value)
|
|
124
138
|
break;
|
|
125
139
|
if (!Array.isArray(value)) {
|
|
126
|
-
|
|
140
|
+
const msg = l.validation?.array ? l.validation.array() : `${field} harus berupa array`;
|
|
141
|
+
addError(errors, field, msg);
|
|
127
142
|
}
|
|
128
143
|
break;
|
|
129
144
|
}
|
|
130
145
|
// === RELATIONAL ===
|
|
131
146
|
case "confirmed":
|
|
132
147
|
if (value !== getNestedValue(data, `${field}_confirmation`)) {
|
|
133
|
-
|
|
148
|
+
const msg = l.validation?.confirmed ? l.validation.confirmed() : `${field} tidak sama dengan konfirmasi`;
|
|
149
|
+
addError(errors, field, msg);
|
|
134
150
|
}
|
|
135
151
|
break;
|
|
136
152
|
case "same":
|
|
137
153
|
if (value !== getNestedValue(data, param)) {
|
|
138
|
-
|
|
154
|
+
const msg = l.validation?.same ? l.validation.same({ other: param }) : `${field} harus sama dengan ${param}`;
|
|
155
|
+
addError(errors, field, msg);
|
|
139
156
|
}
|
|
140
157
|
break;
|
|
141
158
|
case "different":
|
|
142
159
|
if (value === getNestedValue(data, param)) {
|
|
143
|
-
|
|
160
|
+
const msg = l.validation?.different ? l.validation.different({ other: param }) : `${field} harus berbeda dengan ${param}`;
|
|
161
|
+
addError(errors, field, msg);
|
|
144
162
|
}
|
|
145
163
|
break;
|
|
146
164
|
// === REGEX ===
|
|
@@ -150,7 +168,8 @@ async function checkRules({ field, value, rules, data, errors }) {
|
|
|
150
168
|
try {
|
|
151
169
|
const pattern = new RegExp(param);
|
|
152
170
|
if (!pattern.test(String(value))) {
|
|
153
|
-
|
|
171
|
+
const msg = l.validation?.regex ? l.validation.regex() : `${field} tidak sesuai format`;
|
|
172
|
+
addError(errors, field, msg);
|
|
154
173
|
}
|
|
155
174
|
}
|
|
156
175
|
catch {
|
|
@@ -170,7 +189,8 @@ async function checkRules({ field, value, rules, data, errors }) {
|
|
|
170
189
|
}
|
|
171
190
|
const existing = await query.first();
|
|
172
191
|
if (existing) {
|
|
173
|
-
|
|
192
|
+
const msg = l.validation?.unique ? l.validation.unique() : `${field} sudah digunakan`;
|
|
193
|
+
addError(errors, field, msg);
|
|
174
194
|
}
|
|
175
195
|
break;
|
|
176
196
|
}
|
|
@@ -184,7 +204,8 @@ async function checkRules({ field, value, rules, data, errors }) {
|
|
|
184
204
|
}
|
|
185
205
|
const existing = await query.first();
|
|
186
206
|
if (!existing) {
|
|
187
|
-
|
|
207
|
+
const msg = l.validation?.exists ? l.validation.exists({ table }) : `${field} tidak ditemukan di ${table}`;
|
|
208
|
+
addError(errors, field, msg);
|
|
188
209
|
}
|
|
189
210
|
break;
|
|
190
211
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation/validation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation/validation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skalfa/skalfa-api-core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.23",
|
|
4
4
|
"description": "Core and Foundational utilities for the Skalfa API Framework.",
|
|
5
|
-
"keywords": [
|
|
5
|
+
"keywords": [
|
|
6
|
+
"skalfa",
|
|
7
|
+
"skalfa-api",
|
|
8
|
+
"skalfa-api-core",
|
|
9
|
+
"bun-framework",
|
|
10
|
+
"elysia-framework"
|
|
11
|
+
],
|
|
6
12
|
"main": "dist/index.js",
|
|
7
13
|
"types": "dist/index.d.ts",
|
|
8
14
|
"scripts": {
|
|
9
|
-
"build": "tsc"
|
|
15
|
+
"build": "tsc -p tsconfig.build.json"
|
|
10
16
|
},
|
|
11
17
|
"author": "",
|
|
12
18
|
"license": "MIT",
|
|
@@ -18,7 +24,8 @@
|
|
|
18
24
|
"dotenv": "^17.2.2",
|
|
19
25
|
"elysia": "^1.2.0",
|
|
20
26
|
"nodemailer": "^7.0.9",
|
|
21
|
-
"validator": "^13.15.15"
|
|
27
|
+
"validator": "^13.15.15",
|
|
28
|
+
"@skalfa/skalfa-lang": "*"
|
|
22
29
|
},
|
|
23
30
|
"devDependencies": {
|
|
24
31
|
"@types/bcrypt": "^6.0.0",
|
|
@@ -28,4 +35,4 @@
|
|
|
28
35
|
"bun-types": "latest",
|
|
29
36
|
"typescript": "^6.0.3"
|
|
30
37
|
}
|
|
31
|
-
}
|
|
38
|
+
}
|
package/src/commands/cli.ts
CHANGED
|
@@ -104,7 +104,7 @@ export const devCommand = new Command("dev")
|
|
|
104
104
|
.description("Start development server")
|
|
105
105
|
.action(() => {
|
|
106
106
|
const pm = getPackageManager();
|
|
107
|
-
executeCommand(`concurrently --raw "${pm} run watch" "${pm} run skalfa watch:barrels"`);
|
|
107
|
+
executeCommand(`concurrently --raw "${pm} run watch" "${pm} run skalfa watch:barrels" "skalfa lang dev --quiet"`);
|
|
108
108
|
});
|
|
109
109
|
|
|
110
110
|
export const watchCommand = new Command("watch")
|
|
@@ -109,7 +109,7 @@ export async function migrationGeneration(
|
|
|
109
109
|
migrationFields.push(columnDef);
|
|
110
110
|
}
|
|
111
111
|
|
|
112
|
-
const migrationSchema = migrationFields.map((f) => `
|
|
112
|
+
const migrationSchema = migrationFields.map((f) => ` ${f}`).join("\n");
|
|
113
113
|
|
|
114
114
|
let stub = skalfaMigrationStub;
|
|
115
115
|
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export const basicControllerStub = `import type { ControllerContext } from "elysia"
|
|
2
2
|
|
|
3
|
+
|
|
4
|
+
|
|
3
5
|
export class {{ name }} {
|
|
4
6
|
// ========================================>
|
|
5
7
|
// ## Display a listing of the resource.
|
|
@@ -35,23 +37,29 @@ export class {{ name }} {
|
|
|
35
37
|
|
|
36
38
|
export const basicMigrationStub = `import type { Knex } from "knex"
|
|
37
39
|
|
|
40
|
+
|
|
41
|
+
|
|
38
42
|
export async function up(knex: Knex): Promise<void> {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
await knex.schema.createTable("{{ tableName }}", (table) => {
|
|
44
|
+
table.bigIncrements('id').primary()
|
|
45
|
+
// your table schema
|
|
46
|
+
table.timestamps(true, true)
|
|
47
|
+
table.softDelete()
|
|
48
|
+
})
|
|
45
49
|
}`;
|
|
46
50
|
|
|
47
51
|
export const basicModelStub = `import { Model } from '@utils'
|
|
48
52
|
|
|
53
|
+
|
|
54
|
+
|
|
49
55
|
export class {{ name }} extends Model {
|
|
50
56
|
// something amazing
|
|
51
57
|
}`;
|
|
52
58
|
|
|
53
59
|
export const basicSeederStub = `import { {{ model }} } from "@models";
|
|
54
60
|
|
|
61
|
+
|
|
62
|
+
|
|
55
63
|
export default async function {{ name }}() {
|
|
56
64
|
// =========================>
|
|
57
65
|
// ## Seed the application's database
|
|
@@ -75,14 +83,16 @@ export const blueprintStub = `[
|
|
|
75
83
|
|
|
76
84
|
export const daMigrationStub = `import { DAMigration } from "@utils"
|
|
77
85
|
|
|
86
|
+
|
|
87
|
+
|
|
78
88
|
export default class {{ className }} extends DAMigration {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
89
|
+
async up() {
|
|
90
|
+
await this.createTable("{{ tableName }}",(table) => {
|
|
91
|
+
table.uuid()
|
|
92
|
+
}, {
|
|
93
|
+
engine: "MergeTree",
|
|
94
|
+
})
|
|
95
|
+
}
|
|
86
96
|
}
|
|
87
97
|
`;
|
|
88
98
|
|
|
@@ -185,13 +195,15 @@ export class {{ name }} {
|
|
|
185
195
|
export const skalfaMigrationStub = `{{ marker }}
|
|
186
196
|
import type { Knex } from "knex"
|
|
187
197
|
|
|
198
|
+
|
|
199
|
+
|
|
188
200
|
export async function up(knex: Knex): Promise<void> {
|
|
189
|
-
|
|
190
|
-
|
|
201
|
+
await knex.schema.createTable("{{ tableName }}", (table) => {
|
|
202
|
+
table.bigIncrements('id').primary()
|
|
191
203
|
{{ schemas }}
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
204
|
+
table.timestamps(true, true)
|
|
205
|
+
table.softDelete()
|
|
206
|
+
})
|
|
195
207
|
|
|
196
208
|
{{ pivot }}
|
|
197
209
|
}`;
|
|
@@ -200,9 +212,11 @@ export const skalfaModelStub = `{{ marker }}
|
|
|
200
212
|
import { Model, SoftDelete{{ import_utils }} } from '@utils'
|
|
201
213
|
{{ import }}
|
|
202
214
|
|
|
215
|
+
|
|
216
|
+
|
|
203
217
|
export class {{ name }} extends Model {
|
|
204
218
|
// =====================>
|
|
205
|
-
// ##
|
|
219
|
+
// ## Fields
|
|
206
220
|
// =====================>
|
|
207
221
|
{{ fields }}
|
|
208
222
|
|
|
@@ -217,21 +231,17 @@ export class {{ name }} extends Model {
|
|
|
217
231
|
|
|
218
232
|
|
|
219
233
|
// =====================>
|
|
220
|
-
// ##
|
|
234
|
+
// ## Services
|
|
221
235
|
// =====================>
|
|
222
236
|
{{ attributes }}
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
// =====================>
|
|
226
|
-
// ## Hook
|
|
227
|
-
// =====================>
|
|
228
|
-
|
|
229
237
|
}
|
|
230
238
|
`;
|
|
231
239
|
|
|
232
240
|
export const skalfaSeederStub = `{{ marker }}
|
|
233
241
|
import { {{ model }} } from "@models";
|
|
234
242
|
|
|
243
|
+
|
|
244
|
+
|
|
235
245
|
export default async function {{ name }}Seeder() {
|
|
236
246
|
// =========================>
|
|
237
247
|
// ## Seed the application's database
|
|
@@ -245,34 +255,40 @@ export default async function {{ name }}Seeder() {
|
|
|
245
255
|
|
|
246
256
|
export const mailStub = `import { renderMailTemplate, sendMail } from "@utils"
|
|
247
257
|
|
|
258
|
+
|
|
259
|
+
|
|
248
260
|
export async function {{ name }}Mail(to: string) {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
261
|
+
const content = renderMailTemplate("{{ name }}", {
|
|
262
|
+
title : "{{ title }}",
|
|
263
|
+
})
|
|
264
|
+
|
|
265
|
+
const send = await sendMail({
|
|
266
|
+
subject : "{{ title }}",
|
|
267
|
+
to : to,
|
|
268
|
+
content : content
|
|
269
|
+
})
|
|
270
|
+
|
|
271
|
+
return send;
|
|
260
272
|
}
|
|
261
273
|
`;
|
|
262
274
|
|
|
263
275
|
export const notificationStub = `import { queue } from "@utils";
|
|
264
276
|
|
|
277
|
+
|
|
278
|
+
|
|
265
279
|
export async function {{ name }}Notification(payload: Record<string,any>) {
|
|
266
|
-
|
|
280
|
+
await queue.add('notification', { payload })
|
|
267
281
|
}
|
|
268
282
|
`;
|
|
269
283
|
|
|
270
284
|
export const queueStub = `import { queue } from '@utils'
|
|
271
285
|
|
|
286
|
+
|
|
287
|
+
|
|
272
288
|
export const {{ name }}QueueWorker = () => {
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
289
|
+
queue.worker("{{ worker_name }}", async (payload) => {
|
|
290
|
+
|
|
291
|
+
})
|
|
276
292
|
}
|
|
277
293
|
`;
|
|
278
294
|
|
|
@@ -282,6 +298,8 @@ import {
|
|
|
282
298
|
|
|
283
299
|
} from '@controllers'
|
|
284
300
|
|
|
301
|
+
|
|
302
|
+
|
|
285
303
|
export const {{ name }}Routes = (app: Elysia) => app.group('/{{ path }}', (route) => {
|
|
286
304
|
|
|
287
305
|
return route;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import validator from "validator"
|
|
2
2
|
import { db } from "@skalfa/skalfa-orm";
|
|
3
|
+
import { getLang } from "@skalfa/skalfa-lang";
|
|
3
4
|
|
|
4
5
|
|
|
5
6
|
|
|
@@ -80,6 +81,7 @@ export async function validate(
|
|
|
80
81
|
|
|
81
82
|
|
|
82
83
|
async function checkRules({ field, value, rules, data, errors } : { field: string, value: any, rules: ValidationRule[], data: any, errors: Record<string, string[]> }) {
|
|
84
|
+
const l = getLang();
|
|
83
85
|
for (const rule of rules) {
|
|
84
86
|
const [name, param] = rule.split(":") as [string, string | undefined]
|
|
85
87
|
|
|
@@ -87,7 +89,8 @@ async function checkRules({ field, value, rules, data, errors } : { field: strin
|
|
|
87
89
|
// === BASIC ===
|
|
88
90
|
case "required":
|
|
89
91
|
if (validator.isEmpty(String(value).trim())) {
|
|
90
|
-
|
|
92
|
+
const msg = l.validation?.required ? l.validation.required() : `${field} wajib diisi`;
|
|
93
|
+
addError(errors, field, msg);
|
|
91
94
|
}
|
|
92
95
|
break
|
|
93
96
|
|
|
@@ -95,7 +98,8 @@ async function checkRules({ field, value, rules, data, errors } : { field: strin
|
|
|
95
98
|
case "text":
|
|
96
99
|
if (!value) break
|
|
97
100
|
if (typeof value !== "string") {
|
|
98
|
-
|
|
101
|
+
const msg = l.validation?.string ? l.validation.string() : `${field} harus berupa string`;
|
|
102
|
+
addError(errors, field, msg);
|
|
99
103
|
}
|
|
100
104
|
break
|
|
101
105
|
|
|
@@ -103,34 +107,39 @@ async function checkRules({ field, value, rules, data, errors } : { field: strin
|
|
|
103
107
|
case "number":
|
|
104
108
|
if (!value) break
|
|
105
109
|
if (!validator.isNumeric(String(value))) {
|
|
106
|
-
|
|
110
|
+
const msg = l.validation?.numeric ? l.validation.numeric() : `${field} harus berupa angka`;
|
|
111
|
+
addError(errors, field, msg);
|
|
107
112
|
}
|
|
108
113
|
break
|
|
109
114
|
|
|
110
115
|
case "boolean":
|
|
111
116
|
if (!(value === true || value === false || value === "true" || value === "false" || value === 1 || value === 0)) {
|
|
112
|
-
|
|
117
|
+
const msg = l.validation?.boolean ? l.validation.boolean() : `${field} harus berupa boolean`;
|
|
118
|
+
addError(errors, field, msg);
|
|
113
119
|
}
|
|
114
120
|
break
|
|
115
121
|
|
|
116
122
|
case "email":
|
|
117
123
|
if (!value) break
|
|
118
124
|
if (!validator.isEmail(String(value))) {
|
|
119
|
-
|
|
125
|
+
const msg = l.validation?.email ? l.validation.email() : `${field} harus berupa email yang valid`;
|
|
126
|
+
addError(errors, field, msg);
|
|
120
127
|
}
|
|
121
128
|
break
|
|
122
129
|
|
|
123
130
|
case "url":
|
|
124
131
|
if (!value) break
|
|
125
132
|
if (!validator.isURL(String(value))) {
|
|
126
|
-
|
|
133
|
+
const msg = l.validation?.url ? l.validation.url() : `${field} harus berupa URL yang valid`;
|
|
134
|
+
addError(errors, field, msg);
|
|
127
135
|
}
|
|
128
136
|
break
|
|
129
137
|
|
|
130
138
|
case "date":
|
|
131
139
|
if (!value) break
|
|
132
140
|
if (!validator.isDate(String(value))) {
|
|
133
|
-
|
|
141
|
+
const msg = l.validation?.date ? l.validation.date() : `${field} harus berupa tanggal yang valid`;
|
|
142
|
+
addError(errors, field, msg);
|
|
134
143
|
}
|
|
135
144
|
break
|
|
136
145
|
|
|
@@ -139,7 +148,8 @@ async function checkRules({ field, value, rules, data, errors } : { field: strin
|
|
|
139
148
|
if (!value) break
|
|
140
149
|
const min = parseInt(param!)
|
|
141
150
|
if (!validator.isLength(String(value), { min })) {
|
|
142
|
-
|
|
151
|
+
const msg = l.validation?.min ? l.validation.min({ min }) : `${field} minimal ${min} karakter`;
|
|
152
|
+
addError(errors, field, msg);
|
|
143
153
|
}
|
|
144
154
|
break
|
|
145
155
|
}
|
|
@@ -148,7 +158,8 @@ async function checkRules({ field, value, rules, data, errors } : { field: strin
|
|
|
148
158
|
if (!value) break
|
|
149
159
|
const max = parseInt(param!)
|
|
150
160
|
if (!validator.isLength(String(value), { max })) {
|
|
151
|
-
|
|
161
|
+
const msg = l.validation?.max ? l.validation.max({ max }) : `${field} maksimal ${max} karakter`;
|
|
162
|
+
addError(errors, field, msg);
|
|
152
163
|
}
|
|
153
164
|
break
|
|
154
165
|
}
|
|
@@ -157,7 +168,8 @@ async function checkRules({ field, value, rules, data, errors } : { field: strin
|
|
|
157
168
|
if (!value) break
|
|
158
169
|
const [minVal, maxVal] = param!.split(",").map(Number)
|
|
159
170
|
if (!validator.isLength(String(value), { min: minVal, max: maxVal })) {
|
|
160
|
-
|
|
171
|
+
const msg = l.validation?.min_max ? l.validation.min_max({ min: minVal, max: maxVal }) : `${field} harus antara ${minVal} - ${maxVal} karakter`;
|
|
172
|
+
addError(errors, field, msg);
|
|
161
173
|
}
|
|
162
174
|
break
|
|
163
175
|
}
|
|
@@ -167,7 +179,8 @@ async function checkRules({ field, value, rules, data, errors } : { field: strin
|
|
|
167
179
|
if (!value) break
|
|
168
180
|
const allowed = param!.split(",")
|
|
169
181
|
if (!allowed.includes(String(value))) {
|
|
170
|
-
|
|
182
|
+
const msg = l.validation?.in ? l.validation.in({ keywords: allowed.join(", ") }) : `${field} harus salah satu dari: ${allowed.join(", ")}`;
|
|
183
|
+
addError(errors, field, msg);
|
|
171
184
|
}
|
|
172
185
|
break
|
|
173
186
|
}
|
|
@@ -176,7 +189,8 @@ async function checkRules({ field, value, rules, data, errors } : { field: strin
|
|
|
176
189
|
if (!value) break
|
|
177
190
|
const notAllowed = param!.split(",")
|
|
178
191
|
if (notAllowed.includes(String(value))) {
|
|
179
|
-
|
|
192
|
+
const msg = l.validation?.not_in ? l.validation.not_in({ keywords: notAllowed.join(", ") }) : `${field} tidak boleh salah satu dari: ${notAllowed.join(", ")}`;
|
|
193
|
+
addError(errors, field, msg);
|
|
180
194
|
}
|
|
181
195
|
break
|
|
182
196
|
}
|
|
@@ -184,7 +198,8 @@ async function checkRules({ field, value, rules, data, errors } : { field: strin
|
|
|
184
198
|
case "array": {
|
|
185
199
|
if (!value) break
|
|
186
200
|
if (!Array.isArray(value)) {
|
|
187
|
-
|
|
201
|
+
const msg = l.validation?.array ? l.validation.array() : `${field} harus berupa array`;
|
|
202
|
+
addError(errors, field, msg);
|
|
188
203
|
}
|
|
189
204
|
break
|
|
190
205
|
}
|
|
@@ -192,19 +207,22 @@ async function checkRules({ field, value, rules, data, errors } : { field: strin
|
|
|
192
207
|
// === RELATIONAL ===
|
|
193
208
|
case "confirmed":
|
|
194
209
|
if (value !== getNestedValue(data, `${field}_confirmation`)) {
|
|
195
|
-
|
|
210
|
+
const msg = l.validation?.confirmed ? l.validation.confirmed() : `${field} tidak sama dengan konfirmasi`;
|
|
211
|
+
addError(errors, field, msg);
|
|
196
212
|
}
|
|
197
213
|
break
|
|
198
214
|
|
|
199
215
|
case "same":
|
|
200
216
|
if (value !== getNestedValue(data, param!)) {
|
|
201
|
-
|
|
217
|
+
const msg = l.validation?.same ? l.validation.same({ other: param }) : `${field} harus sama dengan ${param}`;
|
|
218
|
+
addError(errors, field, msg);
|
|
202
219
|
}
|
|
203
220
|
break
|
|
204
221
|
|
|
205
222
|
case "different":
|
|
206
223
|
if (value === getNestedValue(data, param!)) {
|
|
207
|
-
|
|
224
|
+
const msg = l.validation?.different ? l.validation.different({ other: param }) : `${field} harus berbeda dengan ${param}`;
|
|
225
|
+
addError(errors, field, msg);
|
|
208
226
|
}
|
|
209
227
|
break
|
|
210
228
|
|
|
@@ -214,10 +232,11 @@ async function checkRules({ field, value, rules, data, errors } : { field: strin
|
|
|
214
232
|
try {
|
|
215
233
|
const pattern = new RegExp(param!)
|
|
216
234
|
if (!pattern.test(String(value))) {
|
|
217
|
-
|
|
235
|
+
const msg = l.validation?.regex ? l.validation.regex() : `${field} tidak sesuai format`;
|
|
236
|
+
addError(errors, field, msg);
|
|
218
237
|
}
|
|
219
238
|
} catch {
|
|
220
|
-
addError(errors, field, `Regex rule untuk ${field} tidak valid`)
|
|
239
|
+
addError(errors, field, `Regex rule untuk ${field} tidak valid`);
|
|
221
240
|
}
|
|
222
241
|
break
|
|
223
242
|
|
|
@@ -234,7 +253,8 @@ async function checkRules({ field, value, rules, data, errors } : { field: strin
|
|
|
234
253
|
|
|
235
254
|
const existing = await query.first()
|
|
236
255
|
if (existing) {
|
|
237
|
-
|
|
256
|
+
const msg = l.validation?.unique ? l.validation.unique() : `${field} sudah digunakan`;
|
|
257
|
+
addError(errors, field, msg);
|
|
238
258
|
}
|
|
239
259
|
break
|
|
240
260
|
}
|
|
@@ -250,7 +270,8 @@ async function checkRules({ field, value, rules, data, errors } : { field: strin
|
|
|
250
270
|
|
|
251
271
|
const existing = await query.first()
|
|
252
272
|
if (!existing) {
|
|
253
|
-
|
|
273
|
+
const msg = l.validation?.exists ? l.validation.exists({ table }) : `${field} tidak ditemukan di ${table}`;
|
|
274
|
+
addError(errors, field, msg);
|
|
254
275
|
}
|
|
255
276
|
break
|
|
256
277
|
}
|