ITSで使用する共通のデータベースアクセス層とビジネスロジックを提供するライブラリです。
npm install @shizuoka-its/core
import { createClient } from "@shizuoka-its/core";
async function example() {
// クライアントの作成(オプションあり)
const client = createClient({
prismaOptions: {
log: ["query", "error"],
},
});
try {
const { services } = client;
// メンバーの作成
const member = await services.member.create({
name: "山田太郎",
studentId: "20240001",
department: "情報工学科",
email: "yamada@example.com",
});
// Discordアカウントの紐付け
await services.discordAccount.create({
id: "discord_user_id", // Discord IDをそのまま使用
nickName: "Yamada Taro",
memberId: member.id,
});
// イベントの作成
const event = await services.event.create({
name: "プログラミング勉強会",
date: new Date("2024-12-01"),
});
// イベントへの参加登録
await services.event.registerMember(event.id, member.id);
} finally {
// 必ずクリーンアップ
await client.disconnect();
}
}
- メンバーの作成、更新、削除
- メールアドレスによる検索
- 学籍番号による検索
- Discordアカウントの紐づけ
- Discordアカウントの紐付け
- メンバーごとのDiscordアカウント取得
- イベントの作成、更新、削除
- イベント参加者の管理
- 今後のイベント一覧取得
- 展示ごとのイベント一覧取得
- 展示の作成、更新、削除
- イベントごとの展示一覧
- 展示参加者の管理
- ライトニングトークの作成、更新、削除
- イベントごとのライトニングトーク一覧
src/
├── repositories/ # データベースアクセス層
│ ├── interfaces/ # リポジトリインターフェース
│ └── ...
├── services/ # ビジネスロジック層
│ ├── interfaces/ # サービスインターフェース
│ └── ...
└── index.ts # エントリーポイント
- リポジトリのクローン
git clone https://github.com/su-its/core.git
cd core
- 依存関係のインストール
npm install
- 環境変数の設定
cp .env.example .env
.env
ファイルを編集してデータベース接続情報を設定
- データベースのマイグレーション
npx prisma migrate dev
詳細はマイグレーションガイドを参照してください。
- @KinjiKawaguchi
- @KikyoNanakusa