GithubHelp home page GithubHelp logo

internetx / domainrobot-api Goto Github PK

View Code? Open in Web Editor NEW
18.0 18.0 9.0 1.4 MB

Swagger documentation for different APIs powered by InterNetX GmbH.

License: MIT License

autodns codegen domainrobot swagger

domainrobot-api's People

Contributors

adelholtz avatar chripix avatar ephenodrom avatar internetx avatar internetx-dl avatar internetx-tp avatar mschrieck avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

domainrobot-api's Issues

openapi generator is failing

using this definition

openApiSpec=https://raw.githubusercontent.com/InterNetX/internetx-swagger-files/master/src/domainrobot.json

and openapi generator via maven

            <!-- https://mvnrepository.com/artifact/org.openapitools/openapi-generator-maven-plugin -->
            <plugin>
               <groupId>org.openapitools</groupId>
               <artifactId>openapi-generator-maven-plugin</artifactId>
               <version>7.0.0</version>
               <executions>
                  <execution>
                     <goals>
                        <goal>generate</goal>
                     </goals>
                     <configuration>
                        <inputSpec>${openApiSpec}</inputSpec>
                        <generatorName>java</generatorName>
                        <library>resttemplate</library>
                        <apiPackage>${openApiPackage}</apiPackage>
                        <modelPackage>${openApiModelPackage}</modelPackage>
                        <useSpringBoot3>true</useSpringBoot3>
                        <generateApis>true</generateApis>
                        <generateApiDocumentation>false</generateApiDocumentation>
                        <generateApiTests>true</generateApiTests>
                        <generateModels>true</generateModels>
                        <generateModelDocumentation>true</generateModelDocumentation>
                        <generateModelTests>false</generateModelTests>
                        <generateSupportingFiles>true</generateSupportingFiles>
                        <legacyDiscriminatorBehavior>false</legacyDiscriminatorBehavior>
                        <configOptions>
                           <delegatePattern>true</delegatePattern>
                           <additionalModelTypeAnnotations>@lombok.Data</additionalModelTypeAnnotations>
                        </configOptions>
                     </configuration>
                  </execution>
               </executions>
            </plugin>

results into

domainrobot.json [0:0]: unexpected error in Open-API generation
org.openapitools.codegen.SpecValidationException: There were issues with the specification. The option can be disabled via validateSpec (Maven/Gradle) or --skip-validate-spec (CLI).
 | Error count: 8, Warning count: 2
Errors: 
	-attribute paths.'/bulk/clientAccount/{label}/clientCustomer'. Declared path parameter label needs to be defined as a path parameter in path or operation level
	-attribute paths.'/bulk/zone/_domainSafe'(put).operationId is repeated
	-attribute paths.'/bulk/zone/_domainSafe'(delete).operationId is repeated
	-attribute paths.'/bulk/domain/_domainSafe'(delete).operationId is repeated
	-attribute paths.'/zone/{name}/{systemNameServer}/zoneQuery/_search'. Declared path parameter name needs to be defined as a path parameter in path or operation level
	-attribute paths.'/zone/{name}/{systemNameServer}/zoneQuery/_search'. Declared path parameter systemNameServer needs to be defined as a path parameter in path or operation level
	-attribute paths.'/bulk/domain/_domainSafe'(put).operationId is repeated
	-attribute paths.'/object/_assignment'(put).operationId is repeated
Warnings: 
	-attribute paths.'/bulk/clientAccount/{label}/clientCustomer'. Declared path parameter label needs to be defined as a path parameter in path or operation level
	-attribute paths.'/bulk/zone/_domainSafe'(put).operationId is repeated
	-attribute paths.'/bulk/zone/_domainSafe'(delete).operationId is repeated
	-attribute paths.'/bulk/domain/_domainSafe'(delete).operationId is repeated
	-attribute paths.'/zone/{name}/{systemNameServer}/zoneQuery/_search'. Declared path parameter name needs to be defined as a path parameter in path or operation level
	-attribute paths.'/zone/{name}/{systemNameServer}/zoneQuery/_search'. Declared path parameter systemNameServer needs to be defined as a path parameter in path or operation level
	-attribute paths.'/bulk/domain/_domainSafe'(put).operationId is repeated
	-attribute paths.'/object/_assignment'(put).operationId is repeated

