483 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			483 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Code generated by sqlc. DO NOT EDIT.
 | |
| // versions:
 | |
| //   sqlc v1.28.0
 | |
| // source: sys_menu.sql
 | |
| 
 | |
| package db
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 	"time"
 | |
| )
 | |
| 
 | |
| const allSysMenu = `-- name: AllSysMenu :many
 | |
| SELECT id, name, display_name, url, type, parent_id, parent_path, avatar, style, visible, is_list, status, sort, created_at, updated_at FROM sys_menu
 | |
| WHERE status = 0
 | |
| ORDER BY sort DESC
 | |
| `
 | |
| 
 | |
| func (q *Queries) AllSysMenu(ctx context.Context) ([]*SysMenu, error) {
 | |
| 	rows, err := q.db.Query(ctx, allSysMenu)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	defer rows.Close()
 | |
| 	items := []*SysMenu{}
 | |
| 	for rows.Next() {
 | |
| 		var i SysMenu
 | |
| 		if err := rows.Scan(
 | |
| 			&i.ID,
 | |
| 			&i.Name,
 | |
| 			&i.DisplayName,
 | |
| 			&i.Url,
 | |
| 			&i.Type,
 | |
| 			&i.ParentID,
 | |
| 			&i.ParentPath,
 | |
| 			&i.Avatar,
 | |
| 			&i.Style,
 | |
| 			&i.Visible,
 | |
| 			&i.IsList,
 | |
| 			&i.Status,
 | |
| 			&i.Sort,
 | |
| 			&i.CreatedAt,
 | |
| 			&i.UpdatedAt,
 | |
| 		); err != nil {
 | |
| 			return nil, err
 | |
| 		}
 | |
| 		items = append(items, &i)
 | |
| 	}
 | |
| 	if err := rows.Err(); err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	return items, nil
 | |
| }
 | |
| 
 | |
| const createSysMenu = `-- name: CreateSysMenu :one
 | |
| INSERT INTO sys_menu (
 | |
|     name, 
 | |
|     display_name, 
 | |
|     url, 
 | |
|     type, 
 | |
|     parent_id, 
 | |
|     parent_path, 
 | |
|     avatar, 
 | |
|     style, 
 | |
|     visible, 
 | |
|     is_list, 
 | |
|     status, 
 | |
|     sort, 
 | |
|     created_at, 
 | |
|     updated_at
 | |
| ) VALUES (
 | |
|     $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14
 | |
| ) RETURNING id, name, display_name, url, type, parent_id, parent_path, avatar, style, visible, is_list, status, sort, created_at, updated_at
 | |
| `
 | |
| 
 | |
| type CreateSysMenuParams struct {
 | |
| 	Name        string    `json:"name"`
 | |
| 	DisplayName string    `json:"display_name"`
 | |
| 	Url         string    `json:"url"`
 | |
| 	Type        string    `json:"type"`
 | |
| 	ParentID    int32     `json:"parent_id"`
 | |
| 	ParentPath  string    `json:"parent_path"`
 | |
| 	Avatar      string    `json:"avatar"`
 | |
| 	Style       string    `json:"style"`
 | |
| 	Visible     bool      `json:"visible"`
 | |
| 	IsList      bool      `json:"is_list"`
 | |
| 	Status      int32     `json:"status"`
 | |
| 	Sort        int32     `json:"sort"`
 | |
| 	CreatedAt   time.Time `json:"created_at"`
 | |
| 	UpdatedAt   time.Time `json:"updated_at"`
 | |
| }
 | |
| 
 | |
| func (q *Queries) CreateSysMenu(ctx context.Context, arg *CreateSysMenuParams) (*SysMenu, error) {
 | |
| 	row := q.db.QueryRow(ctx, createSysMenu,
 | |
| 		arg.Name,
 | |
| 		arg.DisplayName,
 | |
| 		arg.Url,
 | |
| 		arg.Type,
 | |
| 		arg.ParentID,
 | |
| 		arg.ParentPath,
 | |
| 		arg.Avatar,
 | |
| 		arg.Style,
 | |
| 		arg.Visible,
 | |
| 		arg.IsList,
 | |
| 		arg.Status,
 | |
| 		arg.Sort,
 | |
| 		arg.CreatedAt,
 | |
| 		arg.UpdatedAt,
 | |
| 	)
 | |
| 	var i SysMenu
 | |
| 	err := row.Scan(
 | |
| 		&i.ID,
 | |
| 		&i.Name,
 | |
| 		&i.DisplayName,
 | |
| 		&i.Url,
 | |
| 		&i.Type,
 | |
| 		&i.ParentID,
 | |
| 		&i.ParentPath,
 | |
| 		&i.Avatar,
 | |
| 		&i.Style,
 | |
| 		&i.Visible,
 | |
| 		&i.IsList,
 | |
| 		&i.Status,
 | |
| 		&i.Sort,
 | |
| 		&i.CreatedAt,
 | |
| 		&i.UpdatedAt,
 | |
| 	)
 | |
| 	return &i, err
 | |
| }
 | |
