First Commit (API Project)
This commit is contained in:
440
storage/api-docs/api-docs.json
Normal file
440
storage/api-docs/api-docs.json
Normal 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
4
storage/app/.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
*
|
||||
!private/
|
||||
!public/
|
||||
!.gitignore
|
||||
2
storage/app/private/.gitignore
vendored
Normal file
2
storage/app/private/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
*
|
||||
!.gitignore
|
||||
2
storage/app/public/.gitignore
vendored
Normal file
2
storage/app/public/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
*
|
||||
!.gitignore
|
||||
2
storage/logs/.gitignore
vendored
Normal file
2
storage/logs/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
*
|
||||
!.gitignore
|
||||
Reference in New Issue
Block a user