wombo-dream-api
Version:
Unofficial API for Wombo Dream
91 lines (80 loc) • 17.8 kB
HTML
<html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>wombo-dream-api</title><meta name="description" content="Documentation for wombo-dream-api"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script async src="assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base="."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="index.html" class="title">wombo-dream-api</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label><input type="checkbox" id="tsd-filter-externals" checked/><label class="tsd-widget" for="tsd-filter-externals">Externals</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><h1>wombo-dream-api</h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><div class="tsd-panel tsd-typography">
<a href="#wombo-dream-api---" id="wombo-dream-api---" style="color: inherit; text-decoration: none;">
<h1>wombo-dream-api <a href="https://github.com/leopoldhub/wombo-dream-api/blob/master/LICENSE"><img src="https://img.shields.io/github/license/leopoldhub/wombo-dream-api.svg" alt="License"></a> <a href="https://www.npmjs.com/package/wombo-dream-api"><img src="https://img.shields.io/npm/v/wombo-dream-api.svg" alt="NPM version"></a> <a href="https://www.npmjs.com/package/wombo-dream-api"><img src="https://img.shields.io/npm/dm/wombo-dream-api.svg" alt="NPM downloads"></a></h1>
</a>
<p>Unofficial API for <a href="https://app.wombo.art">Wombo Dream</a></p>
<p style="color: lime;">❤ Feel free to contribute to the project ❤ </p>
<a href="#upcomming-features" id="upcomming-features" style="color: inherit; text-decoration: none;">
<h2>Upcomming features</h2>
</a>
<ul>
<li>NFT minting</li>
<li>change of password/username/email/profile picture</li>
<li>ability to browse other users' profiles</li>
</ul>
<a href="#changelog" id="changelog" style="color: inherit; text-decoration: none;">
<h2>Changelog</h2>
</a>
<blockquote>
<a href="#016" id="016" style="color: inherit; text-decoration: none;">
<h3>0.1.6</h3>
</a>
<ul>
<li>Refactoring</li>
<li>Documentation updated</li>
<li>API testing</li>
</ul>
</blockquote>
<blockquote>
<a href="#015" id="015" style="color: inherit; text-decoration: none;">
<h3>0.1.5</h3>
</a>
<ul>
<li>Can now fetch tasks shop url</li>
<li>Can now save, fetch, fetch all and delete tasks in the gallery</li>
</ul>
</blockquote>
<blockquote>
<a href="#014-fix" id="014-fix" style="color: inherit; text-decoration: none;">
<h3>0.1.4-fix</h3>
</a>
<ul>
<li>Throw error when task generation fails</li>
<li>uploaded images <strong>MUST</strong> be jpg/jpeg</li>
</ul>
</blockquote>
<blockquote>
<a href="#014" id="014" style="color: inherit; text-decoration: none;">
<h3>0.1.4</h3>
</a>
<ul>
<li>Using <strong>typedoc</strong> to generate <strong><a href="https://leopoldhub.github.io/wombo-dream-api/">Documentation</a></strong></li>
<li>Updating <strong><a href="https://leopoldhub.github.io/wombo-dream-api/">Documentation</a></strong></li>
</ul>
</blockquote>
<a href="#installation" id="installation" style="color: inherit; text-decoration: none;">
<h2>Installation</h2>
</a>
<a href="#nodejs" id="nodejs" style="color: inherit; text-decoration: none;">
<h3>node.js</h3>
</a>
<pre><code><span class="hl-0">npm</span><span class="hl-1"> </span><span class="hl-0">install</span><span class="hl-1"> </span><span class="hl-0">wombo</span><span class="hl-1">-</span><span class="hl-0">dream</span><span class="hl-1">-</span><span class="hl-0">api</span>
</code></pre>
<blockquote>
<p>Please read the
<strong><a href="https://leopoldhub.github.io/wombo-dream-api/">Documentation</a></strong>
to learn more about the api.</p>
</blockquote>
<a href="#example" id="example" style="color: inherit; text-decoration: none;">
<h2>Example</h2>
</a>
<pre><code class="language-javascript"><span class="hl-2">const</span><span class="hl-1"> { </span><span class="hl-3">buildDefaultInstance</span><span class="hl-1"> } = </span><span class="hl-4">require</span><span class="hl-1">(</span><span class="hl-5">'wombo-dream-api'</span><span class="hl-1">);</span><br/><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-3">fs</span><span class="hl-1"> = </span><span class="hl-4">require</span><span class="hl-1">(</span><span class="hl-5">'fs'</span><span class="hl-1">);</span><br/><br/><span class="hl-1">(</span><span class="hl-2">async</span><span class="hl-1"> () </span><span class="hl-2">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-6">try</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-3">credentials</span><span class="hl-1"> = {</span><br/><span class="hl-1"> </span><span class="hl-0">email:</span><span class="hl-1"> </span><span class="hl-5">'mysuperemail@gmail.com'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-0">password:</span><span class="hl-1"> </span><span class="hl-5">'mypassword'</span><span class="hl-1">,</span><br/><span class="hl-1"> };</span><br/><br/><span class="hl-1"> </span><span class="hl-7">// signin is automatically done when you interract with the api if you pass credentials</span><br/><span class="hl-1"> </span><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-3">wombo</span><span class="hl-1"> = </span><span class="hl-4">buildDefaultInstance</span><span class="hl-1">(</span><span class="hl-0">credentials</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-7">// if you want to sign up as new user:</span><br/><span class="hl-1"> </span><span class="hl-7">// await wombo.authentifier.signUp(credentials);</span><br/><br/><span class="hl-1"> </span><span class="hl-7">// fetch all styles</span><br/><span class="hl-1"> </span><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-3">styles</span><span class="hl-1"> = </span><span class="hl-6">await</span><span class="hl-1"> </span><span class="hl-0">wombo</span><span class="hl-1">.</span><span class="hl-4">fetchStyles</span><span class="hl-1">();</span><br/><span class="hl-1"> </span><span class="hl-0">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">(</span><span class="hl-0">styles</span><span class="hl-1">.</span><span class="hl-4">map</span><span class="hl-1">((</span><span class="hl-0">style</span><span class="hl-1">) </span><span class="hl-2">=></span><span class="hl-1"> </span><span class="hl-5">`[</span><span class="hl-2">${</span><span class="hl-0">style</span><span class="hl-8">.</span><span class="hl-0">id</span><span class="hl-2">}</span><span class="hl-5">] </span><span class="hl-2">${</span><span class="hl-0">style</span><span class="hl-8">.</span><span class="hl-0">name</span><span class="hl-2">}</span><span class="hl-5">`</span><span class="hl-1">));</span><br/><br/><span class="hl-1"> </span><span class="hl-7">// upload image [ONLY JPEG SUPPORTED]</span><br/><span class="hl-1"> </span><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-3">uploadedImage</span><span class="hl-1"> = </span><span class="hl-6">await</span><span class="hl-1"> </span><span class="hl-0">wombo</span><span class="hl-1">.</span><span class="hl-4">uploadImage</span><span class="hl-1">(</span><br/><span class="hl-1"> </span><span class="hl-0">fs</span><span class="hl-1">.</span><span class="hl-4">readFileSync</span><span class="hl-1">(</span><span class="hl-5">'./image.jpeg'</span><span class="hl-1">)</span><br/><span class="hl-1"> );</span><br/><br/><span class="hl-1"> </span><span class="hl-7">// generate picture from image</span><br/><span class="hl-1"> </span><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-3">generatedTask</span><span class="hl-1"> = </span><span class="hl-6">await</span><span class="hl-1"> </span><span class="hl-0">wombo</span><span class="hl-1">.</span><span class="hl-4">generatePicture</span><span class="hl-1">(</span><br/><span class="hl-1"> </span><span class="hl-5">'mountain'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-0">styles</span><span class="hl-1">[</span><span class="hl-9">0</span><span class="hl-1">].</span><span class="hl-0">id</span><span class="hl-1">,</span><br/><span class="hl-1"> (</span><span class="hl-0">taskInProgress</span><span class="hl-1">) </span><span class="hl-2">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-0">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">(</span><br/><span class="hl-1"> </span><span class="hl-5">`[</span><span class="hl-2">${</span><span class="hl-0">taskInProgress</span><span class="hl-8">.</span><span class="hl-0">id</span><span class="hl-2">}</span><span class="hl-5">]: </span><span class="hl-2">${</span><span class="hl-0">taskInProgress</span><span class="hl-8">.</span><span class="hl-0">state</span><span class="hl-2">}</span><span class="hl-5"> | step: </span><span class="hl-2">${</span><span class="hl-0">taskInProgress</span><span class="hl-8">.</span><span class="hl-0">photo_url_list</span><span class="hl-8">.</span><span class="hl-0">length</span><span class="hl-2">}</span><span class="hl-5">`</span><br/><span class="hl-1"> );</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> { </span><span class="hl-0">mediastore_id:</span><span class="hl-1"> </span><span class="hl-0">uploadedImage</span><span class="hl-1">.</span><span class="hl-0">id</span><span class="hl-1">, </span><span class="hl-0">weight:</span><span class="hl-1"> </span><span class="hl-5">'HIGH'</span><span class="hl-1"> }</span><br/><span class="hl-1"> );</span><br/><br/><span class="hl-1"> </span><span class="hl-0">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">(</span><br/><span class="hl-1"> </span><span class="hl-5">`[</span><span class="hl-2">${</span><span class="hl-0">generatedTask</span><span class="hl-8">.</span><span class="hl-0">id</span><span class="hl-2">}</span><span class="hl-5">]: </span><span class="hl-2">${</span><span class="hl-0">generatedTask</span><span class="hl-8">.</span><span class="hl-0">state</span><span class="hl-2">}</span><span class="hl-5"> | final url: </span><span class="hl-2">${</span><span class="hl-0">generatedTask</span><span class="hl-8">.</span><span class="hl-0">result</span><span class="hl-8">?.</span><span class="hl-0">final</span><span class="hl-2">}</span><span class="hl-5">`</span><br/><span class="hl-1"> );</span><br/><br/><span class="hl-1"> </span><span class="hl-7">// to interract with the gallery, YOU NEED TO HAVE A USERNAME!</span><br/><span class="hl-1"> </span><span class="hl-7">// if you just created the account and it doesn't have a username, set it with:</span><br/><span class="hl-1"> </span><span class="hl-7">// await wombo.setUsername('myusername');</span><br/><br/><span class="hl-1"> </span><span class="hl-7">// save an image in the gallery</span><br/><span class="hl-1"> </span><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-3">savedTask</span><span class="hl-1"> = </span><span class="hl-6">await</span><span class="hl-1"> </span><span class="hl-0">wombo</span><span class="hl-1">.</span><span class="hl-4">saveTaskToGallery</span><span class="hl-1">(</span><br/><span class="hl-1"> </span><span class="hl-0">generatedTask</span><span class="hl-1">.</span><span class="hl-0">id</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">'my wonderful creation'</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-2">true</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-2">true</span><br/><span class="hl-1"> );</span><br/><br/><span class="hl-1"> </span><span class="hl-0">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">(</span><span class="hl-5">'image saved!'</span><span class="hl-1">);</span><br/><br/><span class="hl-1"> </span><span class="hl-7">// obtain gallery tasks</span><br/><span class="hl-1"> </span><span class="hl-2">const</span><span class="hl-1"> </span><span class="hl-3">galleryTasks</span><span class="hl-1"> = </span><span class="hl-6">await</span><span class="hl-1"> </span><span class="hl-0">wombo</span><span class="hl-1">.</span><span class="hl-4">fetchGalleryTasks</span><span class="hl-1">();</span><br/><br/><span class="hl-1"> </span><span class="hl-0">console</span><span class="hl-1">.</span><span class="hl-4">log</span><span class="hl-1">(</span><span class="hl-0">galleryTasks</span><span class="hl-1">);</span><br/><span class="hl-1"> } </span><span class="hl-6">catch</span><span class="hl-1"> (</span><span class="hl-0">error</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-0">console</span><span class="hl-1">.</span><span class="hl-4">error</span><span class="hl-1">(</span><span class="hl-0">error</span><span class="hl-1">);</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">})();</span>
</code></pre>
<blockquote>
<p>More examples can be found in the <strong><a href="https://leopoldhub.github.io/wombo-dream-api/">Documentation</a></strong></p>
</blockquote>
<a href="#license" id="license" style="color: inherit; text-decoration: none;">
<h2>License</h2>
</a>
<p><a href="LICENSE">MIT</a></p>
</div></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class="current"><a href="modules.html">Exports</a></li><li class=" tsd-kind-namespace"><a href="modules/_internal_.html"><internal></a></li><li class=" tsd-kind-namespace"><a href="modules/GoogleAuthentifier.html">Google<wbr/>Authentifier</a></li><li class=" tsd-kind-namespace"><a href="modules/Types.html">Types</a></li><li class=" tsd-kind-namespace"><a href="modules/WomboDream.html">Wombo<wbr/>Dream</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="tsd-kind-variable"><a href="modules.html#DEFAULT_AUTHENTIFICATION_KEY" class="tsd-kind-icon">DEFAULT_<wbr/>AUTHENTIFICATION_<wbr/>KEY</a></li><li class="tsd-kind-variable"><a href="modules.html#DEFAULT_GALLERY_API_SUFFIX" class="tsd-kind-icon">DEFAULT_<wbr/>GALLERY_<wbr/>API_<wbr/>SUFFIX</a></li><li class="tsd-kind-variable"><a href="modules.html#DEFAULT_ORIGIN_URL" class="tsd-kind-icon">DEFAULT_<wbr/>ORIGIN_<wbr/>URL</a></li><li class="tsd-kind-variable"><a href="modules.html#DEFAULT_SHOP_API_SUFFIX" class="tsd-kind-icon">DEFAULT_<wbr/>SHOP_<wbr/>API_<wbr/>SUFFIX</a></li><li class="tsd-kind-variable"><a href="modules.html#DEFAULT_STYLE_API_SUFFIX" class="tsd-kind-icon">DEFAULT_<wbr/>STYLE_<wbr/>API_<wbr/>SUFFIX</a></li><li class="tsd-kind-variable"><a href="modules.html#DEFAULT_TASK_API_SUFFIX" class="tsd-kind-icon">DEFAULT_<wbr/>TASK_<wbr/>API_<wbr/>SUFFIX</a></li><li class="tsd-kind-variable"><a href="modules.html#DEFAULT_TASK_API_URL" class="tsd-kind-icon">DEFAULT_<wbr/>TASK_<wbr/>API_<wbr/>URL</a></li><li class="tsd-kind-variable"><a href="modules.html#DEFAULT_UPLOAD_URL" class="tsd-kind-icon">DEFAULT_<wbr/>UPLOAD_<wbr/>URL</a></li><li class="tsd-kind-variable"><a href="modules.html#DEFAULT_USER_API_SUFFIX" class="tsd-kind-icon">DEFAULT_<wbr/>USER_<wbr/>API_<wbr/>SUFFIX</a></li><li class="tsd-kind-function"><a href="modules.html#buildDefaultInstance" class="tsd-kind-icon">build<wbr/>Default<wbr/>Instance</a></li></ul></nav></div></div></div><footer class="with-border-bottom"><div class="container"><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="container tsd-generator"><p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div><div class="overlay"></div><script src="assets/main.js"></script></body></html>