| 
 | |
| const existsMenu = `-- name: ExistsMenu :one
 | |
| SELECT EXISTS (
 | |
|     SELECT 1 FROM sys_menu
 | |
| )
 | |
| `
 | |
| 
 | |
| func (q *Queries) ExistsMenu(ctx context.Context) (bool, error) {
 | |
| 	row := q.db.QueryRow(ctx, existsMenu)
 | |
| 	var exists bool
 | |
| 	err := row.Scan(&exists)
 | |
| 	return exists, err
 | |
| }
 | |
| 
 | |
| const getSysMenu = `-- name: GetSysMenu :one
 | |
| SELECT id, name, display_name, url, type, parent_id, parent_path, avatar, style, visible, is_list, status, sort, created_at, updated_at FROM sys_menu
 | |
| WHERE id = $1 LIMIT 1
 | |
| `
 | |
| 
 | |
| func (q *Queries) GetSysMenu(ctx context.Context, id int32) (*SysMenu, error) {
 | |
| 	row := q.db.QueryRow(ctx, getSysMenu, id)
 | |
| 	var i SysMenu
 | |
| 	err := row.Scan(
 | |
| 		&i.ID,
 | |
| 		&i.Name,
 | |
| 		&i.DisplayName,
 | |
| 		&i.Url,
 | |
| 		&i.Type,
 | |
| 		&i.ParentID,
 | |
| 		&i.ParentPath,
 | |
| 		&i.Avatar,
 | |
| 		&i.Style,
 | |
| 		&i.Visible,
 | |
| 		&i.IsList,
 | |
| 		&i.Status,
 | |
| 		&i.Sort,
 | |
| 		&i.CreatedAt,
 | |
| 		&i.UpdatedAt,
 | |
| 	)
 | |
| 	return &i, err
 | |
| }
 | |
| 
 | |
| const getSysMenuByUrl = `-- name: GetSysMenuByUrl :one
 | |
| SELECT id, name, display_name, url, type, parent_id, parent_path, avatar, style, visible, is_list, status, sort, created_at, updated_at FROM sys_menu
 | |
| WHERE url = $1 LIMIT 1
 | |
| `
 | |
| 
 | |
| func (q *Queries) GetSysMenuByUrl(ctx context.Context, url string) (*SysMenu, error) {
 | |
| 	row := q.db.QueryRow(ctx, getSysMenuByUrl, url)
 | |
| 	var i SysMenu
 | |
| 	err := row.Scan(
 | |
| 		&i.ID,
 | |
| 		&i.Name,
 | |
| 		&i.DisplayName,
 | |
| 		&i.Url,
 | |
| 		&i.Type,
 | |
| 		&i.ParentID,
 | |
| 		&i.ParentPath,
 | |
| 		&i.Avatar,
 | |
| 		&i.Style,
 | |
| 		&i.Visible,
 | |
| 		&i.IsList,
 | |
| 		&i.Status,
 | |
| 		&i.Sort,
 | |
| 		&i.CreatedAt,
 | |
| 		&i.UpdatedAt,
 | |
| 	)
 | |
| 	return &i, err
 | |
| }
 | |
| 
 | |
| const listSysMenuByRoleID = `-- name: ListSysMenuByRoleID :many
 | |
| SELECT id, name, display_name, url, type, parent_id, parent_path, avatar, style, visible, is_list, status, sort, created_at, updated_at FROM sys_menu
 | |
| WHERE id IN (SELECT menu_id
 | |
|             FROM sys_role_menu
 | |
|             WHERE role_id = $1)
 | |
| `
 | |
| 
 | |
