Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

認証のサンプルのエンドポイント #11

Merged
merged 2 commits into from
Apr 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
140 changes: 16 additions & 124 deletions back/index.js
Original file line number Diff line number Diff line change
@@ -1,141 +1,33 @@
// index.js

import express from "express";
import cors from "cors";
// import { createUser, getUser,updateUser,deleteUser, createCourse, getCourse, createFollowingRequest, getFollowingRequests, updateFollowingRequestStatus,getMatches,deleteMatch } from './helpers/prismaHelpers.js';
import userRoutes from './routes/userRoutes.js';
import followingRequestRoutes from './routes/followingRequestRoutes.js';
import courseRoutes from './routes/courseRoutes.js';
import enrollmentRoutes from './routes/enrollmentRoutes.js'
import relationshipRoutes from './routes/relationshipRoutes.js'
import userRoutes from "./routes/userRoutes.js";
import followingRequestRoutes from "./routes/followingRequestRoutes.js";
import courseRoutes from "./routes/courseRoutes.js";
import enrollmentRoutes from "./routes/enrollmentRoutes.js";
import sampleRoutes from "./routes/sampleRoutes.js";

const app = express();
const port = 3000;

app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(cors({origin:process.env.WEB_ORIGIN}));
app.use(cors({ origin: process.env.WEB_ORIGIN }));

// ルートハンドラー
app.get('/', (req, res) => {
res.json('konnnitiha');
app.get("/", (req, res) => {
res.json("konnnitiha");
});

// ルーティング
app.use('/api/users', userRoutes);
app.use('/api/followingRequests', followingRequestRoutes);
app.use('/api/courses', courseRoutes);
app.use('/api/enrollment',enrollmentRoutes);
app.use("/api/users", userRoutes);
app.use("/api/followingRequests", followingRequestRoutes);
app.use("/api/courses", courseRoutes);
app.use("/api/enrollment", enrollmentRoutes);

// サンプル
app.use("/api/sample", sampleRoutes);

// サーバーの起動
app.listen(port ,() =>{
app.listen(port, () => {
console.log("running");
});


// //ユーザー新規登録の例
// createUser("小林")
// .then(newUser => {
// console.log("新しいユーザーが作成されました:", newUser);
// })
// .catch(error => {
// console.error("ユーザーの作成中にエラーが発生しました:", error);
// });

// //ユーザー取得の例
// getUser(20)
// .then(user => {
// if (user) {
// console.log("ユーザーが見つかりました:", user);
// } else {
// console.log("指定されたユーザーは見つかりませんでした");
// }
// })
// .catch(error => {
// console.error("ユーザーの取得中にエラーが発生しました:", error);
// });

// //ユーザー更新の例
// updateUser(1,"砂糖")
// .then(user => {
// console.log("ユーザー情報を更新しました:", user);
// })
// .catch(error => {
// console.error("ユーザーの取得中にエラーが発生しました:", error);
// });

// //ユーザー削除の例
// deleteUser(13)
// .then(user => {
// console.log("ユーザーを削除しました:", user);
// })
// .catch(error => {
// console.error("ユーザーの取得中にエラーが発生しました:", error);
// });

// // AがBにフォローリクエストを送信する
// createFollowingRequest(1, 25)
// .then(request => {
// console.log(`${request.senderId}が${request.receiverId}にフォローリクエストをしました。`);
// })
// .catch(error => {
// console.error("フォローリクエストの作成中にエラーが発生しました:", error);
// });

// // ユーザーAがフォローリクエストしている人を取得する
// getFollowingRequests(14)
// .then(user => {
// const followingRequests = user.followingRequests.map(request => request.receiver.name);
// console.log(`${user.name}がフォローリクエストしている人は${followingRequests.join(', ')}です。`);
// })
// .catch(error => {
// console.error("フォローリクエストの取得中にエラーが発生しました:", error);
// });

// // フォローリクエストのステータスを更新する
// let newStatus ;
// updateFollowingRequestStatus(1, false, 25)
// .then(() => {
// const message = newStatus ? 'フォローリクエストが承諾されました。' : 'フォローリクエストが拒否されました。';
// console.log(message);
// })
// .catch(error => {
// console.error("フォローリクエストの更新中にエラーが発生しました:", error);
// });





// // マッチング関係を読み込む
// getMatches()
// .then(matches => {
// matches.forEach(match => {
// // user1とuser2が存在するかチェックする
// if (match.user1 && match.user2) {
// const user1Name = match.user1.name;
// const user2Name = match.user2.name;
// console.log(`${user1Name}と${user2Name}はマッチングしています`);
// } else {
// console.error("マッチング関係のユーザーが見つかりません");
// }
// });
// })
// .catch(error => {
// console.error("マッチング関係の読み込み中にエラーが発生しました:", error);
// });



// // マッチング関係を削除する
// deleteMatch(2)
// .then(deletedMatch => {
// console.log("マッチング関係を削除しました:", deletedMatch);
// })
// .catch(error => {
// console.error("マッチング関係の削除中にエラーが発生しました:", error);
// });




21 changes: 11 additions & 10 deletions back/prisma/schema.prisma
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,18 @@ datasource db {
}

model User {
id Int @id @default(autoincrement())
name String @default("名無し")
email String @default("")
password String @default("")
enrollments Enrollement[]
id Int @id @default(autoincrement())
uid String @unique
name String @default("名無し")
email String @default("")
password String @default("")
enrollments Enrollement[]

//自分がマッチリクエストしている相手
requestingUsers Relationship[] @relation("requesting")
requestingUsers Relationship[] @relation("requesting")

//自分をマッチリクエストしている相手
requestedUsers Relationship[] @relation("requested")
requestedUsers Relationship[] @relation("requested")
}

model Course {
Expand All @@ -37,9 +38,9 @@ model Enrollement {
}

model Relationship {
id Int @id @default(autoincrement())
status MatchingStatus
requestingUser User @relation("requesting", fields: [requestingUserId], references: [id])
id Int @id @default(autoincrement())
status MatchingStatus
requestingUser User @relation("requesting", fields: [requestingUserId], references: [id])
requestingUserId Int //マッチリクエストを送っている人
requestedUser User @relation("requested", fields: [requestedUserId], references: [id])
requestedUserId Int //マッチリクエストを送られている人
Expand Down
19 changes: 19 additions & 0 deletions back/routes/sampleRoutes.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import express from "express";
import { PrismaClient } from "@prisma/client";

const prisma = new PrismaClient();
const router = express.Router();

// uidからユーザー名を取得するエンドポイント
router.post("/myName", async (req, res) => {
const { uid } = req.body;
try {
const userData = await prisma.user.findUnique({
where: { uid: uid },
});
res.json({ myName: userData.name });
} catch (error) {
console.error("Error fetching username:", error);
res.status(500).json({ error: "Failed to fetch username" });
}
});
Loading