Compare commits
No commits in common. "master" and "dev" have entirely different histories.
@ -3,19 +3,14 @@ name: CI
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
tags:
|
||||
- 'v*'
|
||||
- master
|
||||
|
||||
|
||||
env:
|
||||
# Use docker.io for Docker Hub if empty
|
||||
REGISTRY: git.thehrz.net
|
||||
# github.repository as <account>/<repo>
|
||||
IMAGE_NAME: H8-Network/TinySkin
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
release-image:
|
||||
deploy:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
@ -25,29 +20,6 @@ jobs:
|
||||
# - name: Install Docker
|
||||
# run: curl -fsSL https://get.docker.com | sh
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- name: Deploy with Docker
|
||||
run: docker compose up --build --force-recreate -d
|
||||
|
||||
- name: Log into registry
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ${{ env.REGISTRY }}
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.TOKEN }}
|
||||
|
||||
- name: Extract Docker metadata
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
|
||||
|
||||
- name: Build and push Docker image
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: .
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
# labels: ${{ steps.meta.outputs.labels }}
|
||||
# cache-from: type=gha
|
||||
# cache-to: type=gha,mode=max
|
||||
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -3,7 +3,6 @@ cmd/authlibskin/config.yaml
|
||||
cmd/authlibskin/skin
|
||||
cmd/authlibskin/authlibskin.exe
|
||||
server/static/files
|
||||
config.toml
|
||||
cmd/authlibskin/config.toml
|
||||
out/
|
||||
stats.html
|
||||
.idea
|
@ -11,7 +11,7 @@ COPY frontend .
|
||||
|
||||
RUN pnpm build
|
||||
|
||||
FROM golang:1.23-alpine AS build-stage
|
||||
FROM golang:1.23 AS build-stage
|
||||
|
||||
WORKDIR /app
|
||||
ENV GOPROXY https://goproxy.cn,direct
|
||||
|
@ -1,6 +1,6 @@
|
||||
# TinySkin
|
||||
|
||||
Fork from [authlib-skin](https://tinyskin).
|
||||
Fork from [authlib-skin](https://github.com/xmdhs/authlib-skin).
|
||||
|
||||
轻量级的 Yggdrasil 服务端实现,后端 Go,前端 react。
|
||||
|
||||
|
@ -7,7 +7,7 @@ type Config struct {
|
||||
Sql Sql `toml:"sql"`
|
||||
Debug bool `toml:"debug" comment:"输出每条执行的 sql 语句"`
|
||||
Cache Cache `toml:"cache"`
|
||||
RealIP bool `toml:"realIP" comment:"位于反向代理后启用,用于记录真实 ip\n若直接提供服务,请勿打开,否则会被伪造 ip"`
|
||||
RaelIP bool `toml:"raelIP" comment:"位于反向代理后启用,用于记录真实 ip\n若直接提供服务,请勿打开,否则会被伪造 ip"`
|
||||
MaxIpUser int `toml:"maxIpUser" comment:"ip 段最大注册用户,ipv4 为 /24 ipv6 为 /48"`
|
||||
RsaPriKey string `toml:"rsaPriKey,multiline" comment:"运行后勿修改,若为集群需设置为一致"`
|
||||
TexturePath string `toml:"texturePath" comment:"材质文件保存路径,如果需要对象存储可以把对象储存挂载到本地目录上"`
|
||||
@ -76,7 +76,7 @@ func Default() Config {
|
||||
Addr: "",
|
||||
Password: "",
|
||||
},
|
||||
RealIP: false,
|
||||
RaelIP: false,
|
||||
MaxIpUser: 0,
|
||||
RsaPriKey: "",
|
||||
TexturePath: "",
|
||||
|
@ -8,17 +8,17 @@ import (
|
||||
"fmt"
|
||||
"log"
|
||||
|
||||
"tinyskin/db/ent/migrate"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/migrate"
|
||||
|
||||
"entgo.io/ent"
|
||||
"entgo.io/ent/dialect"
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"tinyskin/db/ent/texture"
|
||||
"tinyskin/db/ent/user"
|
||||
"tinyskin/db/ent/userprofile"
|
||||
"tinyskin/db/ent/usertexture"
|
||||
"tinyskin/db/ent/usertoken"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/texture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/userprofile"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertexture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertoken"
|
||||
)
|
||||
|
||||
// Client is the client that holds all ent builders.
|
||||
|
@ -12,11 +12,11 @@ import (
|
||||
"entgo.io/ent"
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"tinyskin/db/ent/texture"
|
||||
"tinyskin/db/ent/user"
|
||||
"tinyskin/db/ent/userprofile"
|
||||
"tinyskin/db/ent/usertexture"
|
||||
"tinyskin/db/ent/usertoken"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/texture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/userprofile"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertexture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertoken"
|
||||
)
|
||||
|
||||
// ent aliases to avoid import conflicts in user's code.
|
||||
|
@ -5,12 +5,12 @@ package enttest
|
||||
import (
|
||||
"context"
|
||||
|
||||
"tinyskin/db/ent"
|
||||
"github.com/xmdhs/authlib-skin/db/ent"
|
||||
// required by schema hooks.
|
||||
_ "tinyskin/db/ent/runtime"
|
||||
_ "github.com/xmdhs/authlib-skin/db/ent/runtime"
|
||||
|
||||
"entgo.io/ent/dialect/sql/schema"
|
||||
"tinyskin/db/ent/migrate"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/migrate"
|
||||
)
|
||||
|
||||
type (
|
||||
|
@ -6,7 +6,7 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"tinyskin/db/ent"
|
||||
"github.com/xmdhs/authlib-skin/db/ent"
|
||||
)
|
||||
|
||||
// The TextureFunc type is an adapter to allow the use of ordinary
|
||||
|
@ -10,12 +10,12 @@ import (
|
||||
|
||||
"entgo.io/ent"
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"tinyskin/db/ent/predicate"
|
||||
"tinyskin/db/ent/texture"
|
||||
"tinyskin/db/ent/user"
|
||||
"tinyskin/db/ent/userprofile"
|
||||
"tinyskin/db/ent/usertexture"
|
||||
"tinyskin/db/ent/usertoken"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/predicate"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/texture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/userprofile"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertexture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertoken"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
package runtime
|
||||
|
||||
// The schema-stitching logic is generated in tinyskin/db/ent/runtime.go
|
||||
// The schema-stitching logic is generated in github.com/xmdhs/authlib-skin/db/ent/runtime.go
|
||||
|
||||
const (
|
||||
Version = "(devel)" // Version of ent codegen.
|
||||
|
@ -8,8 +8,8 @@ import (
|
||||
|
||||
"entgo.io/ent"
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"tinyskin/db/ent/texture"
|
||||
"tinyskin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/texture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
)
|
||||
|
||||
// Texture is the model entity for the Texture schema.
|
||||
|
@ -5,7 +5,7 @@ package texture
|
||||
import (
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"tinyskin/db/ent/predicate"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/predicate"
|
||||
)
|
||||
|
||||
// ID filters vertices based on their ID field.
|
||||
|
@ -9,10 +9,10 @@ import (
|
||||
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
"tinyskin/db/ent/texture"
|
||||
"tinyskin/db/ent/user"
|
||||
"tinyskin/db/ent/userprofile"
|
||||
"tinyskin/db/ent/usertexture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/texture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/userprofile"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertexture"
|
||||
)
|
||||
|
||||
// TextureCreate is the builder for creating a Texture entity.
|
||||
|
@ -8,8 +8,8 @@ import (
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
"tinyskin/db/ent/predicate"
|
||||
"tinyskin/db/ent/texture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/predicate"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/texture"
|
||||
)
|
||||
|
||||
// TextureDelete is the builder for deleting a Texture entity.
|
||||
|
@ -12,11 +12,11 @@ import (
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
"tinyskin/db/ent/predicate"
|
||||
"tinyskin/db/ent/texture"
|
||||
"tinyskin/db/ent/user"
|
||||
"tinyskin/db/ent/userprofile"
|
||||
"tinyskin/db/ent/usertexture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/predicate"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/texture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/userprofile"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertexture"
|
||||
)
|
||||
|
||||
// TextureQuery is the builder for querying Texture entities.
|
||||
|
@ -10,11 +10,11 @@ import (
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
"tinyskin/db/ent/predicate"
|
||||
"tinyskin/db/ent/texture"
|
||||
"tinyskin/db/ent/user"
|
||||
"tinyskin/db/ent/userprofile"
|
||||
"tinyskin/db/ent/usertexture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/predicate"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/texture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/userprofile"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertexture"
|
||||
)
|
||||
|
||||
// TextureUpdate is the builder for updating Texture entities.
|
||||
|
@ -8,9 +8,9 @@ import (
|
||||
|
||||
"entgo.io/ent"
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"tinyskin/db/ent/user"
|
||||
"tinyskin/db/ent/userprofile"
|
||||
"tinyskin/db/ent/usertoken"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/userprofile"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertoken"
|
||||
)
|
||||
|
||||
// User is the model entity for the User schema.
|
||||
|
@ -5,7 +5,7 @@ package user
|
||||
import (
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"tinyskin/db/ent/predicate"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/predicate"
|
||||
)
|
||||
|
||||
// ID filters vertices based on their ID field.
|
||||
|
@ -9,10 +9,10 @@ import (
|
||||
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
"tinyskin/db/ent/texture"
|
||||
"tinyskin/db/ent/user"
|
||||
"tinyskin/db/ent/userprofile"
|
||||
"tinyskin/db/ent/usertoken"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/texture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/userprofile"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertoken"
|
||||
)
|
||||
|
||||
// UserCreate is the builder for creating a User entity.
|
||||
|
@ -8,8 +8,8 @@ import (
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
"tinyskin/db/ent/predicate"
|
||||
"tinyskin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/predicate"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
)
|
||||
|
||||
// UserDelete is the builder for deleting a User entity.
|
||||
|
@ -12,11 +12,11 @@ import (
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
"tinyskin/db/ent/predicate"
|
||||
"tinyskin/db/ent/texture"
|
||||
"tinyskin/db/ent/user"
|
||||
"tinyskin/db/ent/userprofile"
|
||||
"tinyskin/db/ent/usertoken"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/predicate"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/texture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/userprofile"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertoken"
|
||||
)
|
||||
|
||||
// UserQuery is the builder for querying User entities.
|
||||
|
@ -10,11 +10,11 @@ import (
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
"tinyskin/db/ent/predicate"
|
||||
"tinyskin/db/ent/texture"
|
||||
"tinyskin/db/ent/user"
|
||||
"tinyskin/db/ent/userprofile"
|
||||
"tinyskin/db/ent/usertoken"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/predicate"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/texture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/userprofile"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertoken"
|
||||
)
|
||||
|
||||
// UserUpdate is the builder for updating User entities.
|
||||
|
@ -8,8 +8,8 @@ import (
|
||||
|
||||
"entgo.io/ent"
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"tinyskin/db/ent/user"
|
||||
"tinyskin/db/ent/userprofile"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/userprofile"
|
||||
)
|
||||
|
||||
// UserProfile is the model entity for the UserProfile schema.
|
||||
|
@ -5,7 +5,7 @@ package userprofile
|
||||
import (
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"tinyskin/db/ent/predicate"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/predicate"
|
||||
)
|
||||
|
||||
// ID filters vertices based on their ID field.
|
||||
|
@ -9,10 +9,10 @@ import (
|
||||
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
"tinyskin/db/ent/texture"
|
||||
"tinyskin/db/ent/user"
|
||||
"tinyskin/db/ent/userprofile"
|
||||
"tinyskin/db/ent/usertexture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/texture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/userprofile"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertexture"
|
||||
)
|
||||
|
||||
// UserProfileCreate is the builder for creating a UserProfile entity.
|
||||
|
@ -8,8 +8,8 @@ import (
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
"tinyskin/db/ent/predicate"
|
||||
"tinyskin/db/ent/userprofile"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/predicate"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/userprofile"
|
||||
)
|
||||
|
||||
// UserProfileDelete is the builder for deleting a UserProfile entity.
|
||||
|
@ -12,11 +12,11 @@ import (
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
"tinyskin/db/ent/predicate"
|
||||
"tinyskin/db/ent/texture"
|
||||
"tinyskin/db/ent/user"
|
||||
"tinyskin/db/ent/userprofile"
|
||||
"tinyskin/db/ent/usertexture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/predicate"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/texture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/userprofile"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertexture"
|
||||
)
|
||||
|
||||
// UserProfileQuery is the builder for querying UserProfile entities.
|
||||
|
@ -10,11 +10,11 @@ import (
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
"tinyskin/db/ent/predicate"
|
||||
"tinyskin/db/ent/texture"
|
||||
"tinyskin/db/ent/user"
|
||||
"tinyskin/db/ent/userprofile"
|
||||
"tinyskin/db/ent/usertexture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/predicate"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/texture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/userprofile"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertexture"
|
||||
)
|
||||
|
||||
// UserProfileUpdate is the builder for updating UserProfile entities.
|
||||
|
@ -8,9 +8,9 @@ import (
|
||||
|
||||
"entgo.io/ent"
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"tinyskin/db/ent/texture"
|
||||
"tinyskin/db/ent/userprofile"
|
||||
"tinyskin/db/ent/usertexture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/texture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/userprofile"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertexture"
|
||||
)
|
||||
|
||||
// UserTexture is the model entity for the UserTexture schema.
|
||||
|
@ -5,7 +5,7 @@ package usertexture
|
||||
import (
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"tinyskin/db/ent/predicate"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/predicate"
|
||||
)
|
||||
|
||||
// ID filters vertices based on their ID field.
|
||||
|
@ -9,9 +9,9 @@ import (
|
||||
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
"tinyskin/db/ent/texture"
|
||||
"tinyskin/db/ent/userprofile"
|
||||
"tinyskin/db/ent/usertexture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/texture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/userprofile"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertexture"
|
||||
)
|
||||
|
||||
// UserTextureCreate is the builder for creating a UserTexture entity.
|
||||
|
@ -8,8 +8,8 @@ import (
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
"tinyskin/db/ent/predicate"
|
||||
"tinyskin/db/ent/usertexture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/predicate"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertexture"
|
||||
)
|
||||
|
||||
// UserTextureDelete is the builder for deleting a UserTexture entity.
|
||||
|
@ -11,10 +11,10 @@ import (
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
"tinyskin/db/ent/predicate"
|
||||
"tinyskin/db/ent/texture"
|
||||
"tinyskin/db/ent/userprofile"
|
||||
"tinyskin/db/ent/usertexture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/predicate"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/texture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/userprofile"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertexture"
|
||||
)
|
||||
|
||||
// UserTextureQuery is the builder for querying UserTexture entities.
|
||||
|
@ -10,10 +10,10 @@ import (
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
"tinyskin/db/ent/predicate"
|
||||
"tinyskin/db/ent/texture"
|
||||
"tinyskin/db/ent/userprofile"
|
||||
"tinyskin/db/ent/usertexture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/predicate"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/texture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/userprofile"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertexture"
|
||||
)
|
||||
|
||||
// UserTextureUpdate is the builder for updating UserTexture entities.
|
||||
|
@ -8,8 +8,8 @@ import (
|
||||
|
||||
"entgo.io/ent"
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"tinyskin/db/ent/user"
|
||||
"tinyskin/db/ent/usertoken"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertoken"
|
||||
)
|
||||
|
||||
// UserToken is the model entity for the UserToken schema.
|
||||
|
@ -5,7 +5,7 @@ package usertoken
|
||||
import (
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"tinyskin/db/ent/predicate"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/predicate"
|
||||
)
|
||||
|
||||
// ID filters vertices based on their ID field.
|
||||
|
@ -9,8 +9,8 @@ import (
|
||||
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
"tinyskin/db/ent/user"
|
||||
"tinyskin/db/ent/usertoken"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertoken"
|
||||
)
|
||||
|
||||
// UserTokenCreate is the builder for creating a UserToken entity.
|
||||
|
@ -8,8 +8,8 @@ import (
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
"tinyskin/db/ent/predicate"
|
||||
"tinyskin/db/ent/usertoken"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/predicate"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertoken"
|
||||
)
|
||||
|
||||
// UserTokenDelete is the builder for deleting a UserToken entity.
|
||||
|
@ -11,9 +11,9 @@ import (
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
"tinyskin/db/ent/predicate"
|
||||
"tinyskin/db/ent/user"
|
||||
"tinyskin/db/ent/usertoken"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/predicate"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertoken"
|
||||
)
|
||||
|
||||
// UserTokenQuery is the builder for querying UserToken entities.
|
||||
|
@ -10,9 +10,9 @@ import (
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"entgo.io/ent/dialect/sql/sqlgraph"
|
||||
"entgo.io/ent/schema/field"
|
||||
"tinyskin/db/ent/predicate"
|
||||
"tinyskin/db/ent/user"
|
||||
"tinyskin/db/ent/usertoken"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/predicate"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertoken"
|
||||
)
|
||||
|
||||
// UserTokenUpdate is the builder for updating UserToken entities.
|
||||
|
23
docker-compose.yml
Normal file
23
docker-compose.yml
Normal file
@ -0,0 +1,23 @@
|
||||
version: "3.9"
|
||||
|
||||
networks:
|
||||
traefik:
|
||||
name: traefik
|
||||
external: true
|
||||
|
||||
|
||||
services:
|
||||
authlib-skin:
|
||||
build: .
|
||||
container_name: authlib-skin
|
||||
volumes:
|
||||
- /srv/server/authlib-skin:/app/config
|
||||
restart: always
|
||||
labels:
|
||||
- traefik.enable=true
|
||||
- traefik.http.routers.authlib-skin.rule=Host(`auth.hfbz.net`)
|
||||
- traefik.http.routers.authlib-skin.entrypoints=web,websecure
|
||||
- traefik.http.routers.authlib-skin.middlewares=CORS@file
|
||||
- traefik.http.services.authlib-skin.loadbalancer.server.port=8080
|
||||
networks:
|
||||
- traefik
|
@ -1,24 +0,0 @@
|
||||
import Button from "@mui/material/Button"
|
||||
import { useCallback } from "react"
|
||||
|
||||
export default function QuickSetter() {
|
||||
const url = "https://auth.hfbz.net/api/yggdrasil"
|
||||
|
||||
const handleDragStart = useCallback(
|
||||
(event: React.DragEvent<HTMLButtonElement>) => {
|
||||
const uri = "authlib-injector:yggdrasil-server:" + encodeURIComponent(url)
|
||||
|
||||
if (event.dataTransfer) {
|
||||
event.dataTransfer.setData("text/plain", uri)
|
||||
event.dataTransfer.dropEffect = "copy"
|
||||
}
|
||||
},
|
||||
[url]
|
||||
)
|
||||
|
||||
return (
|
||||
<Button variant="contained" draggable onDragStart={handleDragStart}>
|
||||
将此按钮拖到启动器
|
||||
</Button>
|
||||
)
|
||||
}
|
@ -165,8 +165,8 @@ export default function SignUp() {
|
||||
}}
|
||||
checkList={[
|
||||
{
|
||||
errMsg: "长度在 3-16 之间,由数字、大小写字母、_构成",
|
||||
reg: /^[0-9a-zA-Z_]{3,16}$/
|
||||
errMsg: "长度在 3-16 之间",
|
||||
reg: /^.{3,16}$/
|
||||
}
|
||||
]}
|
||||
required
|
||||
|
@ -11,7 +11,6 @@ import Box from '@mui/material/Box';
|
||||
import useTitle from '@/hooks/useTitle';
|
||||
import SkinViewUUID from '@/components/SkinViewUUID';
|
||||
import root from '@/utils/root';
|
||||
import YggdrasilSetter from '@/components/YggdrasilSetter';
|
||||
|
||||
const Profile = function Profile() {
|
||||
const navigate = useNavigate();
|
||||
@ -55,7 +54,6 @@ const Profile = function Profile() {
|
||||
<Typography>本站 Yggdrasil 认证服务器地址</Typography>
|
||||
<code style={{ wordBreak: "break-all" }}>{getYggRoot()}</code>
|
||||
<Typography>点击下方按钮复制 API 地址,或者将按钮拖动至启动器的任意界面即可快速添加认证服务器。</Typography>
|
||||
<YggdrasilSetter />
|
||||
</CardContent>
|
||||
</Card>
|
||||
<Box sx={{ gridArea: "d" }}></Box>
|
||||
|
@ -7,14 +7,13 @@ import (
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"tinyskin/handle/handelerror"
|
||||
"tinyskin/model"
|
||||
"tinyskin/service"
|
||||
|
||||
"github.com/go-chi/chi/v5"
|
||||
"github.com/go-playground/validator/v10"
|
||||
"github.com/xmdhs/authlib-skin/handle/handelerror"
|
||||
"github.com/xmdhs/authlib-skin/model"
|
||||
"github.com/xmdhs/authlib-skin/service"
|
||||
|
||||
U "tinyskin/utils"
|
||||
U "github.com/xmdhs/authlib-skin/utils"
|
||||
)
|
||||
|
||||
type AdminHandel struct {
|
||||
|
@ -4,8 +4,8 @@ import (
|
||||
"encoding/json"
|
||||
"net/http"
|
||||
|
||||
"tinyskin/model"
|
||||
"tinyskin/service"
|
||||
"github.com/xmdhs/authlib-skin/model"
|
||||
"github.com/xmdhs/authlib-skin/service"
|
||||
)
|
||||
|
||||
type Handel struct {
|
||||
|
@ -7,11 +7,11 @@ import (
|
||||
"log/slog"
|
||||
"net/http"
|
||||
|
||||
"tinyskin/model"
|
||||
"tinyskin/service"
|
||||
"tinyskin/service/auth"
|
||||
"tinyskin/service/captcha"
|
||||
"tinyskin/service/email"
|
||||
"github.com/xmdhs/authlib-skin/model"
|
||||
"github.com/xmdhs/authlib-skin/service"
|
||||
"github.com/xmdhs/authlib-skin/service/auth"
|
||||
"github.com/xmdhs/authlib-skin/service/captcha"
|
||||
"github.com/xmdhs/authlib-skin/service/email"
|
||||
)
|
||||
|
||||
type HandleError struct {
|
||||
|
@ -6,10 +6,9 @@ import (
|
||||
"io"
|
||||
"net/netip"
|
||||
|
||||
"tinyskin/model"
|
||||
|
||||
"github.com/google/wire"
|
||||
"github.com/samber/lo"
|
||||
"github.com/xmdhs/authlib-skin/model"
|
||||
)
|
||||
|
||||
var HandelSet = wire.NewSet(NewUserHandel, NewAdminHandel, NewHandel)
|
||||
|
@ -13,14 +13,13 @@ import (
|
||||
"strings"
|
||||
"sync"
|
||||
|
||||
"tinyskin/config"
|
||||
"tinyskin/handle/handelerror"
|
||||
"tinyskin/model"
|
||||
"tinyskin/service"
|
||||
"tinyskin/utils"
|
||||
|
||||
"github.com/go-chi/chi/v5"
|
||||
"github.com/go-playground/validator/v10"
|
||||
"github.com/xmdhs/authlib-skin/config"
|
||||
"github.com/xmdhs/authlib-skin/handle/handelerror"
|
||||
"github.com/xmdhs/authlib-skin/model"
|
||||
"github.com/xmdhs/authlib-skin/service"
|
||||
"github.com/xmdhs/authlib-skin/utils"
|
||||
)
|
||||
|
||||
type UserHandel struct {
|
||||
|
@ -5,7 +5,7 @@ import (
|
||||
"encoding/json"
|
||||
"net/http"
|
||||
|
||||
"tinyskin/model/yggdrasil"
|
||||
"github.com/xmdhs/authlib-skin/model/yggdrasil"
|
||||
)
|
||||
|
||||
func handleYgError(ctx context.Context, w http.ResponseWriter, e yggdrasil.Error, httpcode int) {
|
||||
|
@ -4,11 +4,10 @@ import (
|
||||
"encoding/json"
|
||||
"net/http"
|
||||
|
||||
"tinyskin/model"
|
||||
"tinyskin/model/yggdrasil"
|
||||
"tinyskin/utils"
|
||||
|
||||
"github.com/samber/lo"
|
||||
"github.com/xmdhs/authlib-skin/model"
|
||||
"github.com/xmdhs/authlib-skin/model/yggdrasil"
|
||||
"github.com/xmdhs/authlib-skin/utils"
|
||||
)
|
||||
|
||||
func (y *Yggdrasil) SessionJoin() http.HandlerFunc {
|
||||
|
@ -7,12 +7,11 @@ import (
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"tinyskin/model"
|
||||
"tinyskin/model/yggdrasil"
|
||||
|
||||
"github.com/go-chi/chi/v5"
|
||||
"github.com/xmdhs/authlib-skin/model"
|
||||
"github.com/xmdhs/authlib-skin/model/yggdrasil"
|
||||
|
||||
yggdrasilS "tinyskin/service/yggdrasil"
|
||||
yggdrasilS "github.com/xmdhs/authlib-skin/service/yggdrasil"
|
||||
)
|
||||
|
||||
func (y *Yggdrasil) getTokenbyAuthorization(ctx context.Context, w http.ResponseWriter, r *http.Request) string {
|
||||
|
@ -5,12 +5,11 @@ import (
|
||||
"errors"
|
||||
"net/http"
|
||||
|
||||
"tinyskin/model"
|
||||
"tinyskin/model/yggdrasil"
|
||||
yggdrasilS "tinyskin/service/yggdrasil"
|
||||
|
||||
"github.com/go-chi/chi/v5"
|
||||
"github.com/samber/lo"
|
||||
"github.com/xmdhs/authlib-skin/model"
|
||||
"github.com/xmdhs/authlib-skin/model/yggdrasil"
|
||||
yggdrasilS "github.com/xmdhs/authlib-skin/service/yggdrasil"
|
||||
)
|
||||
|
||||
func (y *Yggdrasil) Authenticate() http.HandlerFunc {
|
||||
|
@ -11,14 +11,13 @@ import (
|
||||
"net/http"
|
||||
"net/url"
|
||||
|
||||
"tinyskin/config"
|
||||
"tinyskin/model/yggdrasil"
|
||||
"tinyskin/service/auth"
|
||||
yggdrasilS "tinyskin/service/yggdrasil"
|
||||
"tinyskin/utils"
|
||||
|
||||
"github.com/go-playground/validator/v10"
|
||||
"github.com/samber/lo"
|
||||
"github.com/xmdhs/authlib-skin/config"
|
||||
"github.com/xmdhs/authlib-skin/model/yggdrasil"
|
||||
"github.com/xmdhs/authlib-skin/service/auth"
|
||||
yggdrasilS "github.com/xmdhs/authlib-skin/service/yggdrasil"
|
||||
"github.com/xmdhs/authlib-skin/utils"
|
||||
)
|
||||
|
||||
type PubRsaKey string
|
||||
|
7
main.go
7
main.go
@ -11,12 +11,11 @@ import (
|
||||
|
||||
_ "embed"
|
||||
|
||||
"tinyskin/config"
|
||||
"tinyskin/server"
|
||||
"tinyskin/utils/sign"
|
||||
|
||||
"github.com/pelletier/go-toml/v2"
|
||||
"github.com/samber/lo"
|
||||
"github.com/xmdhs/authlib-skin/config"
|
||||
"github.com/xmdhs/authlib-skin/server"
|
||||
"github.com/xmdhs/authlib-skin/utils/sign"
|
||||
)
|
||||
|
||||
var configPath string
|
||||
|
@ -10,17 +10,16 @@ import (
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"tinyskin/config"
|
||||
"tinyskin/db/cache"
|
||||
"tinyskin/db/ent"
|
||||
"tinyskin/db/ent/migrate"
|
||||
"tinyskin/handle/yggdrasil"
|
||||
"tinyskin/utils/sign"
|
||||
|
||||
entsql "entgo.io/ent/dialect/sql"
|
||||
"github.com/go-playground/validator/v10"
|
||||
_ "github.com/go-sql-driver/mysql"
|
||||
"github.com/google/wire"
|
||||
"github.com/xmdhs/authlib-skin/config"
|
||||
"github.com/xmdhs/authlib-skin/db/cache"
|
||||
"github.com/xmdhs/authlib-skin/db/ent"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/migrate"
|
||||
"github.com/xmdhs/authlib-skin/handle/yggdrasil"
|
||||
"github.com/xmdhs/authlib-skin/utils/sign"
|
||||
)
|
||||
|
||||
func ProvideSlog(c config.Config) slog.Handler {
|
||||
|
@ -5,21 +5,20 @@ import (
|
||||
"log/slog"
|
||||
"net/http"
|
||||
|
||||
"tinyskin/config"
|
||||
"tinyskin/handle"
|
||||
"tinyskin/handle/yggdrasil"
|
||||
"tinyskin/server/static"
|
||||
|
||||
"github.com/go-chi/chi/v5"
|
||||
"github.com/go-chi/chi/v5/middleware"
|
||||
"github.com/go-chi/cors"
|
||||
"github.com/xmdhs/authlib-skin/config"
|
||||
"github.com/xmdhs/authlib-skin/handle"
|
||||
"github.com/xmdhs/authlib-skin/handle/yggdrasil"
|
||||
"github.com/xmdhs/authlib-skin/server/static"
|
||||
)
|
||||
|
||||
func NewRoute(handelY *yggdrasil.Yggdrasil, handel *handle.Handel, c config.Config, sl slog.Handler,
|
||||
userHandel *handle.UserHandel, adminHandel *handle.AdminHandel) http.Handler {
|
||||
r := chi.NewRouter()
|
||||
r.Use(middleware.RequestID)
|
||||
if c.RealIP {
|
||||
if c.RaelIP {
|
||||
r.Use(middleware.RealIP)
|
||||
}
|
||||
if sl.Enabled(context.Background(), slog.LevelDebug) {
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"tinyskin/config"
|
||||
"github.com/xmdhs/authlib-skin/config"
|
||||
)
|
||||
|
||||
func NewServer(c config.Config, route http.Handler) (*http.Server, func()) {
|
||||
|
@ -6,18 +6,17 @@ import (
|
||||
"context"
|
||||
"net/http"
|
||||
|
||||
"tinyskin/config"
|
||||
"tinyskin/handle"
|
||||
"tinyskin/handle/handelerror"
|
||||
"tinyskin/handle/yggdrasil"
|
||||
"tinyskin/server/route"
|
||||
"tinyskin/service"
|
||||
"tinyskin/service/auth"
|
||||
"tinyskin/service/captcha"
|
||||
"tinyskin/service/email"
|
||||
yggdrasilS "tinyskin/service/yggdrasil"
|
||||
|
||||
"github.com/google/wire"
|
||||
"github.com/xmdhs/authlib-skin/config"
|
||||
"github.com/xmdhs/authlib-skin/handle"
|
||||
"github.com/xmdhs/authlib-skin/handle/handelerror"
|
||||
"github.com/xmdhs/authlib-skin/handle/yggdrasil"
|
||||
"github.com/xmdhs/authlib-skin/server/route"
|
||||
"github.com/xmdhs/authlib-skin/service"
|
||||
"github.com/xmdhs/authlib-skin/service/auth"
|
||||
"github.com/xmdhs/authlib-skin/service/captcha"
|
||||
"github.com/xmdhs/authlib-skin/service/email"
|
||||
yggdrasilS "github.com/xmdhs/authlib-skin/service/yggdrasil"
|
||||
)
|
||||
|
||||
var serviceSet = wire.NewSet(service.Service, yggdrasilS.NewYggdrasil, email.NewEmail, auth.NewAuthService,
|
||||
|
@ -9,16 +9,16 @@ package server
|
||||
import (
|
||||
"context"
|
||||
"github.com/google/wire"
|
||||
"tinyskin/config"
|
||||
"tinyskin/handle"
|
||||
"tinyskin/handle/handelerror"
|
||||
yggdrasil2 "tinyskin/handle/yggdrasil"
|
||||
"tinyskin/server/route"
|
||||
"tinyskin/service"
|
||||
"tinyskin/service/auth"
|
||||
"tinyskin/service/captcha"
|
||||
"tinyskin/service/email"
|
||||
"tinyskin/service/yggdrasil"
|
||||
"github.com/xmdhs/authlib-skin/config"
|
||||
"github.com/xmdhs/authlib-skin/handle"
|
||||
"github.com/xmdhs/authlib-skin/handle/handelerror"
|
||||
yggdrasil2 "github.com/xmdhs/authlib-skin/handle/yggdrasil"
|
||||
"github.com/xmdhs/authlib-skin/server/route"
|
||||
"github.com/xmdhs/authlib-skin/service"
|
||||
"github.com/xmdhs/authlib-skin/service/auth"
|
||||
"github.com/xmdhs/authlib-skin/service/captcha"
|
||||
"github.com/xmdhs/authlib-skin/service/email"
|
||||
"github.com/xmdhs/authlib-skin/service/yggdrasil"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
|
@ -6,18 +6,18 @@ import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
|
||||
"tinyskin/config"
|
||||
"tinyskin/db/cache"
|
||||
"tinyskin/db/ent"
|
||||
"tinyskin/db/ent/predicate"
|
||||
"tinyskin/db/ent/user"
|
||||
"tinyskin/db/ent/userprofile"
|
||||
"tinyskin/db/ent/usertoken"
|
||||
"tinyskin/model"
|
||||
"tinyskin/model/yggdrasil"
|
||||
"tinyskin/service/auth"
|
||||
utilsService "tinyskin/service/utils"
|
||||
"tinyskin/utils"
|
||||
"github.com/xmdhs/authlib-skin/config"
|
||||
"github.com/xmdhs/authlib-skin/db/cache"
|
||||
"github.com/xmdhs/authlib-skin/db/ent"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/predicate"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/userprofile"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertoken"
|
||||
"github.com/xmdhs/authlib-skin/model"
|
||||
"github.com/xmdhs/authlib-skin/model/yggdrasil"
|
||||
"github.com/xmdhs/authlib-skin/service/auth"
|
||||
utilsService "github.com/xmdhs/authlib-skin/service/utils"
|
||||
"github.com/xmdhs/authlib-skin/utils"
|
||||
)
|
||||
|
||||
type AdminService struct {
|
||||
|
@ -4,10 +4,9 @@ import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
"tinyskin/model"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"github.com/xmdhs/authlib-skin/model"
|
||||
)
|
||||
|
||||
func TestAdminSerice_Auth(t *testing.T) {
|
||||
|
@ -8,15 +8,14 @@ import (
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"tinyskin/db/cache"
|
||||
"tinyskin/db/ent"
|
||||
"tinyskin/db/ent/user"
|
||||
"tinyskin/db/ent/usertoken"
|
||||
"tinyskin/model"
|
||||
"tinyskin/model/yggdrasil"
|
||||
"tinyskin/utils"
|
||||
|
||||
"github.com/golang-jwt/jwt/v5"
|
||||
"github.com/xmdhs/authlib-skin/db/cache"
|
||||
"github.com/xmdhs/authlib-skin/db/ent"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertoken"
|
||||
"github.com/xmdhs/authlib-skin/model"
|
||||
"github.com/xmdhs/authlib-skin/model/yggdrasil"
|
||||
"github.com/xmdhs/authlib-skin/utils"
|
||||
)
|
||||
|
||||
type AuthService struct {
|
||||
|
@ -5,9 +5,8 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"tinyskin/model"
|
||||
|
||||
"github.com/golang-jwt/jwt/v5"
|
||||
"github.com/xmdhs/authlib-skin/model"
|
||||
)
|
||||
|
||||
func IsAdmin(state int) bool {
|
||||
|
@ -9,7 +9,7 @@ import (
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"tinyskin/config"
|
||||
"github.com/xmdhs/authlib-skin/config"
|
||||
)
|
||||
|
||||
type CaptchaService struct {
|
||||
|
@ -11,12 +11,11 @@ import (
|
||||
"net/url"
|
||||
"time"
|
||||
|
||||
"tinyskin/config"
|
||||
"tinyskin/db/cache"
|
||||
|
||||
"github.com/golang-jwt/jwt/v5"
|
||||
"github.com/samber/lo"
|
||||
"github.com/wneessen/go-mail"
|
||||
"github.com/xmdhs/authlib-skin/config"
|
||||
"github.com/xmdhs/authlib-skin/db/cache"
|
||||
)
|
||||
|
||||
type EmailConfig struct {
|
||||
|
@ -9,15 +9,15 @@ import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"tinyskin/config"
|
||||
"tinyskin/db/cache"
|
||||
"tinyskin/db/ent"
|
||||
"tinyskin/db/ent/texture"
|
||||
"tinyskin/db/ent/user"
|
||||
"tinyskin/db/ent/userprofile"
|
||||
"tinyskin/model"
|
||||
utilsService "tinyskin/service/utils"
|
||||
"tinyskin/utils"
|
||||
"github.com/xmdhs/authlib-skin/config"
|
||||
"github.com/xmdhs/authlib-skin/db/cache"
|
||||
"github.com/xmdhs/authlib-skin/db/ent"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/texture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/userprofile"
|
||||
"github.com/xmdhs/authlib-skin/model"
|
||||
utilsService "github.com/xmdhs/authlib-skin/service/utils"
|
||||
"github.com/xmdhs/authlib-skin/utils"
|
||||
)
|
||||
|
||||
type TextureService struct {
|
||||
|
@ -8,18 +8,17 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"tinyskin/config"
|
||||
"tinyskin/db/cache"
|
||||
"tinyskin/db/ent"
|
||||
"tinyskin/db/ent/user"
|
||||
"tinyskin/db/ent/userprofile"
|
||||
"tinyskin/model"
|
||||
"tinyskin/service/auth"
|
||||
"tinyskin/service/captcha"
|
||||
"tinyskin/service/email"
|
||||
"tinyskin/utils"
|
||||
|
||||
"github.com/google/uuid"
|
||||
"github.com/xmdhs/authlib-skin/config"
|
||||
"github.com/xmdhs/authlib-skin/db/cache"
|
||||
"github.com/xmdhs/authlib-skin/db/ent"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/userprofile"
|
||||
"github.com/xmdhs/authlib-skin/model"
|
||||
"github.com/xmdhs/authlib-skin/service/auth"
|
||||
"github.com/xmdhs/authlib-skin/service/captcha"
|
||||
"github.com/xmdhs/authlib-skin/service/email"
|
||||
"github.com/xmdhs/authlib-skin/utils"
|
||||
)
|
||||
|
||||
var (
|
||||
|
@ -8,17 +8,16 @@ import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"tinyskin/config"
|
||||
"tinyskin/db/cache"
|
||||
"tinyskin/db/ent"
|
||||
"tinyskin/db/ent/migrate"
|
||||
"tinyskin/model"
|
||||
"tinyskin/service/auth"
|
||||
"tinyskin/service/captcha"
|
||||
"tinyskin/service/email"
|
||||
|
||||
_ "github.com/go-sql-driver/mysql"
|
||||
"github.com/samber/lo"
|
||||
"github.com/xmdhs/authlib-skin/config"
|
||||
"github.com/xmdhs/authlib-skin/db/cache"
|
||||
"github.com/xmdhs/authlib-skin/db/ent"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/migrate"
|
||||
"github.com/xmdhs/authlib-skin/model"
|
||||
"github.com/xmdhs/authlib-skin/service/auth"
|
||||
"github.com/xmdhs/authlib-skin/service/captcha"
|
||||
"github.com/xmdhs/authlib-skin/service/email"
|
||||
)
|
||||
|
||||
var (
|
||||
|
@ -7,11 +7,10 @@ import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"tinyskin/db/ent"
|
||||
"tinyskin/db/ent/texture"
|
||||
"tinyskin/db/ent/usertexture"
|
||||
|
||||
"github.com/samber/lo"
|
||||
"github.com/xmdhs/authlib-skin/db/ent"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/texture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertexture"
|
||||
)
|
||||
|
||||
func DelTexture(ctx context.Context, userProfileID int, textureType string, client *ent.Client, texturePath string) error {
|
||||
|
@ -4,10 +4,10 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"tinyskin/config"
|
||||
"tinyskin/db/ent"
|
||||
"tinyskin/model"
|
||||
"tinyskin/utils"
|
||||
"github.com/xmdhs/authlib-skin/config"
|
||||
"github.com/xmdhs/authlib-skin/db/ent"
|
||||
"github.com/xmdhs/authlib-skin/model"
|
||||
"github.com/xmdhs/authlib-skin/utils"
|
||||
)
|
||||
|
||||
type WebService struct {
|
||||
|
@ -5,11 +5,11 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"tinyskin/db/cache"
|
||||
"tinyskin/db/ent/userprofile"
|
||||
"tinyskin/model"
|
||||
"tinyskin/model/yggdrasil"
|
||||
"tinyskin/service/auth"
|
||||
"github.com/xmdhs/authlib-skin/db/cache"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/userprofile"
|
||||
"github.com/xmdhs/authlib-skin/model"
|
||||
"github.com/xmdhs/authlib-skin/model/yggdrasil"
|
||||
"github.com/xmdhs/authlib-skin/service/auth"
|
||||
)
|
||||
|
||||
type sessionWithIP struct {
|
||||
|
@ -5,10 +5,10 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
|
||||
"tinyskin/db/ent/user"
|
||||
"tinyskin/db/ent/userprofile"
|
||||
"tinyskin/model"
|
||||
utilsService "tinyskin/service/utils"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/userprofile"
|
||||
"github.com/xmdhs/authlib-skin/model"
|
||||
utilsService "github.com/xmdhs/authlib-skin/service/utils"
|
||||
)
|
||||
|
||||
var (
|
||||
|
@ -15,19 +15,18 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"tinyskin/db/cache"
|
||||
"tinyskin/db/ent"
|
||||
"tinyskin/db/ent/texture"
|
||||
"tinyskin/db/ent/user"
|
||||
"tinyskin/db/ent/userprofile"
|
||||
"tinyskin/db/ent/usertoken"
|
||||
"tinyskin/model"
|
||||
"tinyskin/model/yggdrasil"
|
||||
"tinyskin/utils"
|
||||
"tinyskin/utils/sign"
|
||||
|
||||
"github.com/google/uuid"
|
||||
"github.com/samber/lo"
|
||||
"github.com/xmdhs/authlib-skin/db/cache"
|
||||
"github.com/xmdhs/authlib-skin/db/ent"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/texture"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/user"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/userprofile"
|
||||
"github.com/xmdhs/authlib-skin/db/ent/usertoken"
|
||||
"github.com/xmdhs/authlib-skin/model"
|
||||
"github.com/xmdhs/authlib-skin/model/yggdrasil"
|
||||
"github.com/xmdhs/authlib-skin/utils"
|
||||
"github.com/xmdhs/authlib-skin/utils/sign"
|
||||
)
|
||||
|
||||
var (
|
||||
|
@ -11,14 +11,13 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"tinyskin/config"
|
||||
"tinyskin/db/cache"
|
||||
"tinyskin/db/ent"
|
||||
"tinyskin/model"
|
||||
"tinyskin/model/yggdrasil"
|
||||
"tinyskin/service/auth"
|
||||
|
||||
"github.com/samber/lo"
|
||||
"github.com/xmdhs/authlib-skin/config"
|
||||
"github.com/xmdhs/authlib-skin/db/cache"
|
||||
"github.com/xmdhs/authlib-skin/db/ent"
|
||||
"github.com/xmdhs/authlib-skin/model"
|
||||
"github.com/xmdhs/authlib-skin/model/yggdrasil"
|
||||
"github.com/xmdhs/authlib-skin/service/auth"
|
||||
)
|
||||
|
||||
type Yggdrasil struct {
|
||||
|
@ -5,10 +5,9 @@ import (
|
||||
"net/http"
|
||||
"testing"
|
||||
|
||||
"tinyskin/model"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"github.com/xmdhs/authlib-skin/model"
|
||||
)
|
||||
|
||||
func TestAuthMiddleware(t *testing.T) {
|
||||
|
@ -5,11 +5,10 @@ import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"tinyskin/config"
|
||||
"tinyskin/server"
|
||||
|
||||
"github.com/pelletier/go-toml/v2"
|
||||
"github.com/samber/lo"
|
||||
"github.com/xmdhs/authlib-skin/config"
|
||||
"github.com/xmdhs/authlib-skin/server"
|
||||
)
|
||||
|
||||
func TestMain(m *testing.M) {
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"tinyskin/db/ent"
|
||||
"github.com/xmdhs/authlib-skin/db/ent"
|
||||
)
|
||||
|
||||
func WithTx(ctx context.Context, client *ent.Client, fn func(tx *ent.Tx) error) error {
|
||||
|
Loading…
x
Reference in New Issue
Block a user