added initial schema.prisma, populate brand and equipment
This commit is contained in:
@@ -10,11 +10,6 @@
|
||||
"static/chunks/main-app.js",
|
||||
"static/css/app/layout.css",
|
||||
"static/chunks/app/layout.js"
|
||||
],
|
||||
"/_not-found/page": [
|
||||
"static/chunks/webpack.js",
|
||||
"static/chunks/main-app.js",
|
||||
"static/chunks/app/_not-found/page.js"
|
||||
]
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,4 +1,3 @@
|
||||
{
|
||||
"/_not-found/page": "app/_not-found/page.js",
|
||||
"/page": "app/page.js"
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
-10
File diff suppressed because one or more lines are too long
@@ -125,7 +125,7 @@
|
||||
/******/
|
||||
/******/ /* webpack/runtime/getFullHash */
|
||||
/******/ (() => {
|
||||
/******/ __webpack_require__.h = () => ("7d69ca667ad26cb0")
|
||||
/******/ __webpack_require__.h = () => ("f0dfd0de6fcf6560")
|
||||
/******/ })();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
||||
|
||||
@@ -35,7 +35,7 @@ eval(__webpack_require__.ts("var __dirname = \"/\";\n(()=>{\"use strict\";var e=
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"67f6fea2ca57\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9hcHAvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLGNBQWM7QUFDN0IsSUFBSSxJQUFVLElBQUksaUJBQWlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9hcHAvZ2xvYmFscy5jc3M/M2NhOSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBcIjY3ZjZmZWEyY2E1N1wiXG5pZiAobW9kdWxlLmhvdCkgeyBtb2R1bGUuaG90LmFjY2VwdCgpIH1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/app/globals.css\n"));
|
||||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"bad593a54998\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9hcHAvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLGNBQWM7QUFDN0IsSUFBSSxJQUFVLElBQUksaUJBQWlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9hcHAvZ2xvYmFscy5jc3M/M2NhOSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBcImJhZDU5M2E1NDk5OFwiXG5pZiAobW9kdWxlLmhvdCkgeyBtb2R1bGUuaG90LmFjY2VwdCgpIH1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/app/globals.css\n"));
|
||||
|
||||
/***/ }),
|
||||
|
||||
|
||||
@@ -180,7 +180,7 @@
|
||||
/******/
|
||||
/******/ /* webpack/runtime/getFullHash */
|
||||
/******/ !function() {
|
||||
/******/ __webpack_require__.h = function() { return "617478b79c4dd673"; }
|
||||
/******/ __webpack_require__.h = function() { return "62aa9cdc7f16b846"; }
|
||||
/******/ }();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/global */
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
{"c":["app/layout","webpack"],"r":["app/_not-found/page"],"m":["(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-client-pages-loader.js?absolutePagePath=%2Fhome%2Fnextjs%2Fscrap%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-error.js&page=%2F_not-found%2Fpage!","(app-pages-browser)/./node_modules/next/dist/client/components/not-found-error.js"]}
|
||||
@@ -0,0 +1,22 @@
|
||||
"use strict";
|
||||
/*
|
||||
* ATTENTION: An "eval-source-map" devtool has been used.
|
||||
* This devtool is neither made for production nor for readable output files.
|
||||
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
||||
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
||||
* or disable the default devtool with "devtool: false".
|
||||
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
||||
*/
|
||||
self["webpackHotUpdate_N_E"]("app/layout",{
|
||||
|
||||
/***/ "(app-pages-browser)/./src/app/globals.css":
|
||||
/*!*****************************!*\
|
||||
!*** ./src/app/globals.css ***!
|
||||
\*****************************/
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"ff6038e0c357\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9hcHAvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLGNBQWM7QUFDN0IsSUFBSSxJQUFVLElBQUksaUJBQWlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9hcHAvZ2xvYmFscy5jc3M/M2NhOSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBcImZmNjAzOGUwYzM1N1wiXG5pZiAobW9kdWxlLmhvdCkgeyBtb2R1bGUuaG90LmFjY2VwdCgpIH1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/app/globals.css\n"));
|
||||
|
||||
/***/ })
|
||||
|
||||
});
|
||||
@@ -0,0 +1,22 @@
|
||||
"use strict";
|
||||
/*
|
||||
* ATTENTION: An "eval-source-map" devtool has been used.
|
||||
* This devtool is neither made for production nor for readable output files.
|
||||
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
||||
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
||||
* or disable the default devtool with "devtool: false".
|
||||
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
||||
*/
|
||||
self["webpackHotUpdate_N_E"]("app/layout",{
|
||||
|
||||
/***/ "(app-pages-browser)/./src/app/globals.css":
|
||||
/*!*****************************!*\
|
||||
!*** ./src/app/globals.css ***!
|
||||
\*****************************/
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (\"bad593a54998\");\nif (true) { module.hot.accept() }\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9hcHAvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLGNBQWM7QUFDN0IsSUFBSSxJQUFVLElBQUksaUJBQWlCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9hcHAvZ2xvYmFscy5jc3M/M2NhOSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBcImJhZDU5M2E1NDk5OFwiXG5pZiAobW9kdWxlLmhvdCkgeyBtb2R1bGUuaG90LmFjY2VwdCgpIH1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/app/globals.css\n"));
|
||||
|
||||
/***/ })
|
||||
|
||||
});
|
||||
@@ -0,0 +1 @@
|
||||
{"c":["app/layout","webpack"],"r":[],"m":[]}
|
||||
@@ -0,0 +1,18 @@
|
||||
"use strict";
|
||||
/*
|
||||
* ATTENTION: An "eval-source-map" devtool has been used.
|
||||
* This devtool is neither made for production nor for readable output files.
|
||||
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
||||
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
||||
* or disable the default devtool with "devtool: false".
|
||||
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
||||
*/
|
||||
self["webpackHotUpdate_N_E"]("webpack",{},
|
||||
/******/ function(__webpack_require__) { // webpackRuntimeModules
|
||||
/******/ /* webpack/runtime/getFullHash */
|
||||
/******/ !function() {
|
||||
/******/ __webpack_require__.h = function() { return "e0539e692a1e233c"; }
|
||||
/******/ }();
|
||||
/******/
|
||||
/******/ }
|
||||
);
|
||||
@@ -0,0 +1,18 @@
|
||||
"use strict";
|
||||
/*
|
||||
* ATTENTION: An "eval-source-map" devtool has been used.
|
||||
* This devtool is neither made for production nor for readable output files.
|
||||
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
||||
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
||||
* or disable the default devtool with "devtool: false".
|
||||
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
||||
*/
|
||||
self["webpackHotUpdate_N_E"]("webpack",{},
|
||||
/******/ function(__webpack_require__) { // webpackRuntimeModules
|
||||
/******/ /* webpack/runtime/getFullHash */
|
||||
/******/ !function() {
|
||||
/******/ __webpack_require__.h = function() { return "62aa9cdc7f16b846"; }
|
||||
/******/ }();
|
||||
/******/
|
||||
/******/ }
|
||||
);
|
||||
File diff suppressed because one or more lines are too long
@@ -23,5 +23,8 @@
|
||||
"@types/react-dom": "^18",
|
||||
"postcss": "^8",
|
||||
"tailwindcss": "^3.4.1"
|
||||
},
|
||||
"prisma": {
|
||||
"seed": "ts-node prisma/seed.ts"
|
||||
}
|
||||
}
|
||||
|
||||
+78
-1
@@ -10,5 +10,82 @@ generator client {
|
||||
|
||||
datasource db {
|
||||
provider = "postgresql"
|
||||
url = env("10.0.0.124:5432")
|
||||
url = env("DATABASE_URL")
|
||||
}
|
||||
|
||||
model Vehicle {
|
||||
id Int @id @default(autoincrement())
|
||||
brand String
|
||||
model String
|
||||
variant String?
|
||||
year Int
|
||||
kilometers Int
|
||||
condition String
|
||||
location String
|
||||
latitude String
|
||||
longitude String
|
||||
gasType String
|
||||
images String[]
|
||||
description String
|
||||
service String
|
||||
inspectedAt DateTime?
|
||||
|
||||
updatedAt DateTime @updatedAt
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
auctions Auction[] // Relation to Auction
|
||||
equipment Equipment[] @relation("VehicleEquipment")
|
||||
}
|
||||
|
||||
model Equipment {
|
||||
id Int @id @default(autoincrement())
|
||||
name String
|
||||
|
||||
vehicles Vehicle[] @relation("VehicleEquipment")
|
||||
}
|
||||
|
||||
model Auction {
|
||||
id Int @id @default(autoincrement())
|
||||
vehicleId Int
|
||||
userId Int
|
||||
|
||||
askingPrice Float
|
||||
description String?
|
||||
|
||||
vehicle Vehicle @relation(fields: [vehicleId], references: [id])
|
||||
user User @relation(fields: [userId], references: [id])
|
||||
|
||||
updatedAt DateTime @updatedAt
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
bids Bid[] // Relation to Bid
|
||||
}
|
||||
|
||||
model User {
|
||||
id Int @id @default(autoincrement())
|
||||
name String
|
||||
company String?
|
||||
address String
|
||||
latitude String
|
||||
longitude String
|
||||
phone String
|
||||
privatePhone String?
|
||||
email String
|
||||
cvr String?
|
||||
|
||||
updatedAt DateTime @updatedAt
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
auctions Auction[] // Relation to Auction
|
||||
}
|
||||
|
||||
model Bid {
|
||||
id Int @id @default(autoincrement())
|
||||
auctionId Int
|
||||
bid Float
|
||||
|
||||
auction Auction @relation(fields: [auctionId], references: [id])
|
||||
|
||||
updatedAt DateTime @updatedAt
|
||||
createdAt DateTime @default(now())
|
||||
}
|
||||
|
||||
+188
@@ -0,0 +1,188 @@
|
||||
import { PrismaClient } from '@prisma/client';
|
||||
|
||||
const prisma = new PrismaClient();
|
||||
|
||||
const equipmentData = [
|
||||
"aut.",
|
||||
"aut.gear/tiptronic",
|
||||
"ratgearskifte",
|
||||
"alu.",
|
||||
"15\" Alufælge",
|
||||
"16\" Alufælge",
|
||||
"17\" Alufælge",
|
||||
"18\" Alufælge",
|
||||
"19\" Alufælge",
|
||||
"20\" Alufælge",
|
||||
"21\" Alufælge",
|
||||
"22\" Alufælge",
|
||||
"vinterhjul",
|
||||
"varme i rat",
|
||||
"airc.",
|
||||
"fuldaut. klima",
|
||||
"2 zone klima",
|
||||
"3 zone klima",
|
||||
"4 zone klima",
|
||||
"køl i handskerum",
|
||||
"elektrisk",
|
||||
"kabinevarmer",
|
||||
"motorkabinevarmer",
|
||||
"alarm",
|
||||
"el-klapbare sidespejle",
|
||||
"el-klapbare sidespejle m. varme",
|
||||
"el-spejle m/varme",
|
||||
"automatisk parkerings system",
|
||||
"360° kamera",
|
||||
"bakkamera",
|
||||
"parkeringssensor (bag)",
|
||||
"parkeringssensor (for)",
|
||||
"adaptiv fartpilot",
|
||||
"automatisk",
|
||||
"start/stop",
|
||||
"el betjent bagklap",
|
||||
"dæktryksmåler",
|
||||
"adaptiv undervogn",
|
||||
"elektrisk parkeringsbremse",
|
||||
"træthedsregistrering",
|
||||
"skiltegenkendelse",
|
||||
"CD",
|
||||
"CD/radio",
|
||||
"radio med CDboks",
|
||||
"el komfortsæder",
|
||||
"sportssæder",
|
||||
"integrerede børnesæder",
|
||||
"3 individuelle sæder i bag",
|
||||
"lygtevasker",
|
||||
"tågelygter",
|
||||
"bi-xenon",
|
||||
"xenonlys",
|
||||
"automatisk lys",
|
||||
"fjernlysassistent",
|
||||
"kurvelys",
|
||||
"LED kørelys",
|
||||
"fuld LED forlygter",
|
||||
"airbag",
|
||||
"db. airbags",
|
||||
"4 airbags",
|
||||
"6 airbags",
|
||||
"7 airbags",
|
||||
"8 airbags",
|
||||
"9 airbags",
|
||||
"10 airbags",
|
||||
"ABS",
|
||||
"antispin",
|
||||
"c.lås",
|
||||
"fjernb. c.lås",
|
||||
"nøglefri betjening",
|
||||
"fartpilot",
|
||||
"kørecomputer",
|
||||
"infocenter",
|
||||
"startspærre",
|
||||
"varme i forrude",
|
||||
"auto. nedbl. Bakspejl",
|
||||
"udv. temp. måler",
|
||||
"regnsensor",
|
||||
"sædevarme",
|
||||
"højdejust. forsæder",
|
||||
"højdejust. førersæde",
|
||||
"el indst. forsæder",
|
||||
"el indst. førersæde m. memory",
|
||||
"soltag",
|
||||
"el-soltag",
|
||||
"glastag",
|
||||
"el-ruder",
|
||||
"4x el-ruder",
|
||||
"el-spejle",
|
||||
"DAB radio",
|
||||
"DAB+ radio",
|
||||
"navigation",
|
||||
"multifunktionsrat",
|
||||
"håndfrit til mobil",
|
||||
"bluetooth",
|
||||
"musikstreaming via bluetooth",
|
||||
"nightvision",
|
||||
"digitalt cockpit",
|
||||
"headup display",
|
||||
"Android Auto",
|
||||
"Apple CarPlay",
|
||||
"Internet",
|
||||
"trådløs",
|
||||
"mobilopladning",
|
||||
"SD kortlæser",
|
||||
"USB tilslutning",
|
||||
"AUX tilslutning",
|
||||
"armlæn",
|
||||
"isofix",
|
||||
"bagagerumsdækken",
|
||||
"kopholder",
|
||||
"stofindtræk",
|
||||
"dellæder",
|
||||
"læderindtræk",
|
||||
"kunstlæder",
|
||||
"splitbagsæde",
|
||||
"læderrat",
|
||||
"ESP",
|
||||
"servo",
|
||||
"vognbaneassistent",
|
||||
"blindvinkelsassistent",
|
||||
"automatisk nødbremsesystem",
|
||||
"sænket",
|
||||
"tagræling",
|
||||
"tonede ruder",
|
||||
"mørktonede ruder i bag",
|
||||
"1 ejer",
|
||||
"ikke ryger",
|
||||
"service ok",
|
||||
"brugtbilsattest",
|
||||
"træk",
|
||||
"aftag. træk",
|
||||
"svingbart træk (manuel)",
|
||||
"svingbart træk (elektrisk)",
|
||||
"diesel partikel filter",
|
||||
"undervognsbehandlet"
|
||||
];
|
||||
|
||||
const brandData = [
|
||||
"Abarth", "AC", "Adler", "Aiways", "Alfa Romeo", "Alpina", "Aston Martin",
|
||||
"Auburn", "Audi", "Austin", "Austin Healey", "Auto Union", "Bentley",
|
||||
"BMW", "Buick", "BYD", "Cadillac", "CF Moto", "Chevrolet", "Chrysler",
|
||||
"Citroën", "Corvette", "Cupra", "Dacia", "Daewoo", "Daihatsu", "Daimler",
|
||||
"Dallara", "DeLorean", "DKW", "Dodge", "DS", "Ferrari", "Fiat", "Fisker",
|
||||
"Ford", "GMC", "Honda", "Hongqi", "Hyundai", "JAC", "Jaguar", "Jeep",
|
||||
"Kalmar", "KGM", "Kia", "Lada", "Lamborghini", "Lancia", "Land Rover",
|
||||
"Lexus", "Lincoln", "Lloyd", "Lotus", "Lynk & Co", "MAN", "Maserati",
|
||||
"Maxus", "Maybach", "Mazda", "McLaren", "Mercedes", "Mercury",
|
||||
"Messerschmitt", "MG", "MINI", "Mitsubishi", "Morgan", "Morris", "NIO",
|
||||
"Nissan", "Oldsmobile", "Opel", "Packard", "Peugeot", "Plymouth",
|
||||
"Polestar", "Pontiac", "Porsche", "Renault", "Rolls-Royce", "Rover",
|
||||
"Seat", "Seres", "Singer", "Skoda", "Smart", "SsangYong", "Studebaker",
|
||||
"Subaru", "Suzuki", "Saab", "Tesla", "Toyota", "Triumph", "Vauxhall",
|
||||
"Volvo", "Voyah", "VW", "Wolseley", "Xpeng", "Yugo"
|
||||
];
|
||||
|
||||
async function main() {
|
||||
for (const equipment of equipmentData) {
|
||||
await prisma.equipment.create({
|
||||
data: { name: equipment },
|
||||
});
|
||||
}
|
||||
console.log('Equipment data seeded');
|
||||
|
||||
|
||||
// Seed Brands
|
||||
for (const brand of brandData) {
|
||||
await prisma.brand.create({
|
||||
data: { name: brand },
|
||||
});
|
||||
}
|
||||
console.log('Brand data seeded');
|
||||
}
|
||||
|
||||
|
||||
main()
|
||||
.catch((e) => {
|
||||
console.error(e);
|
||||
process.exit(1);
|
||||
})
|
||||
.finally(async () => {
|
||||
await prisma.$disconnect();
|
||||
});
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
import { PiArrowDownThin } from "react-icons/pi";
|
||||
import AuctionProcess from "./components/AuctionProcess";
|
||||
import { FaArrowDownLong } from "react-icons/fa6";
|
||||
|
||||
export default function Home() {
|
||||
return (
|
||||
@@ -15,7 +15,7 @@ export default function Home() {
|
||||
<div className="text-center text-3xl mt-14 border-b border-b-black max-w-1920 max-h-1080 mx-auto pb-16">
|
||||
<p className="text-bold">Hvordan fungere det?</p>
|
||||
<p>klik her!</p>
|
||||
<FaArrowDownLong className="text-7xl mx-auto mt-10" />
|
||||
<PiArrowDownThin className="text-7xl mx-auto mt-10" />
|
||||
</div>
|
||||
<section>
|
||||
<AuctionProcess />
|
||||
|
||||
Reference in New Issue
Block a user