| func (q *Queries) ListSysMenuByRoleID(ctx context.Context, roleID int32) ([]*SysMenu, error) {
 | |
| 	rows, err := q.db.Query(ctx, listSysMenuByRoleID, roleID)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	defer rows.Close()
 | |
| 	items := []*SysMenu{}
 | |
| 	for rows.Next() {
 | |
| 		var i SysMenu
 | |
| 		if err := rows.Scan(
 | |
| 			&i.ID,
 | |
| 			&i.Name,
 | |
| 			&i.DisplayName,
 | |
| 			&i.Url,
 | |
| 			&i.Type,
 | |
| 			&i.ParentID,
 | |
| 			&i.ParentPath,
 | |
| 			&i.Avatar,
 | |
| 			&i.Style,
 | |
| 			&i.Visible,
 | |
| 			&i.IsList,
 | |
| 			&i.Status,
 | |
| 			&i.Sort,
 | |
| 			&i.CreatedAt,
 | |
| 			&i.UpdatedAt,
 | |
| 		); err != nil {
 | |
| 			return nil, err
 | |
| 		}
 | |
| 		items = append(items, &i)
 | |
| 	}
 | |
| 	if err := rows.Err(); err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	return items, nil
 | |
| }
 | |
| 
 | |
| const listSysMenuIDByRoleID = `-- name: ListSysMenuIDByRoleID :many
 | |
| SELECT menu_id
 | |
| FROM sys_role_menu
 | |
| WHERE role_id = $1
 | |
| `
 | |
| 
 | |
| func (q *Queries) ListSysMenuIDByRoleID(ctx context.Context, roleID int32) ([]int32, error) {
 | |
| 	rows, err := q.db.Query(ctx, listSysMenuIDByRoleID, roleID)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	defer rows.Close()
 | |
| 	items := []int32{}
 | |
| 	for rows.Next() {
 | |
| 		var menu_id int32
 | |
| 		if err := rows.Scan(&menu_id); err != nil {
 | |
| 			return nil, err
 | |
| 		}
 | |
| 		items = append(items, menu_id)
 | |
| 	}
 | |
| 	if err := rows.Err(); err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	return items, nil
 | |
| }
 | |
| 
 | |
| const recursiveSysMenus = `-- name: RecursiveSysMenus :many
 | |
| WITH RECURSIVE dist AS (SELECT sys_menu.id, sys_menu.name, sys_menu.display_name, sys_menu.url, sys_menu.type, sys_menu.parent_id, sys_menu.parent_path, sys_menu.avatar, sys_menu.style, sys_menu.visible, sys_menu.is_list, sys_menu.status, sys_menu.sort, sys_menu.created_at, sys_menu.updated_at
 | |
|                         FROM sys_menu
 | |
|                         WHERE status = 0
 | |
|                           AND is_list = true
 | |
|                         UNION ALL
 | |
|                         SELECT sys_menu.id, sys_menu.name, sys_menu.display_name, sys_menu.url, sys_menu.type, sys_menu.parent_id, sys_menu.parent_path, sys_menu.avatar, sys_menu.style, sys_menu.visible, sys_menu.is_list, sys_menu.status, sys_menu.sort, sys_menu.created_at, sys_menu.updated_at
 | |
|                         FROM sys_menu,
 | |
|                              dist
 | |
|                         WHERE sys_menu.id = dist.parent_id)
 | |
| SELECT id, name, display_name, url, type, parent_id, parent_path, avatar, style, visible, is_list, status, sort, created_at, updated_at
 | |
| FROM dist
 | |
| ORDER BY dist.sort DESC, dist.id ASC
 | |
| `
 | |
| 
 | |
| type RecursiveSysMenusRow struct {
 | |
| 	ID          int32     `json:"id"`
 | |
| 	Name        string    `json:"name"`
 | |
| 	DisplayName string    `json:"display_name"`
 | |
| 	Url         string    `json:"url"`
 | |
| 	Type        string    `json:"type"`
 | |
| 	ParentID    int32     `json:"parent_id"`
 | |
| 	ParentPath  string    `json:"parent_path"`
 | |
| 	Avatar      string    `json:"avatar"`
 | |
| 	Style       string    `json:"style"`
 | |
| 	Visible     bool      `json:"visible"`
 | |
| 	IsList      bool      `json:"is_list"`
 | |
| 	Status      int32     `json:"status"`
 | |
| 	Sort        int32     `json:"sort"`
 | |
| 	CreatedAt   time.Time `json:"created_at"`
 | |
| 	UpdatedAt   time.Time `json:"updated_at"`
 | |
| }
 | |
