mirror of
https://github.com/aykhans/slash-e.git
synced 2025-04-17 20:55:28 +00:00
chore: add seeding data
This commit is contained in:
parent
5f48be3b7a
commit
e82c821396
14
.gitignore
vendored
14
.gitignore
vendored
@ -1 +1,13 @@
|
|||||||
.air
|
# Air (hot reload) generated
|
||||||
|
.air
|
||||||
|
|
||||||
|
# temp folder
|
||||||
|
tmp
|
||||||
|
|
||||||
|
# Frontend asset
|
||||||
|
web/dist
|
||||||
|
|
||||||
|
# build folder
|
||||||
|
build
|
||||||
|
|
||||||
|
.DS_Store
|
@ -31,6 +31,15 @@ func (s *Server) registerWorkspaceRoutes(g *echo.Group) {
|
|||||||
return echo.NewHTTPError(http.StatusInternalServerError, "Failed to create workspace").SetInternal(err)
|
return echo.NewHTTPError(http.StatusInternalServerError, "Failed to create workspace").SetInternal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_, err = s.Store.UpsertWorkspaceUser(ctx, &api.WorkspaceUserUpsert{
|
||||||
|
WorkspaceID: workspace.ID,
|
||||||
|
UserID: userID,
|
||||||
|
Role: api.RoleAdmin,
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return echo.NewHTTPError(http.StatusInternalServerError, "Failed to create workspace user").SetInternal(err)
|
||||||
|
}
|
||||||
|
|
||||||
c.Response().Header().Set(echo.HeaderContentType, echo.MIMEApplicationJSONCharsetUTF8)
|
c.Response().Header().Set(echo.HeaderContentType, echo.MIMEApplicationJSONCharsetUTF8)
|
||||||
if err := json.NewEncoder(c.Response().Writer).Encode(composeResponse(workspace)); err != nil {
|
if err := json.NewEncoder(c.Response().Writer).Encode(composeResponse(workspace)); err != nil {
|
||||||
return echo.NewHTTPError(http.StatusInternalServerError, "Failed to encode workspace response").SetInternal(err)
|
return echo.NewHTTPError(http.StatusInternalServerError, "Failed to encode workspace response").SetInternal(err)
|
||||||
|
@ -108,7 +108,7 @@ CREATE TABLE shortcut (
|
|||||||
workspace_id INTEGER NOT NULL,
|
workspace_id INTEGER NOT NULL,
|
||||||
name TEXT NOT NULL,
|
name TEXT NOT NULL,
|
||||||
link TEXT NOT NULL DEFAULT '',
|
link TEXT NOT NULL DEFAULT '',
|
||||||
visibility TEXT NOT NULL CHECK (row_status IN ('PRIVATE', 'WORKSPACE')) DEFAULT 'PRIVATE',
|
visibility TEXT NOT NULL CHECK (visibility IN ('PRIVATE', 'WORKSPACE')) DEFAULT 'PRIVATE',
|
||||||
FOREIGN KEY(creator_id) REFERENCES user(id) ON DELETE CASCADE,
|
FOREIGN KEY(creator_id) REFERENCES user(id) ON DELETE CASCADE,
|
||||||
FOREIGN KEY(workspace_id) REFERENCES workspace(id) ON DELETE CASCADE
|
FOREIGN KEY(workspace_id) REFERENCES workspace(id) ON DELETE CASCADE
|
||||||
);
|
);
|
||||||
|
@ -11,12 +11,14 @@ DROP TABLE IF EXISTS `workspace`;
|
|||||||
-- workspace
|
-- workspace
|
||||||
CREATE TABLE workspace (
|
CREATE TABLE workspace (
|
||||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||||
|
creator_id INTEGER NOT NULL,
|
||||||
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
created_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
||||||
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
updated_ts BIGINT NOT NULL DEFAULT (strftime('%s', 'now')),
|
||||||
row_status TEXT NOT NULL CHECK (row_status IN ('NORMAL', 'ARCHIVED')) DEFAULT 'NORMAL',
|
row_status TEXT NOT NULL CHECK (row_status IN ('NORMAL', 'ARCHIVED')) DEFAULT 'NORMAL',
|
||||||
name TEXT NOT NULL UNIQUE,
|
name TEXT NOT NULL UNIQUE,
|
||||||
description TEXT NOT NULL DEFAULT ''
|
description TEXT NOT NULL DEFAULT '',
|
||||||
)
|
FOREIGN KEY(creator_id) REFERENCES user(id) ON DELETE CASCADE
|
||||||
|
);
|
||||||
|
|
||||||
INSERT INTO
|
INSERT INTO
|
||||||
sqlite_sequence (name, seq)
|
sqlite_sequence (name, seq)
|
||||||
@ -106,7 +108,7 @@ CREATE TABLE shortcut (
|
|||||||
workspace_id INTEGER NOT NULL,
|
workspace_id INTEGER NOT NULL,
|
||||||
name TEXT NOT NULL,
|
name TEXT NOT NULL,
|
||||||
link TEXT NOT NULL DEFAULT '',
|
link TEXT NOT NULL DEFAULT '',
|
||||||
visibility TEXT NOT NULL CHECK (row_status IN ('PRIVATE', 'WORKSPACE')) DEFAULT 'PRIVATE',
|
visibility TEXT NOT NULL CHECK (visibility IN ('PRIVATE', 'WORKSPACE')) DEFAULT 'PRIVATE',
|
||||||
FOREIGN KEY(creator_id) REFERENCES user(id) ON DELETE CASCADE,
|
FOREIGN KEY(creator_id) REFERENCES user(id) ON DELETE CASCADE,
|
||||||
FOREIGN KEY(workspace_id) REFERENCES workspace(id) ON DELETE CASCADE
|
FOREIGN KEY(workspace_id) REFERENCES workspace(id) ON DELETE CASCADE
|
||||||
);
|
);
|
||||||
|
49
store/db/seed/10001__user.sql
Normal file
49
store/db/seed/10001__user.sql
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
INSERT INTO
|
||||||
|
user (
|
||||||
|
`id`,
|
||||||
|
`email`,
|
||||||
|
`name`,
|
||||||
|
`password_hash`
|
||||||
|
)
|
||||||
|
VALUES
|
||||||
|
(
|
||||||
|
101,
|
||||||
|
'demo@iamcorgi.com',
|
||||||
|
'Demo Host',
|
||||||
|
-- raw password: secret
|
||||||
|
'$2a$14$ajq8Q7fbtFRQvXpdCq7Jcuy.Rx1h/L4J60Otx.gyNLbAYctGMJ9tK'
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT INTO
|
||||||
|
user (
|
||||||
|
`id`,
|
||||||
|
`email`,
|
||||||
|
`name`,
|
||||||
|
`password_hash`
|
||||||
|
)
|
||||||
|
VALUES
|
||||||
|
(
|
||||||
|
102,
|
||||||
|
'jack@iamcorgi.com',
|
||||||
|
'Jack',
|
||||||
|
-- raw password: secret
|
||||||
|
'$2a$14$ajq8Q7fbtFRQvXpdCq7Jcuy.Rx1h/L4J60Otx.gyNLbAYctGMJ9tK'
|
||||||
|
);
|
||||||
|
|
||||||
|
INSERT INTO
|
||||||
|
user (
|
||||||
|
`id`,
|
||||||
|
`row_status`,
|
||||||
|
`email`,
|
||||||
|
`name`,
|
||||||
|
`password_hash`
|
||||||
|
)
|
||||||
|
VALUES
|
||||||
|
(
|
||||||
|
103,
|
||||||
|
'ARCHIVED',
|
||||||
|
'bob@iamcorgi.com',
|
||||||
|
'Bob',
|
||||||
|
-- raw password: secret
|
||||||
|
'$2a$14$ajq8Q7fbtFRQvXpdCq7Jcuy.Rx1h/L4J60Otx.gyNLbAYctGMJ9tK'
|
||||||
|
);
|
14
store/db/seed/10002__workspace.sql
Normal file
14
store/db/seed/10002__workspace.sql
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
INSERT INTO
|
||||||
|
workspace (
|
||||||
|
`id`,
|
||||||
|
`creator_id`,
|
||||||
|
`name`,
|
||||||
|
`description`
|
||||||
|
)
|
||||||
|
VALUES
|
||||||
|
(
|
||||||
|
11,
|
||||||
|
101,
|
||||||
|
'Demo',
|
||||||
|
''
|
||||||
|
);
|
12
store/db/seed/10003__workspace_user.sql
Normal file
12
store/db/seed/10003__workspace_user.sql
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
INSERT INTO
|
||||||
|
workspace_user (
|
||||||
|
`workspace_id`,
|
||||||
|
`user_id`,
|
||||||
|
`role`
|
||||||
|
)
|
||||||
|
VALUES
|
||||||
|
(
|
||||||
|
11,
|
||||||
|
101,
|
||||||
|
'ADMIN'
|
||||||
|
);
|
16
store/db/seed/10004__shortcut.sql
Normal file
16
store/db/seed/10004__shortcut.sql
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
INSERT INTO
|
||||||
|
shortcut (
|
||||||
|
`creator_id`,
|
||||||
|
`workspace_id`,
|
||||||
|
`name`,
|
||||||
|
`link`,
|
||||||
|
`visibility`
|
||||||
|
)
|
||||||
|
VALUES
|
||||||
|
(
|
||||||
|
101,
|
||||||
|
11,
|
||||||
|
'baidu',
|
||||||
|
'https://baidu.com',
|
||||||
|
'WORKSPACE'
|
||||||
|
);
|
Loading…
x
Reference in New Issue
Block a user