Added Project structure and more data to files
This commit is contained in:
@@ -15,16 +15,56 @@ type User struct {
|
|||||||
Username string
|
Username string
|
||||||
FirstName string
|
FirstName string
|
||||||
LastName string
|
LastName string
|
||||||
|
ListOfTasks []Task
|
||||||
|
}
|
||||||
|
|
||||||
|
type Project struct {
|
||||||
|
Name string
|
||||||
|
Description string
|
||||||
|
Leader User
|
||||||
|
ListOfTasks []Task
|
||||||
}
|
}
|
||||||
|
|
||||||
type Task struct {
|
type Task struct {
|
||||||
Title string
|
Title string
|
||||||
Description string
|
Description string
|
||||||
UserOfTask User
|
UsersOnTask []User
|
||||||
Date string
|
Date string
|
||||||
|
TaskProject Project
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|
||||||
|
// This part was used just for testing if the application works correctly
|
||||||
|
/*
|
||||||
|
e := echo.New()
|
||||||
|
|
||||||
|
// Middleware
|
||||||
|
e.Use(middleware.Logger())
|
||||||
|
e.Use(middleware.Recover())
|
||||||
|
|
||||||
|
// CORS
|
||||||
|
e.Use(middleware.CORSWithConfig(middleware.CORSConfig{
|
||||||
|
AllowOrigins: []string{"*"},
|
||||||
|
AllowMethods: []string{echo.GET, echo.HEAD, echo.PUT, echo.PATCH, echo.POST, echo.DELETE},
|
||||||
|
}))
|
||||||
|
|
||||||
|
// Getting JSON as []byte
|
||||||
|
b, err := convertTasksToJSON()
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("error:", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Route => handler
|
||||||
|
e.GET("/tasks", func(c echo.Context) error {
|
||||||
|
return c.String(http.StatusOK, string(b[:]))
|
||||||
|
})
|
||||||
|
|
||||||
|
// Server
|
||||||
|
e.Start(":1500")
|
||||||
|
*/
|
||||||
|
|
||||||
lambda.Start(Handler)
|
lambda.Start(Handler)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -62,37 +102,100 @@ func Handler() (events.APIGatewayProxyResponse, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func convertTasksToJSON() ([]byte, error) {
|
func convertTasksToJSON() ([]byte, error) {
|
||||||
user := User {
|
user1 := User {
|
||||||
Username: "emirbarucija",
|
Username: "emirbarucija",
|
||||||
FirstName: "Emir",
|
FirstName: "Emir",
|
||||||
LastName: "Baručija",
|
LastName: "Baručija",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
user2 := User {
|
||||||
|
Username: "noviUser",
|
||||||
|
FirstName: "Novi",
|
||||||
|
LastName: "User",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
project1 := Project {
|
||||||
|
Name: "GO language project",
|
||||||
|
Description: "Making Web API in GO language",
|
||||||
|
Leader: user1,
|
||||||
|
}
|
||||||
|
|
||||||
|
project2 := Project {
|
||||||
|
Name: "Movie collection",
|
||||||
|
Description: "Collection of movies, listed by categories. Make Web API in Java, and connect it with frontend application",
|
||||||
|
Leader: user2,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
task1 := Task {
|
task1 := Task {
|
||||||
Title: "First task",
|
Title: "First task",
|
||||||
Description: "This is my first task in GO language",
|
Description: "This is my first task in GO language",
|
||||||
UserOfTask: user,
|
UsersOnTask: []User{user1},
|
||||||
Date: "10.04.2018.",
|
Date: "10.04.2018.",
|
||||||
|
TaskProject: project1,
|
||||||
}
|
}
|
||||||
|
|
||||||
task2 := Task {
|
task2 := Task {
|
||||||
Title: "Second task",
|
Title: "Second task",
|
||||||
Description: "This is my second task in GO language",
|
Description: "This is my second task in GO language",
|
||||||
UserOfTask: user,
|
UsersOnTask: []User{user1},
|
||||||
Date: "14.04.2018.",
|
Date: "14.04.2018.",
|
||||||
}
|
TaskProject: project1,
|
||||||
|
}
|
||||||
|
|
||||||
tasks := []Task{task1, task2}
|
task3 := Task {
|
||||||
|
Title: "Models in Java",
|
||||||
|
Description: "The goal of task is to make some models for Java application",
|
||||||
|
UsersOnTask: []User{user2},
|
||||||
|
Date: "05.02.2018.",
|
||||||
|
TaskProject: project2,
|
||||||
|
}
|
||||||
|
|
||||||
|
task4 := Task {
|
||||||
|
Title: "Controllers in Java",
|
||||||
|
Description: "The goal is to make controllers for CRUD operations on models",
|
||||||
|
UsersOnTask: []User{user1, user2},
|
||||||
|
Date: "15.02.2018.",
|
||||||
|
TaskProject: project2,
|
||||||
|
}
|
||||||
|
|
||||||
|
task5 := Task {
|
||||||
|
Title: "Correct menu items positions",
|
||||||
|
Description: "Items in menu need to be corrected via CSS, all items should be of the same size and aligned in the same way",
|
||||||
|
UsersOnTask: []User{user1},
|
||||||
|
Date: "12.03.2018.",
|
||||||
|
TaskProject: project2,
|
||||||
|
}
|
||||||
|
|
||||||
|
task6 := Task {
|
||||||
|
Title: "Diplay entries from database in list",
|
||||||
|
Description: "Categories from the database need to be displayed in the list of the Categories menu",
|
||||||
|
UsersOnTask: []User{user1, user2},
|
||||||
|
Date: "24.03.2018.",
|
||||||
|
TaskProject: project2,
|
||||||
|
}
|
||||||
|
|
||||||
|
project1.ListOfTasks = []Task{task1, task2}
|
||||||
|
project2.ListOfTasks = []Task{task3, task4, task5, task6}
|
||||||
|
|
||||||
|
user1.ListOfTasks = []Task{task1, task2, task4, task5, task6}
|
||||||
|
user2.ListOfTasks = []Task{task3, task4, task6}
|
||||||
|
|
||||||
|
|
||||||
|
tasks := []Task{task1, task2, task3, task4, task5, task6}
|
||||||
b, err := json.Marshal(tasks)
|
b, err := json.Marshal(tasks)
|
||||||
|
return b, err
|
||||||
return b, err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (u User) String() string {
|
func (u User) String() string {
|
||||||
return fmt.Sprintf("Username: %v\nFirst name: %v\nLast name: %v", u.Username, u.FirstName, u.LastName)
|
return fmt.Sprintf("Username: %v\nFirst name: %v\nLast name: %v\nTAsks: %v", u.Username, u.FirstName, u.LastName, u.ListOfTasks)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t Task) String() string {
|
func (t Task) String() string {
|
||||||
return fmt.Sprintf("Title: %v\nDescription: %v\nUser: %v\nDate: %v", t.Title, t.Description, t.UserOfTask, t.Date)
|
return fmt.Sprintf("Title: %v\nDescription: %v\nUsers: %v\nDate: %v\nProject: %v", t.Title, t.Description, t.UsersOnTask, t.Date, t.TaskProject)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p Project) String() string {
|
||||||
|
return fmt.Sprintf("Name: %v\nDescription: %v\nLeader: %v", p.Name, p.Description, p.Leader)
|
||||||
}
|
}
|
||||||
@@ -15,16 +15,56 @@ type User struct {
|
|||||||
Username string
|
Username string
|
||||||
FirstName string
|
FirstName string
|
||||||
LastName string
|
LastName string
|
||||||
|
ListOfTasks []Task
|
||||||
|
}
|
||||||
|
|
||||||
|
type Project struct {
|
||||||
|
Name string
|
||||||
|
Description string
|
||||||
|
Leader User
|
||||||
|
ListOfTasks []Task
|
||||||
}
|
}
|
||||||
|
|
||||||
type Task struct {
|
type Task struct {
|
||||||
Title string
|
Title string
|
||||||
Description string
|
Description string
|
||||||
UserOfTask User
|
UsersOnTask []User
|
||||||
Date string
|
Date string
|
||||||
|
TaskProject Project
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|
||||||
|
// This part was used just for testing if the application works correctly
|
||||||
|
/*
|
||||||
|
e := echo.New()
|
||||||
|
|
||||||
|
// Middleware
|
||||||
|
e.Use(middleware.Logger())
|
||||||
|
e.Use(middleware.Recover())
|
||||||
|
|
||||||
|
// CORS
|
||||||
|
e.Use(middleware.CORSWithConfig(middleware.CORSConfig{
|
||||||
|
AllowOrigins: []string{"*"},
|
||||||
|
AllowMethods: []string{echo.GET, echo.HEAD, echo.PUT, echo.PATCH, echo.POST, echo.DELETE},
|
||||||
|
}))
|
||||||
|
|
||||||
|
// Getting JSON as []byte
|
||||||
|
b, err := convertTasksToJSON()
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("error:", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Route => handler
|
||||||
|
e.GET("/tasks", func(c echo.Context) error {
|
||||||
|
return c.String(http.StatusOK, string(b[:]))
|
||||||
|
})
|
||||||
|
|
||||||
|
// Server
|
||||||
|
e.Start(":1500")
|
||||||
|
*/
|
||||||
|
|
||||||
lambda.Start(Handler)
|
lambda.Start(Handler)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -62,37 +102,100 @@ func Handler() (events.APIGatewayProxyResponse, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func convertTasksToJSON() ([]byte, error) {
|
func convertTasksToJSON() ([]byte, error) {
|
||||||
user := User {
|
user1 := User {
|
||||||
Username: "emirbarucija",
|
Username: "emirbarucija",
|
||||||
FirstName: "Emir",
|
FirstName: "Emir",
|
||||||
LastName: "Baručija",
|
LastName: "Baručija",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
user2 := User {
|
||||||
|
Username: "noviUser",
|
||||||
|
FirstName: "Novi",
|
||||||
|
LastName: "User",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
project1 := Project {
|
||||||
|
Name: "GO language project",
|
||||||
|
Description: "Making Web API in GO language",
|
||||||
|
Leader: user1,
|
||||||
|
}
|
||||||
|
|
||||||
|
project2 := Project {
|
||||||
|
Name: "Movie collection",
|
||||||
|
Description: "Collection of movies, listed by categories. Make Web API in Java, and connect it with frontend application",
|
||||||
|
Leader: user2,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
task1 := Task {
|
task1 := Task {
|
||||||
Title: "First task",
|
Title: "First task",
|
||||||
Description: "This is my first task in GO language",
|
Description: "This is my first task in GO language",
|
||||||
UserOfTask: user,
|
UsersOnTask: []User{user1},
|
||||||
Date: "10.04.2018.",
|
Date: "10.04.2018.",
|
||||||
|
TaskProject: project1,
|
||||||
}
|
}
|
||||||
|
|
||||||
task2 := Task {
|
task2 := Task {
|
||||||
Title: "Second task",
|
Title: "Second task",
|
||||||
Description: "This is my second task in GO language",
|
Description: "This is my second task in GO language",
|
||||||
UserOfTask: user,
|
UsersOnTask: []User{user1},
|
||||||
Date: "14.04.2018.",
|
Date: "14.04.2018.",
|
||||||
}
|
TaskProject: project1,
|
||||||
|
}
|
||||||
|
|
||||||
tasks := []Task{task1, task2}
|
task3 := Task {
|
||||||
|
Title: "Models in Java",
|
||||||
|
Description: "The goal of task is to make some models for Java application",
|
||||||
|
UsersOnTask: []User{user2},
|
||||||
|
Date: "05.02.2018.",
|
||||||
|
TaskProject: project2,
|
||||||
|
}
|
||||||
|
|
||||||
|
task4 := Task {
|
||||||
|
Title: "Controllers in Java",
|
||||||
|
Description: "The goal is to make controllers for CRUD operations on models",
|
||||||
|
UsersOnTask: []User{user1, user2},
|
||||||
|
Date: "15.02.2018.",
|
||||||
|
TaskProject: project2,
|
||||||
|
}
|
||||||
|
|
||||||
|
task5 := Task {
|
||||||
|
Title: "Correct menu items positions",
|
||||||
|
Description: "Items in menu need to be corrected via CSS, all items should be of the same size and aligned in the same way",
|
||||||
|
UsersOnTask: []User{user1},
|
||||||
|
Date: "12.03.2018.",
|
||||||
|
TaskProject: project2,
|
||||||
|
}
|
||||||
|
|
||||||
|
task6 := Task {
|
||||||
|
Title: "Diplay entries from database in list",
|
||||||
|
Description: "Categories from the database need to be displayed in the list of the Categories menu",
|
||||||
|
UsersOnTask: []User{user1, user2},
|
||||||
|
Date: "24.03.2018.",
|
||||||
|
TaskProject: project2,
|
||||||
|
}
|
||||||
|
|
||||||
|
project1.ListOfTasks = []Task{task1, task2}
|
||||||
|
project2.ListOfTasks = []Task{task3, task4, task5, task6}
|
||||||
|
|
||||||
|
user1.ListOfTasks = []Task{task1, task2, task4, task5, task6}
|
||||||
|
user2.ListOfTasks = []Task{task3, task4, task6}
|
||||||
|
|
||||||
|
|
||||||
|
tasks := []Task{task1, task2, task3, task4, task5, task6}
|
||||||
b, err := json.Marshal(tasks)
|
b, err := json.Marshal(tasks)
|
||||||
|
return b, err
|
||||||
return b, err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (u User) String() string {
|
func (u User) String() string {
|
||||||
return fmt.Sprintf("Username: %v\nFirst name: %v\nLast name: %v", u.Username, u.FirstName, u.LastName)
|
return fmt.Sprintf("Username: %v\nFirst name: %v\nLast name: %v\nTAsks: %v", u.Username, u.FirstName, u.LastName, u.ListOfTasks)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t Task) String() string {
|
func (t Task) String() string {
|
||||||
return fmt.Sprintf("Title: %v\nDescription: %v\nUser: %v\nDate: %v", t.Title, t.Description, t.UserOfTask, t.Date)
|
return fmt.Sprintf("Title: %v\nDescription: %v\nUsers: %v\nDate: %v\nProject: %v", t.Title, t.Description, t.UsersOnTask, t.Date, t.TaskProject)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p Project) String() string {
|
||||||
|
return fmt.Sprintf("Name: %v\nDescription: %v\nLeader: %v", p.Name, p.Description, p.Leader)
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user