| 
 | |
| func (q *Queries) RecursiveSysMenus(ctx context.Context) ([]*RecursiveSysMenusRow, error) {
 | |
| 	rows, err := q.db.Query(ctx, recursiveSysMenus)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	defer rows.Close()
 | |
| 	items := []*RecursiveSysMenusRow{}
 | |
| 	for rows.Next() {
 | |
| 		var i RecursiveSysMenusRow
 | |
| 		if err := rows.Scan(
 | |
| 			&i.ID,
 | |
| 			&i.Name,
 | |
| 			&i.DisplayName,
 | |
| 			&i.Url,
 | |
| 			&i.Type,
 | |
| 			&i.ParentID,
 | |
| 			&i.ParentPath,
 | |
| 			&i.Avatar,
 | |
| 			&i.Style,
 | |
| 			&i.Visible,
 | |
| 			&i.IsList,
 | |
| 			&i.Status,
 | |
| 			&i.Sort,
 | |
| 			&i.CreatedAt,
 | |
| 			&i.UpdatedAt,
 | |
| 		); err != nil {
 | |
| 			return nil, err
 | |
| 		}
 | |
| 		items = append(items, &i)
 | |
| 	}
 | |
| 	if err := rows.Err(); err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	return items, nil
 | |
| }
 | |
| 
 | |
| const recursiveSysMenusByRoleID = `-- name: RecursiveSysMenusByRoleID :many
 | |
| WITH RECURSIVE dist AS (SELECT sys_menu.id, sys_menu.name, sys_menu.display_name, sys_menu.url, sys_menu.type, sys_menu.parent_id, sys_menu.parent_path, sys_menu.avatar, sys_menu.style, sys_menu.visible, sys_menu.is_list, sys_menu.status, sys_menu.sort, sys_menu.created_at, sys_menu.updated_at
 | |
|                         FROM sys_menu
 | |
|                         WHERE status = 0
 | |
|                           AND is_list = true
 | |
|                           AND id IN (SELECT menu_id
 | |
|                                      FROM sys_role_menu
 | |
|                                      WHERE role_id = $1)
 | |
|                         UNION ALL
 | |
|                         SELECT sys_menu.id, sys_menu.name, sys_menu.display_name, sys_menu.url, sys_menu.type, sys_menu.parent_id, sys_menu.parent_path, sys_menu.avatar, sys_menu.style, sys_menu.visible, sys_menu.is_list, sys_menu.status, sys_menu.sort, sys_menu.created_at, sys_menu.updated_at
 | |
|                         FROM sys_menu,
 | |
|                              dist
 | |
|                         WHERE sys_menu.id = dist.parent_id)
 | |
| SELECT id, name, display_name, url, type, parent_id, parent_path, avatar, style, visible, is_list, status, sort, created_at, updated_at
 | |
| FROM dist
 | |
| ORDER BY dist.sort DESC, dist.id ASC
 | |
| `
 | |
| 
 | |
| type RecursiveSysMenusByRoleIDRow struct {
 | |
| 	ID          int32     `json:"id"`
 | |
| 	Name        string    `json:"name"`
 | |
| 	DisplayName string    `json:"display_name"`
 | |
| 	Url         string    `json:"url"`
 | |
| 	Type        string    `json:"type"`
 | |
| 	ParentID    int32     `json:"parent_id"`
 | |
| 	ParentPath  string    `json:"parent_path"`
 | |
| 	Avatar      string    `json:"avatar"`
 | |
| 	Style       string    `json:"style"`
 | |
| 	Visible     bool      `json:"visible"`
 | |
| 	IsList      bool      `json:"is_list"`
 | |
| 	Status      int32     `json:"status"`
 | |
| 	Sort        int32     `json:"sort"`
 | |
| 	CreatedAt   time.Time `json:"created_at"`
 | |
| 	UpdatedAt   time.Time `json:"updated_at"`
 | |
| }
 | |
| 
 | |
