mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 02:12:24 -05:00 
			
		
		
		
	bits n bobs
This commit is contained in:
		
					parent
					
						
							
								bffbdeb534
							
						
					
				
			
			
				commit
				
					
						9ffbb353d0
					
				
			
		
					 9 changed files with 148 additions and 128 deletions
				
			
		
							
								
								
									
										3
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							|  | @ -1,2 +1,5 @@ | ||||||
| # exclude the compiled binary | # exclude the compiled binary | ||||||
| /server | /server | ||||||
|  | 
 | ||||||
|  | # exclude built documentation, since readthedocs will build it for us anyway | ||||||
|  | /docs/_build | ||||||
|  |  | ||||||
|  | @ -19,7 +19,7 @@ | ||||||
| package main | package main | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
| 	"github.com/gotosocial/gotosocial/internal/api" | 	"github.com/gotosocial/gotosocial/internal/client" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| func main() { | func main() { | ||||||
|  |  | ||||||
							
								
								
									
										20
									
								
								internal/ap/api.go
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								internal/ap/api.go
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,20 @@ | ||||||
|  | /* | ||||||
|  |    GoToSocial | ||||||
|  |    Copyright (C) 2021 GoToSocial Authors admin@gotosocial.org | ||||||
|  | 
 | ||||||
|  |    This program is free software: you can redistribute it and/or modify | ||||||
|  |    it under the terms of the GNU Affero General Public License as published by | ||||||
|  |    the Free Software Foundation, either version 3 of the License, or | ||||||
|  |    (at your option) any later version. | ||||||
|  | 
 | ||||||
|  |    This program is distributed in the hope that it will be useful, | ||||||
|  |    but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |    GNU Affero General Public License for more details. | ||||||
|  | 
 | ||||||
|  |    You should have received a copy of the GNU Affero General Public License | ||||||
|  |    along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||||
|  | */ | ||||||
|  | 
 | ||||||
|  | // Package ap provides ActivityPub/federation functionality for GoToSocial | ||||||
|  | package ap | ||||||
|  | @ -1,29 +0,0 @@ | ||||||
| /* |  | ||||||
|     GoToSocial |  | ||||||
|     Copyright (C) 2021 GoToSocial Authors admin@gotosocial.org |  | ||||||
| 
 |  | ||||||
|     This program is free software: you can redistribute it and/or modify |  | ||||||
|     it under the terms of the GNU Affero General Public License as published by |  | ||||||
|     the Free Software Foundation, either version 3 of the License, or |  | ||||||
|     (at your option) any later version. |  | ||||||
| 
 |  | ||||||
|     This program is distributed in the hope that it will be useful, |  | ||||||
|     but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
|     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
|     GNU Affero General Public License for more details. |  | ||||||
| 
 |  | ||||||
|     You should have received a copy of the GNU Affero General Public License |  | ||||||
|     along with this program.  If not, see <http://www.gnu.org/licenses/>. |  | ||||||
| */ |  | ||||||
| 
 |  | ||||||
| package api |  | ||||||
| 
 |  | ||||||
| // API is the API exposed to the outside world for access by front-ends; this is distinct from the federation API |  | ||||||
| type API interface { |  | ||||||
| 
 |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // api implements Api interface |  | ||||||
| type api struct { |  | ||||||
| 
 |  | ||||||
| } |  | ||||||
|  | @ -1,31 +0,0 @@ | ||||||
| /* |  | ||||||
|     GoToSocial |  | ||||||
|     Copyright (C) 2021 GoToSocial Authors admin@gotosocial.org |  | ||||||
| 
 |  | ||||||
|     This program is free software: you can redistribute it and/or modify |  | ||||||
|     it under the terms of the GNU Affero General Public License as published by |  | ||||||
|     the Free Software Foundation, either version 3 of the License, or |  | ||||||
|     (at your option) any later version. |  | ||||||
| 
 |  | ||||||
|     This program is distributed in the hope that it will be useful, |  | ||||||
|     but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
|     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
|     GNU Affero General Public License for more details. |  | ||||||
| 
 |  | ||||||
|     You should have received a copy of the GNU Affero General Public License |  | ||||||
|     along with this program.  If not, see <http://www.gnu.org/licenses/>. |  | ||||||
| */ |  | ||||||
| 
 |  | ||||||
| package api |  | ||||||
| 
 |  | ||||||
| import ( |  | ||||||
| 	"net/http" |  | ||||||
| 
 |  | ||||||
| 	"github.com/gin-gonic/gin" |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| func statusGet(c *gin.Context) { |  | ||||||
| 	c.HTML(http.StatusOK, "index.tmpl", gin.H{ |  | ||||||
| 		"title": "Posts", |  | ||||||
| 	}) |  | ||||||
| } |  | ||||||
|  | @ -1,54 +0,0 @@ | ||||||
| /* |  | ||||||
|     GoToSocial |  | ||||||
|     Copyright (C) 2021 GoToSocial Authors admin@gotosocial.org |  | ||||||
| 
 |  | ||||||
|     This program is free software: you can redistribute it and/or modify |  | ||||||
|     it under the terms of the GNU Affero General Public License as published by |  | ||||||
|     the Free Software Foundation, either version 3 of the License, or |  | ||||||
|     (at your option) any later version. |  | ||||||
| 
 |  | ||||||
|     This program is distributed in the hope that it will be useful, |  | ||||||
|     but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
|     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
|     GNU Affero General Public License for more details. |  | ||||||
| 
 |  | ||||||
|     You should have received a copy of the GNU Affero General Public License |  | ||||||
|     along with this program.  If not, see <http://www.gnu.org/licenses/>. |  | ||||||
| */ |  | ||||||
| 
 |  | ||||||
| package api |  | ||||||
| 
 |  | ||||||
| import "github.com/gin-gonic/gin" |  | ||||||
| 
 |  | ||||||
| // Router provides the http routes used by the API |  | ||||||
| type Router interface { |  | ||||||
| 	Route() |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // NewRouter returns a new router |  | ||||||
| func NewRouter() Router { |  | ||||||
| 	return &router{} |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| // router implements the router interface |  | ||||||
| type router struct { |  | ||||||
| 
 |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func (r *router) Route() { |  | ||||||
| 	ginRouter := gin.Default() |  | ||||||
| 	ginRouter.LoadHTMLGlob("web/template/*") |  | ||||||
| 
 |  | ||||||
| 	apiGroup := ginRouter.Group("/api") |  | ||||||
| 	{ |  | ||||||
| 		v1 := apiGroup.Group("/v1") |  | ||||||
| 		{ |  | ||||||
| 			statusesGroup := v1.Group("/statuses") |  | ||||||
| 			{ |  | ||||||
| 				statusesGroup.GET(":id", statusGet) |  | ||||||
| 			} |  | ||||||
| 
 |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 	ginRouter.Run() |  | ||||||
| } |  | ||||||
							
								
								
									
										28
									
								
								internal/client/api.go
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								internal/client/api.go
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,28 @@ | ||||||
|  | /* | ||||||
|  |    GoToSocial | ||||||
|  |    Copyright (C) 2021 GoToSocial Authors admin@gotosocial.org | ||||||
|  | 
 | ||||||
|  |    This program is free software: you can redistribute it and/or modify | ||||||
|  |    it under the terms of the GNU Affero General Public License as published by | ||||||
|  |    the Free Software Foundation, either version 3 of the License, or | ||||||
|  |    (at your option) any later version. | ||||||
|  | 
 | ||||||
|  |    This program is distributed in the hope that it will be useful, | ||||||
|  |    but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |    GNU Affero General Public License for more details. | ||||||
|  | 
 | ||||||
|  |    You should have received a copy of the GNU Affero General Public License | ||||||
|  |    along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||||
|  | */ | ||||||
|  | 
 | ||||||
|  | // Package client AAAAAAAAAAAAAAA | ||||||
|  | package client | ||||||
|  | 
 | ||||||
|  | // API is the client API exposed to the outside world for access by front-ends; this is distinct from the federation API | ||||||
|  | type API interface { | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // api implements Api interface | ||||||
|  | type api struct { | ||||||
|  | } | ||||||
							
								
								
									
										31
									
								
								internal/client/route_statuses.go
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								internal/client/route_statuses.go
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,31 @@ | ||||||
|  | /* | ||||||
|  |    GoToSocial | ||||||
|  |    Copyright (C) 2021 GoToSocial Authors admin@gotosocial.org | ||||||
|  | 
 | ||||||
|  |    This program is free software: you can redistribute it and/or modify | ||||||
|  |    it under the terms of the GNU Affero General Public License as published by | ||||||
|  |    the Free Software Foundation, either version 3 of the License, or | ||||||
|  |    (at your option) any later version. | ||||||
|  | 
 | ||||||
|  |    This program is distributed in the hope that it will be useful, | ||||||
|  |    but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |    GNU Affero General Public License for more details. | ||||||
|  | 
 | ||||||
|  |    You should have received a copy of the GNU Affero General Public License | ||||||
|  |    along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||||
|  | */ | ||||||
|  | 
 | ||||||
|  | package client | ||||||
|  | 
 | ||||||
|  | import ( | ||||||
|  | 	"net/http" | ||||||
|  | 
 | ||||||
|  | 	"github.com/gin-gonic/gin" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | func statusGet(c *gin.Context) { | ||||||
|  | 	c.HTML(http.StatusOK, "index.tmpl", gin.H{ | ||||||
|  | 		"title": "Posts", | ||||||
|  | 	}) | ||||||
|  | } | ||||||
							
								
								
									
										52
									
								
								internal/client/router.go
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								internal/client/router.go
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,52 @@ | ||||||
|  | /* | ||||||
|  |    GoToSocial | ||||||
|  |    Copyright (C) 2021 GoToSocial Authors admin@gotosocial.org | ||||||
|  | 
 | ||||||
|  |    This program is free software: you can redistribute it and/or modify | ||||||
|  |    it under the terms of the GNU Affero General Public License as published by | ||||||
|  |    the Free Software Foundation, either version 3 of the License, or | ||||||
|  |    (at your option) any later version. | ||||||
|  | 
 | ||||||
|  |    This program is distributed in the hope that it will be useful, | ||||||
|  |    but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |    GNU Affero General Public License for more details. | ||||||
|  | 
 | ||||||
|  |    You should have received a copy of the GNU Affero General Public License | ||||||
|  |    along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||||
|  | */ | ||||||
|  | 
 | ||||||
|  | package client | ||||||
|  | 
 | ||||||
|  | import "github.com/gin-gonic/gin" | ||||||
|  | 
 | ||||||
|  | // Router provides the http routes used by the API | ||||||
|  | type Router interface { | ||||||
|  | 	Route() | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // NewRouter returns a new router | ||||||
|  | func NewRouter() Router { | ||||||
|  | 	return &router{} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // router implements the router interface | ||||||
|  | type router struct { | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (r *router) Route() { | ||||||
|  | 	ginRouter := gin.Default() | ||||||
|  | 	ginRouter.LoadHTMLGlob("web/template/*") | ||||||
|  | 
 | ||||||
|  | 	apiGroup := ginRouter.Group("/api") | ||||||
|  | 	{ | ||||||
|  | 		v1 := apiGroup.Group("/v1", { | ||||||
|  | 			statusesGroup := v1.Group("/statuses") | ||||||
|  | 			{ | ||||||
|  | 				statusesGroup.GET(":id", statusGet) | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 		}) | ||||||
|  | 	} | ||||||
|  | 	ginRouter.Run() | ||||||
|  | } | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue