arikajs 0.10.2 → 0.10.4
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/Application.d.ts +1 -1
- package/dist/Application.d.ts.map +1 -1
- package/dist/Application.js +15 -1
- package/dist/Application.js.map +1 -1
- package/dist/facades/Schedule.d.ts +8 -0
- package/dist/facades/Schedule.d.ts.map +1 -0
- package/dist/facades/Schedule.js +25 -0
- package/dist/facades/Schedule.js.map +1 -0
- package/dist/helpers.d.ts +17 -1
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +44 -2
- package/dist/helpers.js.map +1 -1
- package/dist/http/Handler.d.ts +4 -0
- package/dist/http/Handler.d.ts.map +1 -1
- package/dist/http/Handler.js +348 -1
- package/dist/http/Handler.js.map +1 -1
- package/dist/http/Kernel.d.ts.map +1 -1
- package/dist/http/Kernel.js +15 -13
- package/dist/http/Kernel.js.map +1 -1
- package/dist/http/Middleware/ViewMiddleware.d.ts.map +1 -1
- package/dist/http/Middleware/ViewMiddleware.js +31 -5
- package/dist/http/Middleware/ViewMiddleware.js.map +1 -1
- package/dist/index.d.ts +9 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -3
- package/dist/index.js.map +1 -1
- package/dist/providers/FrameworkServiceProvider.d.ts.map +1 -1
- package/dist/providers/FrameworkServiceProvider.js +2 -0
- package/dist/providers/FrameworkServiceProvider.js.map +1 -1
- package/dist/providers/QueueServiceProvider.d.ts.map +1 -1
- package/dist/providers/QueueServiceProvider.js +2 -7
- package/dist/providers/QueueServiceProvider.js.map +1 -1
- package/dist/providers/StorageServiceProvider.d.ts +12 -0
- package/dist/providers/StorageServiceProvider.d.ts.map +1 -0
- package/dist/providers/StorageServiceProvider.js +41 -0
- package/dist/providers/StorageServiceProvider.js.map +1 -0
- package/dist/providers/ViewServiceProvider.d.ts.map +1 -1
- package/dist/providers/ViewServiceProvider.js +4 -0
- package/dist/providers/ViewServiceProvider.js.map +1 -1
- package/package.json +27 -22
- package/CHANGELOG.md +0 -124
- package/src/Application.ts +0 -236
- package/src/Contracts/Application.ts +0 -24
- package/src/createApp.ts +0 -9
- package/src/helpers.ts +0 -106
- package/src/http/Handler.ts +0 -184
- package/src/http/Kernel.ts +0 -108
- package/src/http/Middleware/RequestLoggingMiddleware.ts +0 -17
- package/src/http/Middleware/ServeStaticMiddleware.ts +0 -34
- package/src/http/Middleware/ValidateRequestMiddleware.ts +0 -35
- package/src/http/Middleware/VerifyCsrfToken.ts +0 -101
- package/src/http/Middleware/ViewMiddleware.ts +0 -24
- package/src/http/views/errors/401.ark.html +0 -57
- package/src/http/views/errors/403.ark.html +0 -54
- package/src/http/views/errors/404.ark.html +0 -179
- package/src/http/views/errors/419.ark.html +0 -54
- package/src/http/views/errors/429.ark.html +0 -54
- package/src/http/views/errors/500.ark.html +0 -54
- package/src/http/views/errors/503.ark.html +0 -49
- package/src/index.ts +0 -75
- package/src/providers/AuthServiceProvider.ts +0 -28
- package/src/providers/CacheServiceProvider.ts +0 -29
- package/src/providers/DatabaseServiceProvider.ts +0 -46
- package/src/providers/EventsServiceProvider.ts +0 -19
- package/src/providers/FrameworkServiceProvider.ts +0 -44
- package/src/providers/HttpServiceProvider.ts +0 -37
- package/src/providers/LoggingServiceProvider.ts +0 -17
- package/src/providers/MailServiceProvider.ts +0 -33
- package/src/providers/QueueServiceProvider.ts +0 -36
- package/src/providers/SchedulerServiceProvider.ts +0 -18
- package/src/providers/SessionServiceProvider.ts +0 -68
- package/src/providers/TranslationServiceProvider.ts +0 -51
- package/src/providers/ValidationServiceProvider.ts +0 -24
- package/src/providers/ViewServiceProvider.ts +0 -46
- package/tests/Framework.test.ts +0 -140
- package/tsconfig.json +0 -25
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>419 - Page Expired | {{app_name}}</title>
|
|
7
|
-
<link rel="icon" type="image/png" href="/assets/img/favicon.png">
|
|
8
|
-
<link href="https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;800&family=Plus+Jakarta+Sans:wght@300;400;600;800&display=swap" rel="stylesheet">
|
|
9
|
-
<style>
|
|
10
|
-
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
11
|
-
body { font-family: 'Plus Jakarta Sans', sans-serif; background-color: #f8fafc; color: #0f172a; min-height: 100vh; display: flex; flex-direction: column; overflow-x: hidden; position: relative; }
|
|
12
|
-
.aurora { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; filter: blur(100px); opacity: 0.25; pointer-events: none; }
|
|
13
|
-
.aurora-blur { position: absolute; border-radius: 50%; animation: move 20s infinite alternate; }
|
|
14
|
-
.blur-1 { width: 50vw; height: 50vw; background: radial-gradient(circle, #f59e0b 0%, transparent 70%); top: -10%; left: -10%; }
|
|
15
|
-
.blur-2 { width: 40vw; height: 40vw; background: radial-gradient(circle, #ec4899 0%, transparent 70%); bottom: -10%; right: -10%; animation-duration: 25s; }
|
|
16
|
-
@keyframes move { from { transform: translate(0, 0) scale(1); } to { transform: translate(10%, 10%) scale(1.1); } }
|
|
17
|
-
header { width: 100%; padding: 1.5rem 5%; display: flex; align-items: center; backdrop-filter: blur(10px); border-bottom: 1px solid rgba(15, 23, 42, 0.08); }
|
|
18
|
-
.logo { width: 120px; height: auto; filter: drop-shadow(0 4px 6px rgba(139, 92, 246, 0.2)); }
|
|
19
|
-
.main-content { flex: 1; display: flex; align-items: center; justify-content: center; padding: 6rem 2rem 4rem; }
|
|
20
|
-
.container { position: relative; z-index: 10; max-width: 700px; width: 100%; text-align: center; animation: fadeIn 0.8s ease-out; }
|
|
21
|
-
@keyframes fadeIn { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
|
|
22
|
-
.badge { display: inline-block; padding: 0.45rem 1.1rem; background: rgba(245, 158, 11, 0.08); border: 1px solid #f59e0b; color: #d97706; border-radius: 999px; font-size: 0.8rem; font-weight: 700; margin-bottom: 1.75rem; text-transform: uppercase; letter-spacing: 0.1em; }
|
|
23
|
-
h1 { font-family: 'Outfit', sans-serif; font-size: clamp(3rem, 10vw, 5.5rem); font-weight: 800; line-height: 1; margin-bottom: 1.5rem; letter-spacing: -0.04em; background: linear-gradient(135deg, #0f172a 30%, #334155 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
|
|
24
|
-
.description { font-size: 1.15rem; color: #64748b; max-width: 520px; margin: 0 auto 2.5rem; line-height: 1.7; }
|
|
25
|
-
.actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
|
|
26
|
-
.btn { padding: 0.875rem 2rem; border-radius: 12px; font-weight: 600; text-decoration: none; transition: all 0.25s ease; font-size: 0.95rem; display: inline-flex; align-items: center; gap: 0.5rem; cursor: pointer; border: none; }
|
|
27
|
-
.btn-primary { background: #8b5cf6; color: white; box-shadow: 0 4px 20px rgba(139, 92, 246, 0.35); }
|
|
28
|
-
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(139, 92, 246, 0.45); background: #7c3aed; }
|
|
29
|
-
.code-display { font-family: 'Outfit', sans-serif; font-size: clamp(6rem, 20vw, 12rem); font-weight: 800; line-height: 1; margin-bottom: 0.5rem; background: linear-gradient(135deg, rgba(245, 158, 11, 0.2) 0%, rgba(236, 72, 153, 0.1) 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; letter-spacing: -0.04em; }
|
|
30
|
-
.footer { padding: 2rem 0; color: #94a3b8; font-size: 0.8rem; text-align: center; border-top: 1px solid rgba(15, 23, 42, 0.06); }
|
|
31
|
-
.footer a { color: #8b5cf6; text-decoration: none; font-weight: 600; }
|
|
32
|
-
@media (max-width: 640px) { .actions { flex-direction: column; align-items: center; } }
|
|
33
|
-
</style>
|
|
34
|
-
</head>
|
|
35
|
-
<body>
|
|
36
|
-
<div class="aurora"><div class="aurora-blur blur-1"></div><div class="aurora-blur blur-2"></div></div>
|
|
37
|
-
<header><a href="/"><img src="/assets/img/logo.png" alt="{{app_name}} Logo" class="logo"></a></header>
|
|
38
|
-
<main class="main-content">
|
|
39
|
-
<div class="container">
|
|
40
|
-
<div class="code-display">419</div>
|
|
41
|
-
<div class="badge">Session Expired</div>
|
|
42
|
-
<h1>Page Expired</h1>
|
|
43
|
-
<p class="description">Your session has expired due to inactivity. Please refresh the page and try your request again.</p>
|
|
44
|
-
<div class="actions">
|
|
45
|
-
<button onclick="window.location.reload()" class="btn btn-primary">
|
|
46
|
-
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="23 4 23 10 17 10"/><polyline points="1 20 1 14 7 14"/><path d="M3.51 9a9 9 0 0114.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0020.49 15"/></svg>
|
|
47
|
-
Refresh Page
|
|
48
|
-
</button>
|
|
49
|
-
</div>
|
|
50
|
-
</div>
|
|
51
|
-
</main>
|
|
52
|
-
<footer class="footer">© {{app_name}} — Powered by <a href="https://github.com/arikajs/arikajs">ArikaJS Framework</a></footer>
|
|
53
|
-
</body>
|
|
54
|
-
</html>
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>429 - Too Many Requests | {{app_name}}</title>
|
|
7
|
-
<link rel="icon" type="image/png" href="/assets/img/favicon.png">
|
|
8
|
-
<link href="https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;800&family=Plus+Jakarta+Sans:wght@300;400;600;800&display=swap" rel="stylesheet">
|
|
9
|
-
<style>
|
|
10
|
-
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
11
|
-
body { font-family: 'Plus Jakarta Sans', sans-serif; background-color: #f8fafc; color: #0f172a; min-height: 100vh; display: flex; flex-direction: column; overflow-x: hidden; position: relative; }
|
|
12
|
-
.aurora { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; filter: blur(100px); opacity: 0.25; pointer-events: none; }
|
|
13
|
-
.aurora-blur { position: absolute; border-radius: 50%; animation: move 20s infinite alternate; }
|
|
14
|
-
.blur-1 { width: 50vw; height: 50vw; background: radial-gradient(circle, #f97316 0%, transparent 70%); top: -10%; left: -10%; }
|
|
15
|
-
.blur-2 { width: 40vw; height: 40vw; background: radial-gradient(circle, #ef4444 0%, transparent 70%); bottom: -10%; right: -10%; animation-duration: 25s; }
|
|
16
|
-
@keyframes move { from { transform: translate(0, 0) scale(1); } to { transform: translate(10%, 10%) scale(1.1); } }
|
|
17
|
-
header { width: 100%; padding: 1.5rem 5%; display: flex; align-items: center; backdrop-filter: blur(10px); border-bottom: 1px solid rgba(15, 23, 42, 0.08); }
|
|
18
|
-
.logo { width: 120px; height: auto; filter: drop-shadow(0 4px 6px rgba(139, 92, 246, 0.2)); }
|
|
19
|
-
.main-content { flex: 1; display: flex; align-items: center; justify-content: center; padding: 6rem 2rem 4rem; }
|
|
20
|
-
.container { position: relative; z-index: 10; max-width: 700px; width: 100%; text-align: center; animation: fadeIn 0.8s ease-out; }
|
|
21
|
-
@keyframes fadeIn { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
|
|
22
|
-
.badge { display: inline-block; padding: 0.45rem 1.1rem; background: rgba(249, 115, 22, 0.08); border: 1px solid #f97316; color: #ea580c; border-radius: 999px; font-size: 0.8rem; font-weight: 700; margin-bottom: 1.75rem; text-transform: uppercase; letter-spacing: 0.1em; }
|
|
23
|
-
h1 { font-family: 'Outfit', sans-serif; font-size: clamp(3rem, 10vw, 5.5rem); font-weight: 800; line-height: 1; margin-bottom: 1.5rem; letter-spacing: -0.04em; background: linear-gradient(135deg, #0f172a 30%, #334155 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
|
|
24
|
-
.description { font-size: 1.15rem; color: #64748b; max-width: 520px; margin: 0 auto 2.5rem; line-height: 1.7; }
|
|
25
|
-
.actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
|
|
26
|
-
.btn { padding: 0.875rem 2rem; border-radius: 12px; font-weight: 600; text-decoration: none; transition: all 0.25s ease; font-size: 0.95rem; display: inline-flex; align-items: center; gap: 0.5rem; }
|
|
27
|
-
.btn-primary { background: #8b5cf6; color: white; box-shadow: 0 4px 20px rgba(139, 92, 246, 0.35); }
|
|
28
|
-
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(139, 92, 246, 0.45); background: #7c3aed; }
|
|
29
|
-
.code-display { font-family: 'Outfit', sans-serif; font-size: clamp(6rem, 20vw, 12rem); font-weight: 800; line-height: 1; margin-bottom: 0.5rem; background: linear-gradient(135deg, rgba(249, 115, 22, 0.25) 0%, rgba(239, 68, 68, 0.1) 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; letter-spacing: -0.04em; }
|
|
30
|
-
.footer { padding: 2rem 0; color: #94a3b8; font-size: 0.8rem; text-align: center; border-top: 1px solid rgba(15, 23, 42, 0.06); }
|
|
31
|
-
.footer a { color: #8b5cf6; text-decoration: none; font-weight: 600; }
|
|
32
|
-
@media (max-width: 640px) { .actions { flex-direction: column; align-items: center; } }
|
|
33
|
-
</style>
|
|
34
|
-
</head>
|
|
35
|
-
<body>
|
|
36
|
-
<div class="aurora"><div class="aurora-blur blur-1"></div><div class="aurora-blur blur-2"></div></div>
|
|
37
|
-
<header><a href="/"><img src="/assets/img/logo.png" alt="{{app_name}} Logo" class="logo"></a></header>
|
|
38
|
-
<main class="main-content">
|
|
39
|
-
<div class="container">
|
|
40
|
-
<div class="code-display">429</div>
|
|
41
|
-
<div class="badge">Too Many Requests</div>
|
|
42
|
-
<h1>Slow Down!</h1>
|
|
43
|
-
<p class="description">You're sending too many requests too quickly. Please take a small break and try again in a few moments.</p>
|
|
44
|
-
<div class="actions">
|
|
45
|
-
<a href="/" class="btn btn-primary">
|
|
46
|
-
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M3 12L12 3l9 9"/><path d="M9 21V12h6v9"/></svg>
|
|
47
|
-
Return Home
|
|
48
|
-
</a>
|
|
49
|
-
</div>
|
|
50
|
-
</div>
|
|
51
|
-
</main>
|
|
52
|
-
<footer class="footer">© {{app_name}} — Powered by <a href="https://github.com/arikajs/arikajs">ArikaJS Framework</a></footer>
|
|
53
|
-
</body>
|
|
54
|
-
</html>
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>500 - Server Error | {{app_name}}</title>
|
|
7
|
-
<link rel="icon" type="image/png" href="/assets/img/favicon.png">
|
|
8
|
-
<link href="https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;800&family=Plus+Jakarta+Sans:wght@300;400;600;800&display=swap" rel="stylesheet">
|
|
9
|
-
<style>
|
|
10
|
-
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
11
|
-
body { font-family: 'Plus Jakarta Sans', sans-serif; background-color: #f8fafc; color: #0f172a; min-height: 100vh; display: flex; flex-direction: column; overflow-x: hidden; position: relative; }
|
|
12
|
-
.aurora { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; filter: blur(100px); opacity: 0.25; pointer-events: none; }
|
|
13
|
-
.aurora-blur { position: absolute; border-radius: 50%; animation: move 20s infinite alternate; }
|
|
14
|
-
.blur-1 { width: 50vw; height: 50vw; background: radial-gradient(circle, #6366f1 0%, transparent 70%); top: -10%; left: -10%; }
|
|
15
|
-
.blur-2 { width: 40vw; height: 40vw; background: radial-gradient(circle, #ec4899 0%, transparent 70%); bottom: -10%; right: -10%; animation-duration: 25s; }
|
|
16
|
-
@keyframes move { from { transform: translate(0, 0) scale(1); } to { transform: translate(10%, 10%) scale(1.1); } }
|
|
17
|
-
header { width: 100%; padding: 1.5rem 5%; display: flex; align-items: center; backdrop-filter: blur(10px); border-bottom: 1px solid rgba(15, 23, 42, 0.08); }
|
|
18
|
-
.logo { width: 120px; height: auto; filter: drop-shadow(0 4px 6px rgba(139, 92, 246, 0.2)); }
|
|
19
|
-
.main-content { flex: 1; display: flex; align-items: center; justify-content: center; padding: 6rem 2rem 4rem; }
|
|
20
|
-
.container { position: relative; z-index: 10; max-width: 700px; width: 100%; text-align: center; animation: fadeIn 0.8s ease-out; }
|
|
21
|
-
@keyframes fadeIn { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
|
|
22
|
-
.badge { display: inline-block; padding: 0.45rem 1.1rem; background: rgba(99, 102, 241, 0.08); border: 1px solid #6366f1; color: #4f46e5; border-radius: 999px; font-size: 0.8rem; font-weight: 700; margin-bottom: 1.75rem; text-transform: uppercase; letter-spacing: 0.1em; }
|
|
23
|
-
h1 { font-family: 'Outfit', sans-serif; font-size: clamp(3rem, 10vw, 5.5rem); font-weight: 800; line-height: 1; margin-bottom: 1.5rem; letter-spacing: -0.04em; background: linear-gradient(135deg, #0f172a 30%, #334155 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
|
|
24
|
-
.description { font-size: 1.15rem; color: #64748b; max-width: 520px; margin: 0 auto 2.5rem; line-height: 1.7; }
|
|
25
|
-
.actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
|
|
26
|
-
.btn { padding: 0.875rem 2rem; border-radius: 12px; font-weight: 600; text-decoration: none; transition: all 0.25s ease; font-size: 0.95rem; display: inline-flex; align-items: center; gap: 0.5rem; cursor: pointer; border: none; }
|
|
27
|
-
.btn-primary { background: #8b5cf6; color: white; box-shadow: 0 4px 20px rgba(139, 92, 246, 0.35); }
|
|
28
|
-
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(139, 92, 246, 0.45); background: #7c3aed; }
|
|
29
|
-
.code-display { font-family: 'Outfit', sans-serif; font-size: clamp(6rem, 20vw, 12rem); font-weight: 800; line-height: 1; margin-bottom: 0.5rem; background: linear-gradient(135deg, rgba(99, 102, 241, 0.2) 0%, rgba(236, 72, 153, 0.1) 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; letter-spacing: -0.04em; }
|
|
30
|
-
.footer { padding: 2rem 0; color: #94a3b8; font-size: 0.8rem; text-align: center; border-top: 1px solid rgba(15, 23, 42, 0.06); }
|
|
31
|
-
.footer a { color: #8b5cf6; text-decoration: none; font-weight: 600; }
|
|
32
|
-
@media (max-width: 640px) { .actions { flex-direction: column; align-items: center; } }
|
|
33
|
-
</style>
|
|
34
|
-
</head>
|
|
35
|
-
<body>
|
|
36
|
-
<div class="aurora"><div class="aurora-blur blur-1"></div><div class="aurora-blur blur-2"></div></div>
|
|
37
|
-
<header><a href="/"><img src="/assets/img/logo.png" alt="{{app_name}} Logo" class="logo"></a></header>
|
|
38
|
-
<main class="main-content">
|
|
39
|
-
<div class="container">
|
|
40
|
-
<div class="code-display">500</div>
|
|
41
|
-
<div class="badge">Server Error</div>
|
|
42
|
-
<h1>Something Went Wrong</h1>
|
|
43
|
-
<p class="description">Our servers are having a bit of a moment. We've been notified and are looking into it. Please try again later.</p>
|
|
44
|
-
<div class="actions">
|
|
45
|
-
<button onclick="window.location.reload()" class="btn btn-primary">
|
|
46
|
-
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="23 4 23 10 17 10"/><polyline points="1 20 1 14 7 14"/><path d="M3.51 9a9 9 0 0114.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0020.49 15"/></svg>
|
|
47
|
-
Try Again
|
|
48
|
-
</button>
|
|
49
|
-
</div>
|
|
50
|
-
</div>
|
|
51
|
-
</main>
|
|
52
|
-
<footer class="footer">© {{app_name}} — Powered by <a href="https://github.com/arikajs/arikajs">ArikaJS Framework</a></footer>
|
|
53
|
-
</body>
|
|
54
|
-
</html>
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>503 - Service Unavailable | {{app_name}}</title>
|
|
7
|
-
<link rel="icon" type="image/png" href="/assets/img/favicon.png">
|
|
8
|
-
<link href="https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;800&family=Plus+Jakarta+Sans:wght@300;400;600;800&display=swap" rel="stylesheet">
|
|
9
|
-
<style>
|
|
10
|
-
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
11
|
-
body { font-family: 'Plus Jakarta Sans', sans-serif; background-color: #f8fafc; color: #0f172a; min-height: 100vh; display: flex; flex-direction: column; overflow-x: hidden; position: relative; }
|
|
12
|
-
.aurora { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; filter: blur(100px); opacity: 0.25; pointer-events: none; }
|
|
13
|
-
.aurora-blur { position: absolute; border-radius: 50%; animation: move 20s infinite alternate; }
|
|
14
|
-
.blur-1 { width: 50vw; height: 50vw; background: radial-gradient(circle, #8b5cf6 0%, transparent 70%); top: -10%; left: -10%; }
|
|
15
|
-
.blur-2 { width: 40vw; height: 40vw; background: radial-gradient(circle, #14b8a6 0%, transparent 70%); bottom: -10%; right: -10%; animation-duration: 25s; }
|
|
16
|
-
@keyframes move { from { transform: translate(0, 0) scale(1); } to { transform: translate(10%, 10%) scale(1.1); } }
|
|
17
|
-
header { width: 100%; padding: 1.5rem 5%; display: flex; align-items: center; backdrop-filter: blur(10px); border-bottom: 1px solid rgba(15, 23, 42, 0.08); }
|
|
18
|
-
.logo { width: 120px; height: auto; filter: drop-shadow(0 4px 6px rgba(139, 92, 246, 0.2)); }
|
|
19
|
-
.main-content { flex: 1; display: flex; align-items: center; justify-content: center; padding: 6rem 2rem 4rem; }
|
|
20
|
-
.container { position: relative; z-index: 10; max-width: 700px; width: 100%; text-align: center; animation: fadeIn 0.8s ease-out; }
|
|
21
|
-
@keyframes fadeIn { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
|
|
22
|
-
.badge { display: inline-block; padding: 0.45rem 1.1rem; background: rgba(20, 184, 166, 0.08); border: 1px solid #14b8a6; color: #0d9488; border-radius: 999px; font-size: 0.8rem; font-weight: 700; margin-bottom: 1.75rem; text-transform: uppercase; letter-spacing: 0.1em; }
|
|
23
|
-
h1 { font-family: 'Outfit', sans-serif; font-size: clamp(3rem, 10vw, 5.5rem); font-weight: 800; line-height: 1; margin-bottom: 1.5rem; letter-spacing: -0.04em; background: linear-gradient(135deg, #0f172a 30%, #334155 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
|
|
24
|
-
.description { font-size: 1.15rem; color: #64748b; max-width: 520px; margin: 0 auto 2.5rem; line-height: 1.7; }
|
|
25
|
-
.pulse { display: inline-flex; align-items: center; gap: 0.6rem; background: rgba(20, 184, 166, 0.08); border: 1px solid rgba(20, 184, 166, 0.2); color: #0d9488; padding: 0.6rem 1.2rem; border-radius: 99px; font-size: 0.85rem; font-weight: 600; margin-bottom: 2rem; }
|
|
26
|
-
.pulse-dot { width: 8px; height: 8px; background: #14b8a6; border-radius: 50%; animation: pulseAnim 1.5s infinite; }
|
|
27
|
-
@keyframes pulseAnim { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.5); opacity: 0.5; } }
|
|
28
|
-
.actions { display: flex; gap: 1rem; justify-content: center; }
|
|
29
|
-
.code-display { font-family: 'Outfit', sans-serif; font-size: clamp(6rem, 20vw, 12rem); font-weight: 800; line-height: 1; margin-bottom: 0.5rem; background: linear-gradient(135deg, rgba(139, 92, 246, 0.2) 0%, rgba(20, 184, 166, 0.15) 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; letter-spacing: -0.04em; }
|
|
30
|
-
.footer { padding: 2rem 0; color: #94a3b8; font-size: 0.8rem; text-align: center; border-top: 1px solid rgba(15, 23, 42, 0.06); }
|
|
31
|
-
.footer a { color: #8b5cf6; text-decoration: none; font-weight: 600; }
|
|
32
|
-
</style>
|
|
33
|
-
</head>
|
|
34
|
-
<body>
|
|
35
|
-
<div class="aurora"><div class="aurora-blur blur-1"></div><div class="aurora-blur blur-2"></div></div>
|
|
36
|
-
<header><a href="/"><img src="/assets/img/logo.png" alt="{{app_name}} Logo" class="logo"></a></header>
|
|
37
|
-
<main class="main-content">
|
|
38
|
-
<div class="container">
|
|
39
|
-
<div class="code-display">503</div>
|
|
40
|
-
<div class="badge">Maintenance</div>
|
|
41
|
-
<h1>Back in a Flash!</h1>
|
|
42
|
-
<div class="pulse"><span class="pulse-dot"></span> We're working on it</div>
|
|
43
|
-
<p class="description">{{app_name}} is currently undergoing scheduled maintenance to improve your experience. We'll be back online very shortly. Thank you for your patience!</p>
|
|
44
|
-
<div class="actions"></div>
|
|
45
|
-
</div>
|
|
46
|
-
</main>
|
|
47
|
-
<footer class="footer">© {{app_name}} — Powered by <a href="https://github.com/arikajs/arikajs">ArikaJS Framework</a></footer>
|
|
48
|
-
</body>
|
|
49
|
-
</html>
|
package/src/index.ts
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
export * from './Application';
|
|
2
|
-
export { createApp } from './createApp';
|
|
3
|
-
export { app, config, env, info, error, warning, debug, route, lang, trans, __, view } from './helpers.js';
|
|
4
|
-
|
|
5
|
-
// Re-export common foundation items for convenience
|
|
6
|
-
export { ServiceProvider } from '@arikajs/foundation';
|
|
7
|
-
export { Container } from '@arikajs/foundation';
|
|
8
|
-
export { Repository as Config } from '@arikajs/foundation';
|
|
9
|
-
|
|
10
|
-
// Re-export HTTP items
|
|
11
|
-
export { Request, Response, Middleware, HttpException, NotFoundHttpException } from '@arikajs/http';
|
|
12
|
-
export {
|
|
13
|
-
BodyParserMiddleware,
|
|
14
|
-
CorsMiddleware,
|
|
15
|
-
TrimStrings,
|
|
16
|
-
ConvertEmptyStringsToNull,
|
|
17
|
-
SecurityHeaders,
|
|
18
|
-
Throttle,
|
|
19
|
-
ServeStaticMiddleware as HttpServeStaticMiddleware
|
|
20
|
-
} from '@arikajs/http';
|
|
21
|
-
export { Kernel } from './http/Kernel';
|
|
22
|
-
export { Handler } from './http/Handler';
|
|
23
|
-
|
|
24
|
-
// Re-export Routing items
|
|
25
|
-
export { Route } from '@arikajs/router';
|
|
26
|
-
|
|
27
|
-
// Re-export Middleware items
|
|
28
|
-
export { Pipeline, MiddlewareHandler } from '@arikajs/middleware';
|
|
29
|
-
export { RequestLoggingMiddleware } from './http/Middleware/RequestLoggingMiddleware';
|
|
30
|
-
export { ServeStaticMiddleware } from './http/Middleware/ServeStaticMiddleware';
|
|
31
|
-
export { ValidateRequestMiddleware } from './http/Middleware/ValidateRequestMiddleware';
|
|
32
|
-
export { ViewMiddleware } from './http/Middleware/ViewMiddleware';
|
|
33
|
-
export { VerifyCsrfToken } from './http/Middleware/VerifyCsrfToken';
|
|
34
|
-
|
|
35
|
-
// Re-export Database items
|
|
36
|
-
export { Model, Database as DB, Schema, Migration, SchemaBuilder } from '@arikajs/database';
|
|
37
|
-
|
|
38
|
-
// Re-export Cache items
|
|
39
|
-
export { Cache } from '@arikajs/cache';
|
|
40
|
-
|
|
41
|
-
// Re-export Queue items
|
|
42
|
-
export { Queue, BaseJob, Worker } from '@arikajs/queue';
|
|
43
|
-
|
|
44
|
-
// Re-export Event items
|
|
45
|
-
export { Event } from '@arikajs/events';
|
|
46
|
-
|
|
47
|
-
// Re-export Scheduler items
|
|
48
|
-
export { Scheduler, Schedule } from '@arikajs/scheduler';
|
|
49
|
-
|
|
50
|
-
// Re-export Encryption items
|
|
51
|
-
export { Encrypter } from '@arikajs/encryption';
|
|
52
|
-
|
|
53
|
-
// Re-export Console items
|
|
54
|
-
export { Command } from '@arikajs/console';
|
|
55
|
-
|
|
56
|
-
// Re-export Logging items
|
|
57
|
-
export { Log } from '@arikajs/logging';
|
|
58
|
-
|
|
59
|
-
// Re-export View items
|
|
60
|
-
export { View } from '@arikajs/view';
|
|
61
|
-
|
|
62
|
-
// Re-export Validation items
|
|
63
|
-
export { Validator } from '@arikajs/validation';
|
|
64
|
-
|
|
65
|
-
// Re-export Localization items
|
|
66
|
-
export { Translator } from '@arikajs/localization';
|
|
67
|
-
|
|
68
|
-
// Re-export Mail items
|
|
69
|
-
export { Mail, Mailable } from '@arikajs/mail';
|
|
70
|
-
|
|
71
|
-
// Re-export Auth items
|
|
72
|
-
export { AuthManager, AuthContext, Hasher, EloquentUserProvider, Authenticate } from '@arikajs/auth';
|
|
73
|
-
|
|
74
|
-
// Re-export Session items
|
|
75
|
-
export { Session, SessionManager, StartSession, SessionDriver, MemoryDriver as SessionMemoryDriver, FileDriver as SessionFileDriver } from '@arikajs/session';
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { ServiceProvider } from '@arikajs/foundation';
|
|
3
|
-
import { AuthManager, Authenticate } from '@arikajs/auth';
|
|
4
|
-
|
|
5
|
-
export class AuthServiceProvider extends ServiceProvider {
|
|
6
|
-
/**
|
|
7
|
-
* Register the authentication services.
|
|
8
|
-
*/
|
|
9
|
-
public async register() {
|
|
10
|
-
this.app.singleton('auth', () => {
|
|
11
|
-
return new AuthManager(this.app.config().get('auth', {}));
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
this.app.bind(AuthManager, () => this.app.resolve('auth'));
|
|
15
|
-
|
|
16
|
-
// Register the authentication middleware
|
|
17
|
-
this.app.bind(Authenticate, () => {
|
|
18
|
-
return new Authenticate(this.app.resolve(AuthManager));
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Boot the authentication services.
|
|
24
|
-
*/
|
|
25
|
-
public async boot() {
|
|
26
|
-
// Here we could register default guards etc.
|
|
27
|
-
}
|
|
28
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { ServiceProvider } from '@arikajs/foundation';
|
|
2
|
-
import { CacheManager, Cache } from '@arikajs/cache';
|
|
3
|
-
|
|
4
|
-
export class CacheServiceProvider extends ServiceProvider {
|
|
5
|
-
/**
|
|
6
|
-
* Register cache services.
|
|
7
|
-
*/
|
|
8
|
-
public async register() {
|
|
9
|
-
this.app.singleton('cache', () => {
|
|
10
|
-
const config = this.app.config().get('cache');
|
|
11
|
-
const database = this.app.make('db');
|
|
12
|
-
const manager = new CacheManager(config, database, this.app.getBasePath());
|
|
13
|
-
|
|
14
|
-
// Set static access
|
|
15
|
-
Cache.setManager(manager);
|
|
16
|
-
|
|
17
|
-
return manager;
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
this.app.alias('cache', CacheManager);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Boot cache services.
|
|
25
|
-
*/
|
|
26
|
-
public async boot() {
|
|
27
|
-
this.app.make('cache');
|
|
28
|
-
}
|
|
29
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { ServiceProvider } from '@arikajs/foundation';
|
|
3
|
-
import { DatabaseManager, Database } from '@arikajs/database';
|
|
4
|
-
|
|
5
|
-
export class DatabaseServiceProvider extends ServiceProvider {
|
|
6
|
-
/**
|
|
7
|
-
* Register the database services.
|
|
8
|
-
*/
|
|
9
|
-
public async register() {
|
|
10
|
-
this.app.singleton('db', () => {
|
|
11
|
-
const config = this.app.config().get('database');
|
|
12
|
-
|
|
13
|
-
if (!config) {
|
|
14
|
-
// If no config provided, we'll use a default memory sqlite for convenience
|
|
15
|
-
// though usually this should throw in production.
|
|
16
|
-
return new DatabaseManager({
|
|
17
|
-
default: 'sqlite',
|
|
18
|
-
connections: {
|
|
19
|
-
sqlite: {
|
|
20
|
-
driver: 'sqlite',
|
|
21
|
-
database: ':memory:'
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
} as any);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
return new DatabaseManager(config as any);
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
this.app.bind(DatabaseManager, () => this.app.resolve('db'));
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Boot the database services.
|
|
35
|
-
*/
|
|
36
|
-
public async boot() {
|
|
37
|
-
// Initialize the static Database facade
|
|
38
|
-
const dbManager = this.app.resolve(DatabaseManager);
|
|
39
|
-
Database.setManager(dbManager);
|
|
40
|
-
|
|
41
|
-
// Register caching for query builder
|
|
42
|
-
if (this.app.getContainer().has('cache')) {
|
|
43
|
-
dbManager.setCache(this.app.resolve('cache'));
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { ServiceProvider } from '@arikajs/foundation';
|
|
3
|
-
import { EventManager, Event } from '@arikajs/events';
|
|
4
|
-
|
|
5
|
-
export class EventsServiceProvider extends ServiceProvider {
|
|
6
|
-
public async register() {
|
|
7
|
-
this.app.singleton('events', () => {
|
|
8
|
-
return new EventManager();
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
this.app.singleton(EventManager, () => this.app.resolve('events'));
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
public async boot() {
|
|
15
|
-
// Initialize the Event facade
|
|
16
|
-
const manager = this.app.resolve(EventManager);
|
|
17
|
-
Event.setManager(manager);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { ServiceProvider } from '@arikajs/foundation';
|
|
2
|
-
import { Encrypter } from '@arikajs/encryption';
|
|
3
|
-
import { LoggingServiceProvider } from './LoggingServiceProvider';
|
|
4
|
-
import { AuthServiceProvider } from './AuthServiceProvider';
|
|
5
|
-
import { ValidationServiceProvider } from './ValidationServiceProvider';
|
|
6
|
-
import { DatabaseServiceProvider } from './DatabaseServiceProvider';
|
|
7
|
-
import { MailServiceProvider } from './MailServiceProvider';
|
|
8
|
-
import { ViewServiceProvider } from './ViewServiceProvider';
|
|
9
|
-
import { EventsServiceProvider } from './EventsServiceProvider';
|
|
10
|
-
import { SchedulerServiceProvider } from './SchedulerServiceProvider';
|
|
11
|
-
import { TranslationServiceProvider } from './TranslationServiceProvider';
|
|
12
|
-
import { CacheServiceProvider } from './CacheServiceProvider';
|
|
13
|
-
import { QueueServiceProvider } from './QueueServiceProvider';
|
|
14
|
-
import { SessionServiceProvider } from './SessionServiceProvider';
|
|
15
|
-
import { HttpServiceProvider } from './HttpServiceProvider';
|
|
16
|
-
|
|
17
|
-
export class FrameworkServiceProvider extends ServiceProvider {
|
|
18
|
-
public async register() {
|
|
19
|
-
// Register Core Services
|
|
20
|
-
await this.app.register(LoggingServiceProvider);
|
|
21
|
-
await this.app.register(SessionServiceProvider);
|
|
22
|
-
await this.app.register(HttpServiceProvider);
|
|
23
|
-
await this.app.register(AuthServiceProvider);
|
|
24
|
-
await this.app.register(ValidationServiceProvider);
|
|
25
|
-
await this.app.register(DatabaseServiceProvider);
|
|
26
|
-
await this.app.register(CacheServiceProvider);
|
|
27
|
-
await this.app.register(QueueServiceProvider);
|
|
28
|
-
await this.app.register(MailServiceProvider);
|
|
29
|
-
await this.app.register(ViewServiceProvider);
|
|
30
|
-
await this.app.register(TranslationServiceProvider);
|
|
31
|
-
await this.app.register(EventsServiceProvider);
|
|
32
|
-
await this.app.register(SchedulerServiceProvider);
|
|
33
|
-
|
|
34
|
-
// Register framework specific services
|
|
35
|
-
this.app.singleton('encrypter', () => {
|
|
36
|
-
const key = this.app.config().get('app.key');
|
|
37
|
-
return new Encrypter(key as string);
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
public async boot() {
|
|
42
|
-
// Boot framework specific services
|
|
43
|
-
}
|
|
44
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { ServiceProvider } from '@arikajs/foundation';
|
|
3
|
-
import { Router } from '@arikajs/router';
|
|
4
|
-
import { Kernel } from '../http/Kernel';
|
|
5
|
-
import { Handler } from '../http/Handler';
|
|
6
|
-
import { Application } from '../Contracts/Application';
|
|
7
|
-
|
|
8
|
-
export class HttpServiceProvider extends ServiceProvider<Application> {
|
|
9
|
-
/**
|
|
10
|
-
* Register the service provider.
|
|
11
|
-
*/
|
|
12
|
-
public async register(): Promise<void> {
|
|
13
|
-
// Register the Router as a singleton
|
|
14
|
-
this.app.singleton(Router, () => {
|
|
15
|
-
return new Router(this.app.getContainer());
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
// Register the Kernel — only if not already registered by the application
|
|
19
|
-
if (!this.app.has(Kernel)) {
|
|
20
|
-
this.app.singleton(Kernel, () => {
|
|
21
|
-
return new Kernel(this.app);
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
// Register the Exception Handler
|
|
26
|
-
this.app.singleton(Handler, () => {
|
|
27
|
-
return new Handler();
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Boot the service provider.
|
|
33
|
-
*/
|
|
34
|
-
public async boot(): Promise<void> {
|
|
35
|
-
// Any HTTP-specific booting logic can go here
|
|
36
|
-
}
|
|
37
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { ServiceProvider } from '@arikajs/foundation';
|
|
3
|
-
import { LogManager, Log } from '@arikajs/logging';
|
|
4
|
-
|
|
5
|
-
export class LoggingServiceProvider extends ServiceProvider {
|
|
6
|
-
public async register() {
|
|
7
|
-
this.app.singleton('log', () => {
|
|
8
|
-
const config = this.app.config().get('logging');
|
|
9
|
-
return new LogManager(config);
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
public async boot() {
|
|
14
|
-
const logManager = this.app.make<LogManager>('log');
|
|
15
|
-
Log.setManager(logManager);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { ServiceProvider } from '@arikajs/foundation';
|
|
2
|
-
import { MailManager, Mail } from '@arikajs/mail';
|
|
3
|
-
|
|
4
|
-
export class MailServiceProvider extends ServiceProvider {
|
|
5
|
-
/**
|
|
6
|
-
* Register mail services.
|
|
7
|
-
*/
|
|
8
|
-
public async register() {
|
|
9
|
-
this.app.singleton('mail.manager', () => {
|
|
10
|
-
const config = this.app.config().get('mail');
|
|
11
|
-
const view = this.app.make('view');
|
|
12
|
-
const queue = this.app.make('queue');
|
|
13
|
-
|
|
14
|
-
const manager = new MailManager(config, view);
|
|
15
|
-
manager.setQueue(queue);
|
|
16
|
-
|
|
17
|
-
// Set static access
|
|
18
|
-
Mail.setManager(manager);
|
|
19
|
-
|
|
20
|
-
return manager;
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
this.app.alias('mail.manager', MailManager);
|
|
24
|
-
this.app.alias('mail.manager', 'mail');
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Boot mail services.
|
|
29
|
-
*/
|
|
30
|
-
public async boot() {
|
|
31
|
-
this.app.make('mail.manager');
|
|
32
|
-
}
|
|
33
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { ServiceProvider } from '@arikajs/foundation';
|
|
2
|
-
import { QueueManager, Queue, Worker } from '@arikajs/queue';
|
|
3
|
-
|
|
4
|
-
export class QueueServiceProvider extends ServiceProvider {
|
|
5
|
-
/**
|
|
6
|
-
* Register queue services.
|
|
7
|
-
*/
|
|
8
|
-
public async register() {
|
|
9
|
-
// Register framework internal jobs
|
|
10
|
-
try {
|
|
11
|
-
const { SendQueuedMailable } = require('@arikajs/mail');
|
|
12
|
-
Worker.registerJob('SendQueuedMailable', SendQueuedMailable);
|
|
13
|
-
} catch (e) {
|
|
14
|
-
// Mail package might not be installed
|
|
15
|
-
}
|
|
16
|
-
this.app.singleton('queue', () => {
|
|
17
|
-
const config = this.app.config().get('queue');
|
|
18
|
-
const database = this.app.make('db');
|
|
19
|
-
const manager = new QueueManager(config, database);
|
|
20
|
-
|
|
21
|
-
// Set static access
|
|
22
|
-
Queue.setManager(manager);
|
|
23
|
-
|
|
24
|
-
return manager;
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
this.app.alias('queue', QueueManager);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Boot queue services.
|
|
32
|
-
*/
|
|
33
|
-
public async boot() {
|
|
34
|
-
this.app.make('queue');
|
|
35
|
-
}
|
|
36
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { ServiceProvider } from '@arikajs/foundation';
|
|
3
|
-
import { Scheduler } from '@arikajs/scheduler';
|
|
4
|
-
|
|
5
|
-
export class SchedulerServiceProvider extends ServiceProvider {
|
|
6
|
-
public async register() {
|
|
7
|
-
this.app.singleton(Scheduler, () => {
|
|
8
|
-
return new Scheduler(this.app.getContainer());
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
this.app.alias(Scheduler, 'scheduler');
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
public async boot() {
|
|
15
|
-
// Here we could automatically load app/Console/Kernel.ts or similar
|
|
16
|
-
// where the user defines their schedule.
|
|
17
|
-
}
|
|
18
|
-
}
|