You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.3 KiB

package admin
import (
"net/http"
"github.com/grafana/grafana/pkg/cmd/grafana-cli/logger"
"github.com/imdotdev/im.dev/server/pkg/db"
"github.com/imdotdev/im.dev/server/pkg/e"
"github.com/imdotdev/im.dev/server/pkg/models"
)
func GetUsers() ([]*models.User, *e.Error) {
users := make([]*models.User, 0)
rows, err := db.Conn.Query("SELECT id,username,email,role,created FROM user WHERE type=?", models.IDTypeUser)
if err != nil {
logger.Warn("get users error", "error", err)
return nil, e.New(http.StatusInternalServerError, e.Internal)
}
for rows.Next() {
user := &models.User{}
rows.Scan(&user.ID, &user.Username, &user.Email, &user.Role, &user.Created)
users = append(users, user)
}
return users, nil
}
func ForbiddenStory(id string) *e.Error {
var status int
err := db.Conn.QueryRow("SELECT status FROM story WHERE id=?", id).Scan(&status)
if err != nil {
logger.Warn("get story status error", "error", err)
return e.New(http.StatusInternalServerError, e.Internal)
}
var newStatus int
if status != models.StatusForbidden {
newStatus = models.StatusForbidden
} else {
newStatus = models.StatusDraft
}
_, err = db.Conn.Exec("UPDATE story SET status=? WHERE id=?", newStatus, id)
if err != nil {
logger.Warn("update story status error", "error", err)
return e.New(http.StatusInternalServerError, e.Internal)
}
return nil
}