Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GET /api/entries returns object, no more array #1069

Merged
merged 4 commits into from
Feb 10, 2015
Merged

Conversation

nicosomb
Copy link
Member

No description provided.

@@ -126,6 +126,6 @@ public function findEntries($userId, $isArchived = null, $isStarred = null, $isD

return $qb
->getQuery()
->getResult(Query::HYDRATE_ARRAY);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should update the phpDoc of this method then

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changed. It returns Entry (tell me if I'm wrong).

@j0k3r j0k3r added this to the 2.0 milestone Feb 10, 2015
j0k3r added a commit that referenced this pull request Feb 10, 2015
GET /api/entries returns object, no more array
@j0k3r j0k3r merged commit f59f45d into v2 Feb 10, 2015
@j0k3r j0k3r deleted the v2-fix-return-entries branch February 10, 2015 13:51
@kevmeyer
Copy link
Contributor

This change has a side effect: every article sends it's user object, which sends all (except the current) articles of this user.

Meaning increase of redundant data.

Sample:

[
  {
    "id": 4,
    "title": "xkcd: API",
    "url": "http://xkcd.com/1481/",
    "is_archived": false,
    "is_starred": false,
    "is_deleted": false,
    "content": "<head><link rel=\"stylesheet\" type=\"text/css\" href=\"/s/b0dcca.css\" title=\"Default\"/><title>xkcd: API</title><meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"/><link rel=\"shortcut icon\" href=\"/s/919f27.ico\" type=\"image/x-icon\"/><link rel=\"icon\" href=\"/s/919f27.ico\" type=\"image/x-icon\"/><link rel=\"alternate\" type=\"application/atom+xml\" title=\"Atom 1.0\" href=\"/atom.xml\"/><link rel=\"alternate\" type=\"application/rss+xml\" title=\"RSS 2.0\" href=\"/rss.xml\"/></head><body id=\"readabilityBody\" readability=\"29.311740890688\">\n<div id=\"topContainer\">\n\n<div id=\"topRight\">\n\n<div id=\"news\"><a href=\"http://store.xkcd.com/products/webcomic-science-valentines\"><img border=\"0\" src=\"http://imgs.xkcd.com/store/combined-store-left.png\"/></a></div>\n</div>\n\n\n</div>\n<div id=\"middleContainer\" class=\"box\" readability=\"18.177974434612\">\n<p>API</p>\n<div id=\"comic\"><img src=\"http://imgs.xkcd.com/comics/api.png\" title=\"ACCESS LIMITS: Clients may maintain connections to the server for no more than 86,400 seconds per day. If you need additional time, you may contact IERS to file a request for up to one additional second.\" alt=\"API\"/></div>\n<br/>Permanent link to this comic: http://xkcd.com/1481/<br/>Image URL (for hotlinking/embedding): http://imgs.xkcd.com/comics/api.png\n<p>((This is a faux-screenshot of a technical document)) [[A figure sits at a computer upon a desk, apparently engrossed in the document which we now see before us.]] TITLE: API GUIDE Request URL Format: domain user item Server will return an XML document which contains the requested data and documentation describing how the data is organized spatially. API KEYS: To obtain API access, contact the x.509-authenticated server and request an ECDH-RSA TLS key... Caption: If you do things right, it can take people a while to realize that your \"API documentation\" is just instructions for how to look at your website. {{Title text: ACCESS LIMITS: Clients may maintain connections to the server for no more than 86,400 seconds per day. If you need additional time, you may contact IERS to file a request for up to one additional second.}}</p>\n</div>\n<div id=\"bottom\" class=\"box\" readability=\"9.3408\"><img src=\"http://imgs.xkcd.com/s/a899e84.jpg\" width=\"520\" height=\"100\" alt=\"Selected Comics\" usemap=\"#comicmap\"/><map id=\"comicmap\" name=\"comicmap\"><area shape=\"rect\" coords=\"0,0,100,100\" href=\"/150/\" alt=\"Grownups\"/><area shape=\"rect\" coords=\"104,0,204,100\" href=\"/730/\" alt=\"Circuit Diagram\"/><area shape=\"rect\" coords=\"208,0,308,100\" href=\"/162/\" alt=\"Angular Momentum\"/><area shape=\"rect\" coords=\"312,0,412,100\" href=\"/688/\" alt=\"Self-Description\"/><area shape=\"rect\" coords=\"416,0,520,100\" href=\"/556/\" alt=\"Alternative Energy Revolution\"/></map>\n<p>Warning: this comic occasionally contains strong language (which may be unsuitable for children), unusual humor (which may be unsuitable for adults), and advanced mathematics (which may be unsuitable for liberal-arts majors).</p>\n\n<div id=\"licenseText\" readability=\"21.322033898305\">\n<p>This work is licensed under a <a href=\"http://creativecommons.org/licenses/by-nc/2.5/\">Creative Commons Attribution-NonCommercial 2.5 License</a>.</p>\n<p>This means you're free to copy and share these comics (but not to sell them). <a rel=\"license\" href=\"http://xkcd.com/license.html\">More details</a>.</p>\n</div>\n</div>\n</body>",
    "created_at": "2015-02-10T14:46:10+0100",
    "updated_at": "2015-02-10T14:46:10+0100",
    "user": {
      "id": 1,
      "username": "wallabag",
      "salt": "a7bdce59b6077a014d22c6f749e681f7",
      "password": "49e5b5e8469bc313f78df0640a61d374dea8e4d8",
      "email": "",
      "is_active": true,
      "created_at": "2015-02-10T14:37:53+0100",
      "updated_at": "2015-02-10T14:37:53+0100",
      "entries": [
        {
          "id": 1,
          "title": "Studenten entdecken Tausende offene Firmen-Datenbanken im Internet",
          "url": "http://www.heise.de/newsticker/meldung/Studenten-entdecken-Tausende-offene-Firmen-Datenbanken-im-Internet-2545183.html",
          "is_archived": false,
          "is_starred": false,
          "is_deleted": false,
          "content": "\n\n<noscript>\n<div class=\"readspeaker\"><a href=\"http://www.heise.de/newsticker/meldung/Studenten-entdecken-Tausende-offene-Firmen-Datenbanken-im-Internet-2545183.html?view=audio\"/></div>\n</noscript>  \n<div class=\"meldung_wrapper\"><img src=\"http://2.f.ix.de/scale/geometry/600/q75/imgs/18/1/4/3/1/1/9/7/mongodb-e68956f428987390.png\"/><p class=\"caption\">Die offenen MongoDB-Server fanden sich auf der ganzen Welt.</p>\n<p class=\"source\">(Bild: CISPA - Jens Heyens, Kai Greshake, Eric Petryk)</p>\n<p class=\"meldung_anrisstext\"><strong>Rund 40.000 MongoDB-Datenbanken standen völlig ungesichert im Internet. Jedermann konnte Kundendaten mit Namen, Adressen, E-Mail- und sogar Kreditkartendaten ungehindert abrufen. Admins sollten ihre Installation dringend checken.</strong></p>\n<p>Drei Studenten stolperten quasi zufällig in einer Suchmaschine <a href=\"http://www.uni-saarland.de/nc/aktuelles/artikel/nr/12173.html\" target=\"_blank\" rel=\"external\">über Tausende offenbar ungesicherte Datenbanken</a>. Sie hatten plötzlich völlig ungehinderten Zugriff auf Namen, Adressen, E-Mail- und sogar Kreditkartendaten – einschließlich der Möglichkeit diese zu überschreiben. Es zeigte sich, dass dieser gefährliche Zustand in den meisten Fällen keineswegs beabsichtigt war, sondern dass da echte Kundendaten ungeschützt im Internet standen. Die Studenten informierten CERTs, Datenschützer und den Hersteller, die sich dann um eine Beseitigung des Problems bemühten. Viele Datenbanken sind jedoch nach wie vor unzureichend geschützt.</p>\n<p>Eine der offenen Datenbanken gehörte einem französischen Mobilfunk-Provider, die \"Adressen und Telefonnummern von rund acht Millionen Franzosen\" enthielt; immerhin auch rund eine halbe Million deutsche Adressen entdeckten die Studenten dort. Auch deutsche Online-Shops mit Kreditkarten-Informationen lokalisierten die Studenten und Mitarbeiter des Saarbrücker Kompetenzzentrums für IT-Sicherheit (CISPA) bei ihren Recherchen.</p>\n<p>Genauere Recherchen enthüllten, dass es sich um Instanzen der weit v<a href=\"http://www.mongodb.org/\" target=\"_blank\" rel=\"external\">erbreiteten NoSQL-Datenbank MongoDB</a> handelt, deren Admins ganz offensichtlich elementare Sicherheitsmechanismen nicht aktiviert hatten. In ihrer Analyse führen die Entdecker das zum Teil auch auf die Art der Standard-Installation und die Dokumentation zurück. Die meisten Distributionen installieren nämlich MongoDB so, dass Zugriffe lediglich vom lokalen System aus möglich sind; weitere Zugriffsbeschränkungen wie Passwörter werden nicht eingerichtet. Wer nun, etwa um die Last zu verteilen, die Datenbank auf einen eigenen Server auslagert und dabei den Zugriff von außen aktiviert, ohne zusätzliche Schutzmaßnahmen einzurichten, findet sich in genau der vorgefundenen Situation wieder: Nicht nur der eigene Web-Server sondern jedermann kann auf die Daten zugreifen.</p>\n<p>In Ihrer Dokumentation des Problems <a href=\"http://cispa.saarland/mongodb/\" target=\"_blank\" rel=\"external\">MongoDB databases at risk</a> appellieren Jens Heyens, Kai Greshake und Eric Petryka an Distributoren und den Datenbank-Hersteller die Notwendigkeit zusätzlicher Schutzmaßnahmen besser zu dokumentieren und möglichst bereits in der Standard-Installation zu verankern. Wer selbst einen MongoDB-Server betreibt, tut gut daran, diesen jetzt zu checken. Wenn er von außen über den Standard-TCP-Port 27017 erreichbar ist, dürfte er bald Besuch von ungebetenen Gäste bekommen. Dann sollten Zugangssperren den Zugriff auf berechtigte Nutzer begrenzen. Besser ist es, zusätzlich noch durch vorgelagerte Filter den Datenbank-Zugriff auf die IP-Adresse des eigenen Web-Servers zu beschränken. </p>\n</div>\n<footer class=\"article-footer\"><p class=\"news_navi\"><a href=\"http://www.heise.de/newsticker/meldung/Videostreaming-Dienst-Netflix-ab-sofort-auf-Kuba-verfuegbar-2545170.html\" name=\"meldung.ho.bottom.prev\"><span class=\"rsaquo\">«</span> Vorige</a> | <a href=\"http://www.heise.de/newsticker/meldung/LG-verschenkt-Virtual-Reality-Gehaeuse-fuers-G3-2545174.html\" name=\"meldung.ho.bottom.next\">Nächste <span class=\"rsaquo\">»</span></a></p>\n<div class=\"link_forum_beitrag news\">\n<p><a href=\"http://www.heise.de/security/news/foren/S-Studenten-entdecken-Tausende-offene-Firmen-Datenbanken-im-Internet/forum-291961/list/\"><strong>Kommentare lesen (139 Beiträge)</strong></a></p>\n</div>\n\n<p class=\"permalink\">Permalink: <a href=\"http://heise.de/-2545183\">http://heise.de/-2545183</a></p>\n<p class=\"printversion\"><a href=\"http://www.heise.de/newsticker/meldung/Studenten-entdecken-Tausende-offene-Firmen-Datenbanken-im-Internet-2545183.html?view=print\" rel=\"nofollow\">Version zum Drucken</a></p>\n</footer>",
          "created_at": "2015-02-10T14:45:24+0100",
          "updated_at": "2015-02-10T14:45:24+0100"
        },
        {
          "id": 2,
          "title": "Zugunsten von HTTP/2 verabschiedet sich Google von SPDY",
          "url": "http://www.heise.de/newsticker/meldung/Zugunsten-von-HTTP-2-verabschiedet-sich-Google-von-SPDY-2544754.html",
          "is_archived": false,
          "is_starred": false,
          "is_deleted": false,
          "content": "\n\n<noscript>\n<div class=\"readspeaker\"><a href=\"http://www.heise.de/newsticker/meldung/Zugunsten-von-HTTP-2-verabschiedet-sich-Google-von-SPDY-2544754.html?view=audio\"/></div>\n</noscript>  \n<div class=\"meldung_wrapper\"><img src=\"http://2.f.ix.de/scale/geometry/600/q75/imgs/18/1/4/3/0/9/5/2/aufmacher_ajax-c39af28e77dc9e01.jpeg\"/><p class=\"meldung_anrisstext\"><strong>Googles Netzwerkprotokoll SPDY stellt in vielen Punkten die Basis des nächsten HTTP-Standards. Da ist es naheliegend, zukünftig ganz auf diesen zu setzen.</strong></p>\n<p>Google hat <a href=\"http://blog.chromium.org/2015/02/hello-http2-goodbye-spdy-http-is_9.html\" target=\"_blank\" rel=\"external\">im Chromium-Blog bekannt gegeben</a>, dass der Konzern schon bald das von ihm eingeführte Netzwerkprotokoll SPDY (gesprochen \"speedy\") nicht mehr unterstützen werde. Stattdessen werde man bei Google fortan auf den sich noch <a href=\"http://www.heise.de/newsticker/meldung/HTTP-2-0-naehert-sich-der-Fertigstellung-2289246.html\">in Entwicklung befindenden offenen Standard HTTP/2</a> setzen. Vor rund fünf Jahren das erste Mal vorgestellt, wird SPDY mittlerweile von vielen Browsern (z. B. Firefox, Opera und Safari) unterstützt. Zahlreiche Eigenschaften des Protokolls bilden zudem die Grundlage für etliche der Features der nächsten HTTP-Version, von der man sich auch dank der Arbeiten bei SPDY eine bessere Performance und geringere Latenzzeiten verspricht.</p>\n<p>Die Unterstützung des SPDY-Protokolls in Chrome beziehungsweise Chromium wird wohl Anfang 2016 zurückgezogen. Die für die NPN-TLS-Erweiterung (Next Protocol Negotiation; Transport Layer Security) wird ebenfalls eingestellt. Hier wird dann <a href=\"https://tools.ietf.org/html/rfc7301\" target=\"_blank\" rel=\"external\">ALPN</a> (Application-Layer Protocol Negotiation) favorisiert. Googles Ankündigung erfolgt vor dem Hintergrund, Serverentwicklern genügend Zeit für den Umstieg auf HTTP/2 und ALPN zu geben. Derzeit arbeitet man bei Google daran, die HTTP/2-Unterstützung in Chrome 40 einzuführen.</p>\n<p><em>Siehe dazu auf heise Netze:</em></p>\n<ul><li><a href=\"http://www.heise.de/netze/artikel/Wie-HTTP-2-0-das-Surfen-beschleunigt-2164146.html\">Wie HTTP 2.0 das Surfen beschleunigt</a></li>\n</ul></div>\n<footer class=\"article-footer\"><p class=\"news_navi\"><a href=\"http://www.heise.de/newsticker/meldung/Aldi-und-Primark-Die-letzten-Online-Verweigerer-2544743.html\" name=\"meldung.ho.bottom.prev\"><span class=\"rsaquo\">«</span> Vorige</a> | <a href=\"http://www.heise.de/newsticker/meldung/Chinas-Kartellwaechter-verhaengen-Strafe-gegen-Chiphersteller-Qualcomm-2544757.html\" name=\"meldung.ho.bottom.next\">Nächste <span class=\"rsaquo\">»</span></a></p>\n<div class=\"link_forum_beitrag news\">\n<p><a href=\"http://www.heise.de/developer/news/foren/S-Zugunsten-von-HTTP-2-verabschiedet-sich-Google-von-SPDY/forum-291950/list/\"><strong>Kommentare lesen (38 Beiträge)</strong></a></p>\n</div>\n<p class=\"themen_foren\">Forum bei heise Developer: <a href=\"http://www.heise.de/forum/heise-Developer/Themen-Hilfe/Sonstiges/forum-59945/comment/\" title=\"Zum Themenforum Sonstiges\">Sonstiges</a></p>\n\n<p class=\"permalink\">Permalink: <a href=\"http://heise.de/-2544754\">http://heise.de/-2544754</a></p>\n<p class=\"printversion\"><a href=\"http://www.heise.de/newsticker/meldung/Zugunsten-von-HTTP-2-verabschiedet-sich-Google-von-SPDY-2544754.html?view=print\" rel=\"nofollow\">Version zum Drucken</a></p>\n</footer>",
          "created_at": "2015-02-10T14:45:37+0100",
          "updated_at": "2015-02-10T14:45:37+0100"
        },
...

Full sample: https://gist.github.com/kevmeyer/1719fdbd16e12ee90530

@nicosomb
Copy link
Member Author

I just saw it too :-D On my TODO list.

@nicosomb nicosomb modified the milestones: 2.0, 2.0.0-alpha Aug 12, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants