// Package docs GENERATED BY THE COMMAND ABOVE; DO NOT EDIT // This file was generated by swaggo/swag package docs import ( "bytes" "encoding/json" "strings" "text/template" "github.com/swaggo/swag" ) var doc = `{ "schemes": {{ marshal .Schemes }}, "swagger": "2.0", "info": { "description": "{{escape .Description}}", "title": "{{.Title}}", "contact": {}, "version": "{{.Version}}" }, "host": "{{.Host}}", "basePath": "{{.BasePath}}", "paths": { "/admin/administrator": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "관리자 리스트 가져오기", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get administrator list", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/view.AdministratorList" } } } }, "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "관리자 등록", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "create administrator", "parameters": [ { "description": "body struct", "name": "RegisterAdministratorData", "in": "body", "required": true, "schema": { "$ref": "#/definitions/admin.RegisterAdministratorData" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "number" } } } } }, "/admin/administrator/permission": { "patch": { "security": [ { "ApiKeyAuth": [] } ], "description": "관리자 권한 변경", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update administrator permmsion", "parameters": [ { "description": "selected target data", "name": "UpdatePermission", "in": "body", "required": true, "schema": { "$ref": "#/definitions/admin.UpdatePermission" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/admin/administrator/status": { "patch": { "security": [ { "ApiKeyAuth": [] } ], "description": "관리자 상태값 변경", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update administrator status", "parameters": [ { "description": "selected target data", "name": "UpdateStatus", "in": "body", "required": true, "schema": { "$ref": "#/definitions/admin.UpdateStatus" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/admin/artist": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "작가 리스트 가져오기", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get artist list", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/view.MemberList" } } } }, "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "작가 등록", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "create artist", "parameters": [ { "description": "body struct", "name": "RegisterArtistData", "in": "body", "required": true, "schema": { "$ref": "#/definitions/admin.RegisterArtistData" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "number" } } } } }, "/admin/artist/status": { "patch": { "security": [ { "ApiKeyAuth": [] } ], "description": "작가 상태값 변경", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update artist status", "parameters": [ { "description": "selected target data", "name": "UpdateStatus", "in": "body", "required": true, "schema": { "$ref": "#/definitions/admin.UpdateStatus" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/admin/auth/signin": { "post": { "description": "어드민 로그인", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "signin", "parameters": [ { "description": "body struct", "name": "AccountInfo", "in": "body", "required": true, "schema": { "$ref": "#/definitions/admin.AccountInfo" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/admin.AdminAuthContainer" } } } } }, "/admin/collection": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "데이터가 쌓인 이후에 진행 예정, 컬렉션 리스트 가져오기", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get collection list", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/view.CollectionInfo" } } } } } }, "/admin/collection/curation": { "patch": { "security": [ { "ApiKeyAuth": [] } ], "description": "컬렉션 큐레이션 변경", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update collection curation", "parameters": [ { "description": "selected target data", "name": "UpdateCuration", "in": "body", "required": true, "schema": { "$ref": "#/definitions/admin.UpdateCuration" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/admin/collection/status": { "patch": { "security": [ { "ApiKeyAuth": [] } ], "description": "컬렉션 상태값 변경 (보이기, 숨김)", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update collection status", "parameters": [ { "description": "selected target data", "name": "UpdateStatus", "in": "body", "required": true, "schema": { "$ref": "#/definitions/admin.UpdateStatus" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/admin/log": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "어드민 로그 가져오기", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get log list", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.AdminLog" } } } } }, "/admin/setting": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "현재 셋팅 값 가져오기", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get setting list", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/models.Setting" } } } } }, "/admin/setting/{type}": { "patch": { "security": [ { "ApiKeyAuth": [] } ], "description": "설정 값 변경", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update setting value", "parameters": [ { "description": "selected target data", "name": "SettingData", "in": "body", "required": true, "schema": { "$ref": "#/definitions/admin.SettingData" } }, { "type": "string", "description": "type: commission, special_collection, gas_deposit", "name": "type", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/admin/user": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "유저 리스트 가져오기", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "get user list", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/view.MemberList" } } } } }, "/admin/user/status": { "patch": { "security": [ { "ApiKeyAuth": [] } ], "description": "유저 상태값 변경", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "admin" ], "summary": "update user status", "parameters": [ { "description": "selected target data", "name": "UpdateStatus", "in": "body", "required": true, "schema": { "$ref": "#/definitions/admin.UpdateStatus" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/collection": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "컬렉션 등록, json struct = {name: string, symbol: string, description: string, type: string}", "consumes": [ "multipart/form-data" ], "produces": [ "application/json" ], "tags": [ "collection" ], "summary": "create collection", "parameters": [ { "type": "file", "description": "thumbnail image", "name": "thumbnailImage", "in": "formData", "required": true }, { "type": "file", "description": "cover image", "name": "coverImage", "in": "formData", "required": true }, { "type": "string", "name": "json", "in": "formData" } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } }, "patch": { "security": [ { "ApiKeyAuth": [] } ], "description": "컬렉션 수정, json struct = {description: string, collection_id: uin64}", "consumes": [ "multipart/form-data" ], "produces": [ "application/json" ], "tags": [ "collection" ], "summary": "update collection", "parameters": [ { "type": "file", "description": "thumbnail image", "name": "thumbnailImage", "in": "formData", "required": true }, { "type": "file", "description": "cover image", "name": "coverImage", "in": "formData", "required": true }, { "type": "string", "name": "json", "in": "formData" } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/collection/activity/{collection_name}": { "post": { "description": "컬렉션 페이지 활동 탭", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "collection" ], "summary": "get activities in collection", "parameters": [ { "type": "string", "description": "collection name", "name": "collection_name", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/common.ExpItem" } } } } } }, "/collection/duplicate/{name}": { "get": { "description": "컬렉션 이름 중복체크", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "collection" ], "summary": "collection profile name duplicate check.", "parameters": [ { "type": "string", "description": "check duplicate name", "name": "name", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/collection/item/{collection_name}": { "post": { "description": "컬렉션 페이지 아이템 탭", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "collection" ], "summary": "get items in collection", "parameters": [ { "type": "string", "description": "collection name", "name": "collection_name", "in": "path", "required": true }, { "description": "filter data", "name": "common.Filter", "in": "body", "required": true, "schema": { "$ref": "#/definitions/common.Filter" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/common.ExpItem" } } } } } }, "/collection/{collection_name}": { "get": { "description": "컬렉션 페이지에 있는 기본 정보 (탭 데이터는 따로 가져와야 한다.)", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "collection" ], "summary": "get collection info", "parameters": [ { "type": "string", "description": "collection name", "name": "collection_name", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/view.CollectionInfo" } } } } }, "/explore/home": { "post": { "description": "탐색하기 home data", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "explore" ], "summary": "explore filter data", "parameters": [ { "description": "filter object", "name": "common.Filter", "in": "body", "required": true, "schema": { "$ref": "#/definitions/common.Filter" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/common.ExpItem" } } } } } }, "/explore/search": { "post": { "description": "필터링중 컬렉션 이름으로 키워드 검색 할 때 사용하며, filter.collectionName이 빈 값인 경우 tvl 기준 limit 10개 리턴", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "explore" ], "summary": "explore collection filter list", "parameters": [ { "description": "filter object", "name": "common.Filter", "in": "body", "required": true, "schema": { "$ref": "#/definitions/common.Filter" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "obejct" } } } } }, "/health": { "get": { "description": "API to check the status of the server", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "health check" ], "summary": "API to check the status of the server", "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/home": { "get": { "description": "index 페이지 데이터", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "home" ], "summary": "get index data", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/view.TokenSet" } } } } }, "/sale/auction": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "최고가 판매", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "sale" ], "summary": "highest price sell", "parameters": [ { "description": "body struct", "name": "BidData", "in": "body", "required": true, "schema": { "$ref": "#/definitions/sale.BidData" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/sale/bid": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "입찰하기", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "sale" ], "summary": "create bid", "parameters": [ { "description": "body struct", "name": "BidData", "in": "body", "required": true, "schema": { "$ref": "#/definitions/sale.BidData" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } }, "patch": { "security": [ { "ApiKeyAuth": [] } ], "description": "입찰 취소하기, 입찰을 다시하려면 취소 후 다시 해야한다.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "sale" ], "summary": "cancel bid", "parameters": [ { "description": "body struct", "name": "TargetID", "in": "body", "required": true, "schema": { "$ref": "#/definitions/sale.TargetID" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/sale/bid/{sale_id}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "NFT 판매 상세페이지 경매 기록 탭", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "sale" ], "summary": "get bid history", "parameters": [ { "type": "string", "description": "sale id", "name": "sale_id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "obejct" } } } } }, "/sale/buy": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "아이템 즉시 구매", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "sale" ], "summary": "buy now item", "parameters": [ { "description": "body struct", "name": "BidData", "in": "body", "required": true, "schema": { "$ref": "#/definitions/sale.BidData" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/sale/resale": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "NFT 구입 후 재등록 API", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "sale" ], "summary": "create resale", "parameters": [ { "description": "body struct", "name": "RegisterResaleData", "in": "body", "required": true, "schema": { "$ref": "#/definitions/sale.RegisterResaleData" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/sale/status": { "patch": { "security": [ { "ApiKeyAuth": [] } ], "description": "등록한 오너인 경우에만 실행가능, 판매하지 않고 판매를 강제 종료시킨다.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "sale" ], "summary": "update sale statue for cancel", "parameters": [ { "description": "selected target id", "name": "TargetID", "in": "body", "required": true, "schema": { "$ref": "#/definitions/sale.TargetID" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/sale/{sale_id}": { "get": { "description": "NFT 판매 상세페이지 데이터 가져오기", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "sale" ], "summary": "get detail sale data", "parameters": [ { "type": "string", "description": "sale id", "name": "sale_id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "obejct" } } } } }, "/token": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "NFT 생성과 동시에 판매 등록", "consumes": [ "multipart/form-data" ], "produces": [ "application/json" ], "tags": [ "token" ], "summary": "create NFT", "parameters": [ { "type": "file", "description": "content image", "name": "contentImage", "in": "formData", "required": true }, { "type": "string", "name": "json", "in": "formData" } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/token/baseinfo": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "아이템 생성 시 내가 만든 컬렉션 리스트와, 사이트 커미션 수수료 정보 가져오기", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "token" ], "summary": "get token base info", "parameters": [ { "type": "string", "description": "erc721, erc1155", "name": "type", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/token.TokenBaseInfo" } } } } }, "/token/like": { "patch": { "security": [ { "ApiKeyAuth": [] } ], "description": "토큰 좋아요 기능", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "token" ], "summary": "update token like count", "parameters": [ { "description": "selected target id", "name": "Like", "in": "body", "required": true, "schema": { "$ref": "#/definitions/token.Like" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/token/log/{token_id}": { "get": { "description": "NFT 판매 페이지 기록 탭", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "token" ], "summary": "get token log", "parameters": [ { "type": "string", "description": "token id", "name": "token_id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/common.ActivityItem" } } } } }, "/token/owner": { "get": { "description": "NFT 1155타입의 소유자 탭", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "token" ], "summary": "get owner list", "parameters": [ { "type": "string", "description": "type", "name": "token_uid", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/view.TokenOwnerList" } } } } }, "/token/resaleinfo/{token_id}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "토큰 재판매 시 설정해야하는 기본 데이터", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "token" ], "summary": "get resale data", "parameters": [ { "type": "string", "description": "token id", "name": "token_id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/view.TokenResaleData" } } } } }, "/token/{token_id}": { "get": { "description": "토큰 상세페이지", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "token" ], "summary": "get token detail", "parameters": [ { "type": "string", "description": "token id", "name": "token_id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/view.TokenDetailData" } } } } }, "/user/activity/{name}": { "get": { "description": "유저 프로필 활동 탭", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "user activity list", "parameters": [ { "type": "string", "description": "user profile name", "name": "name", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/common.ActivityItem" } } } } } }, "/user/authenticate": { "post": { "description": "redirect url 호출이후 받은 코드로 기존유저라면 로그인, 새로운 유저라면 가입 후 로그인", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "sign-in", "parameters": [ { "description": "oauth data", "name": "AuthenticationSNS", "in": "body", "required": true, "schema": { "$ref": "#/definitions/user.AuthenticationSNS" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/user/authenticate/temp": { "get": { "description": "SNS로그인 테스트 이전에 동일한 로직으로 유저 회원가입, 세션 획득을 위한 임시 함수, 입력된 이메일이 없으면 회원가입 이후 로그인, 있으면 로그인", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "temp user authentication", "parameters": [ { "type": "string", "description": "email", "name": "email", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/user/bid": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "유저 경매 히스토리", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "user bid list", "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/common.ExpItem" } } } } } }, "/user/certification/code": { "post": { "description": "출금하기 2차 인증", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "send certification code", "parameters": [ { "description": "currency: mf, mr, eth", "name": "CertificationBody", "in": "body", "required": true, "schema": { "$ref": "#/definitions/user.CertificationBody" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/user/collection/{name}": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "유저 프로필 컬렉션 탭", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "collection list", "parameters": [ { "description": "filter object", "name": "common.Filter", "in": "body", "required": true, "schema": { "$ref": "#/definitions/common.Filter" } }, { "type": "string", "description": "user profile name", "name": "name", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/common.CollectionItem" } } } } } }, "/user/duplicate/{name}": { "get": { "description": "유저 이름 중복체크", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "User profile name duplicate check.", "parameters": [ { "type": "string", "description": "check duplicate name", "name": "name", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/user/like/{name}": { "post": { "description": "유저 프로필 좋아요 탭", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "user like list", "parameters": [ { "description": "filter object", "name": "common.Filter", "in": "body", "required": true, "schema": { "$ref": "#/definitions/common.Filter" } }, { "type": "string", "description": "user profile name", "name": "name", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/common.ExpItem" } } } } } }, "/user/onsale/{name}": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "판매중인 NFT 리스트", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "onesale list", "parameters": [ { "description": "filter object", "name": "common.Filter", "in": "body", "required": true, "schema": { "$ref": "#/definitions/common.Filter" } }, { "type": "string", "description": "user profile name", "name": "name", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/common.ExpItem" } } } } } }, "/user/owned": { "post": { "security": [ { "ApiKeyAuth": [] } ], "description": "보유중인 NFT 리스트", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "owned list", "parameters": [ { "description": "filter object", "name": "common.Filter", "in": "body", "required": true, "schema": { "$ref": "#/definitions/common.Filter" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/common.ExpItem" } } } } } }, "/user/profile": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "헤더, 프로필 편집에 사용할 데이터", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "user simple profile data", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/view.SimpleProfile" } } } }, "patch": { "security": [ { "ApiKeyAuth": [] } ], "description": "유저 정보 업데이트", "consumes": [ "multipart/form-data" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "update user profile", "parameters": [ { "type": "file", "description": "thumbnail image", "name": "thumbnailImage", "in": "formData", "required": true }, { "type": "file", "description": "cover image", "name": "coverImage", "in": "formData", "required": true }, { "type": "string", "name": "json", "in": "formData" } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/user/profile/{name}": { "get": { "description": "유저 기본 정보 가져오기", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "user basic profile data", "parameters": [ { "type": "string", "description": "user profile name", "name": "name", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/user/redirect/url": { "get": { "description": "SNS 로그인 버튼 클릭시 redirect_url을 받는 API, {type=google, kakao}", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "sns redirect url", "parameters": [ { "type": "string", "description": "type", "name": "type", "in": "query", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/user/transfer": { "post": { "description": "출금하기", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "user" ], "summary": "token transfer", "parameters": [ { "description": "currency: mf1, mr, eth", "name": "Transfer", "in": "body", "required": true, "schema": { "$ref": "#/definitions/user.Transfer" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } } }, "definitions": { "admin.AccountInfo": { "type": "object", "properties": { "email": { "type": "string" }, "password": { "type": "string" } } }, "admin.AdminAuthContainer": { "type": "object", "properties": { "access_token": { "type": "string" }, "permission": { "$ref": "#/definitions/models.AdminPermission" } } }, "admin.RegisterAdministratorData": { "type": "object", "properties": { "chargeof": { "type": "string" }, "email": { "type": "string" }, "name": { "type": "string" }, "password": { "type": "string" }, "phone": { "type": "string" }, "position": { "type": "string" }, "team": { "type": "string" } } }, "admin.RegisterArtistData": { "type": "object", "properties": { "category": { "type": "string" }, "email": { "type": "string" }, "name": { "type": "string" }, "phone": { "type": "string" }, "team": { "type": "string" } } }, "admin.SettingData": { "type": "object", "properties": { "commission": { "type": "number" }, "gas_deposit": { "type": "number" }, "special_collection": { "type": "string" } } }, "admin.UpdateCuration": { "type": "object", "properties": { "id": { "type": "integer" }, "index": { "type": "integer" } } }, "admin.UpdatePermission": { "type": "object", "properties": { "admin_id": { "type": "integer" }, "admin_permission": { "type": "boolean" }, "collection_permission": { "type": "boolean" }, "log_permission": { "type": "boolean" }, "system_permission": { "type": "boolean" }, "user_permission": { "type": "boolean" } } }, "admin.UpdateStatus": { "type": "object", "properties": { "id": { "type": "integer" }, "status": { "type": "string" } } }, "common.ActivityItem": { "type": "object", "properties": { "created_at": { "type": "string" }, "currency": { "type": "string" }, "from_address": { "type": "string" }, "from_user_is_artist": { "type": "boolean" }, "from_user_name": { "type": "string" }, "from_user_profile": { "type": "string" }, "is_cancel": { "type": "boolean" }, "log_relation_id": { "type": "integer" }, "log_type": { "type": "string" }, "price": { "type": "string" }, "sale_id": { "type": "integer" }, "sale_uid": { "type": "string" }, "to_address": { "type": "string" }, "to_user_is_artist": { "type": "boolean" }, "to_user_name": { "type": "string" }, "to_user_profile": { "type": "string" }, "token_content_url": { "type": "string" }, "token_id": { "type": "integer" }, "token_name": { "type": "string" }, "tx": { "type": "string" } } }, "common.CollectionItem": { "type": "object", "properties": { "collection_id": { "type": "integer" }, "collection_name": { "type": "string" }, "cover_image": { "type": "string" }, "is_official": { "type": "boolean" }, "owner_name": { "type": "string" }, "thumbnail_image": { "type": "string" }, "total_item": { "type": "integer" }, "total_volume": { "type": "number" }, "user_id": { "type": "integer" } } }, "common.ExpItem": { "type": "object", "properties": { "bid_count": { "type": "integer" }, "collection_id": { "type": "integer" }, "collection_name": { "type": "string" }, "collection_thumbnail_image": { "type": "string" }, "content_title": { "type": "string" }, "content_url": { "type": "string" }, "created_at": { "type": "string" }, "current_currency": { "type": "string" }, "current_price": { "type": "string" }, "end_at": { "type": "string" }, "fixed_price": { "type": "string" }, "is_artist": { "type": "boolean" }, "is_like": { "type": "boolean" }, "is_official_collection": { "type": "boolean" }, "item_index": { "type": "integer" }, "lastest_currency": { "type": "string" }, "lastest_price": { "type": "string" }, "likes": { "type": "integer" }, "owner_name": { "type": "string" }, "owner_thumbnail_image": { "type": "string" }, "sale_id": { "type": "integer" }, "sale_status": { "type": "string" }, "sale_type": { "type": "string" }, "start_price": { "type": "string" }, "token_id": { "type": "integer" }, "total_count": { "type": "integer" }, "user_id": { "type": "integer" } } }, "common.Filter": { "type": "object", "properties": { "category": { "type": "string" }, "collection_name": { "type": "string" }, "currency": { "type": "string" }, "currency_amount_end": { "type": "string" }, "currency_amount_start": { "type": "string" }, "limit": { "type": "integer", "default": -1 }, "network": { "type": "string" }, "offset": { "type": "integer", "default": -1 }, "sale_status": { "description": "for 개인페이지의 판매중", "type": "string" }, "sale_type": { "type": "string" }, "token_name": { "type": "string" } } }, "models.AdminLog": { "type": "object", "properties": { "action_type": { "description": "[ 2] action_type char(10) null: false primary: false isArray: false auto: false col: char len: 10 default: []", "type": "string" }, "actioned_at": { "description": "[ 4] actioned_at timestamp null: false primary: false isArray: false auto: false col: timestamp len: -1 default: []", "type": "string" }, "admin_id": { "description": "[ 1] admin_id ubigint null: false primary: false isArray: false auto: false col: ubigint len: -1 default: []", "type": "integer" }, "created_at": { "description": "[ 5] created_at timestamp null: false primary: false isArray: false auto: false col: timestamp len: -1 default: [CURRENT_TIMESTAMP]", "type": "string" }, "deleted_at": { "description": "[ 7] deleted_at timestamp null: true primary: false isArray: false auto: false col: timestamp len: -1 default: []", "type": "string" }, "id": { "description": "[ 0] id ubigint null: false primary: true isArray: false auto: true col: ubigint len: -1 default: []", "type": "integer" }, "message": { "description": "[ 8] message varchar(256) null: false primary: false isArray: false auto: false col: varchar len: 256 default: []", "type": "string" }, "sub_action_type": { "description": "[ 3] sub_action_type char(8) null: false primary: false isArray: false auto: false col: char len: 8 default: []", "type": "string" }, "updated_at": { "description": "[ 6] updated_at timestamp null: false primary: false isArray: false auto: false col: timestamp len: -1 default: [CURRENT_TIMESTAMP]", "type": "string" } } }, "models.AdminPermission": { "type": "object", "properties": { "admin": { "description": "[ 5] admin tinyint null: false primary: false isArray: false auto: false col: tinyint len: -1 default: [0]", "type": "integer" }, "admin_id": { "description": "[ 1] admin_id ubigint null: false primary: false isArray: false auto: false col: ubigint len: -1 default: []", "type": "integer" }, "collection": { "description": "[ 3] collection tinyint null: false primary: false isArray: false auto: false col: tinyint len: -1 default: [0]", "type": "integer" }, "created_at": { "description": "[ 7] created_at timestamp null: false primary: false isArray: false auto: false col: timestamp len: -1 default: [CURRENT_TIMESTAMP]", "type": "string" }, "deleted_at": { "description": "[ 9] deleted_at timestamp null: true primary: false isArray: false auto: false col: timestamp len: -1 default: []", "type": "string" }, "id": { "description": "[ 0] id ubigint null: false primary: true isArray: false auto: true col: ubigint len: -1 default: []", "type": "integer" }, "log": { "description": "[ 6] log tinyint null: false primary: false isArray: false auto: false col: tinyint len: -1 default: [0]", "type": "integer" }, "system": { "description": "[ 4] system tinyint null: false primary: false isArray: false auto: false col: tinyint len: -1 default: [0]", "type": "integer" }, "updated_at": { "description": "[ 8] updated_at timestamp null: false primary: false isArray: false auto: false col: timestamp len: -1 default: [CURRENT_TIMESTAMP]", "type": "string" }, "user": { "description": "[ 2] user tinyint null: false primary: false isArray: false auto: false col: tinyint len: -1 default: [0]", "type": "integer" } } }, "models.Setting": { "type": "object", "properties": { "commission": { "description": "[ 1] commission double null: false primary: false isArray: false auto: false col: double len: -1 default: []", "type": "number" }, "created_at": { "description": "[ 5] created_at timestamp null: false primary: false isArray: false auto: false col: timestamp len: -1 default: [CURRENT_TIMESTAMP]", "type": "string" }, "deleted_at": { "description": "[ 7] deleted_at timestamp null: true primary: false isArray: false auto: false col: timestamp len: -1 default: []", "type": "string" }, "gas_deposit": { "description": "[ 3] gas_deposit double null: false primary: false isArray: false auto: false col: double len: -1 default: []", "type": "number" }, "id": { "description": "[ 0] id ubigint null: false primary: true isArray: false auto: true col: ubigint len: -1 default: []", "type": "integer" }, "special_collection": { "description": "[ 2] special_collection varchar(128) null: false primary: false isArray: false auto: false col: varchar len: 128 default: []", "type": "string" }, "treasury_address": { "description": "[ 4] treasury_address varchar(256) null: false primary: false isArray: false auto: false col: varchar len: 256 default: []", "type": "string" }, "updated_at": { "description": "[ 6] updated_at timestamp null: false primary: false isArray: false auto: false col: timestamp len: -1 default: [CURRENT_TIMESTAMP]", "type": "string" } } }, "models.Traits": { "type": "object", "properties": { "created_at": { "description": "[ 4] created_at timestamp null: false primary: false isArray: false auto: false col: timestamp len: -1 default: [CURRENT_TIMESTAMP]", "type": "string" }, "deleted_at": { "description": "[ 6] deleted_at timestamp null: true primary: false isArray: false auto: false col: timestamp len: -1 default: []", "type": "string" }, "id": { "description": "[ 0] id ubigint null: false primary: true isArray: false auto: true col: ubigint len: -1 default: []", "type": "integer" }, "key": { "description": "[ 2] key varchar(256) null: false primary: false isArray: false auto: false col: varchar len: 256 default: []", "type": "string" }, "token_id": { "description": "[ 1] token_id ubigint null: false primary: false isArray: false auto: false col: ubigint len: -1 default: []", "type": "integer" }, "updated_at": { "description": "[ 5] updated_at timestamp null: false primary: false isArray: false auto: false col: timestamp len: -1 default: [CURRENT_TIMESTAMP]", "type": "string" }, "value": { "description": "[ 3] value varchar(256) null: false primary: false isArray: false auto: false col: varchar len: 256 default: []", "type": "string" } } }, "sale.BidData": { "type": "object", "properties": { "bid_price": { "type": "number" }, "currency": { "type": "string" }, "sale_id": { "type": "integer" } } }, "sale.RegisterResaleData": { "type": "object", "required": [ "currency", "sale_type", "token_id" ], "properties": { "currency": { "type": "string" }, "end_at": { "type": "string" }, "price": { "type": "number" }, "sale_type": { "type": "string" }, "start_at": { "type": "string" }, "start_price": { "type": "number" }, "token_id": { "type": "integer" } } }, "sale.TargetID": { "type": "object", "properties": { "id": { "type": "integer" } } }, "token.CollectionData": { "type": "object", "properties": { "collection_id": { "type": "integer" }, "is_official": { "type": "boolean" }, "name": { "type": "string" }, "thumbnail_image": { "type": "string" } } }, "token.Like": { "type": "object", "required": [ "token_id" ], "properties": { "is_like": { "type": "boolean" }, "token_id": { "type": "integer" } } }, "token.TokenBaseInfo": { "type": "object", "properties": { "collection": { "type": "array", "items": { "$ref": "#/definitions/token.CollectionData" } }, "commission": { "type": "number" } } }, "user.AuthenticationSNS": { "type": "object", "required": [ "code", "type" ], "properties": { "code": { "type": "string" }, "type": { "type": "string" } } }, "user.CertificationBody": { "type": "object", "required": [ "amount", "currency" ], "properties": { "amount": { "type": "number" }, "currency": { "type": "string" } } }, "user.Transfer": { "type": "object", "required": [ "amount", "code", "currency", "to_address" ], "properties": { "amount": { "type": "number" }, "code": { "type": "string" }, "currency": { "type": "string" }, "to_address": { "type": "string" } } }, "view.AdministratorList": { "type": "object", "properties": { "admin": { "type": "integer" }, "chargeof": { "type": "string" }, "collection": { "type": "integer" }, "created_at": { "type": "string" }, "email": { "type": "string" }, "id": { "type": "integer" }, "log": { "type": "integer" }, "name": { "type": "string" }, "phone": { "type": "string" }, "position": { "type": "string" }, "status": { "type": "string" }, "system": { "type": "integer" }, "team": { "type": "string" }, "update_at": { "type": "string" }, "user": { "type": "integer" } } }, "view.CollectionInfo": { "type": "object", "properties": { "contract_address": { "type": "string" }, "cover_image": { "type": "string" }, "curating_number": { "type": "integer" }, "description": { "type": "string" }, "highest_sale_price": { "type": "number" }, "id": { "type": "integer" }, "is_official": { "type": "boolean" }, "is_owner": { "type": "boolean" }, "items": { "type": "integer" }, "market_cap": { "type": "number" }, "name": { "type": "string" }, "recent_trading_day": { "type": "string" }, "status": { "type": "string" }, "symbol": { "type": "string" }, "thumbnail_image": { "type": "string" }, "total_like_count": { "type": "integer" }, "total_volume": { "type": "number" }, "user_name": { "type": "string" } } }, "view.MemberList": { "type": "object", "properties": { "address": { "type": "string" }, "check_sum": { "type": "string" }, "created_at": { "type": "string" }, "email": { "type": "string" }, "enc_version": { "type": "integer" }, "id": { "type": "integer" }, "name": { "type": "string" }, "phone": { "type": "string" }, "status": { "type": "string" }, "team": { "type": "string" } } }, "view.ResaleBaseData": { "type": "object", "properties": { "collection_id": { "type": "integer" }, "collection_is_official": { "type": "boolean" }, "collection_name": { "type": "string" }, "collection_thumbnail_image": { "type": "string" }, "commission": { "type": "number" }, "content_url": { "type": "string" }, "description": { "type": "string" }, "name": { "type": "string" }, "network": { "type": "string" }, "royalties": { "type": "integer" }, "token_id": { "type": "integer" }, "total_count": { "type": "integer" }, "type": { "type": "string" } } }, "view.Settings": { "type": "object", "properties": { "network_commission": { "type": "number" }, "service_commission": { "type": "number" } } }, "view.SimpleProfile": { "type": "object", "properties": { "settings": { "$ref": "#/definitions/view.Settings" }, "simple_profile": { "$ref": "#/definitions/view.UserBaseData" } } }, "view.TokenBaseData": { "type": "object", "properties": { "artist_is_official": { "type": "boolean" }, "artist_name": { "type": "string" }, "artist_profile_image": { "type": "string" }, "collection_is_official": { "type": "boolean" }, "collection_name": { "type": "string" }, "collection_thumbnail_image": { "type": "string" }, "content_url": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "integer" }, "index": { "type": "integer" }, "is_like": { "type": "boolean" }, "is_owner": { "type": "boolean" }, "like_count": { "type": "integer" }, "name": { "type": "string" }, "network": { "type": "string" }, "owner_is_official": { "type": "boolean" }, "royalties": { "type": "integer" }, "total_count": { "type": "integer" }, "type": { "type": "string" }, "uid": { "type": "string" }, "user_name": { "type": "string" }, "user_profile_image": { "type": "string" } } }, "view.TokenDetailData": { "type": "object", "properties": { "token": { "$ref": "#/definitions/view.TokenBaseData" }, "traits": { "type": "array", "items": { "$ref": "#/definitions/models.Traits" } } } }, "view.TokenOwnerList": { "type": "object", "properties": { "index": { "type": "integer" }, "is_official": { "type": "boolean" }, "name": { "type": "string" }, "thumbnail_image": { "type": "string" }, "token_id": { "type": "integer" }, "total_count": { "type": "integer" }, "updated_at": { "type": "string" } } }, "view.TokenResaleData": { "type": "object", "properties": { "token": { "$ref": "#/definitions/view.ResaleBaseData" }, "traits": { "type": "array", "items": { "$ref": "#/definitions/models.Traits" } } } }, "view.TokenSet": { "type": "object", "properties": { "collections": { "type": "array", "items": { "$ref": "#/definitions/view.CollectionInfo" } }, "curating_list": { "type": "array", "items": { "$ref": "#/definitions/common.ExpItem" } }, "explore": { "type": "array", "items": { "$ref": "#/definitions/common.ExpItem" } }, "hot_bids": { "type": "array", "items": { "$ref": "#/definitions/common.ExpItem" } }, "special_bids": { "type": "array", "items": { "$ref": "#/definitions/common.ExpItem" } }, "time_auctions": { "type": "array", "items": { "$ref": "#/definitions/common.ExpItem" } } } }, "view.UserBaseData": { "type": "object", "properties": { "address": { "type": "string" }, "available_eth_balance": { "type": "number" }, "available_mf_balance": { "type": "number" }, "available_mr_balance": { "type": "number" }, "cover_image": { "type": "string" }, "description": { "type": "string" }, "email": { "type": "string" }, "eth_balance": { "type": "number" }, "is_artist": { "type": "boolean" }, "mf_balance": { "type": "number" }, "mr_balance": { "type": "number" }, "name": { "type": "string" }, "thumbnail_image": { "type": "string" }, "twitter": { "type": "string" }, "user_id": { "type": "integer" } } } }, "securityDefinitions": { "ApiKeyAuth": { "type": "apiKey", "name": "Authorization", "in": "header" } } }` type swaggerInfo struct { Version string Host string BasePath string Schemes []string Title string Description string } // SwaggerInfo holds exported Swagger Info so clients can modify it var SwaggerInfo = swaggerInfo{ Version: "", Host: "", BasePath: "", Schemes: []string{}, Title: "", Description: "", } type s struct{} func (s *s) ReadDoc() string { sInfo := SwaggerInfo sInfo.Description = strings.Replace(sInfo.Description, "\n", "\\n", -1) t, err := template.New("swagger_info").Funcs(template.FuncMap{ "marshal": func(v interface{}) string { a, _ := json.Marshal(v) return string(a) }, "escape": func(v interface{}) string { // escape tabs str := strings.Replace(v.(string), "\t", "\\t", -1) // replace " with \", and if that results in \\", replace that with \\\" str = strings.Replace(str, "\"", "\\\"", -1) return strings.Replace(str, "\\\\\"", "\\\\\\\"", -1) }, }).Parse(doc) if err != nil { return doc } var tpl bytes.Buffer if err := t.Execute(&tpl, sInfo); err != nil { return doc } return tpl.String() } func init() { swag.Register("swagger", &s{}) }