implement user_permission
This commit is contained in:
@@ -19,6 +19,20 @@ func (q *Queries) AddSvg(ctx context.Context, svg string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
const addUserPermission = `-- name: AddUserPermission :exec
|
||||
INSERT INTO user_permission (user_id, permission) VALUES (?, ?)
|
||||
`
|
||||
|
||||
type AddUserPermissionParams struct {
|
||||
UserID string
|
||||
Permission string
|
||||
}
|
||||
|
||||
func (q *Queries) AddUserPermission(ctx context.Context, arg AddUserPermissionParams) error {
|
||||
_, err := q.db.ExecContext(ctx, addUserPermission, arg.UserID, arg.Permission)
|
||||
return err
|
||||
}
|
||||
|
||||
const createCustomer = `-- name: CreateCustomer :exec
|
||||
INSERT INTO customer (
|
||||
id
|
||||
@@ -268,6 +282,33 @@ func (q *Queries) GetUser(ctx context.Context, arg GetUserParams) (GetUserRow, e
|
||||
return i, err
|
||||
}
|
||||
|
||||
const getUserPermissions = `-- name: GetUserPermissions :many
|
||||
SELECT permission FROM user_permission WHERE user_id = ?
|
||||
`
|
||||
|
||||
func (q *Queries) GetUserPermissions(ctx context.Context, userID string) ([]string, error) {
|
||||
rows, err := q.db.QueryContext(ctx, getUserPermissions, userID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []string
|
||||
for rows.Next() {
|
||||
var permission string
|
||||
if err := rows.Scan(&permission); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, permission)
|
||||
}
|
||||
if err := rows.Close(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const getUserRenew = `-- name: GetUserRenew :many
|
||||
SELECT
|
||||
id
|
||||
|
||||
@@ -137,3 +137,9 @@ WHERE id = ?;
|
||||
|
||||
-- name: GetSvgCount :one
|
||||
SELECT COUNT(*) as count FROM svg_icon;
|
||||
|
||||
-- name: GetUserPermissions :many
|
||||
SELECT permission FROM user_permission WHERE user_id = ?;
|
||||
|
||||
-- name: AddUserPermission :exec
|
||||
INSERT INTO user_permission (user_id, permission) VALUES (?, ?);
|
||||
|
||||
@@ -55,3 +55,12 @@ CREATE TABLE IF NOT EXISTS svg_icon (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT
|
||||
,svg TEXT NOT NULL
|
||||
);
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS user_permission (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT
|
||||
,user_id TEXT NOT NULL
|
||||
,permission TEXT NOT NULL
|
||||
,FOREIGN KEY (user_id) REFERENCES user(id)
|
||||
,UNIQUE(user_id, permission)
|
||||
);
|
||||
Reference in New Issue
Block a user