Files

1 line
5.3 KiB
JSON

{"repo": "akazwz/openchat-go", "files": {"lib/lib.go": {"2b393617279c779d6a4033b8bb27f946a5427807": {"t": 1785745617.9693632, "n": 2309, "h": "9f5e88256dec30e3", "c": "package lib\n\nimport (\n\t\"context\"\n\t\"os\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/aws/aws-sdk-go-v2/aws\"\n\t\"github.com/aws/aws-sdk-go-v2/config\"\n\t\"github.com/aws/aws-sdk-go-v2/credentials\"\n\t\"github.com/aws/aws-sdk-go-v2/service/s3\"\n\t\"github.com/openai/openai-go\"\n\t\"github.com/openai/openai-go/option\"\n\t\"github.com/redis/go-redis/v9\"\n\t\"gorm.io/driver/mysql\"\n\t\"gorm.io/driver/postgres\"\n\t\"gorm.io/gorm\"\n)\n\nvar (\n\tRDB *redis.Client\n\tDB *gorm.DB\n\tS3 *s3.Client\n\tDEEPSEEK *openai.Client\n)\n\nfunc InstallRedis() {\n\tredisUrl, ok := os.LookupEnv(\"REDIS_URL\")\n\tif !ok {\n\t\tpanic(\"REDIS_URL is not set\")\n\t}\n\topt, _ := redis.ParseURL(redisUrl)\n\tRDB = redis.NewClient(opt)\n}\n\nfunc InstallDB() {\n\tdsn, ok := os.LookupEnv(\"DATABASE_URL\")\n\tif !ok {\n\t\tpanic(\"DATABASE_URL is not set\")\n\t}\n\tif strings.HasPrefix(dsn, \"mysql\") {\n\t\tdb, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})\n\t\tif err != nil {\n\t\t\tpanic(\"failed to connect database: \" + err.Error())\n\t\t}\n\t\tDB = db\n\t\treturn\n\t}\n\tif strings.HasPrefix(dsn, \"postgres\") {\n\t\tdb, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})\n\t\tif err != nil {\n\t\t\tpanic(\"failed to connect database: \" + err.Error())\n\t\t}\n\t\tsqlDB, err := db.DB()\n\t\tif err != nil {\n\t\t\tpanic(\"failed to get sql.DB: \" + err.Error())\n\t\t}\n\t\tsqlDB.SetMaxOpenConns(100)\n\t\tsqlDB.SetMaxIdleConns(10)\n\t\tsqlDB.SetConnMaxLifetime(time.Hour)\n\t\tDB = db\n\t\treturn\n\t}\n\tpanic(\"unsupported database\")\n}\n\nfunc InstallS3FromEnv() {\n\tvar (\n\t\tendpoint = os.Getenv(\"AWS_ENDPOINT_URL_S3\")\n\t\tregion = os.Getenv(\"AWS_REGION\")\n\t\taccessKeyId = os.Getenv(\"AWS_ACCESS_KEY_ID\")\n\t\taccessKeySecret = os.Getenv(\"AWS_SECRET_ACCESS_KEY\")\n\t)\n\tS3 = getS3Client(accessKeyId, accessKeySecret, region, endpoint)\n}\n\nfunc InstallDeepseekFromEnv() {\n\tDEEPSEEK = openai.NewClient(\n\t\toption.WithBaseURL(os.Getenv(\"DEEPSEEK_BASE_URL\")),\n\t\toption.WithAPIKey(os.Getenv(\"DEEPSEEK_API_KEY\")),\n\t)\n}\n\nfunc getS3Client(accessKeyId, accessKeySecret, region, endpoint string) *s3.Client {\n\tcfg, err := config.LoadDefaultConfig(context.Background(),\n\t\tconfig.WithCredentialsProvider(credentials.NewStaticCredentialsProvider(accessKeyId, accessKeySecret, \"\")),\n\t\tconfig.WithRegion(region),\n\t)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tclient := s3.NewFromConfig(cfg, func(o *s3.Options) {\n\t\to.BaseEndpoint = aws.String(endpoint)\n\t})\n\treturn client\n}\n"}, "aab165ccb0388f044e9816712e6a535ee5a72f2b": {"t": 1785754904.291133, "n": 2309, "h": "9f5e88256dec30e3", "c": "package lib\n\nimport (\n\t\"context\"\n\t\"os\"\n\t\"strings\"\n\t\"time\"\n\n\t\"github.com/aws/aws-sdk-go-v2/aws\"\n\t\"github.com/aws/aws-sdk-go-v2/config\"\n\t\"github.com/aws/aws-sdk-go-v2/credentials\"\n\t\"github.com/aws/aws-sdk-go-v2/service/s3\"\n\t\"github.com/openai/openai-go\"\n\t\"github.com/openai/openai-go/option\"\n\t\"github.com/redis/go-redis/v9\"\n\t\"gorm.io/driver/mysql\"\n\t\"gorm.io/driver/postgres\"\n\t\"gorm.io/gorm\"\n)\n\nvar (\n\tRDB *redis.Client\n\tDB *gorm.DB\n\tS3 *s3.Client\n\tDEEPSEEK *openai.Client\n)\n\nfunc InstallRedis() {\n\tredisUrl, ok := os.LookupEnv(\"REDIS_URL\")\n\tif !ok {\n\t\tpanic(\"REDIS_URL is not set\")\n\t}\n\topt, _ := redis.ParseURL(redisUrl)\n\tRDB = redis.NewClient(opt)\n}\n\nfunc InstallDB() {\n\tdsn, ok := os.LookupEnv(\"DATABASE_URL\")\n\tif !ok {\n\t\tpanic(\"DATABASE_URL is not set\")\n\t}\n\tif strings.HasPrefix(dsn, \"mysql\") {\n\t\tdb, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})\n\t\tif err != nil {\n\t\t\tpanic(\"failed to connect database: \" + err.Error())\n\t\t}\n\t\tDB = db\n\t\treturn\n\t}\n\tif strings.HasPrefix(dsn, \"postgres\") {\n\t\tdb, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})\n\t\tif err != nil {\n\t\t\tpanic(\"failed to connect database: \" + err.Error())\n\t\t}\n\t\tsqlDB, err := db.DB()\n\t\tif err != nil {\n\t\t\tpanic(\"failed to get sql.DB: \" + err.Error())\n\t\t}\n\t\tsqlDB.SetMaxOpenConns(100)\n\t\tsqlDB.SetMaxIdleConns(10)\n\t\tsqlDB.SetConnMaxLifetime(time.Hour)\n\t\tDB = db\n\t\treturn\n\t}\n\tpanic(\"unsupported database\")\n}\n\nfunc InstallS3FromEnv() {\n\tvar (\n\t\tendpoint = os.Getenv(\"AWS_ENDPOINT_URL_S3\")\n\t\tregion = os.Getenv(\"AWS_REGION\")\n\t\taccessKeyId = os.Getenv(\"AWS_ACCESS_KEY_ID\")\n\t\taccessKeySecret = os.Getenv(\"AWS_SECRET_ACCESS_KEY\")\n\t)\n\tS3 = getS3Client(accessKeyId, accessKeySecret, region, endpoint)\n}\n\nfunc InstallDeepseekFromEnv() {\n\tDEEPSEEK = openai.NewClient(\n\t\toption.WithBaseURL(os.Getenv(\"DEEPSEEK_BASE_URL\")),\n\t\toption.WithAPIKey(os.Getenv(\"DEEPSEEK_API_KEY\")),\n\t)\n}\n\nfunc getS3Client(accessKeyId, accessKeySecret, region, endpoint string) *s3.Client {\n\tcfg, err := config.LoadDefaultConfig(context.Background(),\n\t\tconfig.WithCredentialsProvider(credentials.NewStaticCredentialsProvider(accessKeyId, accessKeySecret, \"\")),\n\t\tconfig.WithRegion(region),\n\t)\n\tif err != nil {\n\t\tpanic(err)\n\t}\n\tclient := s3.NewFromConfig(cfg, func(o *s3.Options) {\n\t\to.BaseEndpoint = aws.String(endpoint)\n\t})\n\treturn client\n}\n"}}}}