Skip to content

Releases: ChildMindInstitute/mindlogger-backend

✨ Data responses: `GET /applet/{id}/data`

17 Jan 21:14
6461f27
Compare
Choose a tag to compare
v0.8.1

:sparkles: Data responses: GET /applet/{id}/data (#256)

🏇 Import Large JSON-LD Documents

09 Dec 16:06
bafaff8
Compare
Choose a tag to compare

Rather than waiting to generate an applet from a remote protocol, the server now sends an email once a new applet is finished parsing.

✨ 👥 New User Model

19 Nov 15:31
1b9d1f1
Compare
Choose a tag to compare
  • For accepting an invitation POST /invitation/{id}/accept replaces POST /group/{id}/invitation. Before, you had to get the group ID. Now the invitation has its own ID to use. GET /user/invites will return these new invitation documents. Additionally GET /invitation/{id}/accept will allow users to accept an invitation through a token.
  • GET /applet/{id}/users returns much simpler Objects with minimal identifying information, and that information is conditionally available based on the logged-in users permissions relative to that applet. The top-level keys are active and pending. The IDs in active are profile IDs; the IDs in pending are invitation IDs.

Looking up users by user IDs will be fully deprecated and profile IDs will take their place where appropriate.

An example:

{
  "active": [
    {
      "_id": "5dcef573c51a768de658312b",
      "displayName": "Jon",
      "email": "jon.clucas@childmind.org"
    },
    {
      "_id": "5dcf28f0e10e41aba75dc2f9",
      "displayName": "Ada",
      "email": ""
    }
  ],
  "pending": [
    {
      "_id": "5dcef148070c4c8a1e096fb7",
      "invitedBy": {
        "_id": "5dcef130070c4c8a1e096fb6",
        "displayName": "Jon",
        "email": "jon.clucas@childmind.org"
      }
    },
    {
      "_id": "5dcefea2f6be14681e02bbb6",
      "displayName": "Dev",
      "invitedBy": {
        "_id": "5dcef573c51a768de658312b",
        "displayName": "Jon",
        "email": "jon.clucas@childmind.org"
      }
    },
    {
      "_id": "5dcf123152ba8bb77655b1fc",
      "displayName": "Dev",
      "invitedBy": {
        "_id": "5dcef573c51a768de658312b",
        "displayName": "Jon",
        "email": "jon.clucas@childmind.org"
      }
    }
  ]
}
  • GET /invitation/{id} will return a message about the applet you've been invited to, including a link to accept the invitation by token if you're logged in.

    Example response:

Dev, you have been invited by Jon (jon.clucas@childmind.org) to Healthy Brain Network (1) on
MindLogger on localhost (jclucas-rsch).

Description

Daily questions about your child's physical and mental health

The following users can see your data for this applet

  • Jon

The following users can change settings for this applet, including who can access your data

  • Jon

The following users can change settings for this applet, but not who can access your data

  • Jon

To accept, click http://0ccc9146.ngrok.io/api/v1/invitation/5dcf123152ba8bb77655b1fc/accept?token=5SI5LdmfXl1cOZrFMaKhY5wK5rXccfFhlAXC3KGnHNaWcJG0XceJTAu21JAt5qPb.

Other

  • For inviting a user to an applet, POST /applet/{id}/invite replaces POST /applet/invite

🔨 reprolib Prefix

30 Oct 16:01
cfea5d4
Compare
Choose a tag to compare
  • 🔨 Prefix all reprolib terms
  • 🚑 🚜 Delanguage tag http://schema.org/urls

💚✨ Integration tests

30 Oct 16:03
Compare
Choose a tag to compare
  • fix: create the applets collection if it isn't already there

  • wip/enh: making a library of functions for mindlogger tests and accompanying notebook

  • enh/wip: cleaning up integration tests

  • enh: added tests

  • fix: removed all the debugging print statements

  • fix: a tryexcept function returns the number of expected output args so that the tests continue

  • memo green_heart simplejson in install requirements