Skip to content

Commit

Permalink
Merge branch 'main' of github.com:DevCoopBSM/DevCoop-back
Browse files Browse the repository at this point in the history
  • Loading branch information
KimKyuBong committed Nov 17, 2023
2 parents 9bb33b5 + 94ca33f commit 4a83f3a
Show file tree
Hide file tree
Showing 68 changed files with 7,007 additions and 5,983 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# node_modules
/node_modules

/migrations
# Database info
.env
4 changes: 4 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"tabWidth": 2,
"useTabs": false
}
16 changes: 16 additions & 0 deletions __test__/testCode.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
const InventoryService = require("../utils/inventory");

const startDate = "2023-11-01";
const endDate = "2023-11-14";
// 엑셀생성 자료 테스트
it("1", async () => {
// await InventoryService.createSnapshotForItem(115, 11);
// await InventoryService.createSnapshotForItem(407, 15);
const test = await InventoryService.getCombinedChanges(startDate, endDate);
console.log(test);
});

// it("2", async () => {
// const test = await InventoryService.getReceiptChanges(startDate, endDate);
// console.log(test);
// });
25 changes: 25 additions & 0 deletions config/config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
require('dotenv').config(); // 환경 변수 로드

module.exports = {
development: {
username: process.env.DB_USER_NAME,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
host: process.env.DB_HOST,
dialect: 'mysql'
},
test: {
username: process.env.DB_USER_NAME,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
host: process.env.DB_HOST,
dialect: 'mysql'
},
production: {
username: process.env.DB_USER_NAME,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
host: process.env.DB_HOST,
dialect: 'mysql'
}
}
18 changes: 9 additions & 9 deletions config/db.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
const dotenv = require("dotenv");
const fs = require('fs');
dotenv.config();

module.exports = {
host: "DevCoop_MySql",
port: 3306,
user: process.env.DB_USER_NAME,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
waitForConnections : true,
connectionLimit: 30,
queueLimit: 0
host: "DevCoop_MySql",
port: 3306,
user: process.env.DB_USER_NAME,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME,
waitForConnections : true,
connectionLimit: 30,
queueLimit: 0,
// debug: true
};
107 changes: 27 additions & 80 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,104 +1,51 @@
const express = require("express");
require('module-alias/register');
const app = express();
const cors = require("cors");
app.use(express.json());
const cookieParser = require('cookie-parser');
app.use(cookieParser());
const port = 6002;
const signupRouter = require("./routes/auth/signup");
const loginRouter = require("./routes/auth/login");
const logoutRouter = require("./routes/auth/logout");

const meRouter = require("./routes/user/me");
const stinfoRouter = require("./routes/user/studentinfo");
const barcodeRouter = require("./routes/user/barcode");

const chargeRouter = require("./routes/user/charge");
const payRouter = require("./routes/user/pay");

// const chargeCompleteRouter = require("./routes/user/chagecomplete");
// const payCompleteRouter = require("./routes/user/paycomplete");
const cookieParser = require("cookie-parser");

const adminloginRouter = require("./routes/auth/adminlogin");

const adminChargeUserLogRouter = require("./routes/admin/adminChargeUserLog");
const adminPayUserLogRouter = require("./routes/admin/adminPayUserLog");

const chargeUserLogRouter = require("./routes/user/chargeuserlog");
const chargeLogRouter = require("./routes/user/chargelog");
const payLogRouter = require("./routes/user/paylog");
const payUserLogRouter = require("./routes/user/payuserlog");

const allUserRouter = require("./routes/user/alluser");
const allChargeRouter = require("./routes/user/allcharge");

const pwChangeRouter = require("./routes/auth/pwchange");
app.use(cookieParser());
app.use(express.json());
const corsOptions = {
origin: "*", // 모든 도메인 요청 허용
methods: "GET, POST, PUT, DELETE, OPTIONS", // 허용되는 HTTP 메서드
allowedHeaders: "Origin, X-Requested-With, Content-Type, Accept", // 허용되는 헤더
};
app.use(cors(corsOptions));
app.use(express.urlencoded({ extended: true }));

const port = 6002;

//crawl 부분
const receiptCrawlingRouter = require("./routes/crawl/receipt");
const itemsCrawlingRouter = require("./routes/crawl/items");


//제고 관련
const addItemBarcodeRouter = require("./routes/admin/addItemBarcode");
const inventoryCheckRouter = require("./routes/admin/inventoryCheck");
const inventoryExcelRouter = require("./routes/admin/excel");
app.use(express.urlencoded({ extended: true }));
app.use(cors());
app.use(express.json());
//auth 부분
const adminloginRouter = require("./routes/auth/adminlogin");
const signupRouter = require("./routes/auth/signup");
const loginRouter = require("./routes/auth/login");
const logoutRouter = require("./routes/auth/logout");
//admin 부분
const adminRouter = require("./routes/admin/adminRouter")
//user 부분
const userRouter = require("./routes/user/userRouter");

