mirror of
				https://github.com/elyby/chrly.git
				synced 2025-05-31 14:11:51 +05:30 
			
		
		
		
	Rework project's structure
This commit is contained in:
		| @@ -1,2 +0,0 @@ | |||||||
| data |  | ||||||
| vendor |  | ||||||
							
								
								
									
										33
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										33
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							| @@ -26,8 +26,21 @@ jobs: | |||||||
|     steps: |     steps: | ||||||
|       - uses: actions/checkout@v4 |       - uses: actions/checkout@v4 | ||||||
|  |  | ||||||
|  |       - id: version | ||||||
|  |         name: Set up build version | ||||||
|  |         run: | | ||||||
|  |           if [[ $GITHUB_REF_TYPE == "tag" ]]; then | ||||||
|  |             VERSION=${GITHUB_REF#refs/tags/} | ||||||
|  |           else | ||||||
|  |             BRANCH_NAME=${GITHUB_REF#refs/heads/} | ||||||
|  |             SHORT_SHA=$(git rev-parse --short $GITHUB_SHA) | ||||||
|  |             VERSION="${BRANCH_NAME}-${SHORT_SHA}" | ||||||
|  |           fi | ||||||
|  |           echo "### Version: $VERSION" >> $GITHUB_STEP_SUMMARY | ||||||
|  |           echo "version=$VERSION" >> "$GITHUB_OUTPUT" | ||||||
|  |  | ||||||
|       - name: Setup Go |       - name: Setup Go | ||||||
|         uses: actions/setup-go@v4 |         uses: actions/setup-go@v5 | ||||||
|         with: |         with: | ||||||
|           cache-dependency-path: go.sum |           cache-dependency-path: go.sum | ||||||
|           go-version-file: go.mod |           go-version-file: go.mod | ||||||
| @@ -45,9 +58,23 @@ jobs: | |||||||
|         run: go test -v -race --tags redis -coverprofile=coverage.txt -covermode=atomic ./... |         run: go test -v -race --tags redis -coverprofile=coverage.txt -covermode=atomic ./... | ||||||
|  |  | ||||||
|       - name: Upload coverage to Codecov |       - name: Upload coverage to Codecov | ||||||
|         uses: codecov/codecov-action@v4-beta |         uses: codecov/codecov-action@v4 | ||||||
|         env: |         env: | ||||||
|           CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} |           CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | ||||||
|  |  | ||||||
|       - name: Build |       - name: Build | ||||||
|         run: go build ./... |         env: | ||||||
|  |           CGO_ENABLED: 'false' | ||||||
|  |         run: > | ||||||
|  |           go build | ||||||
|  |           -trimpath | ||||||
|  |           -ldflags "-w -s -X github.com/elyby/chrly/internal/version.version=${{ steps.version.outputs.version }} -X github.com/elyby/chrly/internal/version.commit=${{ github.sha }}" \ | ||||||
|  |           -o ./chrly | ||||||
|  |           ./cmd/chrly/... | ||||||
|  |  | ||||||
|  |       - name: Upload artifact | ||||||
|  |         uses: actions/upload-artifact@v4 | ||||||
|  |         with: | ||||||
|  |           name: chrly-build-linux-amd64-${{ steps.version.outputs.version }} | ||||||
|  |           path: ./chrly | ||||||
|  |           compression-level: 0 | ||||||
|   | |||||||
							
								
								
									
										16
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1,5 +1,11 @@ | |||||||
| .idea | # IDE files | ||||||
| docker-compose.yml | .idea/ | ||||||
| docker-compose.override.yml | *.iml | ||||||
| vendor | .vscode | ||||||
| .cover |  | ||||||
|  | # Go mod vendoring | ||||||
|  | /vendor | ||||||
|  |  | ||||||
|  | # Local environment | ||||||
|  | /docker-compose.yml | ||||||
|  | /data | ||||||
|   | |||||||
							
								
								
									
										29
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								Dockerfile
									
									
									
									
									
								
							| @@ -1,29 +0,0 @@ | |||||||
| # syntax=docker/dockerfile:1 |  | ||||||
|  |  | ||||||
| FROM golang:1.21-alpine AS builder |  | ||||||
|  |  | ||||||
| ARG VERSION=unversioned |  | ||||||
| ARG COMMIT=unspecified |  | ||||||
|  |  | ||||||
| COPY . /build |  | ||||||
| WORKDIR /build |  | ||||||
| RUN go mod download |  | ||||||
|  |  | ||||||
| RUN CGO_ENABLED=0 \ |  | ||||||
|     go build \ |  | ||||||
|     -trimpath \ |  | ||||||
|     -ldflags "-w -s -X github.com/elyby/chrly/version.version=$VERSION -X github.com/elyby/chrly/version.commit=$COMMIT" \ |  | ||||||
|     -o chrly \ |  | ||||||
|     main.go |  | ||||||
|  |  | ||||||
| FROM alpine:3.19 |  | ||||||
|  |  | ||||||
| EXPOSE 80 |  | ||||||
| ENV STORAGE_REDIS_HOST=redis |  | ||||||
| ENV STORAGE_FILESYSTEM_HOST=/data |  | ||||||
|  |  | ||||||
| COPY docker-entrypoint.sh / |  | ||||||
| COPY --from=builder /build/chrly /usr/local/bin/chrly |  | ||||||
|  |  | ||||||
| ENTRYPOINT ["/docker-entrypoint.sh"] |  | ||||||
| CMD ["serve"] |  | ||||||
							
								
								
									
										12
									
								
								build/package/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								build/package/Dockerfile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | |||||||
|  | # syntax=docker/dockerfile:1 | ||||||
|  | ARG BINARY | ||||||
|  |  | ||||||
|  | FROM scratch | ||||||
|  |  | ||||||
|  | EXPOSE 80 | ||||||
|  |  | ||||||
|  | COPY --from=alpine:latest /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ | ||||||
|  | COPY ${BINARY} /usr/local/bin/chrly | ||||||
|  |  | ||||||
|  | ENTRYPOINT ["/usr/local/bin/chrly"] | ||||||
|  | CMD ["serve"] | ||||||
							
								
								
									
										16
									
								
								cmd/chrly/chrly.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								cmd/chrly/chrly.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | |||||||
|  | package main | ||||||
|  |  | ||||||
|  | import ( | ||||||
|  | 	"fmt" | ||||||
|  | 	"os" | ||||||
|  |  | ||||||
|  | 	. "github.com/elyby/chrly/internal/cmd" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | func main() { | ||||||
|  | 	err := RootCmd.Execute() | ||||||
|  | 	if err != nil { | ||||||
|  | 		fmt.Println(err) | ||||||
|  | 		os.Exit(1) | ||||||
|  | 	} | ||||||
|  | } | ||||||
							
								
								
									
										2
									
								
								data/redis/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								data/redis/.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1,2 +0,0 @@ | |||||||
| * |  | ||||||
| !.gitignore |  | ||||||
							
								
								
									
										16
									
								
								deploy/docker/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								deploy/docker/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | |||||||
|  | version: '3' | ||||||
|  | services: | ||||||
|  |   chrly: | ||||||
|  |     image: elyby/chrly:latest | ||||||
|  |     restart: always | ||||||
|  |     ports: | ||||||
|  |       - "80:80" | ||||||
|  |     environment: | ||||||
|  |       CHRLY_SECRET: replace_this_value_in_production | ||||||
|  |       STORAGE_REDIS_HOST: redis | ||||||
|  |  | ||||||
|  |   redis: | ||||||
|  |     image: redis:latest | ||||||
|  |     restart: always | ||||||
|  |     volumes: | ||||||
|  |       - ./data/redis:/data | ||||||
| @@ -1,14 +0,0 @@ | |||||||
| # This file can be used to start up necessary services. |  | ||||||
| # Copy it into the docker-compose.yml: |  | ||||||
| # > cp docker-compose.dev.yml docker-compose.yml |  | ||||||
| # And then run it: |  | ||||||
| # > docker-compose up -d |  | ||||||
|  |  | ||||||
| version: '2' |  | ||||||
| services: |  | ||||||
|   redis: |  | ||||||
|     image: redis:4.0-32bit |  | ||||||
|     ports: |  | ||||||
|       - "6379:6379" |  | ||||||
|     volumes: |  | ||||||
|       - ./data/redis:/data |  | ||||||
| @@ -1,27 +0,0 @@ | |||||||
| # This file can be used to run application in the production environment. |  | ||||||
| # Copy it into the docker-compose.yml: |  | ||||||
| # > cp docker-compose.prod.yml docker-compose.yml |  | ||||||
| # And then run it: |  | ||||||
| # > docker-compose up -d |  | ||||||
| # Service will be listened at the http://localhost |  | ||||||
|  |  | ||||||
| version: '2' |  | ||||||
| services: |  | ||||||
|   app: |  | ||||||
|     image: elyby/chrly |  | ||||||
|     hostname: chrly0 |  | ||||||
|     restart: always |  | ||||||
|     links: |  | ||||||
|       - redis |  | ||||||
|     volumes: |  | ||||||
|       - ./data/capes:/data/capes |  | ||||||
|     ports: |  | ||||||
|       - "80:80" |  | ||||||
|     environment: |  | ||||||
|       CHRLY_SECRET: replace_this_value_in_production |  | ||||||
|  |  | ||||||
|   redis: |  | ||||||
|     image: redis:4.0-32bit # 32-bit version is recommended to spare some memory |  | ||||||
|     restart: always |  | ||||||
|     volumes: |  | ||||||
|       - ./data/redis:/data |  | ||||||
| @@ -1,12 +0,0 @@ | |||||||
| #!/bin/sh |  | ||||||
| set -e |  | ||||||
|  |  | ||||||
| if [ ! -d /data/capes ]; then |  | ||||||
|     mkdir -p /data/capes |  | ||||||
| fi |  | ||||||
|  |  | ||||||
| if [ "$1" = "serve" ] || [ "$1" = "token" ] || [ "$1" = "version" ]; then |  | ||||||
|     set -- /usr/local/bin/chrly "$@" |  | ||||||
| fi |  | ||||||
|  |  | ||||||
| exec "$@" |  | ||||||
| @@ -1,35 +1,24 @@ | |||||||
| package cmd | package cmd | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
| 	"fmt" |  | ||||||
| 	"log" | 	"log" | ||||||
| 	"os" |  | ||||||
| 	"strings" | 	"strings" | ||||||
| 
 | 
 | ||||||
| 	. "github.com/defval/di" | 	. "github.com/defval/di" | ||||||
| 	"github.com/spf13/cobra" | 	"github.com/spf13/cobra" | ||||||
| 	"github.com/spf13/viper" | 	"github.com/spf13/viper" | ||||||
| 
 | 
 | ||||||
| 	"github.com/elyby/chrly/di" | 	"github.com/elyby/chrly/internal/di" | ||||||
| 	"github.com/elyby/chrly/http" | 	"github.com/elyby/chrly/internal/http" | ||||||
| 	"github.com/elyby/chrly/version" | 	"github.com/elyby/chrly/internal/version" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| var RootCmd = &cobra.Command{ | var RootCmd = &cobra.Command{ | ||||||
| 	Use:     "chrly", | 	Use:     "chrly", | ||||||
| 	Short:   "Implementation of Minecraft skins system server", | 	Short:   "Implementation of the Minecraft skins system server", | ||||||
| 	Version: version.Version(), | 	Version: version.Version(), | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Execute adds all child commands to the root command and sets flags appropriately. |  | ||||||
| // This is called by main.main(). It only needs to happen once to the rootCmd. |  | ||||||
| func Execute() { |  | ||||||
| 	if err := RootCmd.Execute(); err != nil { |  | ||||||
| 		fmt.Println(err) |  | ||||||
| 		os.Exit(1) |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| func shouldGetContainer() *Container { | func shouldGetContainer() *Container { | ||||||
| 	container, err := di.New() | 	container, err := di.New() | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| @@ -4,7 +4,7 @@ import ( | |||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"log" | 	"log" | ||||||
| 
 | 
 | ||||||
| 	"github.com/elyby/chrly/http" | 	"github.com/elyby/chrly/internal/http" | ||||||
| 
 | 
 | ||||||
| 	"github.com/spf13/cobra" | 	"github.com/spf13/cobra" | ||||||
| ) | ) | ||||||
| @@ -7,7 +7,7 @@ import ( | |||||||
| 
 | 
 | ||||||
| 	"github.com/spf13/cobra" | 	"github.com/spf13/cobra" | ||||||
| 
 | 
 | ||||||
| 	"github.com/elyby/chrly/version" | 	"github.com/elyby/chrly/internal/version" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| var versionCmd = &cobra.Command{ | var versionCmd = &cobra.Command{ | ||||||
| @@ -7,7 +7,7 @@ import ( | |||||||
| 
 | 
 | ||||||
| 	"github.com/mediocregopher/radix/v4" | 	"github.com/mediocregopher/radix/v4" | ||||||
| 
 | 
 | ||||||
| 	"github.com/elyby/chrly/db" | 	"github.com/elyby/chrly/internal/db" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| const usernameToProfileKey = "hash:username-to-profile" | const usernameToProfileKey = "hash:username-to-profile" | ||||||
| @@ -15,7 +15,7 @@ import ( | |||||||
| 	assert "github.com/stretchr/testify/require" | 	assert "github.com/stretchr/testify/require" | ||||||
| 	"github.com/stretchr/testify/suite" | 	"github.com/stretchr/testify/suite" | ||||||
| 
 | 
 | ||||||
| 	"github.com/elyby/chrly/db" | 	"github.com/elyby/chrly/internal/db" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| var redisAddr string | var redisAddr string | ||||||
| @@ -7,11 +7,11 @@ import ( | |||||||
| 	"github.com/defval/di" | 	"github.com/defval/di" | ||||||
| 	"github.com/spf13/viper" | 	"github.com/spf13/viper" | ||||||
| 
 | 
 | ||||||
| 	db2 "github.com/elyby/chrly/db" | 	db2 "github.com/elyby/chrly/internal/db" | ||||||
| 	"github.com/elyby/chrly/db/redis" | 	"github.com/elyby/chrly/internal/db/redis" | ||||||
| 	es "github.com/elyby/chrly/eventsubscribers" | 	es "github.com/elyby/chrly/internal/eventsubscribers" | ||||||
|  | 	"github.com/elyby/chrly/internal/mojang" | ||||||
| 	"github.com/elyby/chrly/internal/profiles" | 	"github.com/elyby/chrly/internal/profiles" | ||||||
| 	"github.com/elyby/chrly/mojang" |  | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // v4 had the idea that it would be possible to separate backends for storing skins and capes. | // v4 had the idea that it would be possible to separate backends for storing skins and capes. | ||||||
| @@ -4,9 +4,9 @@ import ( | |||||||
| 	"github.com/defval/di" | 	"github.com/defval/di" | ||||||
| 	"github.com/mono83/slf" | 	"github.com/mono83/slf" | ||||||
| 
 | 
 | ||||||
| 	d "github.com/elyby/chrly/dispatcher" | 	d "github.com/elyby/chrly/internal/dispatcher" | ||||||
| 	"github.com/elyby/chrly/eventsubscribers" | 	"github.com/elyby/chrly/internal/eventsubscribers" | ||||||
| 	"github.com/elyby/chrly/http" | 	"github.com/elyby/chrly/internal/http" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| var dispatcher = di.Options( | var dispatcher = di.Options( | ||||||
| @@ -10,7 +10,7 @@ import ( | |||||||
| 	"github.com/gorilla/mux" | 	"github.com/gorilla/mux" | ||||||
| 	"github.com/spf13/viper" | 	"github.com/spf13/viper" | ||||||
| 
 | 
 | ||||||
| 	. "github.com/elyby/chrly/http" | 	. "github.com/elyby/chrly/internal/http" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| var handlers = di.Options( | var handlers = di.Options( | ||||||
| @@ -13,8 +13,8 @@ import ( | |||||||
| 	"github.com/mono83/slf/wd" | 	"github.com/mono83/slf/wd" | ||||||
| 	"github.com/spf13/viper" | 	"github.com/spf13/viper" | ||||||
| 
 | 
 | ||||||
| 	"github.com/elyby/chrly/eventsubscribers" | 	"github.com/elyby/chrly/internal/eventsubscribers" | ||||||
| 	"github.com/elyby/chrly/version" | 	"github.com/elyby/chrly/internal/version" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| var logger = di.Options( | var logger = di.Options( | ||||||
| @@ -8,8 +8,8 @@ import ( | |||||||
| 	"github.com/defval/di" | 	"github.com/defval/di" | ||||||
| 	"github.com/spf13/viper" | 	"github.com/spf13/viper" | ||||||
| 
 | 
 | ||||||
|  | 	"github.com/elyby/chrly/internal/mojang" | ||||||
| 	"github.com/elyby/chrly/internal/profiles" | 	"github.com/elyby/chrly/internal/profiles" | ||||||
| 	"github.com/elyby/chrly/mojang" |  | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| var mojangTextures = di.Options( | var mojangTextures = di.Options( | ||||||
| @@ -3,7 +3,7 @@ package di | |||||||
| import ( | import ( | ||||||
| 	"github.com/defval/di" | 	"github.com/defval/di" | ||||||
| 
 | 
 | ||||||
| 	. "github.com/elyby/chrly/http" | 	. "github.com/elyby/chrly/internal/http" | ||||||
| 	"github.com/elyby/chrly/internal/profiles" | 	"github.com/elyby/chrly/internal/profiles" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| @@ -11,7 +11,7 @@ import ( | |||||||
| 	"github.com/getsentry/raven-go" | 	"github.com/getsentry/raven-go" | ||||||
| 	"github.com/spf13/viper" | 	"github.com/spf13/viper" | ||||||
| 
 | 
 | ||||||
| 	. "github.com/elyby/chrly/http" | 	. "github.com/elyby/chrly/internal/http" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| var server = di.Options( | var server = di.Options( | ||||||
| @@ -5,10 +5,11 @@ import ( | |||||||
| 	"encoding/base64" | 	"encoding/base64" | ||||||
| 	"encoding/pem" | 	"encoding/pem" | ||||||
| 	"errors" | 	"errors" | ||||||
| 	"github.com/elyby/chrly/http" |  | ||||||
| 	. "github.com/elyby/chrly/signer" |  | ||||||
| 	"strings" | 	"strings" | ||||||
| 
 | 
 | ||||||
|  | 	"github.com/elyby/chrly/internal/http" | ||||||
|  | 	. "github.com/elyby/chrly/internal/signer" | ||||||
|  | 
 | ||||||
| 	"github.com/defval/di" | 	"github.com/defval/di" | ||||||
| 	"github.com/spf13/viper" | 	"github.com/spf13/viper" | ||||||
| ) | ) | ||||||
| @@ -9,7 +9,7 @@ import ( | |||||||
| 	"github.com/mono83/slf/params" | 	"github.com/mono83/slf/params" | ||||||
| 	"github.com/stretchr/testify/mock" | 	"github.com/stretchr/testify/mock" | ||||||
| 
 | 
 | ||||||
| 	"github.com/elyby/chrly/dispatcher" | 	"github.com/elyby/chrly/internal/dispatcher" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| type LoggerMock struct { | type LoggerMock struct { | ||||||
| @@ -8,7 +8,7 @@ import ( | |||||||
| 
 | 
 | ||||||
| 	"github.com/mono83/slf" | 	"github.com/mono83/slf" | ||||||
| 
 | 
 | ||||||
| 	"github.com/elyby/chrly/dispatcher" | 	"github.com/elyby/chrly/internal/dispatcher" | ||||||
| 
 | 
 | ||||||
| 	"github.com/stretchr/testify/mock" | 	"github.com/stretchr/testify/mock" | ||||||
| ) | ) | ||||||
| @@ -1,6 +1,6 @@ | |||||||
| package eventsubscribers | package eventsubscribers | ||||||
| 
 | 
 | ||||||
| import "github.com/elyby/chrly/dispatcher" | import "github.com/elyby/chrly/internal/dispatcher" | ||||||
| 
 | 
 | ||||||
| type Subscriber interface { | type Subscriber interface { | ||||||
| 	dispatcher.Subscriber | 	dispatcher.Subscriber | ||||||
| @@ -6,7 +6,7 @@ import ( | |||||||
| 
 | 
 | ||||||
| 	"github.com/gorilla/mux" | 	"github.com/gorilla/mux" | ||||||
| 
 | 
 | ||||||
| 	"github.com/elyby/chrly/db" | 	"github.com/elyby/chrly/internal/db" | ||||||
| 	"github.com/elyby/chrly/internal/profiles" | 	"github.com/elyby/chrly/internal/profiles" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| @@ -13,7 +13,7 @@ import ( | |||||||
| 	"github.com/stretchr/testify/mock" | 	"github.com/stretchr/testify/mock" | ||||||
| 	"github.com/stretchr/testify/suite" | 	"github.com/stretchr/testify/suite" | ||||||
| 
 | 
 | ||||||
| 	"github.com/elyby/chrly/db" | 	"github.com/elyby/chrly/internal/db" | ||||||
| 	"github.com/elyby/chrly/internal/profiles" | 	"github.com/elyby/chrly/internal/profiles" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| @@ -15,8 +15,8 @@ import ( | |||||||
| 	"github.com/mono83/slf" | 	"github.com/mono83/slf" | ||||||
| 	"github.com/mono83/slf/wd" | 	"github.com/mono83/slf/wd" | ||||||
| 
 | 
 | ||||||
| 	"github.com/elyby/chrly/dispatcher" | 	"github.com/elyby/chrly/internal/dispatcher" | ||||||
| 	v "github.com/elyby/chrly/version" | 	v "github.com/elyby/chrly/internal/version" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| type Emitter interface { | type Emitter interface { | ||||||
| @@ -12,9 +12,9 @@ import ( | |||||||
| 
 | 
 | ||||||
| 	"github.com/gorilla/mux" | 	"github.com/gorilla/mux" | ||||||
| 
 | 
 | ||||||
| 	"github.com/elyby/chrly/db" | 	"github.com/elyby/chrly/internal/db" | ||||||
| 	"github.com/elyby/chrly/mojang" | 	"github.com/elyby/chrly/internal/mojang" | ||||||
| 	"github.com/elyby/chrly/utils" | 	"github.com/elyby/chrly/internal/utils" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| var timeNow = time.Now | var timeNow = time.Now | ||||||
| @@ -16,7 +16,7 @@ import ( | |||||||
| 	testify "github.com/stretchr/testify/require" | 	testify "github.com/stretchr/testify/require" | ||||||
| 	"github.com/stretchr/testify/suite" | 	"github.com/stretchr/testify/suite" | ||||||
| 
 | 
 | ||||||
| 	"github.com/elyby/chrly/db" | 	"github.com/elyby/chrly/internal/db" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| type ProfilesProviderMock struct { | type ProfilesProviderMock struct { | ||||||
| @@ -5,7 +5,7 @@ import ( | |||||||
| 	"sync" | 	"sync" | ||||||
| 	"time" | 	"time" | ||||||
| 
 | 
 | ||||||
| 	"github.com/elyby/chrly/utils" | 	"github.com/elyby/chrly/internal/utils" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| type BatchUuidsProvider struct { | type BatchUuidsProvider struct { | ||||||
| @@ -7,7 +7,7 @@ import ( | |||||||
|  |  | ||||||
| 	"github.com/go-playground/validator/v10" | 	"github.com/go-playground/validator/v10" | ||||||
|  |  | ||||||
| 	"github.com/elyby/chrly/db" | 	"github.com/elyby/chrly/internal/db" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| type ProfilesRepository interface { | type ProfilesRepository interface { | ||||||
|   | |||||||
| @@ -6,7 +6,7 @@ import ( | |||||||
| 	"github.com/stretchr/testify/mock" | 	"github.com/stretchr/testify/mock" | ||||||
| 	"github.com/stretchr/testify/suite" | 	"github.com/stretchr/testify/suite" | ||||||
|  |  | ||||||
| 	"github.com/elyby/chrly/db" | 	"github.com/elyby/chrly/internal/db" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| type ProfilesRepositoryMock struct { | type ProfilesRepositoryMock struct { | ||||||
|   | |||||||
| @@ -3,8 +3,8 @@ package profiles | |||||||
| import ( | import ( | ||||||
| 	"errors" | 	"errors" | ||||||
|  |  | ||||||
| 	"github.com/elyby/chrly/db" | 	"github.com/elyby/chrly/internal/db" | ||||||
| 	"github.com/elyby/chrly/mojang" | 	"github.com/elyby/chrly/internal/mojang" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| type ProfilesFinder interface { | type ProfilesFinder interface { | ||||||
|   | |||||||
| @@ -8,9 +8,9 @@ import ( | |||||||
| 	"github.com/stretchr/testify/mock" | 	"github.com/stretchr/testify/mock" | ||||||
| 	"github.com/stretchr/testify/suite" | 	"github.com/stretchr/testify/suite" | ||||||
|  |  | ||||||
| 	"github.com/elyby/chrly/db" | 	"github.com/elyby/chrly/internal/db" | ||||||
| 	"github.com/elyby/chrly/mojang" | 	"github.com/elyby/chrly/internal/mojang" | ||||||
| 	"github.com/elyby/chrly/utils" | 	"github.com/elyby/chrly/internal/utils" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| type ProfilesFinderMock struct { | type ProfilesFinderMock struct { | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| package version | package version | ||||||
| 
 | 
 | ||||||
| var ( | var ( | ||||||
| 	version = "" | 	version = "undefined" | ||||||
| 	commit  = "" | 	commit  = "unknown" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| func Version() string { | func Version() string { | ||||||
		Reference in New Issue
	
	Block a user