ServiceStack Home (Live)

<back to all web services

CreateOpenSourceLicense

The following routes are available for this service:
POST/freelicense/opensource
POST/CreateOpenSourceLicense
import 'package:servicestack/servicestack.dart';

enum LicenseType
{
    Free,
    FreeIndividual,
    FreeOpenSource,
    Indie,
    Business,
    Enterprise,
    TextIndie,
    TextBusiness,
    OrmLiteIndie,
    OrmLiteBusiness,
    RedisIndie,
    RedisBusiness,
    AwsIndie,
    AwsBusiness,
    Trial,
    Site,
    TextSite,
    RedisSite,
    OrmLiteSite,
}

class FreeLicenseResponse implements IConvertible
{
    String? licenseName;
    String? licenseRef;
    String? licenseKey;
    LicenseType? licenseType;
    DateTime? createdDate;
    DateTime? expiryDate;
    String? externalRef;
    ResponseStatus? responseStatus;

    FreeLicenseResponse({this.licenseName,this.licenseRef,this.licenseKey,this.licenseType,this.createdDate,this.expiryDate,this.externalRef,this.responseStatus});
    FreeLicenseResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        licenseName = json['licenseName'];
        licenseRef = json['licenseRef'];
        licenseKey = json['licenseKey'];
        licenseType = JsonConverters.fromJson(json['licenseType'],'LicenseType',context!);
        createdDate = JsonConverters.fromJson(json['createdDate'],'DateTime',context!);
        expiryDate = JsonConverters.fromJson(json['expiryDate'],'DateTime',context!);
        externalRef = json['externalRef'];
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'licenseName': licenseName,
        'licenseRef': licenseRef,
        'licenseKey': licenseKey,
        'licenseType': JsonConverters.toJson(licenseType,'LicenseType',context!),
        'createdDate': JsonConverters.toJson(createdDate,'DateTime',context!),
        'expiryDate': JsonConverters.toJson(expiryDate,'DateTime',context!),
        'externalRef': externalRef,
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "FreeLicenseResponse";
    TypeContext? context = _ctx;
}

class CreateOpenSourceLicense implements IPost, IConvertible
{
    String? licenseName;
    String? projectUrl;
    String? licenseSpdx;
    bool? agreeTerms;

    CreateOpenSourceLicense({this.licenseName,this.projectUrl,this.licenseSpdx,this.agreeTerms});
    CreateOpenSourceLicense.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        licenseName = json['licenseName'];
        projectUrl = json['projectUrl'];
        licenseSpdx = json['licenseSpdx'];
        agreeTerms = json['agreeTerms'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'licenseName': licenseName,
        'projectUrl': projectUrl,
        'licenseSpdx': licenseSpdx,
        'agreeTerms': agreeTerms
    };

    getTypeName() => "CreateOpenSourceLicense";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'account.servicestack.net', types: <String, TypeInfo> {
    'LicenseType': TypeInfo(TypeOf.Enum, enumValues:LicenseType.values),
    'FreeLicenseResponse': TypeInfo(TypeOf.Class, create:() => FreeLicenseResponse()),
    'CreateOpenSourceLicense': TypeInfo(TypeOf.Class, create:() => CreateOpenSourceLicense()),
});

Dart CreateOpenSourceLicense DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /freelicense/opensource HTTP/1.1 
Host: account.servicestack.net 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<CreateOpenSourceLicense xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/MyApp.ServiceInterface">
  <AgreeTerms>false</AgreeTerms>
  <LicenseName>String</LicenseName>
  <LicenseSpdx>String</LicenseSpdx>
  <ProjectUrl>String</ProjectUrl>
</CreateOpenSourceLicense>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<FreeLicenseResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/MyApp.ServiceInterface">
  <CreatedDate>0001-01-01T00:00:00</CreatedDate>
  <ExpiryDate>0001-01-01T00:00:00</ExpiryDate>
  <ExternalRef>String</ExternalRef>
  <LicenseKey>String</LicenseKey>
  <LicenseName>String</LicenseName>
  <LicenseRef>String</LicenseRef>
  <LicenseType>Free</LicenseType>
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
</FreeLicenseResponse>