main.go 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345
  1. package main
  2. import (
  3. "fmt"
  4. "github.com/gin-gonic/gin"
  5. "github.com/go-pg/pg/v10"
  6. "github.com/go-redis/redis/v8"
  7. "github.com/iapt-platform/mint"
  8. )
  9. func main() {
  10. opt, err := pg.ParseURL("postgres://postgres:@127.0.0.1:5432/mint?sslmode=disable")
  11. if err != nil {
  12. panic(err)
  13. }
  14. fmt.Println("pg connectd")
  15. db := pg.Connect(opt)
  16. defer db.Close()
  17. rdb := redis.NewClient(&redis.Options{
  18. Addr: "localhost:6379",
  19. Password: "", // no password set
  20. DB: 0, // use default DB
  21. })
  22. rt := gin.Default()
  23. rt.LoadHTMLGlob("templates/**/*")
  24. //课程 Courses
  25. //display a list of all Courses
  26. rt.GET("/api/courses", mint.CoursesIndex(db))
  27. //return an HTML form for creating a new Courses
  28. rt.GET("/courses/new", mint.CoursesNew(db))
  29. //create a new Courses
  30. rt.POST("/api/courses", mint.CoursesCreate(db))
  31. //display a specific Courses
  32. rt.GET("/api/courses/:id", mint.CoursesShow(db, rdb))
  33. //return an HTML form for edit a Courses
  34. rt.GET("/courses/:id/edit", mint.CoursesEdit(db))
  35. //update a specific Courses
  36. rt.PUT("/api/courses/:id", mint.CoursesUpdate(db, rdb))
  37. //delete a specific Courses
  38. rt.DELETE("/api/courses/:id", mint.CoursesDestroy(db, rdb))
  39. // Articles
  40. //display a list of all articles
  41. rt.GET("/api/articles", mint.ArticlesIndex(db))
  42. //return an HTML form for creating a new articles
  43. rt.GET("/api/articles/new", mint.ArticlesNew(db))
  44. //create a new articles
  45. rt.POST("/api/articles", mint.ArticlesCreate(db))
  46. //display a specific articles
  47. rt.GET("/api/articles/:id", mint.ArticlesShow(db, rdb))
  48. //return an HTML form for edit a articles
  49. rt.GET("/api/articles/:id/edit", mint.ArticlesEdit(db))
  50. //update a specific articles
  51. rt.PUT("/api/articles/:id", mint.ArticlesUpdate(db, rdb))
  52. //delete a specific articles
  53. rt.DELETE("/api/articles/:id", mint.ArticlesDestroy(db, rdb))
  54. //Collections
  55. //display a list of all collections
  56. rt.GET("/api/collections", mint.CollectionsIndex(db))
  57. //return an HTML form for creating a new collections
  58. rt.GET("/api/collections/new", mint.CollectionsNew(db))
  59. //create a new collections
  60. rt.POST("/api/collections", mint.CollectionsCreate(db))
  61. //display a specific collections
  62. rt.GET("/api/collections/:id", mint.CollectionsShow(db))
  63. //return an HTML form for edit a collections
  64. rt.GET("/api/collections/:id/edit", mint.CollectionsEdit(db))
  65. //update a specific collections
  66. rt.PUT("/api/collections/:id", mint.CollectionsUpdate(db))
  67. //delete a specific collections
  68. rt.DELETE("/api/collections/:id", mint.CollectionsDestroy(db))
  69. //文章列表article_lists
  70. //rt.GET("/api/article_list/collection/:cid",mint.GetCollectionArticleList(db))//改
  71. //修改
  72. //rt.POST("/api/article_list/article/:aid",mint.PostArticleListByArticle(db))//改
  73. //rt.DELETE("/api/article_list",mint.DeleteArticleInList(db,rdb))
  74. //rt.DELETE("/api/article_list/article/:aid",mint.DeleteArticleInList(db,rdb))
  75. //rt.DELETE("/api/article_list/collection/:cid",mint.DeleteCollectionInList(db,rdb))
  76. //Collections
  77. //display a list of all collections
  78. rt.GET("/api/article_list", mint.ArticleListIndex(db))
  79. //update a specific collections
  80. rt.PUT("/api/article_list/:id", mint.ArticleListUpdate(db))
  81. //group
  82. //display a list of all groups
  83. rt.GET("/api/groups", mint.GroupsIndex(db))
  84. //return an HTML form for creating a new group
  85. rt.GET("/api/groups/new", mint.GroupsNew(db))
  86. //create a new group
  87. rt.POST("/api/groups", mint.GroupsCreate(db))
  88. //display a specific Group
  89. rt.GET("/api/groups/:id", mint.GroupsShow(db, rdb))
  90. //return an HTML form for edit a group
  91. rt.GET("/api/groups/:id/edit", mint.GroupsEdit(db))
  92. //update a specific group
  93. rt.PUT("/api/groups/:id", mint.GroupsUpdate(db, rdb))
  94. //delete a specific group
  95. rt.DELETE("/api/groups/:id", mint.GroupsDestroy(db, rdb))
  96. //groups_users
  97. //display a list of all user in group
  98. rt.GET("/api/groups_users", mint.GroupsUsersIndex(db))
  99. //create a new user in group
  100. rt.POST("/api/groups_users", mint.GroupsUsersCreate(db))
  101. //delete a specific user in group
  102. rt.DELETE("/api/groups_users", mint.GroupsUsersDestroy(db, rdb))
  103. //channels
  104. //display a list of all channel
  105. rt.GET("/api/channels", mint.ChannelsIndex(db))
  106. //return an HTML form for creating a new group
  107. rt.GET("/api/channels/new", mint.ChannelsNew(db))
  108. //create a new channels
  109. rt.POST("/api/channels", mint.ChannelsCreate(db))
  110. //display a specific channels
  111. rt.GET("/api/channels/:id", mint.ChannelsShow(db, rdb))
  112. //return an HTML form for edit a channels
  113. rt.GET("/api/channels/:id/edit", mint.ChannelsEdit(db))
  114. //update a specific channels
  115. rt.PUT("/api/channels/:id", mint.ChannelsUpdate(db, rdb))
  116. //delete a specific channels
  117. rt.DELETE("/api/channels/:id", mint.ChannelsDestroy(db, rdb))
  118. //dictionaries
  119. //display a list of all channel
  120. rt.GET("/api/dictionaries", mint.DictionariesIndex(db))
  121. //return an HTML form for creating a new group
  122. rt.GET("/api/dictionaries/new", mint.DictionariesNew(db))
  123. //create a new channels
  124. rt.POST("/api/dictionaries", mint.DictionariesCreate(db))
  125. //display a specific channels
  126. rt.GET("/api/dictionaries/:id", mint.DictionariesShow(db, rdb))
  127. //return an HTML form for edit a channels
  128. rt.GET("/api/dictionaries/:id/edit", mint.DictionariesEdit(db))
  129. //update a specific channels
  130. rt.PUT("/api/dictionaries/:id", mint.DictionariesUpdate(db, rdb))
  131. //delete a specific channels
  132. rt.DELETE("/api/dictionaries/:id", mint.DictionariesDestroy(db, rdb))
  133. //ref_dicts
  134. //display a list of all ref_dicts
  135. rt.GET("/api/refdicts", mint.RefDictsIndex(db))
  136. //display a specific ref_dicts
  137. rt.GET("/api/refdicts/:id", mint.RefDictsShow(db, rdb))
  138. //terms
  139. //display a list of all terms
  140. rt.GET("/api/terms", mint.TermsIndex(db))
  141. //return an HTML form for creating a new terms
  142. rt.GET("/api/terms/new", mint.TermsNew(db))
  143. //create a new terms
  144. rt.POST("/api/terms", mint.TermsCreate(db))
  145. //display a specific terms
  146. rt.GET("/api/terms/:id", mint.TermsShow(db, rdb))
  147. //return an HTML form for edit a terms
  148. rt.GET("/api/terms/:id/edit", mint.TermsEdit(db))
  149. //update a specific terms
  150. rt.PUT("/api/terms/:id", mint.TermsUpdate(db, rdb))
  151. //delete a specific terms
  152. rt.DELETE("/api/terms/:id", mint.TermsDestroy(db, rdb))
  153. //active_logs
  154. //display a list of all terms
  155. rt.GET("/api/active", mint.ActiveIndex(db))
  156. //create a new active
  157. rt.POST("/api/active", mint.ActiveCreate(db))
  158. //sentences
  159. //display a list of all sentences
  160. rt.GET("/api/sentences", mint.SentencesIndex(db))
  161. //return an HTML form for creating a new sentences
  162. rt.GET("/api/sentences/new", mint.SentencesNew(db))
  163. //create a new sentences
  164. rt.POST("/api/sentences", mint.SentencesCreate(db))
  165. //display a specific sentences
  166. rt.GET("/api/sentences/:id", mint.SentencesShow(db, rdb))
  167. //return an HTML form for edit a sentences
  168. rt.GET("/api/sentences/:id/edit", mint.SentencesEdit(db))
  169. //update a specific sentences
  170. rt.PUT("/api/sentences/:id", mint.SentencesUpdate(db, rdb))
  171. //delete a specific sentences
  172. rt.DELETE("/api/sentences/:id", mint.SentencesDestroy(db, rdb))
  173. //sentences_historay
  174. //display a list of all sentences
  175. rt.GET("/api/senthis", mint.SentencesHistoraiesIndex(db))
  176. //create a new group
  177. rt.POST("/api/senthis", mint.SentencesHistoraiesCreate(db))
  178. //display a specific Group
  179. rt.GET("/api/senthis/:id", mint.SentencesHistoraiesShow(db, rdb))
  180. //authorizations
  181. //display a list of all authorizations
  182. rt.GET("/api/authorizations", mint.SentencesIndex(db))
  183. //return an HTML form for creating a new authorizations
  184. rt.GET("/api/authorizations/new", mint.SentencesNew(db))
  185. //create a new authorizations
  186. rt.POST("/api/authorizations", mint.SentencesCreate(db))
  187. //display a specific authorizations
  188. rt.GET("/api/authorizations/:id", mint.SentencesShow(db, rdb))
  189. //return an HTML form for edit a authorizations
  190. rt.GET("/api/authorizations/:id/edit", mint.SentencesEdit(db))
  191. //update a specific authorizations
  192. rt.PUT("/api/authorizations/:id", mint.SentencesUpdate(db, rdb))
  193. //delete a specific authorizations
  194. rt.DELETE("/api/authorizations/:id", mint.SentencesDestroy(db, rdb))
  195. //likes
  196. //display a list of all likes
  197. rt.GET("/api/likes", mint.LikesIndex(db))
  198. //create a new likes
  199. rt.POST("/api/likes", mint.LikesCreate(db))
  200. //delete a specific likes
  201. rt.DELETE("/api/likes/:id", mint.LikesDestroy(db))
  202. //books
  203. //display a list of all books
  204. rt.GET("/api/books", mint.BooksIndex(db))
  205. //return an HTML form for creating a new group
  206. rt.GET("/api/books/new", mint.BooksNew(db))
  207. //create a new books
  208. rt.POST("/api/books", mint.BooksCreate(db))
  209. //display a specific books
  210. rt.GET("/api/books/:id", mint.BooksShow(db, rdb))
  211. //return an HTML form for edit a books
  212. rt.GET("/api/books/:id/edit", mint.BooksEdit(db))
  213. //update a specific books
  214. rt.PUT("/api/books/:id", mint.BooksUpdate(db, rdb))
  215. //delete a specific books
  216. rt.DELETE("/api/books/:id", mint.BooksDestroy(db, rdb))
  217. //pali_text
  218. //display a list of all books
  219. rt.GET("/api/palitexts", mint.PaliTextsIndex(db))
  220. //wbw_templates 逐词解析模板
  221. //display a list of wbw_templates
  222. rt.GET("/api/wbwtemplates", mint.WbwTemplatesIndex(db))
  223. //wbw_templates
  224. //display a list of nissaya_book_maps
  225. rt.GET("/api/nissayabookmaps", mint.NissayaBookMapsIndex(db))
  226. //nissaya_page_maps
  227. //display a list of nissaya_page_maps
  228. rt.GET("/api/nissayapagemaps", mint.NissayaPageMapsIndex(db))
  229. //nissaya_page_maps
  230. //display a list of multi_edition_page_numbers
  231. rt.GET("/api/multi_edition_page_numbers", mint.MultiEditionPageNumbersIndex(db))
  232. //cs_para_numbers
  233. //display a list of cs_para_numbers
  234. rt.GET("/api/cs_para_numbers", mint.CsParaNumbersIndex(db))
  235. //pali_word_indexs
  236. //display a list of pali_word_indexs
  237. rt.GET("/api/pali_word_indexs", mint.PaliWordIndexsIndex(db))
  238. //pali_word_indexs
  239. //display a list of pali_word_indexs
  240. rt.GET("/api/pali_words", mint.PaliWordsIndex(db))
  241. //pali_word_indexs
  242. //display a list of pali_word_indexs
  243. rt.GET("/api/word_in_book_indexs", mint.WordInBookIndexsIndex(db))
  244. //bold
  245. //display a list of pali_word_indexs
  246. rt.GET("/api/bolds", mint.BoldsIndex(db))
  247. //sub book
  248. //display a list of subbooks
  249. rt.GET("/api/subbooks", mint.SubBooksIndex(db))
  250. //wbws
  251. //display a list of all wbws
  252. rt.GET("/api/wbws", mint.WbwsIndex(db))
  253. //return an HTML form for creating a new wbws
  254. rt.GET("/api/wbws/new", mint.WbwsNew(db))
  255. //create a new wbws
  256. rt.POST("/api/wbws", mint.WbwsCreate(db))
  257. //display a specific wbws
  258. rt.GET("/api/wbws/:id", mint.WbwsShow(db, rdb))
  259. //return an HTML form for edit a wbws
  260. rt.GET("/api/wbws/:id/edit", mint.WbwsEdit(db))
  261. //update a specific wbws
  262. rt.PUT("/api/wbws/:id", mint.WbwsUpdate(db, rdb))
  263. //delete a specific wbws
  264. rt.DELETE("/api/wbws/:id", mint.WbwsDestroy(db, rdb))
  265. //wbw_index
  266. //display a list of all wbwindexs
  267. rt.GET("/api/wbwindexs", mint.WbwIndexsIndex(db))
  268. //create a new wbwindexs
  269. rt.POST("/api/wbwindexs", mint.WbwIndexsCreate(db))
  270. //display a specific wbwindexs
  271. rt.GET("/api/wbwindexs/:id", mint.WbwIndexsShow(db, rdb))
  272. //delete a specific wbwindexs
  273. rt.DELETE("/api/wbwindexs/:id", mint.WbwIndexsDestroy(db, rdb))
  274. //wbws_lists
  275. //display a list of all wbws
  276. rt.GET("/api/wbws_lists", mint.WbwsListsIndex(db))
  277. //return an HTML form for creating a new wbws
  278. rt.GET("/api/wbws_lists/new", mint.WbwsListsNew(db))
  279. //create a new wbws
  280. rt.POST("/api/wbws_lists", mint.WbwsListsCreate(db))
  281. //display a specific wbws
  282. rt.GET("/api/wbws_lists/:id", mint.WbwsListsShow(db, rdb))
  283. //return an HTML form for edit a wbws
  284. rt.GET("/api/wbws_lists/:id/edit", mint.WbwsListsEdit(db))
  285. //update a specific wbws
  286. rt.PUT("/api/wbws_lists/:id", mint.WbwsListsUpdate(db, rdb))
  287. //delete a specific wbws
  288. rt.DELETE("/api/wbws_lists/:id", mint.WbwsListsDestroy(db, rdb))
  289. //comments
  290. //display a list of all comments
  291. rt.GET("/api/comments", mint.CommentsIndex(db))
  292. //return an HTML form for creating a new comments
  293. rt.GET("/api/comments/new", mint.CommentsNew(db))
  294. //create a new comments
  295. rt.POST("/api/comments", mint.CommentsCreate(db))
  296. //display a specific comments
  297. rt.GET("/api/comments/:id", mint.CommentsShow(db, rdb))
  298. //return an HTML form for edit a comments
  299. rt.GET("/api/comments/:id/edit", mint.CommentsEdit(db))
  300. //update a specific comments
  301. rt.PUT("/api/comments/:id", mint.CommentsUpdate(db, rdb))
  302. //delete a specific comments
  303. rt.DELETE("/api/comments/:id", mint.CommentsDestroy(db, rdb))
  304. rt.Run()
  305. }