MCPcopy Create free account
hub / github.com/actiontech/dtle / ListDatabaseSchemasV2

Function ListDatabaseSchemasV2

api/handler/v2/database.go:44–70  ·  view source on GitHub ↗

@Id ListDatabaseSchemasV2 @Description list schemas of database source instance. @Tags database @Security ApiKeyAuth @Param database_type query string true "database_type" @Param host query string true "database host" @Param port query int true "database port" @Param user query string true "database

(c echo.Context)

Source from the content-addressed store, hash-verified

42// @Success 200 {object} models.ListSchemasRespV2
43// @Router /v2/database/schemas [get]
44func ListDatabaseSchemasV2(c echo.Context) error {
45 logger := handler.NewLogger().Named("ListDatabaseSchemasV2")
46 reqParam := new(models.ListDatabaseSchemasReqV2)
47 err := handler.BindAndValidate(logger, c, reqParam)
48 if err != nil {
49 return c.JSON(http.StatusInternalServerError, models.BuildBaseResp(err))
50 }
51
52 replicateDoDb := make([]*models.SchemaItem, 0)
53 switch reqParam.DatabaseType {
54 case DB_TYPE_MYSQL:
55 replicateDoDb, err = listMySQLSchema(logger, reqParam)
56 if err != nil {
57 return c.JSON(http.StatusInternalServerError, models.BuildBaseResp(fmt.Errorf("list %s schema failed : %v", DB_TYPE_MYSQL, err)))
58 }
59 case DB_TYPE_ORACLE:
60 replicateDoDb, err = listOracleSchema(logger, reqParam)
61 if err != nil {
62 return c.JSON(http.StatusInternalServerError, models.BuildBaseResp(fmt.Errorf("list %s schema failed : %v", DB_TYPE_ORACLE, err)))
63 }
64 }
65
66 return c.JSON(http.StatusOK, &models.ListSchemasRespV2{
67 Schemas: replicateDoDb,
68 BaseResp: models.BuildBaseResp(nil),
69 })
70}
71
72func listMySQLSchema(logger hclog.Logger, reqParam *models.ListDatabaseSchemasReqV2) ([]*models.SchemaItem, error) {
73 uri, err := buildMysqlUri(reqParam.Host, reqParam.User, reqParam.Password,

Callers

nothing calls this directly

Calls 5

NewLoggerFunction · 0.92
BindAndValidateFunction · 0.92
BuildBaseRespFunction · 0.92
listMySQLSchemaFunction · 0.85
listOracleSchemaFunction · 0.85

Tested by

no test coverage detected