1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055 |
- // Code generated by swaggo/swag. DO NOT EDIT.
- package v1
- import "github.com/swaggo/swag"
- const docTemplate = `{
- "schemes": {{ marshal .Schemes }},
- "swagger": "2.0",
- "info": {
- "description": "{{escape .Description}}",
- "title": "{{.Title}}",
- "contact": {
- "name": "API Support",
- "url": "https://github.com/orgs/usememos/discussions"
- },
- "license": {
- "name": "MIT License",
- "url": "https://github.com/usememos/memos/blob/main/LICENSE"
- },
- "version": "{{.Version}}"
- },
- "host": "{{.Host}}",
- "basePath": "{{.BasePath}}",
- "paths": {
- "/api/v1/auth/signin": {
- "post": {
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "tags": [
- "auth"
- ],
- "summary": "Sign-in to memos.",
- "parameters": [
- {
- "description": "Sign-in object",
- "name": "body",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/v1.SignIn"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "User information",
- "schema": {
- "$ref": "#/definitions/store.User"
- }
- },
- "400": {
- "description": "Malformatted signin request"
- },
- "401": {
- "description": "Password login is deactivated | Incorrect login credentials, please try again"
- },
- "403": {
- "description": "User has been archived with username %s"
- },
- "500": {
- "description": "Failed to find system setting | Failed to unmarshal system setting | Incorrect login credentials, please try again | Failed to generate tokens | Failed to create activity"
- }
- }
- }
- },
- "/api/v1/auth/signin/sso": {
- "post": {
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "tags": [
- "auth"
- ],
- "summary": "Sign-in to memos using SSO.",
- "parameters": [
- {
- "description": "SSO sign-in object",
- "name": "body",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/v1.SSOSignIn"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "User information",
- "schema": {
- "$ref": "#/definitions/store.User"
- }
- },
- "400": {
- "description": "Malformatted signin request"
- },
- "401": {
- "description": "Access denied, identifier does not match the filter."
- },
- "403": {
- "description": "User has been archived with username {username}"
- },
- "404": {
- "description": "Identity provider not found"
- },
- "500": {
- "description": "Failed to find identity provider | Failed to create identity provider instance | Failed to exchange token | Failed to get user info | Failed to compile identifier filter | Incorrect login credentials, please try again | Failed to generate random password | Failed to generate password hash | Failed to create user | Failed to generate tokens | Failed to create activity"
- }
- }
- }
- },
- "/api/v1/auth/signout": {
- "post": {
- "produces": [
- "application/json"
- ],
- "tags": [
- "auth"
- ],
- "summary": "Sign-out from memos.",
- "responses": {
- "200": {
- "description": "Sign-out success",
- "schema": {
- "type": "boolean"
- }
- }
- }
- }
- },
- "/api/v1/auth/signup": {
- "post": {
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "tags": [
- "auth"
- ],
- "summary": "Sign-up to memos.",
- "parameters": [
- {
- "description": "Sign-up object",
- "name": "body",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/v1.SignUp"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "User information",
- "schema": {
- "$ref": "#/definitions/store.User"
- }
- },
- "400": {
- "description": "Malformatted signup request | Failed to find users"
- },
- "401": {
- "description": "signup is disabled"
- },
- "403": {
- "description": "Forbidden"
- },
- "404": {
- "description": "Not found"
- },
- "500": {
- "description": "Failed to find system setting | Failed to unmarshal system setting allow signup | Failed to generate password hash | Failed to create user | Failed to generate tokens | Failed to create activity"
- }
- }
- }
- },
- "/api/v1/idp": {
- "get": {
- "description": "*clientSecret is only available for host user",
- "produces": [
- "application/json"
- ],
- "tags": [
- "idp"
- ],
- "summary": "Get a list of identity providers",
- "responses": {
- "200": {
- "description": "List of available identity providers",
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/v1.IdentityProvider"
- }
- }
- },
- "500": {
- "description": "Failed to find identity provider list | Failed to find user"
- }
- }
- },
- "post": {
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "tags": [
- "idp"
- ],
- "summary": "Create Identity Provider",
- "parameters": [
- {
- "description": "Identity provider information",
- "name": "body",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/v1.CreateIdentityProviderRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Identity provider information",
- "schema": {
- "$ref": "#/definitions/store.IdentityProvider"
- }
- },
- "400": {
- "description": "Malformatted post identity provider request"
- },
- "401": {
- "description": "Missing user in session | Unauthorized"
- },
- "500": {
- "description": "Failed to find user | Failed to create identity provider"
- }
- }
- }
- },
- "/api/v1/idp/{idpId}": {
- "get": {
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "tags": [
- "idp"
- ],
- "summary": "Get an identity provider by ID",
- "parameters": [
- {
- "type": "integer",
- "description": "Identity provider ID",
- "name": "idpId",
- "in": "path",
- "required": true
- }
- ],
- "responses": {
- "200": {
- "description": "Requested identity provider",
- "schema": {
- "$ref": "#/definitions/store.IdentityProvider"
- }
- },
- "400": {
- "description": "ID is not a number: %s"
- },
- "401": {
- "description": "Missing user in session | Unauthorized"
- },
- "404": {
- "description": "Identity provider not found"
- },
- "500": {
- "description": "Failed to find identity provider list | Failed to find user"
- }
- }
- },
- "delete": {
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "tags": [
- "idp"
- ],
- "summary": "Delete an identity provider by ID",
- "parameters": [
- {
- "type": "integer",
- "description": "Identity Provider ID",
- "name": "idpId",
- "in": "path",
- "required": true
- }
- ],
- "responses": {
- "200": {
- "description": "Identity Provider deleted",
- "schema": {
- "type": "boolean"
- }
- },
- "400": {
- "description": "ID is not a number: %s | Malformatted patch identity provider request"
- },
- "401": {
- "description": "Missing user in session | Unauthorized"
- },
- "500": {
- "description": "Failed to find user | Failed to patch identity provider"
- }
- }
- },
- "patch": {
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "tags": [
- "idp"
- ],
- "summary": "Update an identity provider by ID",
- "parameters": [
- {
- "type": "integer",
- "description": "Identity Provider ID",
- "name": "idpId",
- "in": "path",
- "required": true
- },
- {
- "description": "Patched identity provider information",
- "name": "body",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/v1.UpdateIdentityProviderRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Patched identity provider",
- "schema": {
- "$ref": "#/definitions/store.IdentityProvider"
- }
- },
- "400": {
- "description": "ID is not a number: %s | Malformatted patch identity provider request"
- },
- "401": {
- "description": "Missing user in session | Unauthorized"
- },
- "500": {
- "description": "Failed to find user | Failed to patch identity provider"
- }
- }
- }
- },
- "/api/v1/memo": {
- "get": {
- "produces": [
- "application/json"
- ],
- "tags": [
- "memo"
- ],
- "summary": "Get a list of memos matching optional filters",
- "parameters": [
- {
- "type": "integer",
- "description": "Creator ID",
- "name": "creatorId",
- "in": "query"
- },
- {
- "type": "string",
- "description": "Creator username",
- "name": "creatorUsername",
- "in": "query"
- },
- {
- "enum": [
- "NORMAL",
- "ARCHIVED"
- ],
- "type": "string",
- "description": "Row status",
- "name": "rowStatus",
- "in": "query"
- },
- {
- "type": "boolean",
- "description": "Pinned",
- "name": "pinned",
- "in": "query"
- },
- {
- "type": "string",
- "description": "Search for tag. Do not append #",
- "name": "tag",
- "in": "query"
- },
- {
- "type": "string",
- "description": "Search for content",
- "name": "content",
- "in": "query"
- },
- {
- "type": "integer",
- "description": "Limit",
- "name": "limit",
- "in": "query"
- },
- {
- "type": "integer",
- "description": "Offset",
- "name": "offset",
- "in": "query"
- }
- ],
- "responses": {
- "200": {
- "description": "Memo list",
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/store.Memo"
- }
- }
- },
- "400": {
- "description": "Missing user to find memo"
- },
- "500": {
- "description": "Failed to get memo display with updated ts setting value | Failed to fetch memo list | Failed to compose memo response"
- }
- }
- },
- "post": {
- "description": "Visibility can be PUBLIC, PROTECTED or PRIVATE\n*You should omit fields to use their default values",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "tags": [
- "memo"
- ],
- "summary": "Create a memo",
- "parameters": [
- {
- "description": "Request object.",
- "name": "body",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/v1.CreateMemoRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Stored memo",
- "schema": {
- "$ref": "#/definitions/store.Memo"
- }
- },
- "400": {
- "description": "Malformatted post memo request | Content size overflow, up to 1MB"
- },
- "401": {
- "description": "Missing user in session"
- },
- "404": {
- "description": "User not found | Memo not found: %d"
- },
- "500": {
- "description": "Failed to find user setting | Failed to unmarshal user setting value | Failed to find system setting | Failed to unmarshal system setting | Failed to find user | Failed to create memo | Failed to create activity | Failed to upsert memo resource | Failed to upsert memo relation | Failed to compose memo | Failed to compose memo response"
- }
- }
- }
- },
- "/api/v1/memo/all": {
- "get": {
- "description": "This should also list protected memos if the user is logged in\nAuthentication is optional",
- "produces": [
- "application/json"
- ],
- "tags": [
- "memo"
- ],
- "summary": "Get a list of public memos matching optional filters",
- "parameters": [
- {
- "type": "integer",
- "description": "Limit",
- "name": "limit",
- "in": "query"
- },
- {
- "type": "integer",
- "description": "Offset",
- "name": "offset",
- "in": "query"
- }
- ],
- "responses": {
- "200": {
- "description": "Memo list",
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/store.Memo"
- }
- }
- },
- "500": {
- "description": "Failed to get memo display with updated ts setting value | Failed to fetch all memo list | Failed to compose memo response"
- }
- }
- }
- },
- "/api/v1/memo/stats": {
- "get": {
- "description": "Used to generate the heatmap",
- "produces": [
- "application/json"
- ],
- "tags": [
- "memo"
- ],
- "summary": "Get memo stats by creator ID or username",
- "parameters": [
- {
- "type": "integer",
- "description": "Creator ID",
- "name": "creatorId",
- "in": "query"
- },
- {
- "type": "string",
- "description": "Creator username",
- "name": "creatorUsername",
- "in": "query"
- }
- ],
- "responses": {
- "200": {
- "description": "Memo createdTs list",
- "schema": {
- "type": "array",
- "items": {
- "type": "integer"
- }
- }
- },
- "400": {
- "description": "Missing user id to find memo"
- },
- "500": {
- "description": "Failed to get memo display with updated ts setting value | Failed to find memo list | Failed to compose memo response"
- }
- }
- }
- },
- "/api/v1/memo/{memoId}": {
- "get": {
- "produces": [
- "application/json"
- ],
- "tags": [
- "memo"
- ],
- "summary": "Get memo by ID",
- "parameters": [
- {
- "type": "integer",
- "description": "Memo ID",
- "name": "memoId",
- "in": "path",
- "required": true
- }
- ],
- "responses": {
- "200": {
- "description": "Memo list",
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/store.Memo"
- }
- }
- },
- "400": {
- "description": "ID is not a number: %s"
- },
- "401": {
- "description": "Missing user in session"
- },
- "403": {
- "description": "this memo is private only | this memo is protected, missing user in session"
- },
- "404": {
- "description": "Memo not found: %d"
- },
- "500": {
- "description": "Failed to find memo by ID: %v | Failed to compose memo response"
- }
- }
- },
- "delete": {
- "produces": [
- "application/json"
- ],
- "tags": [
- "memo"
- ],
- "summary": "Delete memo by ID",
- "parameters": [
- {
- "type": "integer",
- "description": "Memo ID to delete",
- "name": "memoId",
- "in": "path",
- "required": true
- }
- ],
- "responses": {
- "200": {
- "description": "Memo deleted",
- "schema": {
- "type": "boolean"
- }
- },
- "400": {
- "description": "ID is not a number: %s"
- },
- "401": {
- "description": "Missing user in session | Unauthorized"
- },
- "404": {
- "description": "Memo not found: %d"
- },
- "500": {
- "description": "Failed to find memo | Failed to delete memo ID: %v"
- }
- }
- },
- "patch": {
- "description": "Visibility can be PUBLIC, PROTECTED or PRIVATE\n*You should omit fields to use their default values",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "tags": [
- "memo"
- ],
- "summary": "Update a memo",
- "parameters": [
- {
- "type": "integer",
- "description": "ID of memo to update",
- "name": "memoId",
- "in": "path",
- "required": true
- },
- {
- "description": "Patched object.",
- "name": "body",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/v1.PatchMemoRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Stored memo",
- "schema": {
- "$ref": "#/definitions/store.Memo"
- }
- },
- "400": {
- "description": "ID is not a number: %s | Malformatted patch memo request | Content size overflow, up to 1MB"
- },
- "401": {
- "description": "Missing user in session | Unauthorized"
- },
- "404": {
- "description": "Memo not found: %d"
- },
- "500": {
- "description": "Failed to find memo | Failed to patch memo | Failed to upsert memo resource | Failed to delete memo resource | Failed to compose memo response"
- }
- }
- }
- },
- "/api/v1/memo/{memoId}/organizer": {
- "post": {
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "tags": [
- "memo-organizer"
- ],
- "summary": "Organize memo (pin/unpin)",
- "parameters": [
- {
- "type": "integer",
- "description": "ID of memo to organize",
- "name": "memoId",
- "in": "path",
- "required": true
- },
- {
- "description": "Memo organizer object",
- "name": "body",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/v1.UpsertMemoOrganizerRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Memo information",
- "schema": {
- "$ref": "#/definitions/store.Memo"
- }
- },
- "400": {
- "description": "ID is not a number: %s | Malformatted post memo organizer request"
- },
- "401": {
- "description": "Missing user in session | Unauthorized"
- },
- "404": {
- "description": "Memo not found: %v"
- },
- "500": {
- "description": "Failed to find memo | Failed to upsert memo organizer | Failed to find memo by ID: %v | Failed to compose memo response"
- }
- }
- }
- },
- "/api/v1/memo/{memoId}/relation": {
- "get": {
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "tags": [
- "memo-relation"
- ],
- "summary": "Get a list of Memo Relations",
- "parameters": [
- {
- "type": "integer",
- "description": "ID of memo to find relations",
- "name": "memoId",
- "in": "path",
- "required": true
- }
- ],
- "responses": {
- "200": {
- "description": "Memo relation information list",
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/store.MemoRelation"
- }
- }
- },
- "400": {
- "description": "ID is not a number: %s"
- },
- "500": {
- "description": "Failed to list memo relations"
- }
- }
- },
- "post": {
- "description": "Create a relation between two memos",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "tags": [
- "memo-relation"
- ],
- "summary": "Create Memo Relation",
- "parameters": [
- {
- "type": "integer",
- "description": "ID of memo to relate",
- "name": "memoId",
- "in": "path",
- "required": true
- },
- {
- "description": "Memo relation object",
- "name": "body",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/v1.UpsertMemoRelationRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Memo relation information",
- "schema": {
- "$ref": "#/definitions/store.MemoRelation"
- }
- },
- "400": {
- "description": "ID is not a number: %s | Malformatted post memo relation request"
- },
- "500": {
- "description": "Failed to upsert memo relation"
- }
- }
- }
- },
- "/api/v1/memo/{memoId}/relation/{relatedMemoId}/type/{relationType}": {
- "delete": {
- "description": "Removes a relation between two memos",
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "tags": [
- "memo-relation"
- ],
- "summary": "Delete a Memo Relation",
- "parameters": [
- {
- "type": "integer",
- "description": "ID of memo to find relations",
- "name": "memoId",
- "in": "path",
- "required": true
- },
- {
- "type": "integer",
- "description": "ID of memo to remove relation to",
- "name": "relatedMemoId",
- "in": "path",
- "required": true
- },
- {
- "enum": [
- "REFERENCE",
- "ADDITIONAL"
- ],
- "type": "string",
- "description": "Type of relation to remove",
- "name": "relationType",
- "in": "path",
- "required": true
- }
- ],
- "responses": {
- "200": {
- "description": "Memo relation deleted",
- "schema": {
- "type": "boolean"
- }
- },
- "400": {
- "description": "Memo ID is not a number: %s | Related memo ID is not a number: %s"
- },
- "500": {
- "description": "Failed to delete memo relation"
- }
- }
- }
- },
- "/api/v1/ping": {
- "get": {
- "produces": [
- "application/json"
- ],
- "tags": [
- "system"
- ],
- "summary": "Ping the system",
- "responses": {
- "200": {
- "description": "If succeed to ping the system",
- "schema": {
- "type": "boolean"
- }
- }
- }
- }
- },
- "/api/v1/resource": {
- "get": {
- "produces": [
- "application/json"
- ],
- "tags": [
- "resource"
- ],
- "summary": "Get a list of resources",
- "parameters": [
- {
- "type": "integer",
- "description": "Limit",
- "name": "limit",
- "in": "query"
- },
- {
- "type": "integer",
- "description": "Offset",
- "name": "offset",
- "in": "query"
- }
- ],
- "responses": {
- "200": {
- "description": "Resource list",
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/store.Resource"
- }
- }
- },
- "401": {
- "description": "Missing user in session"
- },
- "500": {
- "description": "Failed to fetch resource list"
- }
- }
- },
- "post": {
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "tags": [
- "resource"
- ],
- "summary": "Create resource",
- "parameters": [
- {
- "description": "Request object.",
- "name": "body",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/v1.CreateResourceRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Created resource",
- "schema": {
- "$ref": "#/definitions/store.Resource"
- }
- },
- "400": {
- "description": "Malformatted post resource request | Invalid external link | Invalid external link scheme | Failed to request %s | Failed to read %s | Failed to read mime from %s"
- },
- "401": {
- "description": "Missing user in session"
- },
- "500": {
- "description": "Failed to save resource | Failed to create resource | Failed to create activity"
- }
- }
- }
- },
- "/api/v1/resource/blob": {
- "post": {
- "consumes": [
- "multipart/form-data"
- ],
- "produces": [
- "application/json"
- ],
- "tags": [
- "resource"
- ],
- "summary": "Upload resource",
- "parameters": [
- {
- "type": "file",
- "description": "File to upload",
- "name": "file",
- "in": "formData",
- "required": true
- }
- ],
- "responses": {
- "200": {
- "description": "Created resource",
- "schema": {
- "$ref": "#/definitions/store.Resource"
- }
- },
- "400": {
- "description": "Upload file not found | File size exceeds allowed limit of %d MiB | Failed to parse upload data"
- },
- "401": {
- "description": "Missing user in session"
- },
- "500": {
- "description": "Failed to get uploading file | Failed to open file | Failed to save resource | Failed to create resource | Failed to create activity"
- }
- }
- }
- },
- "/api/v1/resource/{resourceId}": {
- "delete": {
- "produces": [
- "application/json"
- ],
- "tags": [
- "resource"
- ],
- "summary": "Delete a resource",
- "parameters": [
- {
- "type": "integer",
- "description": "Resource ID",
- "name": "resourceId",
- "in": "path",
- "required": true
- }
- ],
- "responses": {
- "200": {
- "description": "Resource deleted",
- "schema": {
- "type": "boolean"
- }
- },
- "400": {
- "description": "ID is not a number: %s"
- },
- "401": {
- "description": "Missing user in session"
- },
- "404": {
- "description": "Resource not found: %d"
- },
- "500": {
- "description": "Failed to find resource | Failed to delete resource"
- }
- }
- },
- "patch": {
- "produces": [
- "application/json"
- ],
- "tags": [
- "resource"
- ],
- "summary": "Update a resource",
- "parameters": [
- {
- "type": "integer",
- "description": "Resource ID",
- "name": "resourceId",
- "in": "path",
- "required": true
- },
- {
- "description": "Patch resource request",
- "name": "patch",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/v1.UpdateResourceRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Updated resource",
- "schema": {
- "$ref": "#/definitions/store.Resource"
- }
- },
- "400": {
- "description": "ID is not a number: %s | Malformatted patch resource request"
- },
- "401": {
- "description": "Missing user in session | Unauthorized"
- },
- "404": {
- "description": "Resource not found: %d"
- },
- "500": {
- "description": "Failed to find resource | Failed to patch resource"
- }
- }
- }
- },
- "/api/v1/status": {
- "get": {
- "produces": [
- "application/json"
- ],
- "tags": [
- "system"
- ],
- "summary": "Get system GetSystemStatus",
- "responses": {
- "200": {
- "description": "System GetSystemStatus",
- "schema": {
- "$ref": "#/definitions/v1.SystemStatus"
- }
- },
- "401": {
- "description": "Missing user in session | Unauthorized"
- },
- "500": {
- "description": "Failed to find host user | Failed to find system setting list | Failed to unmarshal system setting customized profile value"
- }
- }
- }
- },
- "/api/v1/storage": {
- "get": {
- "produces": [
- "application/json"
- ],
- "tags": [
- "storage"
- ],
- "summary": "Get a list of storages",
- "responses": {
- "200": {
- "description": "List of storages",
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/store.Storage"
- }
- }
- },
- "401": {
- "description": "Missing user in session | Unauthorized"
- },
- "500": {
- "description": "Failed to find user | Failed to convert storage"
- }
- }
- },
- "post": {
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "tags": [
- "storage"
- ],
- "summary": "Create storage",
- "parameters": [
- {
- "description": "Request object.",
- "name": "body",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/v1.CreateStorageRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Created storage",
- "schema": {
- "$ref": "#/definitions/store.Storage"
- }
- },
- "400": {
- "description": "Malformatted post storage request"
- },
- "401": {
- "description": "Missing user in session"
- },
- "500": {
- "description": "Failed to find user | Failed to create storage | Failed to convert storage"
- }
- }
- }
- },
- "/api/v1/storage/{storageId}": {
- "delete": {
- "produces": [
- "application/json"
- ],
- "tags": [
- "storage"
- ],
- "summary": "Delete a storage",
- "parameters": [
- {
- "type": "integer",
- "description": "Storage ID",
- "name": "storageId",
- "in": "path",
- "required": true
- }
- ],
- "responses": {
- "200": {
- "description": "Storage deleted",
- "schema": {
- "type": "boolean"
- }
- },
- "400": {
- "description": "ID is not a number: %s | Storage service %d is using"
- },
- "401": {
- "description": "Missing user in session | Unauthorized"
- },
- "500": {
- "description": "Failed to find user | Failed to find storage | Failed to unmarshal storage service id | Failed to delete storage"
- }
- }
- },
- "patch": {
- "produces": [
- "application/json"
- ],
- "tags": [
- "storage"
- ],
- "summary": "Update a storage",
- "parameters": [
- {
- "type": "integer",
- "description": "Storage ID",
- "name": "storageId",
- "in": "path",
- "required": true
- },
- {
- "description": "Patch request",
- "name": "patch",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/v1.UpdateStorageRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Updated resource",
- "schema": {
- "$ref": "#/definitions/store.Storage"
- }
- },
- "400": {
- "description": "ID is not a number: %s | Malformatted patch storage request | Malformatted post storage request"
- },
- "401": {
- "description": "Missing user in session | Unauthorized"
- },
- "500": {
- "description": "Failed to find user | Failed to patch storage | Failed to convert storage"
- }
- }
- }
- },
- "/api/v1/system/setting": {
- "get": {
- "produces": [
- "application/json"
- ],
- "tags": [
- "system-setting"
- ],
- "summary": "Get a list of system settings",
- "responses": {
- "200": {
- "description": "System setting list",
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/v1.SystemSetting"
- }
- }
- },
- "401": {
- "description": "Missing user in session | Unauthorized"
- },
- "500": {
- "description": "Failed to find user | Failed to find system setting list"
- }
- }
- },
- "post": {
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "tags": [
- "system-setting"
- ],
- "summary": "Create system setting",
- "parameters": [
- {
- "description": "Request object.",
- "name": "body",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/v1.UpsertSystemSettingRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Created system setting",
- "schema": {
- "$ref": "#/definitions/store.SystemSetting"
- }
- },
- "400": {
- "description": "Malformatted post system setting request | invalid system setting"
- },
- "401": {
- "description": "Missing user in session | Unauthorized"
- },
- "403": {
- "description": "Cannot disable passwords if no SSO identity provider is configured."
- },
- "500": {
- "description": "Failed to find user | Failed to upsert system setting"
- }
- }
- }
- },
- "/api/v1/system/vacuum": {
- "post": {
- "produces": [
- "application/json"
- ],
- "tags": [
- "system"
- ],
- "summary": "Vacuum the database",
- "responses": {
- "200": {
- "description": "Database vacuumed",
- "schema": {
- "type": "boolean"
- }
- },
- "401": {
- "description": "Missing user in session | Unauthorized"
- },
- "500": {
- "description": "Failed to find user | Failed to ExecVacuum database"
- }
- }
- }
- },
- "/api/v1/tag": {
- "get": {
- "produces": [
- "application/json"
- ],
- "tags": [
- "tag"
- ],
- "summary": "Get a list of tags",
- "responses": {
- "200": {
- "description": "Tag list",
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "400": {
- "description": "Missing user id to find tag"
- },
- "500": {
- "description": "Failed to find tag list"
- }
- }
- },
- "post": {
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "tags": [
- "tag"
- ],
- "summary": "Create a tag",
- "parameters": [
- {
- "description": "Request object.",
- "name": "body",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/v1.UpsertTagRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Created tag name",
- "schema": {
- "type": "string"
- }
- },
- "400": {
- "description": "Malformatted post tag request | Tag name shouldn't be empty"
- },
- "401": {
- "description": "Missing user in session"
- },
- "500": {
- "description": "Failed to upsert tag | Failed to create activity"
- }
- }
- }
- },
- "/api/v1/tag/delete": {
- "post": {
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "tags": [
- "tag"
- ],
- "summary": "Delete a tag",
- "parameters": [
- {
- "description": "Request object.",
- "name": "body",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/v1.DeleteTagRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Tag deleted",
- "schema": {
- "type": "boolean"
- }
- },
- "400": {
- "description": "Malformatted post tag request | Tag name shouldn't be empty"
- },
- "401": {
- "description": "Missing user in session"
- },
- "500": {
- "description": "Failed to delete tag name: %v"
- }
- }
- }
- },
- "/api/v1/tag/suggestion": {
- "get": {
- "produces": [
- "application/json"
- ],
- "tags": [
- "tag"
- ],
- "summary": "Get a list of tags suggested from other memos contents",
- "responses": {
- "200": {
- "description": "Tag list",
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "400": {
- "description": "Missing user session"
- },
- "500": {
- "description": "Failed to find memo list | Failed to find tag list"
- }
- }
- }
- },
- "/api/v1/user": {
- "get": {
- "produces": [
- "application/json"
- ],
- "tags": [
- "user"
- ],
- "summary": "Get a list of users",
- "responses": {
- "200": {
- "description": "User list",
- "schema": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/store.User"
- }
- }
- },
- "500": {
- "description": "Failed to fetch user list"
- }
- }
- },
- "post": {
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "tags": [
- "user"
- ],
- "summary": "Create a user",
- "parameters": [
- {
- "description": "Request object",
- "name": "body",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/v1.CreateUserRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Created user",
- "schema": {
- "$ref": "#/definitions/store.User"
- }
- },
- "400": {
- "description": "Malformatted post user request | Invalid user create format"
- },
- "401": {
- "description": "Missing auth session | Unauthorized to create user"
- },
- "403": {
- "description": "Could not create host user"
- },
- "500": {
- "description": "Failed to find user by id | Failed to generate password hash | Failed to create user | Failed to create activity"
- }
- }
- }
- },
- "/api/v1/user/me": {
- "get": {
- "produces": [
- "application/json"
- ],
- "tags": [
- "user"
- ],
- "summary": "Get current user",
- "responses": {
- "200": {
- "description": "Current user",
- "schema": {
- "$ref": "#/definitions/store.User"
- }
- },
- "401": {
- "description": "Missing auth session"
- },
- "500": {
- "description": "Failed to find user | Failed to find userSettingList"
- }
- }
- }
- },
- "/api/v1/user/name/{username}": {
- "get": {
- "produces": [
- "application/json"
- ],
- "tags": [
- "user"
- ],
- "summary": "Get user by username",
- "parameters": [
- {
- "type": "string",
- "description": "Username",
- "name": "username",
- "in": "path",
- "required": true
- }
- ],
- "responses": {
- "200": {
- "description": "Requested user",
- "schema": {
- "$ref": "#/definitions/store.User"
- }
- },
- "404": {
- "description": "User not found"
- },
- "500": {
- "description": "Failed to find user"
- }
- }
- }
- },
- "/api/v1/user/setting": {
- "post": {
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "tags": [
- "user-setting"
- ],
- "summary": "Upsert user setting",
- "parameters": [
- {
- "description": "Request object.",
- "name": "body",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/v1.UpsertUserSettingRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Created user setting",
- "schema": {
- "$ref": "#/definitions/github_com_usememos_memos_store.UserSetting"
- }
- },
- "400": {
- "description": "Malformatted post user setting upsert request | Invalid user setting format"
- },
- "401": {
- "description": "Missing auth session"
- },
- "500": {
- "description": "Failed to upsert user setting"
- }
- }
- }
- },
- "/api/v1/user/{id}": {
- "get": {
- "produces": [
- "application/json"
- ],
- "tags": [
- "user"
- ],
- "summary": "Get user by id",
- "parameters": [
- {
- "type": "integer",
- "description": "User ID",
- "name": "id",
- "in": "path",
- "required": true
- }
- ],
- "responses": {
- "200": {
- "description": "Requested user",
- "schema": {
- "$ref": "#/definitions/store.User"
- }
- },
- "400": {
- "description": "Malformatted user id"
- },
- "404": {
- "description": "User not found"
- },
- "500": {
- "description": "Failed to find user"
- }
- }
- },
- "delete": {
- "produces": [
- "application/json"
- ],
- "tags": [
- "user"
- ],
- "summary": "Delete a user",
- "parameters": [
- {
- "type": "string",
- "description": "User ID",
- "name": "id",
- "in": "path",
- "required": true
- }
- ],
- "responses": {
- "200": {
- "description": "User deleted",
- "schema": {
- "type": "boolean"
- }
- },
- "400": {
- "description": "ID is not a number: %s | Current session user not found with ID: %d"
- },
- "401": {
- "description": "Missing user in session"
- },
- "403": {
- "description": "Unauthorized to delete user"
- },
- "500": {
- "description": "Failed to find user | Failed to delete user"
- }
- }
- },
- "patch": {
- "produces": [
- "application/json"
- ],
- "tags": [
- "user"
- ],
- "summary": "Update a user",
- "parameters": [
- {
- "type": "string",
- "description": "User ID",
- "name": "id",
- "in": "path",
- "required": true
- },
- {
- "description": "Patch request",
- "name": "patch",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/v1.UpdateUserRequest"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Updated user",
- "schema": {
- "$ref": "#/definitions/store.User"
- }
- },
- "400": {
- "description": "ID is not a number: %s | Current session user not found with ID: %d | Malformatted patch user request | Invalid update user request"
- },
- "401": {
- "description": "Missing user in session"
- },
- "403": {
- "description": "Unauthorized to update user"
- },
- "500": {
- "description": "Failed to find user | Failed to generate password hash | Failed to patch user | Failed to find userSettingList"
- }
- }
- }
- },
- "/explore/rss.xml": {
- "get": {
- "produces": [
- "text/xml"
- ],
- "tags": [
- "rss"
- ],
- "summary": "Get RSS",
- "responses": {
- "200": {
- "description": "RSS"
- },
- "500": {
- "description": "Failed to get system customized profile | Failed to find memo list | Failed to generate rss"
- }
- }
- }
- },
- "/o/get/GetImage": {
- "get": {
- "produces": [
- "GetImage/*"
- ],
- "tags": [
- "get"
- ],
- "summary": "Get GetImage from URL",
- "parameters": [
- {
- "type": "string",
- "description": "Image url",
- "name": "url",
- "in": "query",
- "required": true
- }
- ],
- "responses": {
- "200": {
- "description": "Image"
- },
- "400": {
- "description": "Missing GetImage url | Wrong url | Failed to get GetImage url: %s"
- },
- "500": {
- "description": "Failed to write GetImage blob"
- }
- }
- }
- },
- "/o/get/GetWebsiteMetadata": {
- "get": {
- "produces": [
- "application/json"
- ],
- "tags": [
- "get"
- ],
- "summary": "Get website metadata",
- "parameters": [
- {
- "type": "string",
- "description": "Website URL",
- "name": "url",
- "in": "query",
- "required": true
- }
- ],
- "responses": {
- "200": {
- "description": "Extracted metadata",
- "schema": {
- "$ref": "#/definitions/getter.HTMLMeta"
- }
- },
- "400": {
- "description": "Missing website url | Wrong url"
- },
- "406": {
- "description": "Failed to get website meta with url: %s"
- }
- }
- }
- },
- "/o/r/{resourceId}": {
- "get": {
- "description": "*Swagger UI may have problems displaying other file types than images",
- "produces": [
- "application/octet-stream"
- ],
- "tags": [
- "resource"
- ],
- "summary": "Stream a resource",
- "parameters": [
- {
- "type": "integer",
- "description": "Resource ID",
- "name": "resourceId",
- "in": "path",
- "required": true
- },
- {
- "type": "integer",
- "description": "Thumbnail",
- "name": "thumbnail",
- "in": "query"
- }
- ],
- "responses": {
- "200": {
- "description": "Requested resource"
- },
- "400": {
- "description": "ID is not a number: %s | Failed to get resource visibility"
- },
- "401": {
- "description": "Resource visibility not match"
- },
- "404": {
- "description": "Resource not found: %d"
- },
- "500": {
- "description": "Failed to find resource by ID: %v | Failed to open the local resource: %s | Failed to read the local resource: %s"
- }
- }
- }
- },
- "/u/{id}/rss.xml": {
- "get": {
- "produces": [
- "text/xml"
- ],
- "tags": [
- "rss"
- ],
- "summary": "Get RSS for a user",
- "parameters": [
- {
- "type": "integer",
- "description": "User ID",
- "name": "id",
- "in": "path",
- "required": true
- }
- ],
- "responses": {
- "200": {
- "description": "RSS"
- },
- "400": {
- "description": "User id is not a number"
- },
- "500": {
- "description": "Failed to get system customized profile | Failed to find memo list | Failed to generate rss"
- }
- }
- }
- }
- },
- "definitions": {
- "getter.HTMLMeta": {
- "type": "object",
- "properties": {
- "description": {
- "type": "string"
- },
- "image": {
- "type": "string"
- },
- "title": {
- "type": "string"
- }
- }
- },
- "github_com_usememos_memos_store.UserSetting": {
- "type": "object",
- "properties": {
- "key": {
- "type": "string"
- },
- "userID": {
- "type": "integer"
- },
- "value": {
- "type": "string"
- }
- }
- },
- "profile.Profile": {
- "type": "object",
- "properties": {
- "mode": {
- "description": "Mode can be \"prod\" or \"dev\" or \"demo\"",
- "type": "string"
- },
- "version": {
- "description": "Version is the current version of server",
- "type": "string"
- }
- }
- },
- "store.FieldMapping": {
- "type": "object",
- "properties": {
- "displayName": {
- "type": "string"
- },
- "email": {
- "type": "string"
- },
- "identifier": {
- "type": "string"
- }
- }
- },
- "store.IdentityProvider": {
- "type": "object",
- "properties": {
- "config": {
- "$ref": "#/definitions/store.IdentityProviderConfig"
- },
- "id": {
- "type": "integer"
- },
- "identifierFilter": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/store.IdentityProviderType"
- }
- }
- },
- "store.IdentityProviderConfig": {
- "type": "object",
- "properties": {
- "oauth2Config": {
- "$ref": "#/definitions/store.IdentityProviderOAuth2Config"
- }
- }
- },
- "store.IdentityProviderOAuth2Config": {
- "type": "object",
- "properties": {
- "authUrl": {
- "type": "string"
- },
- "clientId": {
- "type": "string"
- },
- "clientSecret": {
- "type": "string"
- },
- "fieldMapping": {
- "$ref": "#/definitions/store.FieldMapping"
- },
- "scopes": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "tokenUrl": {
- "type": "string"
- },
- "userInfoUrl": {
- "type": "string"
- }
- }
- },
- "store.IdentityProviderType": {
- "type": "string",
- "enum": [
- "OAUTH2"
- ],
- "x-enum-varnames": [
- "IdentityProviderOAuth2Type"
- ]
- },
- "store.Memo": {
- "type": "object",
- "properties": {
- "content": {
- "description": "Domain specific fields",
- "type": "string"
- },
- "createdTs": {
- "type": "integer"
- },
- "creatorID": {
- "type": "integer"
- },
- "id": {
- "type": "integer"
- },
- "pinned": {
- "description": "Composed fields",
- "type": "boolean"
- },
- "relationList": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/store.MemoRelation"
- }
- },
- "resourceIDList": {
- "type": "array",
- "items": {
- "type": "integer"
- }
- },
- "rowStatus": {
- "description": "Standard fields",
- "allOf": [
- {
- "$ref": "#/definitions/store.RowStatus"
- }
- ]
- },
- "updatedTs": {
- "type": "integer"
- },
- "visibility": {
- "$ref": "#/definitions/store.Visibility"
- }
- }
- },
- "store.MemoRelation": {
- "type": "object",
- "properties": {
- "memoID": {
- "type": "integer"
- },
- "relatedMemoID": {
- "type": "integer"
- },
- "type": {
- "$ref": "#/definitions/store.MemoRelationType"
- }
- }
- },
- "store.MemoRelationType": {
- "type": "string",
- "enum": [
- "REFERENCE",
- "ADDITIONAL"
- ],
- "x-enum-varnames": [
- "MemoRelationReference",
- "MemoRelationAdditional"
- ]
- },
- "store.Resource": {
- "type": "object",
- "properties": {
- "blob": {
- "type": "array",
- "items": {
- "type": "integer"
- }
- },
- "createdTs": {
- "type": "integer"
- },
- "creatorID": {
- "description": "Standard fields",
- "type": "integer"
- },
- "externalLink": {
- "type": "string"
- },
- "filename": {
- "description": "Domain specific fields",
- "type": "string"
- },
- "id": {
- "type": "integer"
- },
- "internalPath": {
- "type": "string"
- },
- "memoID": {
- "type": "integer"
- },
- "size": {
- "type": "integer"
- },
- "type": {
- "type": "string"
- },
- "updatedTs": {
- "type": "integer"
- }
- }
- },
- "store.Role": {
- "type": "string",
- "enum": [
- "HOST",
- "ADMIN",
- "USER"
- ],
- "x-enum-varnames": [
- "RoleHost",
- "RoleAdmin",
- "RoleUser"
- ]
- },
- "store.RowStatus": {
- "type": "string",
- "enum": [
- "NORMAL",
- "ARCHIVED"
- ],
- "x-enum-varnames": [
- "Normal",
- "Archived"
- ]
- },
- "store.Storage": {
- "type": "object",
- "properties": {
- "config": {
- "type": "string"
- },
- "id": {
- "type": "integer"
- },
- "name": {
- "type": "string"
- },
- "type": {
- "type": "string"
- }
- }
- },
- "store.SystemSetting": {
- "type": "object",
- "properties": {
- "description": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "value": {
- "type": "string"
- }
- }
- },
- "store.User": {
- "type": "object",
- "properties": {
- "avatarURL": {
- "type": "string"
- },
- "createdTs": {
- "type": "integer"
- },
- "email": {
- "type": "string"
- },
- "id": {
- "type": "integer"
- },
- "nickname": {
- "type": "string"
- },
- "passwordHash": {
- "type": "string"
- },
- "role": {
- "$ref": "#/definitions/store.Role"
- },
- "rowStatus": {
- "description": "Standard fields",
- "allOf": [
- {
- "$ref": "#/definitions/store.RowStatus"
- }
- ]
- },
- "updatedTs": {
- "type": "integer"
- },
- "username": {
- "description": "Domain specific fields",
- "type": "string"
- }
- }
- },
- "store.Visibility": {
- "type": "string",
- "enum": [
- "PUBLIC",
- "PROTECTED",
- "PRIVATE"
- ],
- "x-enum-varnames": [
- "Public",
- "Protected",
- "Private"
- ]
- },
- "v1.CreateIdentityProviderRequest": {
- "type": "object",
- "properties": {
- "config": {
- "$ref": "#/definitions/v1.IdentityProviderConfig"
- },
- "identifierFilter": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/v1.IdentityProviderType"
- }
- }
- },
- "v1.CreateMemoRequest": {
- "type": "object",
- "properties": {
- "content": {
- "type": "string"
- },
- "createdTs": {
- "type": "integer"
- },
- "relationList": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/v1.UpsertMemoRelationRequest"
- }
- },
- "resourceIdList": {
- "description": "Related fields",
- "type": "array",
- "items": {
- "type": "integer"
- }
- },
- "visibility": {
- "description": "Domain specific fields",
- "allOf": [
- {
- "$ref": "#/definitions/v1.Visibility"
- }
- ]
- }
- }
- },
- "v1.CreateResourceRequest": {
- "type": "object",
- "properties": {
- "externalLink": {
- "type": "string"
- },
- "filename": {
- "type": "string"
- },
- "internalPath": {
- "type": "string"
- },
- "type": {
- "type": "string"
- }
- }
- },
- "v1.CreateStorageRequest": {
- "type": "object",
- "properties": {
- "config": {
- "$ref": "#/definitions/v1.StorageConfig"
- },
- "name": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/v1.StorageType"
- }
- }
- },
- "v1.CreateUserRequest": {
- "type": "object",
- "properties": {
- "email": {
- "type": "string"
- },
- "nickname": {
- "type": "string"
- },
- "password": {
- "type": "string"
- },
- "role": {
- "$ref": "#/definitions/v1.Role"
- },
- "username": {
- "type": "string"
- }
- }
- },
- "v1.CustomizedProfile": {
- "type": "object",
- "properties": {
- "appearance": {
- "description": "Appearance is the server default appearance.",
- "type": "string"
- },
- "description": {
- "description": "Description is the server description.",
- "type": "string"
- },
- "externalUrl": {
- "description": "ExternalURL is the external url of server. e.g. https://usermemos.com",
- "type": "string"
- },
- "locale": {
- "description": "Locale is the server default locale.",
- "type": "string"
- },
- "logoUrl": {
- "description": "LogoURL is the url of logo image.",
- "type": "string"
- },
- "name": {
- "description": "Name is the server name, default is ` + "`" + `memos` + "`" + `",
- "type": "string"
- }
- }
- },
- "v1.DeleteTagRequest": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- }
- }
- },
- "v1.FieldMapping": {
- "type": "object",
- "properties": {
- "displayName": {
- "type": "string"
- },
- "email": {
- "type": "string"
- },
- "identifier": {
- "type": "string"
- }
- }
- },
- "v1.IdentityProvider": {
- "type": "object",
- "properties": {
- "config": {
- "$ref": "#/definitions/v1.IdentityProviderConfig"
- },
- "id": {
- "type": "integer"
- },
- "identifierFilter": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/v1.IdentityProviderType"
- }
- }
- },
- "v1.IdentityProviderConfig": {
- "type": "object",
- "properties": {
- "oauth2Config": {
- "$ref": "#/definitions/v1.IdentityProviderOAuth2Config"
- }
- }
- },
- "v1.IdentityProviderOAuth2Config": {
- "type": "object",
- "properties": {
- "authUrl": {
- "type": "string"
- },
- "clientId": {
- "type": "string"
- },
- "clientSecret": {
- "type": "string"
- },
- "fieldMapping": {
- "$ref": "#/definitions/v1.FieldMapping"
- },
- "scopes": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "tokenUrl": {
- "type": "string"
- },
- "userInfoUrl": {
- "type": "string"
- }
- }
- },
- "v1.IdentityProviderType": {
- "type": "string",
- "enum": [
- "OAUTH2"
- ],
- "x-enum-varnames": [
- "IdentityProviderOAuth2Type"
- ]
- },
- "v1.MemoRelationType": {
- "type": "string",
- "enum": [
- "REFERENCE",
- "ADDITIONAL"
- ],
- "x-enum-varnames": [
- "MemoRelationReference",
- "MemoRelationAdditional"
- ]
- },
- "v1.PatchMemoRequest": {
- "type": "object",
- "properties": {
- "content": {
- "description": "Domain specific fields",
- "type": "string"
- },
- "createdTs": {
- "description": "Standard fields",
- "type": "integer"
- },
- "relationList": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/v1.UpsertMemoRelationRequest"
- }
- },
- "resourceIdList": {
- "description": "Related fields",
- "type": "array",
- "items": {
- "type": "integer"
- }
- },
- "rowStatus": {
- "$ref": "#/definitions/v1.RowStatus"
- },
- "updatedTs": {
- "type": "integer"
- },
- "visibility": {
- "$ref": "#/definitions/v1.Visibility"
- }
- }
- },
- "v1.Role": {
- "type": "string",
- "enum": [
- "HOST",
- "ADMIN",
- "USER"
- ],
- "x-enum-varnames": [
- "RoleHost",
- "RoleAdmin",
- "RoleUser"
- ]
- },
- "v1.RowStatus": {
- "type": "string",
- "enum": [
- "NORMAL",
- "ARCHIVED"
- ],
- "x-enum-varnames": [
- "Normal",
- "Archived"
- ]
- },
- "v1.SSOSignIn": {
- "type": "object",
- "properties": {
- "code": {
- "type": "string"
- },
- "identityProviderId": {
- "type": "integer"
- },
- "redirectUri": {
- "type": "string"
- }
- }
- },
- "v1.SignIn": {
- "type": "object",
- "properties": {
- "password": {
- "type": "string"
- },
- "username": {
- "type": "string"
- }
- }
- },
- "v1.SignUp": {
- "type": "object",
- "properties": {
- "password": {
- "type": "string"
- },
- "username": {
- "type": "string"
- }
- }
- },
- "v1.StorageConfig": {
- "type": "object",
- "properties": {
- "s3Config": {
- "$ref": "#/definitions/v1.StorageS3Config"
- }
- }
- },
- "v1.StorageS3Config": {
- "type": "object",
- "properties": {
- "accessKey": {
- "type": "string"
- },
- "bucket": {
- "type": "string"
- },
- "endPoint": {
- "type": "string"
- },
- "path": {
- "type": "string"
- },
- "region": {
- "type": "string"
- },
- "secretKey": {
- "type": "string"
- },
- "urlPrefix": {
- "type": "string"
- },
- "urlSuffix": {
- "type": "string"
- }
- }
- },
- "v1.StorageType": {
- "type": "string",
- "enum": [
- "S3"
- ],
- "x-enum-varnames": [
- "StorageS3"
- ]
- },
- "v1.SystemSetting": {
- "type": "object",
- "properties": {
- "description": {
- "type": "string"
- },
- "name": {
- "$ref": "#/definitions/v1.SystemSettingName"
- },
- "value": {
- "description": "Value is a JSON string with basic value.",
- "type": "string"
- }
- }
- },
- "v1.SystemSettingName": {
- "type": "string",
- "enum": [
- "server-id",
- "secret-session",
- "allow-signup",
- "disable-password-login",
- "disable-public-memos",
- "max-upload-size-mib",
- "additional-style",
- "additional-script",
- "customized-profile",
- "storage-service-id",
- "local-storage-path",
- "telegram-bot-token",
- "memo-display-with-updated-ts",
- "auto-backup-interval"
- ],
- "x-enum-varnames": [
- "SystemSettingServerIDName",
- "SystemSettingSecretSessionName",
- "SystemSettingAllowSignUpName",
- "SystemSettingDisablePasswordLoginName",
- "SystemSettingDisablePublicMemosName",
- "SystemSettingMaxUploadSizeMiBName",
- "SystemSettingAdditionalStyleName",
- "SystemSettingAdditionalScriptName",
- "SystemSettingCustomizedProfileName",
- "SystemSettingStorageServiceIDName",
- "SystemSettingLocalStoragePathName",
- "SystemSettingTelegramBotTokenName",
- "SystemSettingMemoDisplayWithUpdatedTsName",
- "SystemSettingAutoBackupIntervalName"
- ]
- },
- "v1.SystemStatus": {
- "type": "object",
- "properties": {
- "additionalScript": {
- "description": "Additional script.",
- "type": "string"
- },
- "additionalStyle": {
- "description": "Additional style.",
- "type": "string"
- },
- "allowSignUp": {
- "description": "System settings\nAllow sign up.",
- "type": "boolean"
- },
- "autoBackupInterval": {
- "description": "Auto Backup Interval.",
- "type": "integer"
- },
- "customizedProfile": {
- "description": "Customized server profile, including server name and external url.",
- "allOf": [
- {
- "$ref": "#/definitions/v1.CustomizedProfile"
- }
- ]
- },
- "dbSize": {
- "type": "integer"
- },
- "disablePasswordLogin": {
- "description": "Disable password login.",
- "type": "boolean"
- },
- "disablePublicMemos": {
- "description": "Disable public memos.",
- "type": "boolean"
- },
- "host": {
- "$ref": "#/definitions/v1.User"
- },
- "localStoragePath": {
- "description": "Local storage path.",
- "type": "string"
- },
- "maxUploadSizeMiB": {
- "description": "Max upload size.",
- "type": "integer"
- },
- "memoDisplayWithUpdatedTs": {
- "description": "Memo display with updated timestamp.",
- "type": "boolean"
- },
- "profile": {
- "$ref": "#/definitions/profile.Profile"
- },
- "storageServiceId": {
- "description": "Storage service ID.",
- "type": "integer"
- }
- }
- },
- "v1.UpdateIdentityProviderRequest": {
- "type": "object",
- "properties": {
- "config": {
- "$ref": "#/definitions/v1.IdentityProviderConfig"
- },
- "identifierFilter": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/v1.IdentityProviderType"
- }
- }
- },
- "v1.UpdateResourceRequest": {
- "type": "object",
- "properties": {
- "filename": {
- "type": "string"
- }
- }
- },
- "v1.UpdateStorageRequest": {
- "type": "object",
- "properties": {
- "config": {
- "$ref": "#/definitions/v1.StorageConfig"
- },
- "name": {
- "type": "string"
- },
- "type": {
- "$ref": "#/definitions/v1.StorageType"
- }
- }
- },
- "v1.UpdateUserRequest": {
- "type": "object",
- "properties": {
- "avatarUrl": {
- "type": "string"
- },
- "email": {
- "type": "string"
- },
- "nickname": {
- "type": "string"
- },
- "password": {
- "type": "string"
- },
- "rowStatus": {
- "$ref": "#/definitions/v1.RowStatus"
- },
- "username": {
- "type": "string"
- }
- }
- },
- "v1.UpsertMemoOrganizerRequest": {
- "type": "object",
- "properties": {
- "pinned": {
- "type": "boolean"
- }
- }
- },
- "v1.UpsertMemoRelationRequest": {
- "type": "object",
- "properties": {
- "relatedMemoId": {
- "type": "integer"
- },
- "type": {
- "$ref": "#/definitions/v1.MemoRelationType"
- }
- }
- },
- "v1.UpsertSystemSettingRequest": {
- "type": "object",
- "properties": {
- "description": {
- "type": "string"
- },
- "name": {
- "$ref": "#/definitions/v1.SystemSettingName"
- },
- "value": {
- "type": "string"
- }
- }
- },
- "v1.UpsertTagRequest": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- }
- }
- },
- "v1.UpsertUserSettingRequest": {
- "type": "object",
- "properties": {
- "key": {
- "$ref": "#/definitions/v1.UserSettingKey"
- },
- "value": {
- "type": "string"
- }
- }
- },
- "v1.User": {
- "type": "object",
- "properties": {
- "avatarUrl": {
- "type": "string"
- },
- "createdTs": {
- "type": "integer"
- },
- "email": {
- "type": "string"
- },
- "id": {
- "type": "integer"
- },
- "nickname": {
- "type": "string"
- },
- "role": {
- "$ref": "#/definitions/v1.Role"
- },
- "rowStatus": {
- "description": "Standard fields",
- "allOf": [
- {
- "$ref": "#/definitions/v1.RowStatus"
- }
- ]
- },
- "updatedTs": {
- "type": "integer"
- },
- "userSettingList": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/v1.UserSetting"
- }
- },
- "username": {
- "description": "Domain specific fields",
- "type": "string"
- }
- }
- },
- "v1.UserSetting": {
- "type": "object",
- "properties": {
- "key": {
- "$ref": "#/definitions/v1.UserSettingKey"
- },
- "userId": {
- "type": "integer"
- },
- "value": {
- "type": "string"
- }
- }
- },
- "v1.UserSettingKey": {
- "type": "string",
- "enum": [
- "locale",
- "appearance",
- "memo-visibility",
- "telegram-user-id"
- ],
- "x-enum-varnames": [
- "UserSettingLocaleKey",
- "UserSettingAppearanceKey",
- "UserSettingMemoVisibilityKey",
- "UserSettingTelegramUserIDKey"
- ]
- },
- "v1.Visibility": {
- "type": "string",
- "enum": [
- "PUBLIC",
- "PROTECTED",
- "PRIVATE"
- ],
- "x-enum-varnames": [
- "Public",
- "Protected",
- "Private"
- ]
- }
- },
- "externalDocs": {
- "description": "Find out more about Memos.",
- "url": "https://usememos.com/"
- }
- }`
- // SwaggerInfo holds exported Swagger Info so clients can modify it
- var SwaggerInfo = &swag.Spec{
- Version: "1.0",
- Host: "",
- BasePath: "/",
- Schemes: []string{},
- Title: "memos API",
- Description: "A privacy-first, lightweight note-taking service.",
- InfoInstanceName: "swagger",
- SwaggerTemplate: docTemplate,
- LeftDelim: "{{",
- RightDelim: "}}",
- }
- func init() {
- swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
- }
|