using

<skipValidateSpec>true</skipValidateSpec>
it is generating but still leaving the feeling that api client will sooner or later fail on the above named issues.
Can someone clarify or even fix the openapi definition?

broken

Hello,

apart from this giving me the following error ...

 SyntaxError: '=' expected. (1619:33)
};

> export type JsonResponseDataByte[] = {
                                  ^
    'stid' ? : string;
    'messages' ? : Array < Message >
    ;

... your swagger files seem to be completely broken. After generating a typescript client I got 690 type errors when compiling. Most of them look like this:

Type 'number' is not assignable to type 'string'.
headers["X-Domainrobot-Owner-Context"] = parameters["xDomainrobotOwnerContext"];

If this lib had types I would switch, but without types that would be a major downgrade.

Question for domain creation /domain endpoint

Hi,

I try to create and register some new domains via the domainrobot API endpoint /domain.

Firstly i already own a domain abc.de which is registered in my internetx autodns.

My api-client should register some new subdomains like deeplink.subdomain.abc.de and subdomain.abc.de.

I send the post body like this:

{
  "name": "deeplink.subdomain.abc.de",
  "nameServers": [
    {
      "name": "a.ns14.net"
    },
    {
      "name": "b.ns14.net"
    },
    {
      "name": "c.ns14.net"
    },
    {
      "name": "d.ns14.net"
    }
  ],
  "ownerc": {
    "id": 123456789
  },
  "adminc": {
    "id": 123456789
  },
  "techc": {
    "id": 123456789
  },
  "zonec": {
    "id": 123456789
  }
}

that fails with ERROR: {"stid":"20240223-app3-180557","messages":[{"text":"Fehler beim Lesen des Auftrages.","objects":[{"type":"payload","value":""}],"code":"EF00000","status":"ERROR"}],"status":{"type":"ERROR"}}

when i try to create the subdomain.abc.de without the "deeplink" part in front the error message changes to:

ERROR: {"stid":"20240223-app3-180564","messages":[{"text":"Ungueltige TLD.","objects":[{"type":"name","value":"abc.de"}],"code":"EF01001","status":"ERROR"}],"status":{"code":"E0101","text":"Domain konnte nicht registriert werden.","type":"ERROR"},"object":{"type":"Domain","value":"subdomain.abc.de"}}

How can i accomplish to register my subdomains?

Thanks for any help with this

Api Endpoint /domain/_search returns not all elements, bulk max without paging

Hello,

The POST /domain/_search endpoint should return a list of domains. In my case i have 160 domains in AutoDNS, however the api returns exactly 100 elements. In the Swagger-Doku i found a header X-Domainrobot-Bulk-Limit which propably helps in my case if i just set it to a very large number... However a better approach would be an api endpoint that allows real paging.

"Try out" not working

Try out is currently not working as the Authentication information is not defined.

Soa definition incorrect

The soa definition in the documentation is wrong.

    "Soa" : {
      "type" : "object",
      "required" : [ "email" ],
      "properties" : {
        "refresh" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The seconds after the secondary should refresh the zone data"
        },
        "retry" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The seconds after the secondary should retry the zone data after the refresh has been timeouts"
        },
        "expire" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The seconds after the zone data will not be delievered, if the zone could not be reached on the master."
        },
        "ttl" : {
          "type" : "integer",
          "format" : "int64"
        },
        "email" : {
          "type" : "string",
          "description" : "The email address of the responsible of the zone"
        }
      }

It should have:

      "required" : [ "refresh", "retry", "expire", "ttl" ],

Apparently "email" is the only attribute that is NOT required.

When trying to create a new zone, this error is returned by the api:

{"stid":"20210114-app1-143532","messages":[{"text":"Ungueltiger Wert für Refresh.","code":"MSG02005"},{"text":"Ungueltiger Retry-Wert.","code":"MSG02007"},{"text":"Ungueltiger Expire-Wert.","code":"MSG02008"},{"text":"Ungueltige SOA-TTL.","objects":[{"type":"soa/ttl"}],"code":"EF02004","status":"ERROR"}],"status":{"code":"E0201","text":"Zone konnte nicht in Nameserver eingetragen werden.","type":"ERROR"},"object":{"type":"Zone","value":"dev.FOOBAR.FOO"}}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.