MCPcopy
hub / github.com/hasura/graphql-engine / createFiles

Method createFiles

cli/commands/init.go:208–295  ·  view source on GitHub ↗

createFiles creates files required by the CLI in the ExecutionDirectory

()

Source from the content-addressed store, hash-verified

206
207// createFiles creates files required by the CLI in the ExecutionDirectory
208func (o *InitOptions) createFiles() error {
209 var op errors.Op = "commands.InitOptions.createFiles"
210 // create the directory
211 err := os.MkdirAll(filepath.Dir(o.EC.ExecutionDirectory), os.ModePerm)
212 if err != nil {
213 return errors.E(op, fmt.Errorf("error creating setup directories: %w", err))
214 }
215 // set config object
216 var config = &cli.Config{
217 Version: o.Version,
218 ServerConfig: cli.ServerConfig{
219 Endpoint: defaultEndpoint,
220 },
221 MetadataDirectory: "metadata",
222 ActionConfig: &actionMetadataFileTypes.ActionExecutionConfig{
223 Kind: "synchronous",
224 HandlerWebhookBaseURL: "http://localhost:3000",
225 },
226 }
227 if o.Endpoint != "" {
228 if _, err := url.ParseRequestURI(o.Endpoint); err != nil {
229 return errors.E(op, fmt.Errorf("error validating endpoint URL: %w", err))
230 }
231 config.ServerConfig.Endpoint = o.Endpoint
232 }
233 if o.AdminSecret != "" {
234 config.ServerConfig.AdminSecret = o.AdminSecret
235 }
236
237 // write the config file
238 o.EC.Config = config
239 o.EC.ConfigFile = filepath.Join(o.EC.ExecutionDirectory, "config.yaml")
240 err = o.EC.WriteConfig(nil)
241 if err != nil {
242 return errors.E(op, fmt.Errorf("cannot write config file: %w", err))
243 }
244
245 // create migrations directory
246 o.EC.MigrationDir = filepath.Join(o.EC.ExecutionDirectory, cli.DefaultMigrationsDirectory)
247 err = os.MkdirAll(o.EC.MigrationDir, os.ModePerm)
248 if err != nil {
249 return errors.E(op, fmt.Errorf("cannot write migration directory: %w", err))
250 }
251
252 if config.Version >= cli.V2 {
253 // create metadata directory
254 o.EC.MetadataDir = filepath.Join(o.EC.ExecutionDirectory, cli.DefaultMetadataDirectory)
255 err = os.MkdirAll(o.EC.MetadataDir, os.ModePerm)
256 if err != nil {
257 return errors.E(op, fmt.Errorf("cannot write metadata directory: %w", err))
258 }
259 err = o.EC.Version.GetServerFeatureFlags()
260 if err != nil {
261 o.EC.Logger.Warnf("error determining server feature flags: %v", err)
262 }
263
264 // create metadata files
265 plugins := make(metadataobject.Objects, 0)

Callers 1

InitRunMethod · 0.95

Calls 3

WriteConfigMethod · 0.80
GetServerFeatureFlagsMethod · 0.80
CreateFilesMethod · 0.65

Tested by

no test coverage detected