Initial Commit
This commit is contained in:
53
cmd/database/table/cdsView.go
Normal file
53
cmd/database/table/cdsView.go
Normal file
@@ -0,0 +1,53 @@
|
||||
package table
|
||||
|
||||
import (
|
||||
_ "embed"
|
||||
"sap-cds-search/cmd/database"
|
||||
)
|
||||
|
||||
type CDSView struct {
|
||||
TechnicalName string `json:"Name"`
|
||||
DisplayName string `json:"DisplayName"`
|
||||
Description string `json:"Description"`
|
||||
Version string `json:"Version"`
|
||||
State string `json:"State"`
|
||||
CreatedAt int `json:"CreatedAt"`
|
||||
ModifiedAt int `json:"ModifiedAt"`
|
||||
}
|
||||
|
||||
//go:embed sql/query_cds_view.sql
|
||||
var query_cds_view string
|
||||
|
||||
func GetCDSView(TechnicalName string) (*CDSView, error) {
|
||||
row := database.DB.QueryRow(query_cds_view, TechnicalName)
|
||||
|
||||
var CDSView CDSView
|
||||
err := row.Scan(&CDSView.TechnicalName, &CDSView.DisplayName, &CDSView.Description, &CDSView.Version, &CDSView.State, &CDSView.CreatedAt, &CDSView.ModifiedAt)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &CDSView, nil
|
||||
}
|
||||
|
||||
//go:embed sql/query_all_cds_view_technical_names.sql
|
||||
var query_all_cds_view_technical_names string
|
||||
|
||||
func QueryAllCDSViewTechnicalNames() (*[]string, error) {
|
||||
rows, err := database.DB.Query(query_all_cds_view_technical_names)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var technicalNames []string
|
||||
for rows.Next() {
|
||||
var technicalName string
|
||||
err := rows.Scan(&technicalName)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
technicalNames = append(technicalNames, technicalName)
|
||||
}
|
||||
|
||||
return &technicalNames, nil
|
||||
}
|
||||
45
cmd/database/table/cdsViewField.go
Normal file
45
cmd/database/table/cdsViewField.go
Normal file
@@ -0,0 +1,45 @@
|
||||
package table
|
||||
|
||||
import (
|
||||
_ "embed"
|
||||
"sap-cds-search/cmd/database"
|
||||
)
|
||||
|
||||
type CDSViewField struct {
|
||||
CDSViewTechnicalName string
|
||||
FieldName string `json:"fieldname"`
|
||||
Description string `json:"description"`
|
||||
DataType string `json:"datatype"`
|
||||
FieldLength string `json:"fieldlength"`
|
||||
}
|
||||
|
||||
//go:embed sql/query_cds_view_fields.sql
|
||||
var query_cds_view_fields string
|
||||
|
||||
func GetCDSViewFields(CDSViewTechnicalName string) (*[]CDSViewField, error) {
|
||||
rows, err := database.DB.Query(query_cds_view_fields, CDSViewTechnicalName)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var fields []CDSViewField = make([]CDSViewField, 0)
|
||||
for rows.Next() {
|
||||
var field CDSViewField
|
||||
err := rows.Scan(&field.CDSViewTechnicalName, &field.FieldName, &field.Description, &field.DataType, &field.FieldLength)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
fields = append(fields, field)
|
||||
}
|
||||
return &fields, nil
|
||||
}
|
||||
|
||||
//go:embed sql/insert_or_replace_cds_view_field.sql
|
||||
var insert_or_replace_cds_view_field string
|
||||
|
||||
func InsertOrReplaceCDSViewField(field CDSViewField) error {
|
||||
_, err := database.DB.Exec(insert_or_replace_cds_view_field, field.CDSViewTechnicalName, field.FieldName, field.Description, field.DataType, field.FieldLength)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
42
cmd/database/table/keyword.go
Normal file
42
cmd/database/table/keyword.go
Normal file
@@ -0,0 +1,42 @@
|
||||
package table
|
||||
|
||||
import (
|
||||
_ "embed"
|
||||
"sap-cds-search/cmd/database"
|
||||
)
|
||||
|
||||
type Keyword struct {
|
||||
CDSViewTechnicalName string
|
||||
Keyword string
|
||||
}
|
||||
|
||||
//go:embed sql/query_all_keywords.sql
|
||||
var query_all_keywords string
|
||||
|
||||
func GetAllKeywords() (*[]Keyword, error) {
|
||||
rows, err := database.DB.Query(query_all_keywords)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var keywords []Keyword
|
||||
for rows.Next() {
|
||||
var keyword Keyword
|
||||
err := rows.Scan(&keyword.CDSViewTechnicalName, &keyword.Keyword)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
keywords = append(keywords, keyword)
|
||||
}
|
||||
return &keywords, nil
|
||||
}
|
||||
|
||||
//go:embed sql/insert_or_replace_keyword.sql
|
||||
var insert_or_replace_keyword string
|
||||
|
||||
func InsertOrReplaceKeyword(CDSViewTechnicalName string, Keywords string) error {
|
||||
_, err := database.DB.Exec(insert_or_replace_keyword, CDSViewTechnicalName, Keywords)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
INSERT
|
||||
OR REPLACE INTO CDSViewField
|
||||
VALUES
|
||||
(?, ?, ?, ?, ?)
|
||||
4
cmd/database/table/sql/insert_or_replace_keyword.sql
Normal file
4
cmd/database/table/sql/insert_or_replace_keyword.sql
Normal file
@@ -0,0 +1,4 @@
|
||||
INSERT
|
||||
OR REPLACE INTO Keyword
|
||||
VALUES
|
||||
(?, ?)
|
||||
@@ -0,0 +1,4 @@
|
||||
SELECT
|
||||
TechnicalName
|
||||
FROM
|
||||
CDSView
|
||||
29
cmd/database/table/sql/query_all_keywords.sql
Normal file
29
cmd/database/table/sql/query_all_keywords.sql
Normal file
@@ -0,0 +1,29 @@
|
||||
select
|
||||
CDSViewTechnicalName as CDSViewTechnicalName,
|
||||
lower(FieldName) as keyword
|
||||
from
|
||||
CDSViewField
|
||||
UNION
|
||||
select
|
||||
CDSViewTechnicalName as CDSViewTechnicalName,
|
||||
lower(Description) as keyword
|
||||
from
|
||||
CDSViewField
|
||||
UNION
|
||||
select
|
||||
TechnicalName as CDSViewTechnicalName,
|
||||
lower(TechnicalName) as keyword
|
||||
from
|
||||
CDSView
|
||||
UNION
|
||||
select
|
||||
TechnicalName as CDSViewTechnicalName,
|
||||
lower(Description) as keyword
|
||||
from
|
||||
CDSView
|
||||
UNION
|
||||
select
|
||||
TechnicalName as CDSViewTechnicalName,
|
||||
lower(DisplayName) as keyword
|
||||
from
|
||||
CDSView
|
||||
2
cmd/database/table/sql/query_cds_view.sql
Normal file
2
cmd/database/table/sql/query_cds_view.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
SELECT * FROM CDSView
|
||||
WHERE TechnicalName = ?
|
||||
2
cmd/database/table/sql/query_cds_view_fields.sql
Normal file
2
cmd/database/table/sql/query_cds_view_fields.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
SELECT * FROM CDSViewField
|
||||
WHERE CDSViewTechnicalName = ?
|
||||
Reference in New Issue
Block a user