implement user_permission
This commit is contained in:
@@ -19,6 +19,20 @@ func (q *Queries) AddSvg(ctx context.Context, svg string) error {
|
|||||||
return err
|
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
|
const createCustomer = `-- name: CreateCustomer :exec
|
||||||
INSERT INTO customer (
|
INSERT INTO customer (
|
||||||
id
|
id
|
||||||
@@ -268,6 +282,33 @@ func (q *Queries) GetUser(ctx context.Context, arg GetUserParams) (GetUserRow, e
|
|||||||
return i, err
|
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
|
const getUserRenew = `-- name: GetUserRenew :many
|
||||||
SELECT
|
SELECT
|
||||||
id
|
id
|
||||||
|
|||||||
@@ -137,3 +137,9 @@ WHERE id = ?;
|
|||||||
|
|
||||||
-- name: GetSvgCount :one
|
-- name: GetSvgCount :one
|
||||||
SELECT COUNT(*) as count FROM svg_icon;
|
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
|
id INTEGER PRIMARY KEY AUTOINCREMENT
|
||||||
,svg TEXT NOT NULL
|
,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