1
0
Files
coconut-leaf/backend/database/mysql_database.go

144 lines
5.3 KiB
Go
Raw Normal View History

2026-07-16 20:13:49 +08:00
package database
import (
"context"
"errors"
)
var errNotImplemented = errors.New("mysql database: not implemented")
var notImplResp = ResponseBody{Success: false, Error: errNotImplemented.Error()}
// stubDatabase provides a not-implemented default for every Database method.
// MysqlDatabase embeds it so the interface is satisfied without hand-writing
// each method; individual methods can be overridden on MysqlDatabase later.
type stubDatabase struct{}
func (stubDatabase) Init(username, password string) error { return errNotImplemented }
func (stubDatabase) Close() error { return errNotImplemented }
func (stubDatabase) CommonSalt(ctx context.Context, username string) ResponseBody {
return notImplResp
}
func (stubDatabase) CommonLogin(ctx context.Context, username, password, clientUa, clientIp string) ResponseBody {
return notImplResp
}
func (stubDatabase) CommonWebLogin(ctx context.Context, username, password, clientUa, clientIp string) ResponseBody {
return notImplResp
}
func (stubDatabase) CommonLogout(ctx context.Context, token string) ResponseBody {
return notImplResp
}
func (stubDatabase) CommonTokenValid(ctx context.Context, token string) ResponseBody {
return notImplResp
}
func (stubDatabase) CalendarGetFull(ctx context.Context, token string, startDateTime, endDateTime int64) ResponseBody {
return notImplResp
}
func (stubDatabase) CalendarGetList(ctx context.Context, token string, startDateTime, endDateTime int64) ResponseBody {
return notImplResp
}
func (stubDatabase) CalendarGetDetail(ctx context.Context, token, uuid string) ResponseBody {
return notImplResp
}
func (stubDatabase) CalendarUpdate(ctx context.Context, token, uuid, lastChange string, opts CalendarUpdateOptions) ResponseBody {
return notImplResp
}
func (stubDatabase) CalendarAdd(ctx context.Context, token, belongTo, title, description string, eventDateTimeStart, eventDateTimeEnd int64, loopRules string, timezoneOffset int64) ResponseBody {
return notImplResp
}
func (stubDatabase) CalendarDelete(ctx context.Context, token, uuid, lastChange string) ResponseBody {
return notImplResp
}
func (stubDatabase) CollectionGetFullOwn(ctx context.Context, token string) ResponseBody {
return notImplResp
}
func (stubDatabase) CollectionGetListOwn(ctx context.Context, token string) ResponseBody {
return notImplResp
}
func (stubDatabase) CollectionGetDetailOwn(ctx context.Context, token, uuid string) ResponseBody {
return notImplResp
}
func (stubDatabase) CollectionAddOwn(ctx context.Context, token, name string) ResponseBody {
return notImplResp
}
func (stubDatabase) CollectionUpdateOwn(ctx context.Context, token, uuid, name, lastChange string) ResponseBody {
return notImplResp
}
func (stubDatabase) CollectionDeleteOwn(ctx context.Context, token, uuid, lastChange string) ResponseBody {
return notImplResp
}
func (stubDatabase) CollectionGetSharing(ctx context.Context, token, uuid string) ResponseBody {
return notImplResp
}
func (stubDatabase) CollectionDeleteSharing(ctx context.Context, token, uuid, target, lastChange string) ResponseBody {
return notImplResp
}
func (stubDatabase) CollectionAddSharing(ctx context.Context, token, uuid, target, lastChange string) ResponseBody {
return notImplResp
}
func (stubDatabase) CollectionGetShared(ctx context.Context, token string) ResponseBody {
return notImplResp
}
func (stubDatabase) TodoGetFull(ctx context.Context, token string) ResponseBody {
return notImplResp
}
func (stubDatabase) TodoGetList(ctx context.Context, token string) ResponseBody {
return notImplResp
}
func (stubDatabase) TodoGetDetail(ctx context.Context, token, uuid string) ResponseBody {
return notImplResp
}
func (stubDatabase) TodoAdd(ctx context.Context, token string) ResponseBody {
return notImplResp
}
func (stubDatabase) TodoUpdate(ctx context.Context, token, uuid, data, lastChange string) ResponseBody {
return notImplResp
}
func (stubDatabase) TodoDelete(ctx context.Context, token, uuid, lastChange string) ResponseBody {
return notImplResp
}
func (stubDatabase) AdminGet(ctx context.Context, token string) ResponseBody {
return notImplResp
}
func (stubDatabase) AdminAdd(ctx context.Context, token, username string) ResponseBody {
return notImplResp
}
func (stubDatabase) AdminUpdate(ctx context.Context, token, username string, opts AdminUpdateOptions) ResponseBody {
return notImplResp
}
func (stubDatabase) AdminDelete(ctx context.Context, token, username string) ResponseBody {
return notImplResp
}
func (stubDatabase) ProfileIsAdmin(ctx context.Context, token string) ResponseBody {
return notImplResp
}
func (stubDatabase) ProfileChangePassword(ctx context.Context, token, password string) ResponseBody {
return notImplResp
}
func (stubDatabase) ProfileGetToken(ctx context.Context, token string) ResponseBody {
return notImplResp
}
func (stubDatabase) ProfileDeleteToken(ctx context.Context, token, deleteToken string) ResponseBody {
return notImplResp
}
// MysqlDatabase implements Database as a fully not-implemented stub by
// embedding stubDatabase. Real MySQL support can be filled in later by
// overriding individual methods.
type MysqlDatabase struct {
stubDatabase
deps Deps
}
// NewMysqlDatabase returns a not-implemented MysqlDatabase. The deps are stored
// for symmetry with NewSqlite3Database but not yet used.
func NewMysqlDatabase(deps Deps) (*MysqlDatabase, error) {
return &MysqlDatabase{deps: deps}, nil
}