UNPKG

eksi-sozluk

Version:
300 lines (249 loc) 36.1 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>EksiSozluk.js - Documentation</title> <script src="scripts/prettify/prettify.js"></script> <script src="scripts/prettify/lang-css.js"></script> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css"> <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css"> <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css"> </head> <body> <input type="checkbox" id="nav-trigger" class="nav-trigger" /> <label for="nav-trigger" class="navicon-button x"> <div class="navicon"></div> </label> <label for="nav-trigger" class="overlay"></label> <nav> <li class="nav-link nav-home-link"><a href="index.html">Home</a></li><li class="nav-heading">Tutorials</li><li class="nav-item"><a href="tutorial-01-getting-started.html">Getting Started</a></li><li class="nav-item"><a href="tutorial-02-profile.html">Profile</a></li><li class="nav-item"><a href="tutorial-03-trash.html">Trash</a></li><li class="nav-item"><a href="tutorial-04-account.html">Account</a></li><li class="nav-item"><a href="tutorial-05-titles.html">Titles</a></li><li class="nav-item"><a href="tutorial-06-entries-and-drafts.html">Entries & Drafts</a></li><li class="nav-item"><a href="tutorial-07-users.html">Users</a></li><li class="nav-item"><a href="tutorial-08-tags.html">Tags</a></li><li class="nav-item"><a href="tutorial-09-upload-and-delete-image.html">Upload & Delete Image</a></li><li class="nav-item"><a href="tutorial-10-questions.html">Questions</a></li><li class="nav-item"><a href="tutorial-11-miscellaneous.html">Miscellaneous</a></li><li class="nav-heading">Classes</li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="AuthError.html">AuthError</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="CollectionBase.html">CollectionBase</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="CollectionBase.html#first">first</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="CollectionBase.html#last">last</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="CollectionBase.html#next">next</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="CollectionBase.html#prev">prev</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="DraftEntry.html">DraftEntry</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="DraftEntry.html#change">change</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="DraftEntry.html#dismiss">dismiss</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="DraftEntry.html#publish">publish</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="DraftEntry.html#retrieve">retrieve</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="DraftTitle.html">DraftTitle</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="EksiMember.html">EksiMember</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#agenda">agenda</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#cancelEmailAddressChange">cancelEmailAddressChange</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#changeEmailAddress">changeEmailAddress</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#changeLoginUsername">changeLoginUsername</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#changePassword">changePassword</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#createBackup">createBackup</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#createEntry">createEntry</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#debeEntries">debeEntries</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#deleteAccount">deleteAccount</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#deleteImage">deleteImage</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#drafts">drafts</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#emptyTrash">emptyTrash</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#entries">entries</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#entryById">entryById</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#events">events</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#followedUserFavoriteEntries">followedUserFavoriteEntries</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#followedUserTitles">followedUserTitles</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#isEmailAddressInChangeStatus">isEmailAddressInChangeStatus</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#isNewEventExist">isNewEventExist</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#isNewMessageExist">isNewMessageExist</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#me">me</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#pinEntry">pinEntry</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#questionsInAgenda">questionsInAgenda</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#questionsInToday">questionsInToday</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#removePin">removePin</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#retrieve">retrieve</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#rookieTitles">rookieTitles</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#search">search</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#tags">tags</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#titlesByTag">titlesByTag</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#today">today</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#todayInHistory">todayInHistory</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#trashEntries">trashEntries</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#untaggedTitles">untaggedTitles</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#uploadImage">uploadImage</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiMember.html#user">user</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="EksiSozluk.html">EksiSozluk</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiSozluk.html#agenda">agenda</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiSozluk.html#createToken">createToken</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiSozluk.html#debeEntries">debeEntries</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiSozluk.html#entries">entries</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiSozluk.html#entryById">entryById</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiSozluk.html#isAuthenticated">isAuthenticated</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiSozluk.html#isRecaptchaRequired">isRecaptchaRequired</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiSozluk.html#login">login</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiSozluk.html#loginWithToken">loginWithToken</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiSozluk.html#questionsInAgenda">questionsInAgenda</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiSozluk.html#questionsInToday">questionsInToday</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiSozluk.html#search">search</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiSozluk.html#tags">tags</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiSozluk.html#titlesByTag">titlesByTag</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiSozluk.html#todayInHistory">todayInHistory</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiSozluk.html#untaggedTitles">untaggedTitles</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EksiSozluk.html#user">user</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="Entry.html">Entry</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="Entry.html#retrieve">retrieve</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="EntryCollection.html">EntryCollection</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EntryCollection.html#createEntry">createEntry</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EntryCollection.html#first">first</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EntryCollection.html#last">last</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EntryCollection.html#next">next</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EntryCollection.html#prev">prev</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EntryCollection.html#retrieve">retrieve</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="EntryForMember.html">EntryForMember</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EntryForMember.html#deleteFromTrash">deleteFromTrash</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EntryForMember.html#downvote">downvote</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EntryForMember.html#favorite">favorite</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EntryForMember.html#listFavoritedAuthors">listFavoritedAuthors</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EntryForMember.html#listFavoritedRookies">listFavoritedRookies</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EntryForMember.html#recoverFromTrash">recoverFromTrash</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EntryForMember.html#removevote">removevote</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EntryForMember.html#retrieve">retrieve</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EntryForMember.html#unfavorite">unfavorite</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="EntryForMember.html#upvote">upvote</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="FollowedUserFavoriteEntry.html">FollowedUserFavoriteEntry</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="FollowedUserTitle.html">FollowedUserTitle</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="Image.html">Image</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="ImageCollection.html">ImageCollection</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="ImageCollection.html#retrieve">retrieve</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="NotFoundError.html">NotFoundError</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="Question.html">Question</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="SearchResults.html">SearchResults</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="SearchResults.html#retrieve">retrieve</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="Tag.html">Tag</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="TagForMember.html">TagForMember</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="TagForMember.html#follow">follow</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="TagForMember.html#unfollow">unfollow</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="Title.html">Title</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="TitleCollection.html">TitleCollection</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="TitleCollection.html#first">first</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="TitleCollection.html#last">last</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="TitleCollection.html#next">next</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="TitleCollection.html#prev">prev</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="TitleCollection.html#retrieve">retrieve</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="TrashEntry.html">TrashEntry</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="TrashEntry.html#deleteFromTrash">deleteFromTrash</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="TrashEntry.html#downvote">downvote</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="TrashEntry.html#favorite">favorite</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="TrashEntry.html#listFavoritedAuthors">listFavoritedAuthors</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="TrashEntry.html#listFavoritedRookies">listFavoritedRookies</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="TrashEntry.html#recoverFromTrash">recoverFromTrash</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="TrashEntry.html#removevote">removevote</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="TrashEntry.html#retrieve">retrieve</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="TrashEntry.html#unfavorite">unfavorite</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="TrashEntry.html#upvote">upvote</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="UkteCollection.html">UkteCollection</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UkteCollection.html#retrieve">retrieve</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="User.html">User</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="User.html#entries">entries</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="User.html#favoriteAuthors">favoriteAuthors</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="User.html#favoritedEntries">favoritedEntries</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="User.html#favorites">favorites</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="User.html#images">images</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="User.html#lastVotedEntries">lastVotedEntries</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="User.html#mostLikedEntries">mostLikedEntries</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="User.html#retrieve">retrieve</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="User.html#selfFavoritedEntries">selfFavoritedEntries</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="User.html#ukteler">ukteler</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="UserEntryCollection.html">UserEntryCollection</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UserEntryCollection.html#first">first</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UserEntryCollection.html#last">last</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UserEntryCollection.html#next">next</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UserEntryCollection.html#prev">prev</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UserEntryCollection.html#retrieve">retrieve</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="UserFavoriteAuthorCollection.html">UserFavoriteAuthorCollection</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UserFavoriteAuthorCollection.html#retrieve">retrieve</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="UserForMember.html">UserForMember</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UserForMember.html#block">block</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UserForMember.html#blockTitles">blockTitles</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UserForMember.html#clearNote">clearNote</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UserForMember.html#entries">entries</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UserForMember.html#favoriteAuthors">favoriteAuthors</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UserForMember.html#favoritedEntries">favoritedEntries</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UserForMember.html#favorites">favorites</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UserForMember.html#follow">follow</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UserForMember.html#images">images</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UserForMember.html#lastVotedEntries">lastVotedEntries</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UserForMember.html#mostLikedEntries">mostLikedEntries</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UserForMember.html#retrieve">retrieve</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UserForMember.html#selfFavoritedEntries">selfFavoritedEntries</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UserForMember.html#sendMessage">sendMessage</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UserForMember.html#setNote">setNote</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UserForMember.html#ukteler">ukteler</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UserForMember.html#unblock">unblock</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UserForMember.html#unblockTitles">unblockTitles</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="UserForMember.html#unfollow">unfollow</a></span></li><li class="nav-heading"><span class="nav-item-type type-class">C</span><span class="nav-item-name"><a href="VoteError.html">VoteError</a></span></li><li class="nav-heading"><a href="global.html">Globals</a></li><li class="nav-item"><span class="nav-item-type type-member">M</span><span class="nav-item-name"><a href="global.html#COLLECTION_TYPES">COLLECTION_TYPES</a></span></li><li class="nav-item"><span class="nav-item-type type-member">M</span><span class="nav-item-name"><a href="global.html#TAGS">TAGS</a></span></li><li class="nav-item"><span class="nav-item-type type-member">M</span><span class="nav-item-name"><a href="global.html#TITLE_TYPES">TITLE_TYPES</a></span></li> </nav> <div id="main"> <h1 class="page-title">EksiSozluk.js</h1> <section> <article> <pre class="prettyprint source linenums"><code>const axios = require('axios') const setCookie = require('set-cookie-parser') const qs = require('querystring') const objectAssignDeep = require('object-assign-deep') const EksiGuest = require('./EksiGuest') const EksiMember = require('./EksiMember') const { request } = require('./utils') const { URLS } = require('./constants') const { AuthError } = require('./exceptions') /** * Manage all Eksi Sozluk abilities. * * @augments EksiGuest */ class EksiSozluk extends EksiGuest { /** * Create an Eksi Sozluk instance. * * @param {object} options Eksi Sozluk instance settings * @param {object} options.httpClient Axios settings as HTTP client, all Axios settings are useable * @param {number} [options.httpClient.timeout=3000] Timeout of requests in miliseconds * @param {string} [options.httpClient.baseURL=https://eksisozluk.com] Base URL of Eksi Sozluk, you can use proxy here */ constructor (options = {}) { // handle default options const _options = objectAssignDeep( { httpClient: { timeout: 3000, baseURL: URLS.BASE } }, options ) // make http client ready const httpClient = axios.create(_options.httpClient) super(httpClient) this._request = request(httpClient) } /** * Check is user authenticated or not. * * @param {string} [cookies=this.cookies] Cookies string. * @returns {Promise.&lt;boolean>} If user authenticated returns true, otherwise false. */ isAuthenticated (cookies = this.cookies) { return new Promise((resolve, reject) => { if (cookies) { axios({ url: URLS.BASE, method: 'GET', headers: { cookie: cookies } }).then(res => { const isLoggedIn = res.data.includes('data-logged-in="true"') resolve(isLoggedIn) }) } else { // cookies not exist, return false resolve(false) } }) } /** * Is verify ReCaptcha required to login? * * @returns {Promise.&lt;boolean>} If ReCaptcha required returns true, otherwise false. */ isRecaptchaRequired () { return new Promise((resolve, reject) => { axios({ url: URLS.LOGIN, method: 'GET' }).then(res => { // check recaptcha const isReCaptchaRequired = res.data.includes('g-recaptcha') resolve(isReCaptchaRequired) }) }) } /** * @typedef SessionToken * @property {string} value Token string. * @property {(Date|null)} expiresAt When will token expires? */ /** * Create Eksi Sozluk session token with your credentials. * * @param {string} email Your email address. * @param {string} password Your password. * @param {object} options Parameters that user can specify. * @param {boolean} [options.extendTime=false] If true, token will expire at 2 weeks later. * @returns {SessionToken} Eksi Sozluk session token. * @throws {AuthError} User not authorized, password or email is wrong. */ createToken (email, password, options = {}) { return new Promise((resolve, reject) => { // handle default options const _options = objectAssignDeep( { extendTime: false }, options ) axios({ url: URLS.LOGIN, method: 'GET' }) .then(res => { // check recaptcha const isReCaptchaRequired = res.data.includes('g-recaptcha') if (isReCaptchaRequired) { return reject(new Error('ReCaptcha Required')) } return res }) .then(res => { // parse csrf token and cookies const csrfRegex = new RegExp( '(?&lt;=input name="__RequestVerificationToken" type="hidden" value=")(.*)(?=" />)', 'u' ) const csrfToken = csrfRegex.exec(res.data)[0] const cookies = setCookie.parse(res.headers['set-cookie'], { map: true }) const csrfTokenInCookies = cookies.__RequestVerificationToken.value return { csrfToken, csrfTokenInCookies } }) .then(async ({ csrfToken, csrfTokenInCookies }) => { const requestBody = { UserName: email, Password: password, RememberMe: _options.extendTime, __RequestVerificationToken: csrfToken } const config = { maxRedirects: 0, validateStatus: status => { return status === 302 // accept just redirects }, headers: { Cookie: `__RequestVerificationToken=${csrfTokenInCookies};` } } return await axios.post(URLS.LOGIN, qs.stringify(requestBody), config) }) .then(res => { const isUnknownError = res.data.includes( '&lt;title>büyük başarısızlıklar sözkonusu - ekşi sözlük&lt;/title>' ) if (isUnknownError) { return reject(new Error('Unknown Error')) } const cookies = setCookie.parse(res.headers['set-cookie'], { map: true }) resolve({ value: cookies.a.value, // token expiresAt: cookies.a.expires || null }) }) .catch(err => { // password or username is wrong if (err.response &amp;&amp; err.response.status === 404) { return reject(new AuthError()) } // handle other errors reject(err) }) }) } /** * Login Eksi Sozluk with your credentials. * * @param {string} email Your email address. * @param {string} password Your password. * @returns {EksiMember} Eksi Sozluk session. * @throws {AuthError} User not authorized, password or email is wrong. */ async login (email, password) { const token = await this.createToken(email, password, { extendTime: true }) const cookie = `a=${token.value}` // no need for validate the session token const member = new EksiMember(this.httpClient, cookie) await member.retrieve() return member } /** * Login Eksi Sozluk with session cookie. * * @param {string} token Session token of member. * @returns {EksiMember} Eksi Sozluk session. * @throws {AuthError} User not authorized. */ async loginWithToken (token) { const cookie = `a=${token}` // check given session token const isAuthenticated = await this.isAuthenticated(cookie) if (!isAuthenticated) { throw new AuthError() } const member = new EksiMember(this.httpClient, cookie) await member.retrieve() return member } } module.exports = EksiSozluk </code></pre> </article> </section> </div> <br class="clear"> <footer> Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.7</a> on Sun Aug 29 2021 03:26:59 GMT+0300 (GMT+03:00) using the Minami theme. </footer> <script>prettyPrint();</script> <script src="scripts/linenumber.js"></script> </body> </html>