eid-salami 1.0.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/DEPLOY.md +199 -0
- package/README.md +133 -0
- package/backend/.env.example +25 -0
- package/backend/.keystone_temp/admin/next.config.js +14 -0
- package/backend/.keystone_temp/admin/pages/_app.js +22 -0
- package/backend/.keystone_temp/admin/pages/index.js +1 -0
- package/backend/.keystone_temp/admin/pages/init.js +5 -0
- package/backend/.keystone_temp/admin/pages/no-access.js +3 -0
- package/backend/.keystone_temp/admin/pages/orders/[id].js +3 -0
- package/backend/.keystone_temp/admin/pages/orders/create.js +3 -0
- package/backend/.keystone_temp/admin/pages/orders/index.js +3 -0
- package/backend/.keystone_temp/admin/pages/salami-packages/[id].js +3 -0
- package/backend/.keystone_temp/admin/pages/salami-packages/create.js +3 -0
- package/backend/.keystone_temp/admin/pages/salami-packages/index.js +3 -0
- package/backend/.keystone_temp/admin/pages/signin.js +3 -0
- package/backend/.keystone_temp/admin/pages/users/[id].js +3 -0
- package/backend/.keystone_temp/admin/pages/users/create.js +3 -0
- package/backend/.keystone_temp/admin/pages/users/index.js +3 -0
- package/backend/.keystone_temp/admin/public/favicon.ico +0 -0
- package/backend/.keystone_temp/config.js +369 -0
- package/backend/.keystone_temp/config.js.map +7 -0
- package/backend/bkash/bkash.service.ts +184 -0
- package/backend/keystone/routes.ts +193 -0
- package/backend/keystone/schema.ts +143 -0
- package/backend/keystone.ts +54 -0
- package/backend/package.json +23 -0
- package/backend/schema.graphql +530 -0
- package/backend/schema.prisma +55 -0
- package/backend/seed.ts +53 -0
- package/backend/tsconfig.json +15 -0
- package/frontend/.env.example +6 -0
- package/frontend/index.html +16 -0
- package/frontend/package.json +24 -0
- package/frontend/src/App.js +11 -0
- package/frontend/src/App.tsx +22 -0
- package/frontend/src/api/client.js +11 -0
- package/frontend/src/api/client.ts +57 -0
- package/frontend/src/components/Footer.js +5 -0
- package/frontend/src/components/Footer.module.css +27 -0
- package/frontend/src/components/Footer.tsx +13 -0
- package/frontend/src/components/Navbar.js +6 -0
- package/frontend/src/components/Navbar.module.css +54 -0
- package/frontend/src/components/Navbar.tsx +16 -0
- package/frontend/src/components/PackageCard.js +5 -0
- package/frontend/src/components/PackageCard.module.css +64 -0
- package/frontend/src/components/PackageCard.tsx +24 -0
- package/frontend/src/main.js +7 -0
- package/frontend/src/main.tsx +13 -0
- package/frontend/src/pages/HomePage.js +31 -0
- package/frontend/src/pages/HomePage.module.css +416 -0
- package/frontend/src/pages/HomePage.tsx +146 -0
- package/frontend/src/pages/OrderPage.js +98 -0
- package/frontend/src/pages/OrderPage.module.css +624 -0
- package/frontend/src/pages/OrderPage.tsx +221 -0
- package/frontend/src/pages/PaymentCallbackPage.js +25 -0
- package/frontend/src/pages/PaymentCallbackPage.module.css +38 -0
- package/frontend/src/pages/PaymentCallbackPage.tsx +37 -0
- package/frontend/src/pages/PaymentResultPage.js +28 -0
- package/frontend/src/pages/PaymentResultPage.module.css +182 -0
- package/frontend/src/pages/PaymentResultPage.tsx +92 -0
- package/frontend/src/styles/global.css +66 -0
- package/frontend/src/vite-env.d.ts +5 -0
- package/frontend/tsconfig.json +15 -0
- package/frontend/vite.config.ts +15 -0
- package/package.json +14 -0
package/DEPLOY.md
ADDED
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# 🚀 cPanel Deployment Guide
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
| Part | Where | How |
|
|
6
|
+
|---|---|---|
|
|
7
|
+
| **Backend** (KeystoneJS API) | cPanel Node.js App | Runs as a Node.js application |
|
|
8
|
+
| **Frontend** (React) | cPanel public_html | Static files uploaded via File Manager |
|
|
9
|
+
| **Database** | PostgreSQL | cPanel PostgreSQL OR Neon.tech (free) |
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Step 1 — Set up PostgreSQL database
|
|
14
|
+
|
|
15
|
+
### Option A: cPanel has PostgreSQL
|
|
16
|
+
1. Go to cPanel → **PostgreSQL Databases**
|
|
17
|
+
2. Create a new database e.g. `myuser_eidsalami`
|
|
18
|
+
3. Create a database user with a strong password
|
|
19
|
+
4. Add the user to the database with **All Privileges**
|
|
20
|
+
5. Your connection URL will be:
|
|
21
|
+
```
|
|
22
|
+
postgresql://myuser_dbuser:PASSWORD@localhost:5432/myuser_eidsalami
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Option B: cPanel only has MySQL → use Neon.tech (free)
|
|
26
|
+
1. Go to [neon.tech](https://neon.tech) and sign up free
|
|
27
|
+
2. Create a new project called `eid-salami`
|
|
28
|
+
3. Copy the connection string — it looks like:
|
|
29
|
+
```
|
|
30
|
+
postgresql://user:pass@ep-xxx.us-east-1.aws.neon.tech/neondb?sslmode=require
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Step 2 — Upload & configure the backend
|
|
36
|
+
|
|
37
|
+
### 2a. Upload files
|
|
38
|
+
1. In cPanel → **File Manager**, go to your home directory (not public_html)
|
|
39
|
+
2. Create a folder called `eid-salami-backend`
|
|
40
|
+
3. Upload everything from the `backend/` folder into it
|
|
41
|
+
4. Also upload `package.json` from the root (the workspace one is not needed — just the backend one)
|
|
42
|
+
|
|
43
|
+
Your server structure should look like:
|
|
44
|
+
```
|
|
45
|
+
/home/yourusername/
|
|
46
|
+
eid-salami-backend/
|
|
47
|
+
keystone.ts
|
|
48
|
+
keystone/
|
|
49
|
+
bkash/
|
|
50
|
+
package.json
|
|
51
|
+
tsconfig.json
|
|
52
|
+
.env ← you'll create this next
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### 2b. Create .env file
|
|
56
|
+
In File Manager, create a new file called `.env` inside `eid-salami-backend/`:
|
|
57
|
+
|
|
58
|
+
```env
|
|
59
|
+
DATABASE_URL=postgresql://YOUR_USER:YOUR_PASSWORD@localhost:5432/YOUR_DB
|
|
60
|
+
SESSION_SECRET=paste_any_long_random_string_here_minimum_32_characters
|
|
61
|
+
BKASH_PERSONAL_NUMBER=01XXXXXXXXX
|
|
62
|
+
FRONTEND_URL=https://yourdomain.com
|
|
63
|
+
PORT=3000
|
|
64
|
+
NODE_ENV=production
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
> ⚠️ Replace all values with your real ones. Never share this file.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Step 3 — Set up Node.js app in cPanel
|
|
72
|
+
|
|
73
|
+
1. Go to cPanel → **Setup Node.js App**
|
|
74
|
+
2. Click **Create Application**
|
|
75
|
+
3. Fill in:
|
|
76
|
+
- **Node.js version:** 18
|
|
77
|
+
- **Application mode:** Production
|
|
78
|
+
- **Application root:** `eid-salami-backend`
|
|
79
|
+
- **Application URL:** `api.yourdomain.com` (or `yourdomain.com/api`)
|
|
80
|
+
- **Application startup file:** `node_modules/.bin/keystone`
|
|
81
|
+
4. Click **Create**
|
|
82
|
+
|
|
83
|
+
### 2. Install dependencies via cPanel terminal
|
|
84
|
+
In cPanel → **Terminal** (or SSH):
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
cd ~/eid-salami-backend
|
|
88
|
+
npm install
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### 3. Build KeystoneJS
|
|
92
|
+
```bash
|
|
93
|
+
npm run build
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### 4. Run database migrations
|
|
97
|
+
```bash
|
|
98
|
+
npx keystone prisma migrate deploy
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### 5. Start the app
|
|
102
|
+
Go back to **Setup Node.js App** → click **Run JS Script** or just **Restart**.
|
|
103
|
+
|
|
104
|
+
### 6. Create your admin account
|
|
105
|
+
Visit `https://api.yourdomain.com/keystonejs` — it will ask you to create the first admin user.
|
|
106
|
+
|
|
107
|
+
### 7. Seed packages
|
|
108
|
+
In terminal:
|
|
109
|
+
```bash
|
|
110
|
+
cd ~/eid-salami-backend
|
|
111
|
+
node -e "
|
|
112
|
+
const fetch = (...args) => import('node-fetch').then(({default: f}) => f(...args));
|
|
113
|
+
// Run seed
|
|
114
|
+
"
|
|
115
|
+
```
|
|
116
|
+
Or just create packages manually from the admin panel.
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Step 4 — Build & upload the frontend
|
|
121
|
+
|
|
122
|
+
### On your LOCAL computer:
|
|
123
|
+
|
|
124
|
+
1. Create `frontend/.env` file:
|
|
125
|
+
```env
|
|
126
|
+
VITE_API_URL=https://api.yourdomain.com
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
2. Build the frontend:
|
|
130
|
+
```bash
|
|
131
|
+
cd frontend
|
|
132
|
+
npm install
|
|
133
|
+
npm run build
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
3. This creates a `frontend/dist/` folder.
|
|
137
|
+
|
|
138
|
+
### Upload to cPanel:
|
|
139
|
+
1. Go to cPanel → **File Manager** → `public_html`
|
|
140
|
+
2. Upload all files from `frontend/dist/` directly into `public_html`
|
|
141
|
+
3. Make sure `index.html` is in the root of `public_html`
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Step 5 — Fix React Router (important!)
|
|
146
|
+
|
|
147
|
+
React Router needs all URLs to serve `index.html`. Create a `.htaccess` file in `public_html`:
|
|
148
|
+
|
|
149
|
+
```apache
|
|
150
|
+
Options -MultiViews
|
|
151
|
+
RewriteEngine On
|
|
152
|
+
RewriteCond %{REQUEST_FILENAME} !-f
|
|
153
|
+
RewriteCond %{REQUEST_FILENAME} !-d
|
|
154
|
+
RewriteRule ^ index.html [QSA,L]
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Step 6 — Test everything
|
|
160
|
+
|
|
161
|
+
1. Visit `https://yourdomain.com` — you should see the homepage
|
|
162
|
+
2. Try placing a test order end-to-end
|
|
163
|
+
3. Check `https://api.yourdomain.com/keystonejs` — admin panel should work
|
|
164
|
+
4. Verify orders appear in admin panel after submission
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## 🔁 How to update the site later
|
|
169
|
+
|
|
170
|
+
**Backend changes:**
|
|
171
|
+
```bash
|
|
172
|
+
# In cPanel Terminal
|
|
173
|
+
cd ~/eid-salami-backend
|
|
174
|
+
# Upload new files, then:
|
|
175
|
+
npm install
|
|
176
|
+
npm run build
|
|
177
|
+
# Restart app in Setup Node.js App
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
**Frontend changes:**
|
|
181
|
+
```bash
|
|
182
|
+
# On your local computer
|
|
183
|
+
cd frontend
|
|
184
|
+
npm run build
|
|
185
|
+
# Upload dist/ contents to public_html again
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## 🛑 Common problems
|
|
191
|
+
|
|
192
|
+
| Problem | Fix |
|
|
193
|
+
|---|---|
|
|
194
|
+
| `Cannot find module` | Run `npm install` again in terminal |
|
|
195
|
+
| Database connection error | Double-check DATABASE_URL in .env |
|
|
196
|
+
| Admin panel shows blank | Check FRONTEND_URL in .env matches your domain exactly |
|
|
197
|
+
| Frontend shows old version | Clear browser cache (Ctrl+Shift+R) |
|
|
198
|
+
| 404 on page refresh | Make sure .htaccess file is in public_html |
|
|
199
|
+
| Port already in use | Change PORT in .env, update in cPanel Node.js App settings |
|
package/README.md
ADDED
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# 🌙 ঈদ সালামি — Eid Salami Platform
|
|
2
|
+
|
|
3
|
+
Send Eid Salami to loved ones via **bKash Personal** — no merchant account needed.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 🏗️ Architecture
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
eid-salami/
|
|
11
|
+
├── backend/ # KeystoneJS + Node.js + TypeScript
|
|
12
|
+
│ ├── keystone.ts # App config (MongoDB, sessions, CORS)
|
|
13
|
+
│ ├── keystone/
|
|
14
|
+
│ │ ├── schema.ts # Models: User, SalamiPackage, Order
|
|
15
|
+
│ │ └── routes.ts # REST: create order, submit TrxID, get order/packages
|
|
16
|
+
│ └── seed.ts # Seed default packages
|
|
17
|
+
│
|
|
18
|
+
└── frontend/ # Vite + React + TypeScript
|
|
19
|
+
└── src/
|
|
20
|
+
├── api/client.ts # Axios client
|
|
21
|
+
├── pages/
|
|
22
|
+
│ ├── HomePage.tsx # Landing page
|
|
23
|
+
│ └── OrderPage.tsx # 4-step order form
|
|
24
|
+
└── components/
|
|
25
|
+
├── Navbar / Footer / PackageCard
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 💳 Payment Flow (bKash Personal)
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
1. User picks package + fills details
|
|
34
|
+
↓
|
|
35
|
+
2. POST /api/orders/create
|
|
36
|
+
→ Order saved (status: pending)
|
|
37
|
+
→ Returns your bKash number + amount
|
|
38
|
+
↓
|
|
39
|
+
3. User sends money via bKash app to YOUR number
|
|
40
|
+
then pastes TrxID into the form
|
|
41
|
+
↓
|
|
42
|
+
4. POST /api/orders/submit-trxid
|
|
43
|
+
→ Order updated (status: pending_verification)
|
|
44
|
+
↓
|
|
45
|
+
5. YOU open KeystoneJS admin panel
|
|
46
|
+
→ Check your bKash inbox for the TrxID
|
|
47
|
+
→ Set paymentStatus = "completed"
|
|
48
|
+
→ Set deliveryStatus = "sent"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 🚀 Quick Start
|
|
54
|
+
|
|
55
|
+
### 1. Install
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
npm install # from root (installs both workspaces)
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### 2. Configure backend
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
cd backend
|
|
65
|
+
cp .env.example .env
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Edit `.env`:
|
|
69
|
+
|
|
70
|
+
```env
|
|
71
|
+
MONGODB_URI=mongodb://localhost:27017/eid-salami
|
|
72
|
+
SESSION_SECRET=any_random_32_char_string_here
|
|
73
|
+
BKASH_PERSONAL_NUMBER=01XXXXXXXXX # ← YOUR bKash number
|
|
74
|
+
FRONTEND_URL=http://localhost:5173
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### 3. Run
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
# Terminal 1
|
|
81
|
+
cd backend && npx keystone dev
|
|
82
|
+
|
|
83
|
+
# Terminal 2
|
|
84
|
+
cd frontend && npm run dev
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
- **Frontend:** http://localhost:5173
|
|
88
|
+
- **Admin Panel:** http://localhost:3000/keystonejs
|
|
89
|
+
|
|
90
|
+
### 4. First run setup
|
|
91
|
+
|
|
92
|
+
On first launch, Keystone will ask you to create an admin user. After that:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
cd backend && npx ts-node seed.ts
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
This creates 5 default packages: ৳100, ৳250, ৳500, ৳1000, ৳2000.
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## 🛡️ Admin Panel Workflow
|
|
103
|
+
|
|
104
|
+
Every time a user submits a TrxID:
|
|
105
|
+
|
|
106
|
+
1. Go to http://localhost:3000/keystonejs/orders
|
|
107
|
+
2. Orders with **"Pending Verification"** status need your attention
|
|
108
|
+
3. Open your bKash app and verify the TrxID matches the amount
|
|
109
|
+
4. If correct: set `paymentStatus = Completed`, `deliveryStatus = Sent`
|
|
110
|
+
5. If fake: set `paymentStatus = Failed`, add a note in `adminNote`
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## 🔒 TrxID Duplicate Protection
|
|
115
|
+
|
|
116
|
+
The backend prevents the same TrxID from being used on multiple orders — if a user tries to reuse a TrxID, they get an error message.
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## 📦 Tech Stack
|
|
121
|
+
|
|
122
|
+
| | |
|
|
123
|
+
|---|---|
|
|
124
|
+
| Backend | KeystoneJS 6 (headless CMS + GraphQL + custom REST) |
|
|
125
|
+
| Database | MongoDB |
|
|
126
|
+
| Payment | bKash Personal (manual TrxID verification) |
|
|
127
|
+
| Runtime | Node.js + TypeScript |
|
|
128
|
+
| Frontend | React 18 + Vite + TypeScript + CSS Modules |
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
ঈদ মোবারক! 🌙
|
|
133
|
+
# eid-salami
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# ─── Database ──────────────────────────────────────────────────────────────────
|
|
2
|
+
# Option A — cPanel PostgreSQL:
|
|
3
|
+
# DATABASE_URL=postgresql://DB_USER:DB_PASSWORD@localhost:5432/DB_NAME
|
|
4
|
+
#
|
|
5
|
+
# Option B — Neon.tech free PostgreSQL (if cPanel has no PostgreSQL):
|
|
6
|
+
# DATABASE_URL=postgresql://user:password@ep-xxx.us-east-1.aws.neon.tech/neondb?sslmode=require
|
|
7
|
+
|
|
8
|
+
DATABASE_URL=postgresql://neondb_owner:npg_7kTr9jUMhveZ@ep-lingering-paper-a1b0e5g5-pooler.ap-southeast-1.aws.neon.tech/neondb?sslmode=require&channel_binding=require
|
|
9
|
+
|
|
10
|
+
# ─── Session ───────────────────────────────────────────────────────────────────
|
|
11
|
+
# Any random string, 32+ characters
|
|
12
|
+
SESSION_SECRET=asdfa4s5dfasa4df54sa4adf35s1df34sdf35s4fasdfasdfasdfasdfa
|
|
13
|
+
|
|
14
|
+
# ─── bKash Personal ────────────────────────────────────────────────────────────
|
|
15
|
+
# Your personal bKash number — users will send money to this number
|
|
16
|
+
BKASH_PERSONAL_NUMBER=01956721941
|
|
17
|
+
|
|
18
|
+
# ─── App ───────────────────────────────────────────────────────────────────────
|
|
19
|
+
# Your actual domain where the frontend is hosted
|
|
20
|
+
FRONTEND_URL=https://devsadik.me
|
|
21
|
+
|
|
22
|
+
# Port — cPanel Node.js will set this automatically, leave as 3000 for local dev
|
|
23
|
+
PORT=3000
|
|
24
|
+
|
|
25
|
+
NODE_ENV=production
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const nextConfig = {
|
|
2
|
+
typescript: {
|
|
3
|
+
ignoreBuildErrors: true,
|
|
4
|
+
},
|
|
5
|
+
eslint: {
|
|
6
|
+
ignoreDuringBuilds: true,
|
|
7
|
+
},
|
|
8
|
+
// We use transpilePackages for the custom admin-ui pages in the ./admin folder
|
|
9
|
+
// as they import ts files into nextjs
|
|
10
|
+
transpilePackages: ['../../admin'],
|
|
11
|
+
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
module.exports = nextConfig
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { getApp } from '@keystone-6/core/___internal-do-not-use-will-break-in-patch/admin-ui/pages/App';
|
|
2
|
+
|
|
3
|
+
import * as view0 from "@keystone-6/core/___internal-do-not-use-will-break-in-patch/admin-ui/id-field-view";
|
|
4
|
+
import * as view1 from "@keystone-6/core/fields/types/text/views";
|
|
5
|
+
import * as view2 from "@keystone-6/core/fields/types/password/views";
|
|
6
|
+
import * as view3 from "@keystone-6/core/fields/types/checkbox/views";
|
|
7
|
+
import * as view4 from "@keystone-6/core/fields/types/timestamp/views";
|
|
8
|
+
import * as view5 from "@keystone-6/fields-document/views";
|
|
9
|
+
import * as view6 from "@keystone-6/core/fields/types/float/views";
|
|
10
|
+
import * as view7 from "@keystone-6/core/fields/types/integer/views";
|
|
11
|
+
import * as view8 from "@keystone-6/core/fields/types/relationship/views";
|
|
12
|
+
import * as view9 from "@keystone-6/core/fields/types/select/views";
|
|
13
|
+
|
|
14
|
+
var adminConfig = {};
|
|
15
|
+
|
|
16
|
+
export default getApp({
|
|
17
|
+
lazyMetadataQuery: {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"keystone","loc":{"start":22,"end":30}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"adminMeta","loc":{"start":39,"end":48}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"lists","loc":{"start":59,"end":64}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"key","loc":{"start":77,"end":80}},"arguments":[],"directives":[],"loc":{"start":77,"end":80}},{"kind":"Field","name":{"kind":"Name","value":"isHidden","loc":{"start":91,"end":99}},"arguments":[],"directives":[],"loc":{"start":91,"end":99}},{"kind":"Field","name":{"kind":"Name","value":"fields","loc":{"start":110,"end":116}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"path","loc":{"start":131,"end":135}},"arguments":[],"directives":[],"loc":{"start":131,"end":135}},{"kind":"Field","name":{"kind":"Name","value":"createView","loc":{"start":148,"end":158}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"fieldMode","loc":{"start":175,"end":184}},"arguments":[],"directives":[],"loc":{"start":175,"end":184}}],"loc":{"start":159,"end":198}},"loc":{"start":148,"end":198}}],"loc":{"start":117,"end":210}},"loc":{"start":110,"end":210}}],"loc":{"start":65,"end":220}},"loc":{"start":59,"end":220}}],"loc":{"start":49,"end":228}},"loc":{"start":39,"end":228}}],"loc":{"start":31,"end":234}},"loc":{"start":22,"end":234}},{"kind":"Field","name":{"kind":"Name","value":"authenticatedItem"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"User"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}}]}}]}}]}}]},
|
|
18
|
+
fieldViews: [view0,view1,view2,view3,view4,view5,view6,view7,view8,view9],
|
|
19
|
+
adminMetaHash: "1pg71jx",
|
|
20
|
+
adminConfig: adminConfig,
|
|
21
|
+
apiPath: "/api/graphql",
|
|
22
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { HomePage as default } from '@keystone-6/core/___internal-do-not-use-will-break-in-patch/admin-ui/pages/HomePage';
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { getSigninPage } from '@keystone-6/auth/pages/SigninPage'
|
|
2
|
+
|
|
3
|
+
export default getSigninPage({"identityField":"email","secretField":"password","mutationName":"authenticateUserWithPassword","successTypename":"UserAuthenticationWithPasswordSuccess","failureTypename":"UserAuthenticationWithPasswordFailure"});
|
|
Binary file
|