Managing user lookups

From DreamFactory
Jump to: navigation, search
DreamFactoryTutorialsManaging user lookups

You can use the API to manage user lookups.

To add user lookups update the user record and include the relationship 'lookup_by_user_id'. In these examples the id of the user is 100 and we are adding a single lookup named 'favorite_food'.

PUT /api/v2/system/user/100?related=lookup_by_user_id 
{
	"lookup_by_user_id": [{
		"name": "favorite_food",
		"value": "pizza",
		"private": false,
		"description": null
	}]
}

To retrieve user lookups include the relationship 'lookup_by_user_id'. The 'user_id' field for the lookup will be set to 100. This is what links the lookup record to the user record. Since this is the first user lookup in the system its id is set to 1.

GET /api/v2/system/user/100?related=lookup_by_user_id  
{
	"id": 100,
	"name": "Test User",
	"username": null,
	"first_name": "Test",
	"last_name": "User",
	"last_login_date": "2016-09-13 16:28:08",
	"email": "testuser1@dreamfactory.com",
	"is_active": true,
	"phone": null,
	"security_question": null,
	"confirm_code": "y",
	"default_app_id": null,
	"oauth_provider": null,
	"created_date": "2016-09-20 14:12:59",
	"last_modified_date": "2016-09-20 18:12:59",
	"created_by_id": 1,
	"last_modified_by_id": 10,
	"lookup_by_user_id": [
		{
			"id": 1,
			"user_id": 100,
			"name": "favorite_food",
			"value": "pizza",
			"private": false,
			"description": null,
			"created_date": "2016-09-20 18:25:04",
			"last_modified_date": "2016-09-20 18:25:04",
			"created_by_id": null,
			"last_modified_by_id": null
		}
	]
}

To modify user lookups update the user and provide the new name or value along with the lookup id.

IMPORTANT: You must provide the user_id for the lookups you are updating, otherwise they will be deleted.

PUT /api/v2/system/user/100?related=lookup_by_user_id  
{
	"lookup_by_user_id": [{
		"id": 1,
		"user_id": 100,
  		"value": "grilled cheese"
	}]
}

To delete user lookups update the user and set the user_id for the lookups to delete to null.

PUT /api/v2/system/user/100?related=lookup_by_user_id  
{
	"lookup_by_user_id": [{
		"id": 1,
		"user_id": null
	}]
}

You can also modify these lookups via the API Docs tab

Migrate over to the System Management endpoint inside of the API Docs tab.

API Docs - System Endpoints

Scroll down to the _user/{id} endpoints where you can perform CRUD operations on various lookup keys.

API Docs - System _user/{id} Endpoints

Using the same example data as API example above, but with a user_id of 2 in this case, we update our related lookup values with a PUT request. You can, of course, use PATCH to modify any of the currently created lookups.

You can see the successful response code (200) that is generated as well as the normal URL and cURL endpoints as well. The user_id is confirmed as 2, and the id of the newly added lookup is 7.

API Docs -Successful Response - PUT request

You can perform a GET request, and add the related data to confirm that this new lookup has in fact been added.

API Docs -Successful Response - GET request