First Commit (API Project)

This commit is contained in:
2025-07-17 10:05:47 +09:00
commit ad702d5ccf
371 changed files with 141373 additions and 0 deletions

View File

@@ -0,0 +1,440 @@
{
"openapi": "3.0.0",
"info": {
"title": "SAM API Documentation",
"description": "SAM(Semi-Automatics Management) API 입니다.",
"contact": {
"email": "shine1324@gmail.com"
},
"version": "1.0.0"
},
"servers": [
{
"url": "https://api.5130.co.kr",
"description": "SAM API 서버"
}
],
"paths": {
"/api/debug-apikey": {
"get": {
"tags": [
"API Key 인증"
],
"summary": "API Key 인증 확인",
"operationId": "339b727010e448749df58cd6b6ff7c28",
"responses": {
"200": {
"description": "API Key 인증 성공"
},
"401": {
"description": "인증 실패"
}
},
"security": [
{
"ApiKeyAuth": []
}
]
}
},
"/api/login": {
"post": {
"tags": [
"Auth"
],
"summary": "회원 토큰 정보확인",
"operationId": "f6d04be1de7bb4a85327471c8d3d1e42",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"required": [
"USER_ID",
"USER_PWD"
],
"properties": {
"USER_ID": {
"type": "string",
"example": "admin"
},
"USER_PWD": {
"type": "string",
"example": "1234"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "로그인 성공",
"content": {
"application/json": {
"schema": {
"properties": {
"message": {
"type": "string"
},
"USER_TOKEN": {
"type": "string"
}
},
"type": "object"
}
}
}
},
"401": {
"description": "로그인 실패"
}
}
}
},
"/api/logout": {
"post": {
"tags": [
"Auth"
],
"summary": "로그아웃 (Access 및 Token 무효화)",
"operationId": "ff979e4e699115485dc29fb752d8e3a5",
"responses": {
"200": {
"description": "로그아웃 성공"
},
"401": {
"description": "인증 실패"
}
},
"security": [
{
"ApiKeyAuth": []
}
]
}
},
"/api/member/index": {
"get": {
"tags": [
"Member"
],
"summary": "회원 목록 조회",
"description": "회원 목록을 조회합니다.",
"operationId": "ced049450f232af2399028145777ed3c",
"parameters": [
{
"name": "user_token",
"in": "query",
"description": "회원 인증용 토큰",
"required": true,
"schema": {
"type": "string",
"example": "abc123token"
}
},
{
"name": "type",
"in": "query",
"description": "조회 타입: 기본(default), 상세(info)",
"required": false,
"schema": {
"type": "string",
"enum": [
"default",
"info"
],
"example": "default"
}
},
{
"name": "debug",
"in": "query",
"description": "디버그 모드 여부 (쿼리 로그 포함 여부)",
"required": false,
"schema": {
"type": "boolean",
"example": true
}
},
{
"name": "status",
"in": "query",
"description": "상태 필터링 (01,02,03 사용자만 조회)",
"required": false,
"schema": {
"type": "boolean",
"example": true
}
}
],
"responses": {
"200": {
"description": "회원 목록 조회 성공",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"message": {
"type": "string",
"example": "회원목록 조회 성공"
},
"data": {
"properties": {
"1": {
"properties": {
"mb_num": {
"type": "integer",
"example": 1
},
"tn_num": {
"type": "string",
"example": null
},
"mb_id": {
"type": "string",
"example": "admin"
},
"mb_name": {
"type": "string",
"example": "권혁성"
},
"mb_phone": {
"type": "string",
"example": "010-4820-9104"
},
"mb_mail": {
"type": "string",
"example": "shine1324@gmail.com"
},
"email_verified_at": {
"type": "string",
"format": "date-time",
"example": null
},
"mb_type": {
"type": "string",
"example": null
},
"mb_level": {
"type": "integer",
"example": 1
},
"last_login": {
"type": "string",
"format": "date-time",
"example": null
},
"reg_date": {
"type": "string",
"format": "date-time",
"example": "2025-07-16T09:28:41.000000Z"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": null
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2025-07-16T09:30:56.000000Z"
}
},
"type": "object"
}
},
"type": "object"
},
"query": {
"type": "array",
"items": {
"type": "string",
"example": "select * from `members`"
}
}
},
"type": "object"
}
}
}
},
"401": {
"description": "인증 실패"
},
"403": {
"description": "권한 없음"
}
},
"security": [
{
"ApiKeyAuth": []
}
]
}
},
"/api/member/show/{user_no}": {
"get": {
"tags": [
"Member"
],
"summary": "회원 상세조회",
"description": "user_no 기준으로 회원 상세 정보를 조회합니다.",
"operationId": "ed81df83f2079b81d2ba41c97e79633f",
"parameters": [
{
"name": "user_no",
"in": "path",
"description": "회원 번호 (USER_NO)",
"required": true,
"schema": {
"type": "integer",
"example": 1
}
},
{
"name": "debug",
"in": "query",
"description": "디버그 모드 여부 (쿼리 확인용)",
"required": false,
"schema": {
"type": "boolean",
"example": true
}
}
],
"responses": {
"200": {
"description": "조회 성공",
"content": {
"application/json": {
"schema": {
"properties": {
"success": {
"type": "boolean",
"example": true
},
"message": {
"type": "string",
"example": "회원 상세조회 성공"
},
"data": {
"properties": {
"mb_num": {
"type": "integer",
"example": 1
},
"tn_num": {
"type": "string",
"example": null
},
"mb_id": {
"type": "string",
"example": "admin"
},
"mb_name": {
"type": "string",
"example": "권혁성"
},
"mb_phone": {
"type": "string",
"example": "010-4820-9104"
},
"mb_mail": {
"type": "string",
"example": "shine1324@gmail.com"
},
"email_verified_at": {
"type": "string",
"format": "date-time",
"example": null
},
"mb_type": {
"type": "string",
"example": null
},
"mb_level": {
"type": "integer",
"example": 1
},
"last_login": {
"type": "string",
"format": "date-time",
"example": null
},
"reg_date": {
"type": "string",
"format": "date-time",
"example": "2025-07-16T09:28:41.000000Z"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": null
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2025-07-16T09:30:56.000000Z"
}
},
"type": "object"
},
"query": {
"type": "array",
"items": {
"type": "string",
"example": "select * from `members` where `mb_num` = 1 limit 1"
}
}
},
"type": "object"
}
}
}
},
"404": {
"description": "회원 정보 없음"
},
"401": {
"description": "인증 실패"
}
},
"security": [
{
"ApiKeyAuth": []
}
]
}
}
},
"tags": [
{
"name": "API Key 인증",
"description": "API Key 인증"
},
{
"name": "Auth",
"description": "Auth"
},
{
"name": "Member",
"description": "Member"
}
],
"components": {
"securitySchemes": {
"ApiKeyAuth": {
"type": "apiKey",
"in": "header",
"name": "X-API-KEY",
"description": "API Key 인증: X-API-KEY: {API_KEY}}"
}
}
}
}

4
storage/app/.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
*
!private/
!public/
!.gitignore

2
storage/app/private/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
*
!.gitignore

2
storage/app/public/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
*
!.gitignore

2
storage/logs/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
*
!.gitignore