Oluşturuldu
This commit is contained in:
commit
673cceef53
5
.env
Normal file
5
.env
Normal file
@ -0,0 +1,5 @@
|
||||
DB_NAME=sina
|
||||
DB_USER=sina
|
||||
DB_PASS=sina
|
||||
DB_HOST=127.0.0.1
|
||||
DB_DIAL=mysql
|
||||
6
api/apis.js
Normal file
6
api/apis.js
Normal file
@ -0,0 +1,6 @@
|
||||
const express = require("express");
|
||||
const app = express();
|
||||
|
||||
app.use("/v1", require("./v1/v1"));
|
||||
|
||||
module.exports = app;
|
||||
8
api/v1/authors/app.js
Normal file
8
api/v1/authors/app.js
Normal file
@ -0,0 +1,8 @@
|
||||
const express = require("express");
|
||||
const app = express();
|
||||
const db_authors = require("./db");
|
||||
|
||||
app.use("/get", require("./routes/get"));
|
||||
app.use("/post", require("./routes/post"));
|
||||
|
||||
module.exports = app;
|
||||
15
api/v1/authors/db.js
Normal file
15
api/v1/authors/db.js
Normal file
@ -0,0 +1,15 @@
|
||||
const { DataTypes } = require("sequelize");
|
||||
const database = require("../../../database/db");
|
||||
|
||||
module.exports = database.define("authors", {
|
||||
name: {
|
||||
type: DataTypes.CHAR(100),
|
||||
unique: false,
|
||||
allowNull: false
|
||||
},
|
||||
biography: {
|
||||
type: DataTypes.TEXT,
|
||||
unique: false,
|
||||
allowNull: false
|
||||
}
|
||||
});
|
||||
53
api/v1/authors/middlewares/checks.js
Normal file
53
api/v1/authors/middlewares/checks.js
Normal file
@ -0,0 +1,53 @@
|
||||
exports.p_create = async function(name, biography){
|
||||
const data = {
|
||||
name: {
|
||||
value: name,
|
||||
min: 3,
|
||||
max: 50,
|
||||
success: false
|
||||
},
|
||||
biography: {
|
||||
value: biography,
|
||||
min: 10,
|
||||
max: 2500,
|
||||
success: false
|
||||
}
|
||||
};
|
||||
|
||||
const returnData = {
|
||||
status: null,
|
||||
success: null
|
||||
};
|
||||
|
||||
const keys = Object.keys(data);
|
||||
|
||||
keys.forEach(key => {
|
||||
const obj = data[key];
|
||||
const value_len = obj.value.length
|
||||
|
||||
if(value_len > obj.min && value_len < obj.max){
|
||||
obj.success = true
|
||||
};
|
||||
});
|
||||
|
||||
keys.forEach(key => {
|
||||
try {
|
||||
const success = data[key].success;
|
||||
if(returnData.success !== false && success !== true){
|
||||
returnData.success = false;
|
||||
}else if (returnData.success !== false && success !== false){
|
||||
returnData.success = true;
|
||||
};
|
||||
} catch (error) {
|
||||
returnData.success = false;
|
||||
}
|
||||
});
|
||||
|
||||
if(returnData.success === false || returnData.success === true){
|
||||
returnData.status = 200;
|
||||
}else{
|
||||
returnData.status = 404;
|
||||
};
|
||||
|
||||
return returnData;
|
||||
};
|
||||
8
api/v1/authors/middlewares/process.js
Normal file
8
api/v1/authors/middlewares/process.js
Normal file
@ -0,0 +1,8 @@
|
||||
const db = require("../db");
|
||||
|
||||
exports.p_create = async function(name, biography){
|
||||
return await db.create({
|
||||
name: name,
|
||||
biography: biography
|
||||
});
|
||||
};
|
||||
48
api/v1/authors/routes/get.js
Normal file
48
api/v1/authors/routes/get.js
Normal file
@ -0,0 +1,48 @@
|
||||
const express = require("express");
|
||||
const db_authors = require("../db");
|
||||
const db_books = require("../../books/db");
|
||||
const { Op } = require("sequelize");
|
||||
const app = express();
|
||||
|
||||
app.get("/all", async (req, res) => {
|
||||
res.json(await db_authors.findAll({
|
||||
include: {
|
||||
model: db_books,
|
||||
as: "book"
|
||||
}
|
||||
}));
|
||||
});
|
||||
|
||||
app.get("/top20", async (req, res) => {
|
||||
res.json(await db_authors.findAll({
|
||||
include: {
|
||||
model: db_books,
|
||||
as: "book"
|
||||
},
|
||||
limit: 20,
|
||||
order: [['createdAt', 'DESC']]
|
||||
}));
|
||||
});
|
||||
|
||||
app.get("/search", async (req, res) => {
|
||||
res.json(await db_authors.findAll({
|
||||
where: {
|
||||
name: req.query.q
|
||||
},
|
||||
limit: 20
|
||||
}));
|
||||
});
|
||||
|
||||
app.get("/:author_id", async (req, res) => {
|
||||
res.json(await db_authors.findOne({
|
||||
where: {
|
||||
id: req.params.author_id
|
||||
},
|
||||
include: {
|
||||
model: db_books,
|
||||
as: "book"
|
||||
}
|
||||
}));
|
||||
});
|
||||
|
||||
module.exports = app;
|
||||
21
api/v1/authors/routes/post.js
Normal file
21
api/v1/authors/routes/post.js
Normal file
@ -0,0 +1,21 @@
|
||||
const express = require("express");
|
||||
const checks = require("../middlewares/checks");
|
||||
const process = require("../middlewares/process");
|
||||
const app = express();
|
||||
|
||||
app.post("/create", async (req, res) => {
|
||||
if(req.body.name && req.body.biography){
|
||||
const check = await checks.p_create(req.body.name, req.body.biography);
|
||||
if(check.status === 200 && check.success === true){
|
||||
await process.p_create(req.body.name, req.body.biography);
|
||||
};
|
||||
res.json(check);
|
||||
}else{
|
||||
res.json({
|
||||
Status: 200,
|
||||
Success: false
|
||||
});
|
||||
};
|
||||
});
|
||||
|
||||
module.exports = app;
|
||||
8
api/v1/books/app.js
Normal file
8
api/v1/books/app.js
Normal file
@ -0,0 +1,8 @@
|
||||
const express = require("express");
|
||||
const app = express();
|
||||
const db_books = require("./db");
|
||||
|
||||
app.use("/get", require("./routes/get"));
|
||||
app.use("/post", require("./routes/post"));
|
||||
|
||||
module.exports = app;
|
||||
15
api/v1/books/db.js
Normal file
15
api/v1/books/db.js
Normal file
@ -0,0 +1,15 @@
|
||||
const { DataTypes } = require("sequelize");
|
||||
const database = require("../../../database/db");
|
||||
|
||||
module.exports = database.define("books", {
|
||||
title: {
|
||||
type: DataTypes.CHAR(100),
|
||||
unique: false,
|
||||
allowNull: false
|
||||
},
|
||||
description: {
|
||||
type: DataTypes.TEXT,
|
||||
unique: false,
|
||||
allowNull: false
|
||||
}
|
||||
});
|
||||
76
api/v1/books/middlewares/checks.js
Normal file
76
api/v1/books/middlewares/checks.js
Normal file
@ -0,0 +1,76 @@
|
||||
const db = require("../db");
|
||||
const author_db = require("../../authors/db");
|
||||
|
||||
exports.p_create = async function(title, description, author_id){
|
||||
const data = {
|
||||
title: {
|
||||
value: title,
|
||||
min: 3,
|
||||
max: 100,
|
||||
type: "length",
|
||||
success: false
|
||||
},
|
||||
description: {
|
||||
value: description,
|
||||
min: 10,
|
||||
max: 2500,
|
||||
type: "length",
|
||||
success: false
|
||||
},
|
||||
author_id: {
|
||||
value: author_id,
|
||||
func: async (value) => {
|
||||
return await author_db.findOne({
|
||||
where: {
|
||||
id: value
|
||||
}
|
||||
}).then(res => {
|
||||
return (res) ? true : false;
|
||||
});
|
||||
},
|
||||
type: "id_author",
|
||||
success: false
|
||||
}
|
||||
};
|
||||
|
||||
const returnData = {
|
||||
status: null,
|
||||
success: null
|
||||
};
|
||||
|
||||
const keys = Object.keys(data);
|
||||
|
||||
keys.forEach(async key => {
|
||||
const obj = data[key];
|
||||
if(obj.type === "length"){
|
||||
const value_len = obj.value.length;
|
||||
|
||||
if(value_len > obj.min && value_len < obj.max){
|
||||
obj.success = true
|
||||
};
|
||||
};
|
||||
});
|
||||
|
||||
data.author_id.success = await data.author_id.func(data.author_id.value);
|
||||
|
||||
keys.forEach(key => {
|
||||
try {
|
||||
const success = data[key].success;
|
||||
if(returnData.success !== false && success !== true){
|
||||
returnData.success = false;
|
||||
}else if (returnData.success !== false && success !== false){
|
||||
returnData.success = true;
|
||||
};
|
||||
} catch (error) {
|
||||
returnData.success = false;
|
||||
}
|
||||
});
|
||||
|
||||
if(returnData.success === false || returnData.success === true){
|
||||
returnData.status = 200;
|
||||
}else{
|
||||
returnData.status = 404;
|
||||
};
|
||||
|
||||
return returnData;
|
||||
};
|
||||
20
api/v1/books/middlewares/process.js
Normal file
20
api/v1/books/middlewares/process.js
Normal file
@ -0,0 +1,20 @@
|
||||
const db_books = require("../db");
|
||||
const db_authors = require("../../authors/db");
|
||||
|
||||
exports.p_create = async function(title, description, author_id){
|
||||
const author_result = await db_authors.findOne({
|
||||
where: {
|
||||
id: author_id
|
||||
}
|
||||
});
|
||||
|
||||
if(author_result){
|
||||
const book_result = await db_books.create({
|
||||
title: title,
|
||||
description: description
|
||||
});
|
||||
return await author_result.setBook(book_result);
|
||||
};
|
||||
|
||||
return false;
|
||||
};
|
||||
68
api/v1/books/routes/get.js
Normal file
68
api/v1/books/routes/get.js
Normal file
@ -0,0 +1,68 @@
|
||||
const express = require("express");
|
||||
const db_books = require("../db");
|
||||
const db_authors = require("../../authors/db");
|
||||
const db_quotes = require("../../quotes/db");
|
||||
const { Op } = require("sequelize");
|
||||
const app = express();
|
||||
|
||||
app.get("/all", async (req, res) => {
|
||||
res.json(await db_books.findAll({
|
||||
include: {
|
||||
model: db_authors,
|
||||
as: "author",
|
||||
attributes: ["name"]
|
||||
}
|
||||
}));
|
||||
});
|
||||
|
||||
app.get("/top20", async (req, res) => {
|
||||
res.json(await db_books.findAll({
|
||||
include: {
|
||||
model: db_authors,
|
||||
as: "author",
|
||||
attributes: ["name"]
|
||||
},
|
||||
limit: 20,
|
||||
order: [['createdAt', 'DESC']]
|
||||
}));
|
||||
});
|
||||
|
||||
app.get("/search", async (req, res) => {
|
||||
res.json(await db_books.findAll({
|
||||
where: {
|
||||
title: {
|
||||
[Op.substring]: req.query.q
|
||||
}
|
||||
},
|
||||
include: {
|
||||
model: db_authors,
|
||||
as: "author",
|
||||
attributes: ["name"]
|
||||
},
|
||||
limit: 20,
|
||||
order: [["createdAt", "DESC"]]
|
||||
}));
|
||||
});
|
||||
|
||||
app.get("/:book_id", async (req, res) => {
|
||||
res.json({
|
||||
book: await db_books.findOne({
|
||||
where: {
|
||||
id: req.params.book_id
|
||||
},
|
||||
include: {
|
||||
model: db_authors,
|
||||
as: "author",
|
||||
attributes: ["name"]
|
||||
}
|
||||
}),
|
||||
quotes: await db_quotes.findAll({
|
||||
where: {
|
||||
bookId: req.params.book_id
|
||||
},
|
||||
order: [["createdAt", "DESC"]]
|
||||
})
|
||||
});
|
||||
});
|
||||
|
||||
module.exports = app;
|
||||
21
api/v1/books/routes/post.js
Normal file
21
api/v1/books/routes/post.js
Normal file
@ -0,0 +1,21 @@
|
||||
const express = require("express");
|
||||
const checks = require("../middlewares/checks");
|
||||
const process = require("../middlewares/process");
|
||||
const app = express();
|
||||
|
||||
app.post("/create", async (req, res) => {
|
||||
if(req.body.title && req.body.description && req.body.author_id){
|
||||
const check = await checks.p_create(req.body.title, req.body.description, req.body.author_id);
|
||||
if(check.status === 200 && check.success === true){
|
||||
await process.p_create(req.body.title, req.body.description, req.body.author_id);
|
||||
};
|
||||
res.json(check);
|
||||
}else{
|
||||
res.json({
|
||||
Status: 200,
|
||||
Success: false
|
||||
});
|
||||
};
|
||||
});
|
||||
|
||||
module.exports = app;
|
||||
15
api/v1/logins/db.js
Normal file
15
api/v1/logins/db.js
Normal file
@ -0,0 +1,15 @@
|
||||
const { DataTypes } = require("sequelize");
|
||||
const database = require("../../../database/db");
|
||||
|
||||
module.exports = database.define("logins", {
|
||||
email: {
|
||||
type: DataTypes.CHAR(255),
|
||||
unique: true,
|
||||
allowNull: false
|
||||
},
|
||||
password: {
|
||||
type: DataTypes.CHAR(255),
|
||||
unique: false,
|
||||
allowNull: false
|
||||
}
|
||||
});
|
||||
7
api/v1/quotes/app.js
Normal file
7
api/v1/quotes/app.js
Normal file
@ -0,0 +1,7 @@
|
||||
const express = require("express");
|
||||
const app = express();
|
||||
|
||||
app.use("/get", require("./routes/get"));
|
||||
app.use("/post", require("./routes/post"));
|
||||
|
||||
module.exports = app;
|
||||
15
api/v1/quotes/db.js
Normal file
15
api/v1/quotes/db.js
Normal file
@ -0,0 +1,15 @@
|
||||
const { DataTypes } = require("sequelize");
|
||||
const database = require("../../../database/db");
|
||||
|
||||
module.exports = database.define("quotes", {
|
||||
title: {
|
||||
type: DataTypes.CHAR(100),
|
||||
unique: false,
|
||||
allowNull: false
|
||||
},
|
||||
text: {
|
||||
type: DataTypes.TEXT,
|
||||
unique: false,
|
||||
allowNull: false
|
||||
}
|
||||
});
|
||||
75
api/v1/quotes/middlewares/checks.js
Normal file
75
api/v1/quotes/middlewares/checks.js
Normal file
@ -0,0 +1,75 @@
|
||||
const db_books = require("../../books/db");
|
||||
|
||||
exports.p_create = async function(title, text, book_id){
|
||||
const data = {
|
||||
title: {
|
||||
value: title,
|
||||
min: 3,
|
||||
max: 100,
|
||||
type: "length",
|
||||
success: false
|
||||
},
|
||||
text: {
|
||||
value: text,
|
||||
min: 10,
|
||||
max: 2500,
|
||||
type: "length",
|
||||
success: false
|
||||
},
|
||||
book_id: {
|
||||
value: book_id,
|
||||
func: async (value) => {
|
||||
return await db_books.findOne({
|
||||
where: {
|
||||
id: value
|
||||
}
|
||||
}).then(res => {
|
||||
return (res) ? true : false;
|
||||
});
|
||||
},
|
||||
type: "book_id",
|
||||
success: false
|
||||
}
|
||||
};
|
||||
|
||||
const returnData = {
|
||||
status: null,
|
||||
success: null
|
||||
};
|
||||
|
||||
const keys = Object.keys(data);
|
||||
|
||||
keys.forEach(async key => {
|
||||
const obj = data[key];
|
||||
if(obj.type === "length"){
|
||||
const value_len = obj.value.length;
|
||||
|
||||
if(value_len > obj.min && value_len < obj.max){
|
||||
obj.success = true
|
||||
};
|
||||
};
|
||||
});
|
||||
|
||||
data.book_id.success = await data.book_id.func(data.book_id.value);
|
||||
|
||||
keys.forEach(key => {
|
||||
try {
|
||||
const success = data[key].success;
|
||||
if(returnData.success !== false && success !== true){
|
||||
returnData.success = false;
|
||||
}else if (returnData.success !== false && success !== false){
|
||||
returnData.success = true;
|
||||
};
|
||||
} catch (error) {
|
||||
returnData.success = false;
|
||||
}
|
||||
});
|
||||
|
||||
if(returnData.success === false || returnData.success === true){
|
||||
returnData.status = 200;
|
||||
}else{
|
||||
returnData.status = 404;
|
||||
};
|
||||
|
||||
return returnData;
|
||||
}
|
||||
25
api/v1/quotes/middlewares/process.js
Normal file
25
api/v1/quotes/middlewares/process.js
Normal file
@ -0,0 +1,25 @@
|
||||
const db_books = require("../../books/db");
|
||||
const db_authors = require("../../authors/db");
|
||||
const db_quotes = require("../db");
|
||||
|
||||
exports.p_create = async function(title, text, book_id, user_id){
|
||||
const book_result = await db_books.findOne({
|
||||
where: {
|
||||
id: book_id
|
||||
}
|
||||
});
|
||||
|
||||
const user_result = true;
|
||||
|
||||
if(book_result && user_result){
|
||||
const quotes_result = await db_quotes.create({
|
||||
title: title,
|
||||
text: text,
|
||||
bookId: book_id,
|
||||
userId: user_id
|
||||
});
|
||||
return quotes_result;
|
||||
};
|
||||
|
||||
return false;
|
||||
};
|
||||
24
api/v1/quotes/routes/get.js
Normal file
24
api/v1/quotes/routes/get.js
Normal file
@ -0,0 +1,24 @@
|
||||
const express = require("express");
|
||||
const app = express();
|
||||
const db_quotes = require("../db");
|
||||
const { Op } = require("sequelize");
|
||||
|
||||
app.get("/search", async (req, res) => {
|
||||
res.json(await db_quotes.findAll({
|
||||
where: {
|
||||
bookId: req.query.book_id,
|
||||
[Op.or]: {
|
||||
title: {
|
||||
[Op.substring]: req.query.q
|
||||
},
|
||||
text: {
|
||||
[Op.substring]: req.query.q
|
||||
},
|
||||
id: req.query.q
|
||||
}
|
||||
},
|
||||
order: [["createdAt", "DESC"]]
|
||||
}));
|
||||
});
|
||||
|
||||
module.exports = app;
|
||||
16
api/v1/quotes/routes/post.js
Normal file
16
api/v1/quotes/routes/post.js
Normal file
@ -0,0 +1,16 @@
|
||||
const express = require("express");
|
||||
const process = require("../middlewares/process");
|
||||
const checks = require("../middlewares/checks");
|
||||
const app = express();
|
||||
|
||||
app.post("/create", async (req, res) => {
|
||||
const check_result = await checks.p_create(req.body.title, req.body.text, req.body.book_id);
|
||||
if(check_result.success === true && check_result.status === 200){
|
||||
await process.p_create(req.body.title, req.body.text, req.body.book_id, 1)
|
||||
res.json(check_result);
|
||||
}else{
|
||||
res.send(false);
|
||||
};
|
||||
});
|
||||
|
||||
module.exports = app;
|
||||
7
api/v1/users/app.js
Normal file
7
api/v1/users/app.js
Normal file
@ -0,0 +1,7 @@
|
||||
const express = require("express");
|
||||
const app = express();
|
||||
|
||||
app.use("/get", require("./routes/get"));
|
||||
app.use("/post", require("./routes/post"));
|
||||
|
||||
module.exports = app;
|
||||
26
api/v1/users/db.js
Normal file
26
api/v1/users/db.js
Normal file
@ -0,0 +1,26 @@
|
||||
const { DataTypes } = require("sequelize");
|
||||
const database = require("../../../database/db");
|
||||
|
||||
module.exports = database.define("users", {
|
||||
name: {
|
||||
type: DataTypes.CHAR(50),
|
||||
unique: false,
|
||||
allowNull: false
|
||||
},
|
||||
surname: {
|
||||
type: DataTypes.CHAR(50),
|
||||
unique: false,
|
||||
allowNull: false
|
||||
},
|
||||
username: {
|
||||
type: DataTypes.CHAR(25),
|
||||
unique: false,
|
||||
allowNull: false
|
||||
},
|
||||
active: {
|
||||
type: DataTypes.BOOLEAN,
|
||||
unique: false,
|
||||
allowNull: false,
|
||||
defaultValue: true
|
||||
}
|
||||
});
|
||||
4
api/v1/users/routes/get.js
Normal file
4
api/v1/users/routes/get.js
Normal file
@ -0,0 +1,4 @@
|
||||
const express = require("express");
|
||||
const app = express();
|
||||
|
||||
module.exports = app;
|
||||
4
api/v1/users/routes/post.js
Normal file
4
api/v1/users/routes/post.js
Normal file
@ -0,0 +1,4 @@
|
||||
const express = require("express");
|
||||
const app = express();
|
||||
|
||||
module.exports = app;
|
||||
9
api/v1/v1.js
Normal file
9
api/v1/v1.js
Normal file
@ -0,0 +1,9 @@
|
||||
const express = require("express");
|
||||
const app = express();
|
||||
|
||||
app.use("/books", require("./books/app"));
|
||||
app.use("/authors", require("./authors/app"));
|
||||
app.use("/quotes", require("./quotes/app"));
|
||||
app.use("/users", require("./users/app"));
|
||||
|
||||
module.exports = app;
|
||||
16
database/db.js
Normal file
16
database/db.js
Normal file
@ -0,0 +1,16 @@
|
||||
const Sequelize = require("sequelize");
|
||||
|
||||
const Database = new Sequelize(process.env.DB_NAME, process.env.DB_USER, process.env.DB_PASS, {
|
||||
host: process.env.DB_HOST,
|
||||
// port: DatabaseConfig.db_port,
|
||||
dialect: process.env.DB_DIAL,
|
||||
// storage: DatabaseConfig.db_storage
|
||||
});
|
||||
|
||||
Database.authenticate().then(() => {
|
||||
console.log('Veritabanı Bağlantısı Başarılı');
|
||||
}).catch((error) => {
|
||||
console.error('Veritabanı Bağlantısı Hatalı: ', error);
|
||||
});
|
||||
|
||||
module.exports = Database;
|
||||
63
database/relation.js
Normal file
63
database/relation.js
Normal file
@ -0,0 +1,63 @@
|
||||
const books_db = require("../api/v1/books/db");
|
||||
const authors_db = require("../api/v1/authors/db");
|
||||
const quotes_db = require("../api/v1/quotes/db");
|
||||
const user_db = require("../api/v1/users/db");
|
||||
const login_db = require("../api/v1/logins/db");
|
||||
|
||||
books_db.belongsToMany(authors_db, {
|
||||
through: "books_author",
|
||||
as: "author",
|
||||
foreignKey: "book_id"
|
||||
});
|
||||
authors_db.belongsToMany(books_db, {
|
||||
through: "books_author",
|
||||
as: "book",
|
||||
foreignKey: "author_id"
|
||||
});
|
||||
|
||||
|
||||
books_db.hasMany(quotes_db, {
|
||||
foreignKey: {
|
||||
allowNull: false
|
||||
}
|
||||
});
|
||||
quotes_db.belongsTo(books_db);
|
||||
|
||||
|
||||
user_db.hasMany(quotes_db, {
|
||||
foreignKey: {
|
||||
allowNull: false
|
||||
}
|
||||
});
|
||||
quotes_db.belongsTo(user_db);
|
||||
|
||||
user_db.hasMany(login_db, {
|
||||
foreignKey: {
|
||||
allowNull: false
|
||||
}
|
||||
});
|
||||
login_db.belongsTo(user_db);
|
||||
|
||||
|
||||
user_db.belongsToMany(quotes_db, {
|
||||
through: "action_quotes",
|
||||
as: "quote_quote",
|
||||
foreignKey: "user_id"
|
||||
});
|
||||
quotes_db.belongsToMany(user_db, {
|
||||
through: "action_quotes",
|
||||
as: "quote_user",
|
||||
foreignKey: "quote_id"
|
||||
});
|
||||
|
||||
|
||||
user_db.belongsToMany(authors_db, {
|
||||
through: "follows_authors",
|
||||
as: "followa_author",
|
||||
foreignKey: "user_id"
|
||||
});
|
||||
authors_db.belongsToMany(user_db, {
|
||||
through: "follows_authors",
|
||||
as: "followa_user",
|
||||
foreignKey: "author_id"
|
||||
});
|
||||
1379
package-lock.json
generated
Normal file
1379
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
27
package.json
Normal file
27
package.json
Normal file
@ -0,0 +1,27 @@
|
||||
{
|
||||
"name": "sina",
|
||||
"version": "1.0.0",
|
||||
"description": "Sina, bir çeşit kitap veritabanıdır.",
|
||||
"main": "start.js",
|
||||
"scripts": {
|
||||
"test": "nodemon run start.js"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "http://localhost:3002/Arslansah/Sina.git"
|
||||
},
|
||||
"keywords": [
|
||||
"kitap"
|
||||
],
|
||||
"author": "Batuhan Coskun",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"cookie-parser": "^1.4.7",
|
||||
"cors": "^2.8.5",
|
||||
"dotenv": "^17.2.0",
|
||||
"express": "^5.1.0",
|
||||
"mysql2": "^3.14.2",
|
||||
"nodemon": "^3.1.10",
|
||||
"sequelize": "^6.37.7"
|
||||
}
|
||||
}
|
||||
37
start.js
Normal file
37
start.js
Normal file
@ -0,0 +1,37 @@
|
||||
const express = require("express");
|
||||
const app = express();
|
||||
const cors = require("cors");
|
||||
const bodyParser = require("body-parser");
|
||||
const cookieParser = require("cookie-parser");
|
||||
const dotenv = require("dotenv").config();
|
||||
const Database = require("./database/db");
|
||||
const RelationDatabase = require("./database/relation");
|
||||
|
||||
app.use(bodyParser.urlencoded({extended: true}));
|
||||
app.use(
|
||||
cors({
|
||||
origin: ["http://localhost:3000"],
|
||||
methods: ["GET", "POST"],
|
||||
credentials: true
|
||||
})
|
||||
);
|
||||
|
||||
// app.use((req, res, next) => {
|
||||
// res.header('Access-Control-Allow-Origin', '*');
|
||||
// res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
|
||||
// next();
|
||||
// });
|
||||
|
||||
app.use(express.urlencoded({extended: true}));
|
||||
app.use(express.json());
|
||||
|
||||
app.use("/api", require("./api/apis"));
|
||||
|
||||
(async () => {
|
||||
await Database.sync({force: false});
|
||||
})();
|
||||
|
||||
const port = 3001;
|
||||
app.listen(port, () => {
|
||||
console.log(port);
|
||||
});
|
||||
Loading…
Reference in New Issue
Block a user