diff --git a/cmd/main.go b/cmd/main.go index 1941572..4a3d136 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -15,6 +15,7 @@ import ( ) func main() { + // Get environment variables var tag = os.Getenv("COM_TAG") if tag == "" { tag = "catsofmastodon" @@ -24,6 +25,7 @@ func main() { instance = "https://haminoa.net" } + // Receive posts ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) defer cancel() err, posts := helpers.GetPosts(ctx, tag, instance) @@ -32,23 +34,26 @@ func main() { } log.Println("Number of fetched posts: ", len(posts)) + // Connect to database db, err := gorm.Open(sqlite.Open("test.db"), &gorm.Config{Logger: logger.Default.LogMode(logger.Warn)}) if err != nil { panic("failed to connect database") } - helpers.AddMigrations(db) + // Process posts var existingPostIds = helpers.GetExistingPostIds(db) var existingAccountIds = helpers.GetExistingAccountIds(db) var newPosts = helpers.GetNewPosts(existingPostIds, posts) var newAccounts = helpers.GetNewAccounts(existingAccountIds, newPosts) + // Save to database log.Println("Number of existing posts: ", len(existingPostIds)) log.Println("Number of existing accounts: ", len(existingAccountIds)) log.Println("Number of new posts: ", len(newPosts)) log.Println("Number of new accounts: ", len(newAccounts)) + // Additional logging if newAccounts != nil { log.Println("Number of inserted accounts: ", helpers.InsertNewAccounts(db, newAccounts)) } else { diff --git a/internal/AppContext.go b/internal/AppContext.go new file mode 100644 index 0000000..1c77532 --- /dev/null +++ b/internal/AppContext.go @@ -0,0 +1,8 @@ +package internal + +import "gorm.io/gorm" + + +type AppContext struct { + Db *gorm.DB +} \ No newline at end of file diff --git a/internal/AppWebContext.go b/internal/AppWebContext.go new file mode 100644 index 0000000..423fc0f --- /dev/null +++ b/internal/AppWebContext.go @@ -0,0 +1,7 @@ +package internal + +import "github.com/gin-gonic/gin" + +type AppWebContext struct { + GinEngine *gin.Engine +} \ No newline at end of file diff --git a/internal/models/comUser.go b/internal/models/comUser.go new file mode 100644 index 0000000..7903254 --- /dev/null +++ b/internal/models/comUser.go @@ -0,0 +1,10 @@ +package models + +// Funny you are +type ComUser struct { + Id string + Username string + Password string + Email string + IsVerified bool +} diff --git a/internal/repositories/userRepo.go b/internal/repositories/userRepo.go new file mode 100644 index 0000000..3f43206 --- /dev/null +++ b/internal/repositories/userRepo.go @@ -0,0 +1 @@ +package repositories diff --git a/internal/services/userService.go b/internal/services/userService.go new file mode 100644 index 0000000..5e568ea --- /dev/null +++ b/internal/services/userService.go @@ -0,0 +1 @@ +package services