MCPcopy
hub / github.com/daptin/daptin / GetTablesFromWorld

Function GetTablesFromWorld

server/utils.go:128–227  ·  view source on GitHub ↗
(db database.DatabaseConnection)

Source from the content-addressed store, hash-verified

126}
127
128func GetTablesFromWorld(db database.DatabaseConnection) ([]table_info.TableInfo, error) {
129
130 ts := make([]table_info.TableInfo, 0)
131
132 sql, args, err := statementbuilder.Squirrel.
133 Select("table_name", "permission",
134 "world_schema_json", "is_top_level", "is_hidden", "is_state_tracking_enabled", "default_order", "icon",
135 ).Prepared(true).
136 From("world").
137 Where(goqu.Ex{
138 "table_name": goqu.Op{
139 "notlike": "%_has_%",
140 },
141 }).
142 Where(goqu.Ex{
143 "table_name": goqu.Op{
144 "notlike": "%_audit",
145 },
146 }).
147 Where(goqu.Ex{
148 "table_name": goqu.Op{
149 "notin": []string{"world", "action", "usergroup"},
150 },
151 }).
152 ToSQL()
153 if err != nil {
154 return nil, err
155 }
156
157 stmt1, err := db.Preparex(sql)
158 if err != nil {
159 log.Errorf("[106] failed to prepare statment: %v", err)
160 return nil, err
161 }
162
163 defer func(stmt1 *sqlx.Stmt) {
164 err := stmt1.Close()
165 if err != nil {
166 log.Errorf("failed to close prepared statement: %v", err)
167 }
168 }(stmt1)
169
170 res, err := stmt1.Queryx(args...)
171 if err != nil {
172 log.Printf("Failed to select from world table: %v", err)
173 return ts, err
174 }
175 defer res.Close()
176 for res.Next() {
177 var table_name string
178 var permission int64
179 var world_schema_json string
180 var default_order string
181 var icon string
182 var is_top_level bool
183 var is_hidden bool
184 var is_state_tracking_enabled bool
185

Callers 2

MainFunction · 0.85
GetResourceFunction · 0.85

Calls 7

AuthPermissionTypeAlias · 0.92
makeFunction · 0.85
QueryxMethod · 0.80
ScanMethod · 0.80
SelectMethod · 0.65
PreparexMethod · 0.65
CloseMethod · 0.65

Tested by 1

GetResourceFunction · 0.68