Listify/Lambdas/Lists/List
2020-12-03 21:25:52 -05:00
..
src Merge branch 'master' into aaron-branch-2 2020-11-15 17:36:31 -08:00
test Login updates 2020-11-06 12:51:34 -05:00
README.md Create List module readme 2020-12-03 21:25:52 -05:00

List Module

Deals with managing the user-facing list creation, deletion, retrieval, and renaming. The supporting classes here also serve as resources for other modules.

Notable

ListPermission.java contains the lambda-side translation from permissionLevel to actual permissions. Keys updated on the client side must also be updated here.

ListGET

Retrieves details for an existing list

Expected request body:

N/A

Expected query parameters:

  • id
    • Used for specifying which list to retrieve
    • Valid values: -1,1<n<{num_lists}*

Inputs and outputs:

  • id = -1: Returns an array if listIDs (Integers) the requesting user has Read access to
  • id = 1<n<{num_lists}*: Returns a List object for the list with listID=id. ListGetter is developer friendly and proactively populates all of the ItemEntry objects in the list with their data.

*Not all number in this range are valid because a seemingly random subset may be removed by user activity and testing.

ListPOST

Creates a new list

Minimum expected request body:

{
  "name": "listName"
}

Other fields may be populated and are simply ignored.

Expected query parameters:

N/A

Inputs:

  • name: Provides the display name for the new list

Returns:

  • listID: An integer which is the listID of the newly created list

ListPUT

Updates a List's name

Minimum expected request body:

{
  "listID": 2,
  "name": "newListName"
}

Other fields may be populated and are simply ignored.

Expected query parameters:

N/A

Inputs:

  • listID: Provides the listID of the list which shall receive the new name
  • name: Provides the new display name for the list

Returns:

null

ListDELETE

Deletes a list and cleans out dependent tables like ListSharee

Minimum expected request body:

{
  "listID": 3
}

Other fields may be populated and are simply ignored.

Expected query parameters:

N/A

Inputs:

  • listID: Provides the listID of the list to delete

Returns:

null