feat: seed data only in dev mode (#61)

pull/65/head
STEVEN 3 years ago committed by GitHub
parent 304df8674a
commit d6680a0bcc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,17 +1,19 @@
INSERT INTO
user (
`id`,
`name`,
`email`,
`role`,
`name`,
`open_id`,
`password_hash`
)
VALUES
(
101,
'guest',
'guest@example.com',
'guest_open_id',
'steven@memos.com',
'OWNER',
'Steven',
'steven_open_id',
-- raw password: secret
'$2a$14$ajq8Q7fbtFRQvXpdCq7Jcuy.Rx1h/L4J60Otx.gyNLbAYctGMJ9tK'
);

@ -54,8 +54,11 @@ func (db *DB) Open() (err error) {
if err := db.migrate(); err != nil {
return fmt.Errorf("failed to migrate: %w", err)
}
if err := db.seed(); err != nil {
return fmt.Errorf("failed to seed: %w", err)
// If mode is dev, then seed the database.
if db.mode == "dev" {
if err := db.seed(); err != nil {
return fmt.Errorf("failed to seed: %w", err)
}
}
} else {
// If db file exists and mode is dev, we should migrate and seed the database.

@ -68,14 +68,6 @@
@apply cursor-wait opacity-80;
}
}
> .btn-text {
@apply text-sm;
}
> .split-text {
@apply text-gray-400 mx-2;
}
}
> .tip-text {

@ -25,6 +25,10 @@ const Signin: React.FC<Props> = () => {
useEffect(() => {
api.getSystemStatus().then((status) => {
setSiteOwner(status.owner);
if (status.profile.mode === "dev") {
setEmail("steven@memos.com");
setPassword("secret");
}
pageLoadingState.setFinish();
});
}, []);
@ -105,28 +109,6 @@ const Signin: React.FC<Props> = () => {
actionBtnLoadingState.setFinish();
};
const handleAutoSigninAsGuestBtnClick = async () => {
if (actionBtnLoadingState.isLoading) {
return;
}
try {
actionBtnLoadingState.setLoading();
await api.login("guest@example.com", "secret");
const user = await userService.doSignIn();
if (user) {
locationService.replaceHistory("/");
} else {
toastHelper.error("😟 Login failed");
}
} catch (error: any) {
console.error(error);
toastHelper.error("😟 " + error.message);
}
actionBtnLoadingState.setFinish();
};
return (
<div className={`page-wrapper signin ${pageLoadingState.isLoading ? "hidden" : ""}`}>
<div className="page-container">
@ -149,10 +131,6 @@ const Signin: React.FC<Props> = () => {
</div>
</div>
<div className="action-btns-container">
<button className={`btn ${actionBtnLoadingState.isLoading ? "requesting" : ""}`} onClick={handleAutoSigninAsGuestBtnClick}>
Login as Guest
</button>
<span className="split-text">/</span>
{siteOwner ? (
<button
className={`btn signin-btn ${actionBtnLoadingState.isLoading ? "requesting" : ""}`}

Loading…
Cancel
Save