| func (q *Queries) RecursiveSysMenusByRoleID(ctx context.Context, roleID int32) ([]*RecursiveSysMenusByRoleIDRow, error) {
 | |
| 	rows, err := q.db.Query(ctx, recursiveSysMenusByRoleID, roleID)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	defer rows.Close()
 | |
| 	items := []*RecursiveSysMenusByRoleIDRow{}
 | |
| 	for rows.Next() {
 | |
| 		var i RecursiveSysMenusByRoleIDRow
 | |
| 		if err := rows.Scan(
 | |
| 			&i.ID,
 | |
| 			&i.Name,
 | |
| 			&i.DisplayName,
 | |
| 			&i.Url,
 | |
| 			&i.Type,
 | |
| 			&i.ParentID,
 | |
| 			&i.ParentPath,
 | |
| 			&i.Avatar,
 | |
| 			&i.Style,
 | |
| 			&i.Visible,
 | |
| 			&i.IsList,
 | |
| 			&i.Status,
 | |
| 			&i.Sort,
 | |
| 			&i.CreatedAt,
 | |
| 			&i.UpdatedAt,
 | |
| 		); err != nil {
 | |
| 			return nil, err
 | |
| 		}
 | |
| 		items = append(items, &i)
 | |
| 	}
 | |
| 	if err := rows.Err(); err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 	return items, nil
 | |
| }
 | |
| 
 | |
| const updateSysMenu = `-- name: UpdateSysMenu :one
 | |
| UPDATE sys_menu
 | |
| SET name         = $2,
 | |
|     display_name = $3,
 | |
|     url          = $4,
 | |
|     type         = $5,
 | |
|     parent_id    = $6,
 | |
|     parent_path  = $7,
 | |
|     avatar       = $8,
 | |
|     style        = $9,
 | |
|     visible      = $10,
 | |
|     is_list      = $11,
 | |
|     status       = $12,
 | |
|     sort		     = $13,
 | |
|     updated_at   = $14
 | |
| WHERE id = $1
 | |
| RETURNING id, name, display_name, url, type, parent_id, parent_path, avatar, style, visible, is_list, status, sort, created_at, updated_at
 | |
| `
 | |
| 
 | |
| type UpdateSysMenuParams struct {
 | |
| 	ID          int32     `json:"id"`
 | |
| 	Name        string    `json:"name"`
 | |
| 	DisplayName string    `json:"display_name"`
 | |
| 	Url         string    `json:"url"`
 | |
| 	Type        string    `json:"type"`
 | |
| 	ParentID    int32     `json:"parent_id"`
 | |
| 	ParentPath  string    `json:"parent_path"`
 | |
| 	Avatar      string    `json:"avatar"`
 | |
| 	Style       string    `json:"style"`
 | |
| 	Visible     bool      `json:"visible"`
 | |
| 	IsList      bool      `json:"is_list"`
 | |
| 	Status      int32     `json:"status"`
 | |
| 	Sort        int32     `json:"sort"`
 | |
| 	UpdatedAt   time.Time `json:"updated_at"`
 | |
| }
 | |
| 
 | |
| func (q *Queries) UpdateSysMenu(ctx context.Context, arg *UpdateSysMenuParams) (*SysMenu, error) {
 | |
| 	row := q.db.QueryRow(ctx, updateSysMenu,
 | |
| 		arg.ID,
 | |
| 		arg.Name,
 | |
| 		arg.DisplayName,
 | |
| 		arg.Url,
 | |
| 		arg.Type,
 | |
| 		arg.ParentID,
 | |
| 		arg.ParentPath,
 | |
| 		arg.Avatar,
 | |
| 		arg.Style,
 | |
| 		arg.Visible,
 | |
| 		arg.IsList,
 | |
| 		arg.Status,
 | |
| 		arg.Sort,
 | |
| 		arg.UpdatedAt,
 | |
| 	)
 | |
| 	var i SysMenu
 | |
| 	err := row.Scan(
 | |
| 		&i.ID,
 | |
| 		&i.Name,
 | |
| 		&i.DisplayName,
 | |
| 		&i.Url,
 | |
| 		&i.Type,
 | |
| 		&i.ParentID,
 | |
| 		&i.ParentPath,
 | |
| 		&i.Avatar,
 | |
| 		&i.Style,
 | |
| 		&i.Visible,
 | |
| 		&i.IsList,
 | |
| 		&i.Status,
 | |
| 		&i.Sort,
 | |
| 		&i.CreatedAt,
 | |
| 		&i.UpdatedAt,
 | |
| 	)
 | |
| 	return &i, err
 | |
| }
 |