// SQL 부분 작성 시작

// 프로그램 종료시 연결 닫기
app.use("/api/crawl/receipt", receiptCrawlingRouter);
app.use("/api/crawl/items", itemsCrawlingRouter);


app.use("/api/signup", signupRouter);
app.use("/api/login", loginRouter);
app.use("/api/me", meRouter);
app.use("/api/studentinfo", stinfoRouter);
app.use("/api/logout", logoutRouter);

app.use("/api/chargeuserlog", chargeUserLogRouter);
app.use("/api/payuserlog", payUserLogRouter);

// 어드민 기능은 매점 내에서만 접근 가능, 다른곳에서 접근시 에러 발생시켜야함
app.use("/api/admin/login", adminloginRouter);
app.use("/api/logout", logoutRouter);

app.use("/api/admin/charge", chargeRouter);
app.use("/api/admin/pay", payRouter);
app.use("/api/admin/allcharge", allChargeRouter);
app.use("/api/admin", adminRouter);


app.use("/api/admin/barcode", barcodeRouter);



app.use("/api/admin/chargeuserlog", adminChargeUserLogRouter);
app.use("/api/admin/payuserlog", adminPayUserLogRouter);
app.use("/api/admin/chargelog", chargeLogRouter);
app.use("/api/admin/paylog", payLogRouter);

app.use("/api/admin/alluser", allUserRouter);
app.use("/api/admin/pwchange", pwChangeRouter);


app.use("/api/admin/crawl/receipt", receiptCrawlingRouter);
app.use("/api/admin/crawl/items", itemsCrawlingRouter);
app.use("/api/admin/addItemBarcode", addItemBarcodeRouter);
app.use("/api/admin/inventoryCheck", inventoryCheckRouter);
app.use("/api/admin/excelDownload", inventoryExcelRouter);

// CORS 하용 설정하기.
app.use((req, res, next) => {
res.setHeader("Content-Type", "application/json");
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
res.header(
"Access-Control-Allow-Headers",
"Origin, X-Requested-With, Content-Type, Accept"
);
next();
});
app.use("/api/", userRouter);

app.listen(port, (req, res) => {
console.log(`WEB Server is running on port ${port}`);
Expand Down
13 changes: 13 additions & 0 deletions jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// jest.config.js
module.exports = {
// ...
moduleNameMapper: {
"@models": "<rootDir>/models",
"@query": "<rootDir>/utils/query",
"@token": "<rootDir>/utils/token",
"@inventory": "<rootDir>/utils/inventory",
"@date": "<rootDir>/utils/date",
// 다른 별칭도 같은 방식으로 추가
},
// ...
};
87 changes: 0 additions & 87 deletions middlewares/users.js

This file was deleted.

49 changes: 49 additions & 0 deletions models/DailyInventoryChange.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
const Sequelize = require('sequelize');
module.exports = function(sequelize, DataTypes) {
return sequelize.define('DailyInventoryChange', {
change_id: {
autoIncrement: true,
type: DataTypes.INTEGER,
allowNull: false,
primaryKey: true
},
item_id: {
type: DataTypes.INTEGER,
allowNull: false
},
item_name: {
type: DataTypes.TEXT,
allowNull: true
},
change_date: {
type: DataTypes.DATE,
allowNull: false
},
added_qty: {
type: DataTypes.INTEGER,
allowNull: true
},
removed_qty: {
type: DataTypes.INTEGER,
allowNull: true
},
reason: {
type: DataTypes.STRING(100),
allowNull: true
}
}, {
sequelize,
tableName: 'DailyInventoryChange',
timestamps: false,
indexes: [
{
name: "PRIMARY",
unique: true,
using: "BTREE",
fields: [
{ name: "change_id" },
]
},
]
});
};
32 changes: 32 additions & 0 deletions models/SequelizeMeta.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
const Sequelize = require('sequelize');
module.exports = function(sequelize, DataTypes) {
return sequelize.define('SequelizeMeta', {
name: {
type: DataTypes.STRING(255),
allowNull: false,
primaryKey: true
}
}, {
sequelize,
tableName: 'SequelizeMeta',
timestamps: false,
indexes: [
{
name: "PRIMARY",
unique: true,
using: "BTREE",
fields: [
{ name: "name" },
]
},
{
name: "name",
unique: true,
using: "BTREE",
fields: [
{ name: "name" },
]
},
]
});
};
Loading

0 comments on commit 4a83f3a

Please sign in to comment.