losant_rest 1.8.7 → 1.8.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/docs/_schemas.md +38618 -21196
- data/docs/application.md +76 -0
- data/docs/auth.md +0 -36
- data/docs/dashboards.md +1 -1
- data/docs/dataTableRows.md +2 -2
- data/docs/device.md +1 -0
- data/docs/events.md +81 -0
- data/docs/file.md +43 -0
- data/docs/me.md +50 -13
- data/lib/losant_rest.rb +0 -4
- data/lib/losant_rest/application.rb +90 -0
- data/lib/losant_rest/application_api_token.rb +2 -0
- data/lib/losant_rest/application_api_tokens.rb +2 -0
- data/lib/losant_rest/application_certificate.rb +2 -0
- data/lib/losant_rest/application_certificate_authorities.rb +2 -0
- data/lib/losant_rest/application_certificate_authority.rb +2 -0
- data/lib/losant_rest/application_certificates.rb +2 -0
- data/lib/losant_rest/application_key.rb +2 -0
- data/lib/losant_rest/application_keys.rb +2 -0
- data/lib/losant_rest/applications.rb +2 -0
- data/lib/losant_rest/audit_log.rb +2 -0
- data/lib/losant_rest/audit_logs.rb +2 -0
- data/lib/losant_rest/auth.rb +2 -42
- data/lib/losant_rest/client.rb +2 -18
- data/lib/losant_rest/dashboard.rb +2 -0
- data/lib/losant_rest/dashboards.rb +3 -1
- data/lib/losant_rest/data.rb +2 -0
- data/lib/losant_rest/data_table.rb +2 -0
- data/lib/losant_rest/data_table_row.rb +2 -0
- data/lib/losant_rest/data_table_rows.rb +4 -2
- data/lib/losant_rest/data_tables.rb +2 -0
- data/lib/losant_rest/device.rb +4 -0
- data/lib/losant_rest/device_recipe.rb +2 -0
- data/lib/losant_rest/device_recipes.rb +2 -0
- data/lib/losant_rest/devices.rb +2 -0
- data/lib/losant_rest/edge_deployments.rb +2 -0
- data/lib/losant_rest/event.rb +2 -0
- data/lib/losant_rest/events.rb +103 -0
- data/lib/losant_rest/experience.rb +2 -0
- data/lib/losant_rest/experience_domain.rb +2 -0
- data/lib/losant_rest/experience_domains.rb +2 -0
- data/lib/losant_rest/experience_endpoint.rb +2 -0
- data/lib/losant_rest/experience_endpoints.rb +2 -0
- data/lib/losant_rest/experience_group.rb +2 -0
- data/lib/losant_rest/experience_groups.rb +2 -0
- data/lib/losant_rest/experience_slug.rb +2 -0
- data/lib/losant_rest/experience_slugs.rb +2 -0
- data/lib/losant_rest/experience_user.rb +2 -0
- data/lib/losant_rest/experience_users.rb +2 -0
- data/lib/losant_rest/experience_version.rb +2 -0
- data/lib/losant_rest/experience_versions.rb +2 -0
- data/lib/losant_rest/experience_view.rb +2 -0
- data/lib/losant_rest/experience_views.rb +2 -0
- data/lib/losant_rest/file.rb +2 -0
- data/lib/losant_rest/files.rb +2 -0
- data/lib/losant_rest/flow.rb +2 -0
- data/lib/losant_rest/flow_version.rb +2 -0
- data/lib/losant_rest/flow_versions.rb +2 -0
- data/lib/losant_rest/flows.rb +2 -0
- data/lib/losant_rest/integration.rb +2 -0
- data/lib/losant_rest/integrations.rb +2 -0
- data/lib/losant_rest/me.rb +57 -13
- data/lib/losant_rest/notebook.rb +2 -0
- data/lib/losant_rest/notebooks.rb +2 -0
- data/lib/losant_rest/org.rb +2 -0
- data/lib/losant_rest/org_invites.rb +2 -0
- data/lib/losant_rest/orgs.rb +2 -0
- data/lib/losant_rest/version.rb +1 -1
- data/lib/losant_rest/webhook.rb +2 -0
- data/lib/losant_rest/webhooks.rb +2 -0
- data/schemas/advancedEventQuery.json +817 -0
- data/schemas/{dataTableQuery.json → advancedQuery.json} +5 -4
- data/schemas/apiTokens.json +4 -1
- data/schemas/application.json +30 -1
- data/schemas/applicationApiTokenPost.json +5 -0
- data/schemas/applicationCertificate.json +29 -1
- data/schemas/applicationCertificateAuthorities.json +36 -3
- data/schemas/applicationCertificateAuthority.json +32 -2
- data/schemas/applicationCertificateAuthorityPatch.json +3 -1
- data/schemas/applicationCertificateAuthorityPost.json +3 -1
- data/schemas/applicationCertificatePatch.json +3 -1
- data/schemas/applicationCertificatePost.json +3 -1
- data/schemas/applicationCertificates.json +33 -2
- data/schemas/applicationKeys.json +4 -1
- data/schemas/applicationPatch.json +28 -0
- data/schemas/applicationPost.json +28 -0
- data/schemas/applications.json +34 -2
- data/schemas/auditLog.json +0 -3
- data/schemas/auditLogFilter.json +0 -3
- data/schemas/auditLogs.json +4 -4
- data/schemas/authedDevice.json +7 -0
- data/schemas/dashboard.json +3970 -72
- data/schemas/dashboardPatch.json +3969 -72
- data/schemas/dashboardPost.json +3969 -72
- data/schemas/dashboardSendReport.json +4 -0
- data/schemas/dashboardUpdateEvents.json +46 -0
- data/schemas/dashboards.json +3974 -73
- data/schemas/dataTableRows.json +4 -1
- data/schemas/dataTableRowsExport.json +11 -7
- data/schemas/dataTables.json +4 -1
- data/schemas/deviceRecipes.json +4 -1
- data/schemas/devices.json +4 -1
- data/schemas/event.json +19 -2
- data/schemas/eventPost.json +0 -1
- data/schemas/eventTagsSummary.json +28 -0
- data/schemas/events.json +841 -3
- data/schemas/eventsDeleted.json +9 -0
- data/schemas/eventsExport.json +830 -0
- data/schemas/experienceDomain.json +6 -2
- data/schemas/experienceDomainPatch.json +14 -10
- data/schemas/experienceDomainPost.json +8 -4
- data/schemas/experienceDomains.json +6 -2
- data/schemas/experienceEndpoints.json +4 -1
- data/schemas/experienceGroup.json +2 -2
- data/schemas/experienceGroupPatch.json +2 -2
- data/schemas/experienceGroupPost.json +2 -2
- data/schemas/experienceGroups.json +6 -3
- data/schemas/experienceSlugPatch.json +2 -2
- data/schemas/experienceSlugPost.json +2 -2
- data/schemas/experienceUsers.json +4 -1
- data/schemas/experienceViews.json +4 -1
- data/schemas/files.json +4 -1
- data/schemas/flow.json +4 -0
- data/schemas/flowPatch.json +6 -2
- data/schemas/flowPost.json +4 -0
- data/schemas/flowVersion.json +8 -0
- data/schemas/flowVersionPost.json +4 -0
- data/schemas/flowVersions.json +12 -1
- data/schemas/flows.json +8 -1
- data/schemas/flowsImportPost.json +10 -2
- data/schemas/flowsImportResult.json +12 -0
- data/schemas/githubLogin.json +6 -15
- data/schemas/integrations.json +4 -1
- data/schemas/notebooks.json +4 -1
- data/schemas/org.json +2 -4
- data/schemas/orgPatch.json +2 -1
- data/schemas/orgPost.json +2 -1
- data/schemas/orgs.json +6 -5
- data/schemas/passwordResetFinish.json +0 -4
- data/schemas/passwordResetInput.json +0 -4
- data/schemas/resourceTransfer.json +0 -8
- data/schemas/userCredentials.json +6 -15
- data/schemas/userPost.json +6 -15
- data/schemas/webhooks.json +4 -1
- data/test/basic_test.rb +15 -0
- metadata +8 -23
- data/docs/solution.md +0 -133
- data/docs/solutionUser.md +0 -139
- data/docs/solutionUsers.md +0 -96
- data/docs/solutions.md +0 -91
- data/lib/losant_rest/solution.rb +0 -174
- data/lib/losant_rest/solution_user.rb +0 -180
- data/lib/losant_rest/solution_users.rb +0 -138
- data/lib/losant_rest/solutions.rb +0 -134
- data/schemas/authedSolutionUser.json +0 -18
- data/schemas/fileUploadPostResp.json +0 -109
- data/schemas/solution.json +0 -76
- data/schemas/solutionMe.json +0 -150
- data/schemas/solutionPatch.json +0 -48
- data/schemas/solutionPost.json +0 -52
- data/schemas/solutionUser.json +0 -103
- data/schemas/solutionUserCredentials.json +0 -34
- data/schemas/solutionUserPatch.json +0 -74
- data/schemas/solutionUserPost.json +0 -80
- data/schemas/solutionUsers.json +0 -149
- data/schemas/solutions.json +0 -118
@@ -1,134 +0,0 @@
|
|
1
|
-
# The MIT License (MIT)
|
2
|
-
#
|
3
|
-
# Copyright (c) 2019 Losant IoT, Inc.
|
4
|
-
#
|
5
|
-
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
-
# of this software and associated documentation files (the "Software"), to deal
|
7
|
-
# in the Software without restriction, including without limitation the rights
|
8
|
-
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
-
# copies of the Software, and to permit persons to whom the Software is
|
10
|
-
# furnished to do so, subject to the following conditions:
|
11
|
-
#
|
12
|
-
# The above copyright notice and this permission notice shall be included in all
|
13
|
-
# copies or substantial portions of the Software.
|
14
|
-
#
|
15
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
-
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
-
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
-
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
-
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
-
# SOFTWARE.
|
22
|
-
|
23
|
-
module LosantRest
|
24
|
-
|
25
|
-
# Class containing all the actions for the Solutions Resource
|
26
|
-
class Solutions
|
27
|
-
|
28
|
-
def initialize(client)
|
29
|
-
@client = client
|
30
|
-
end
|
31
|
-
|
32
|
-
# Returns the solutions for the organization
|
33
|
-
#
|
34
|
-
# Authentication:
|
35
|
-
# The client must be configured with a valid api
|
36
|
-
# access token to call this action. The token
|
37
|
-
# must include at least one of the following scopes:
|
38
|
-
# all.Organization, all.Organization.read, all.User, all.User.read, solutions.*, or solutions.get.
|
39
|
-
#
|
40
|
-
# Parameters:
|
41
|
-
# * {string} orgId - ID associated with the organization
|
42
|
-
# * {string} sortField - Field to sort the results by. Accepted values are: name, id, creationDate, lastUpdated
|
43
|
-
# * {string} sortDirection - Direction to sort the results by. Accepted values are: asc, desc
|
44
|
-
# * {string} page - Which page of results to return
|
45
|
-
# * {string} perPage - How many items to return per page
|
46
|
-
# * {string} filterField - Field to filter the results by. Blank or not provided means no filtering. Accepted values are: name
|
47
|
-
# * {string} filter - Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering.
|
48
|
-
# * {string} losantdomain - Domain scope of request (rarely needed)
|
49
|
-
# * {boolean} _actions - Return resource actions in response
|
50
|
-
# * {boolean} _links - Return resource link in response
|
51
|
-
# * {boolean} _embedded - Return embedded resources in response
|
52
|
-
#
|
53
|
-
# Responses:
|
54
|
-
# * 200 - Collection of solutions (https://api.losant.com/#/definitions/solutions)
|
55
|
-
#
|
56
|
-
# Errors:
|
57
|
-
# * 400 - Error if malformed request (https://api.losant.com/#/definitions/error)
|
58
|
-
def get(params = {})
|
59
|
-
params = Utils.symbolize_hash_keys(params)
|
60
|
-
query_params = { _actions: false, _links: true, _embedded: true }
|
61
|
-
headers = {}
|
62
|
-
body = nil
|
63
|
-
|
64
|
-
raise ArgumentError.new("orgId is required") unless params.has_key?(:orgId)
|
65
|
-
|
66
|
-
query_params[:sortField] = params[:sortField] if params.has_key?(:sortField)
|
67
|
-
query_params[:sortDirection] = params[:sortDirection] if params.has_key?(:sortDirection)
|
68
|
-
query_params[:page] = params[:page] if params.has_key?(:page)
|
69
|
-
query_params[:perPage] = params[:perPage] if params.has_key?(:perPage)
|
70
|
-
query_params[:filterField] = params[:filterField] if params.has_key?(:filterField)
|
71
|
-
query_params[:filter] = params[:filter] if params.has_key?(:filter)
|
72
|
-
headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
|
73
|
-
query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
|
74
|
-
query_params[:_links] = params[:_links] if params.has_key?(:_links)
|
75
|
-
query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)
|
76
|
-
|
77
|
-
path = "/orgs/#{params[:orgId]}/solutions"
|
78
|
-
|
79
|
-
@client.request(
|
80
|
-
method: :get,
|
81
|
-
path: path,
|
82
|
-
query: query_params,
|
83
|
-
headers: headers,
|
84
|
-
body: body)
|
85
|
-
end
|
86
|
-
|
87
|
-
# Create a new solution
|
88
|
-
#
|
89
|
-
# Authentication:
|
90
|
-
# The client must be configured with a valid api
|
91
|
-
# access token to call this action. The token
|
92
|
-
# must include at least one of the following scopes:
|
93
|
-
# all.Organization, all.User, solutions.*, or solutions.post.
|
94
|
-
#
|
95
|
-
# Parameters:
|
96
|
-
# * {string} orgId - ID associated with the organization
|
97
|
-
# * {hash} solution - New solution information (https://api.losant.com/#/definitions/solutionPost)
|
98
|
-
# * {string} losantdomain - Domain scope of request (rarely needed)
|
99
|
-
# * {boolean} _actions - Return resource actions in response
|
100
|
-
# * {boolean} _links - Return resource link in response
|
101
|
-
# * {boolean} _embedded - Return embedded resources in response
|
102
|
-
#
|
103
|
-
# Responses:
|
104
|
-
# * 201 - Successfully created solution (https://api.losant.com/#/definitions/solution)
|
105
|
-
#
|
106
|
-
# Errors:
|
107
|
-
# * 400 - Error if malformed request (https://api.losant.com/#/definitions/error)
|
108
|
-
def post(params = {})
|
109
|
-
params = Utils.symbolize_hash_keys(params)
|
110
|
-
query_params = { _actions: false, _links: true, _embedded: true }
|
111
|
-
headers = {}
|
112
|
-
body = nil
|
113
|
-
|
114
|
-
raise ArgumentError.new("orgId is required") unless params.has_key?(:orgId)
|
115
|
-
raise ArgumentError.new("solution is required") unless params.has_key?(:solution)
|
116
|
-
|
117
|
-
body = params[:solution] if params.has_key?(:solution)
|
118
|
-
headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
|
119
|
-
query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
|
120
|
-
query_params[:_links] = params[:_links] if params.has_key?(:_links)
|
121
|
-
query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)
|
122
|
-
|
123
|
-
path = "/orgs/#{params[:orgId]}/solutions"
|
124
|
-
|
125
|
-
@client.request(
|
126
|
-
method: :post,
|
127
|
-
path: path,
|
128
|
-
query: query_params,
|
129
|
-
headers: headers,
|
130
|
-
body: body)
|
131
|
-
end
|
132
|
-
|
133
|
-
end
|
134
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"$schema": "http://json-schema.org/draft-04/schema#",
|
3
|
-
"type": "object",
|
4
|
-
"properties": {
|
5
|
-
"solutionUserId": {
|
6
|
-
"type": "string",
|
7
|
-
"pattern": "^[A-Fa-f\\d]{24}$"
|
8
|
-
},
|
9
|
-
"token": {
|
10
|
-
"type": "string",
|
11
|
-
"minLength": 1
|
12
|
-
}
|
13
|
-
},
|
14
|
-
"required": [
|
15
|
-
"solutionUserId",
|
16
|
-
"token"
|
17
|
-
]
|
18
|
-
}
|
@@ -1,109 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"$schema": "http://json-schema.org/draft-04/schema#",
|
3
|
-
"type": "object",
|
4
|
-
"properties": {
|
5
|
-
"id": {
|
6
|
-
"type": "string",
|
7
|
-
"pattern": "^[A-Fa-f\\d]{24}$"
|
8
|
-
},
|
9
|
-
"applicationId": {
|
10
|
-
"type": "string",
|
11
|
-
"pattern": "^[A-Fa-f\\d]{24}$"
|
12
|
-
},
|
13
|
-
"creationDate": {
|
14
|
-
"type": "string",
|
15
|
-
"format": "date-time"
|
16
|
-
},
|
17
|
-
"lastUpdated": {
|
18
|
-
"type": "string",
|
19
|
-
"format": "date-time"
|
20
|
-
},
|
21
|
-
"authorId": {
|
22
|
-
"type": "string",
|
23
|
-
"pattern": "^[A-Fa-f\\d]{24}$"
|
24
|
-
},
|
25
|
-
"authorType": {
|
26
|
-
"type": "string",
|
27
|
-
"enum": [
|
28
|
-
"flow",
|
29
|
-
"user",
|
30
|
-
"device",
|
31
|
-
"apiToken"
|
32
|
-
]
|
33
|
-
},
|
34
|
-
"status": {
|
35
|
-
"type": "string",
|
36
|
-
"enum": [
|
37
|
-
"pending",
|
38
|
-
"moving",
|
39
|
-
"deleting",
|
40
|
-
"completed"
|
41
|
-
]
|
42
|
-
},
|
43
|
-
"name": {
|
44
|
-
"type": "string",
|
45
|
-
"minLength": 1,
|
46
|
-
"maxLength": 1024
|
47
|
-
},
|
48
|
-
"parentDirectory": {
|
49
|
-
"type": "string",
|
50
|
-
"maxLength": 1024
|
51
|
-
},
|
52
|
-
"type": {
|
53
|
-
"type": "string",
|
54
|
-
"enum": [
|
55
|
-
"file",
|
56
|
-
"directory"
|
57
|
-
]
|
58
|
-
},
|
59
|
-
"fileSize": {
|
60
|
-
"type": "number"
|
61
|
-
},
|
62
|
-
"contentType": {
|
63
|
-
"type": "string",
|
64
|
-
"maxLength": 1024
|
65
|
-
},
|
66
|
-
"fileDimensions": {
|
67
|
-
"type": "object",
|
68
|
-
"properties": {
|
69
|
-
"width": {
|
70
|
-
"type": "number"
|
71
|
-
},
|
72
|
-
"height": {
|
73
|
-
"type": "number"
|
74
|
-
}
|
75
|
-
}
|
76
|
-
},
|
77
|
-
"upload": {
|
78
|
-
"url": {
|
79
|
-
"type": "string"
|
80
|
-
},
|
81
|
-
"fields": {
|
82
|
-
"type": "object",
|
83
|
-
"properties": {
|
84
|
-
"key": {
|
85
|
-
"type": "string"
|
86
|
-
},
|
87
|
-
"bucket": {
|
88
|
-
"type": "string"
|
89
|
-
},
|
90
|
-
"X-Amz-Algorithm": {
|
91
|
-
"type": "string"
|
92
|
-
},
|
93
|
-
"X-Amz-Credential": {
|
94
|
-
"type": "string"
|
95
|
-
},
|
96
|
-
"X-Amz-Date": {
|
97
|
-
"type": "string"
|
98
|
-
},
|
99
|
-
"Policy": {
|
100
|
-
"type": "string"
|
101
|
-
},
|
102
|
-
"X-Amz-Signature": {
|
103
|
-
"type": "string"
|
104
|
-
}
|
105
|
-
}
|
106
|
-
}
|
107
|
-
}
|
108
|
-
}
|
109
|
-
}
|
data/schemas/solution.json
DELETED
@@ -1,76 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"$schema": "http://json-schema.org/draft-04/schema#",
|
3
|
-
"type": "object",
|
4
|
-
"properties": {
|
5
|
-
"id": {
|
6
|
-
"type": "string",
|
7
|
-
"pattern": "^[A-Fa-f\\d]{24}$"
|
8
|
-
},
|
9
|
-
"solutionId": {
|
10
|
-
"type": "string",
|
11
|
-
"pattern": "^[A-Fa-f\\d]{24}$"
|
12
|
-
},
|
13
|
-
"orgId": {
|
14
|
-
"type": "string",
|
15
|
-
"pattern": "^[A-Fa-f\\d]{24}$"
|
16
|
-
},
|
17
|
-
"creationDate": {
|
18
|
-
"type": "string",
|
19
|
-
"format": "date-time"
|
20
|
-
},
|
21
|
-
"lastUpdated": {
|
22
|
-
"type": "string",
|
23
|
-
"format": "date-time"
|
24
|
-
},
|
25
|
-
"name": {
|
26
|
-
"type": "string",
|
27
|
-
"minLength": 1,
|
28
|
-
"maxLength": 255
|
29
|
-
},
|
30
|
-
"description": {
|
31
|
-
"type": "string",
|
32
|
-
"maxLength": 32767
|
33
|
-
},
|
34
|
-
"slug": {
|
35
|
-
"type": "string",
|
36
|
-
"minLength": 4,
|
37
|
-
"maxLength": 63,
|
38
|
-
"pattern": "^[0-9a-z-]*$"
|
39
|
-
},
|
40
|
-
"allowSelfDeletion": {
|
41
|
-
"type": "boolean"
|
42
|
-
},
|
43
|
-
"allowSelfEmailChange": {
|
44
|
-
"type": "boolean"
|
45
|
-
},
|
46
|
-
"passwordReset": {
|
47
|
-
"type": "object",
|
48
|
-
"properties": {
|
49
|
-
"allowPasswordReset": {
|
50
|
-
"type": "boolean"
|
51
|
-
},
|
52
|
-
"emailSubject": {
|
53
|
-
"type": "string",
|
54
|
-
"maxLength": 255
|
55
|
-
},
|
56
|
-
"emailBody": {
|
57
|
-
"type": "string",
|
58
|
-
"maxLength": 32767
|
59
|
-
},
|
60
|
-
"emailFrom": {
|
61
|
-
"type": "string",
|
62
|
-
"format": "email",
|
63
|
-
"maxLength": 1024
|
64
|
-
}
|
65
|
-
}
|
66
|
-
},
|
67
|
-
"summary": {
|
68
|
-
"type": "object",
|
69
|
-
"properties": {
|
70
|
-
"solutionUserCount": {
|
71
|
-
"type": "number"
|
72
|
-
}
|
73
|
-
}
|
74
|
-
}
|
75
|
-
}
|
76
|
-
}
|
data/schemas/solutionMe.json
DELETED
@@ -1,150 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"$schema": "http://json-schema.org/draft-04/schema#",
|
3
|
-
"type": "object",
|
4
|
-
"properties": {
|
5
|
-
"id": {
|
6
|
-
"type": "string",
|
7
|
-
"pattern": "^[A-Fa-f\\d]{24}$"
|
8
|
-
},
|
9
|
-
"solutionUserId": {
|
10
|
-
"type": "string",
|
11
|
-
"pattern": "^[A-Fa-f\\d]{24}$"
|
12
|
-
},
|
13
|
-
"creationDate": {
|
14
|
-
"type": "string",
|
15
|
-
"format": "date-time"
|
16
|
-
},
|
17
|
-
"lastUpdated": {
|
18
|
-
"type": "string",
|
19
|
-
"format": "date-time"
|
20
|
-
},
|
21
|
-
"passwordLastUpdated": {
|
22
|
-
"type": "string",
|
23
|
-
"format": "date-time"
|
24
|
-
},
|
25
|
-
"lastLogin": {
|
26
|
-
"type": "string",
|
27
|
-
"format": "date-time"
|
28
|
-
},
|
29
|
-
"email": {
|
30
|
-
"type": "string",
|
31
|
-
"format": "email",
|
32
|
-
"maxLength": 1024
|
33
|
-
},
|
34
|
-
"firstName": {
|
35
|
-
"type": "string",
|
36
|
-
"minLength": 1,
|
37
|
-
"maxLength": 1024
|
38
|
-
},
|
39
|
-
"lastName": {
|
40
|
-
"type": "string",
|
41
|
-
"minLength": 1,
|
42
|
-
"maxLength": 1024
|
43
|
-
},
|
44
|
-
"companyName": {
|
45
|
-
"type": "string",
|
46
|
-
"maxLength": 1024
|
47
|
-
},
|
48
|
-
"title": {
|
49
|
-
"type": "string",
|
50
|
-
"maxLength": 1024
|
51
|
-
},
|
52
|
-
"phoneNumber": {
|
53
|
-
"type": "string",
|
54
|
-
"maxLength": 1024
|
55
|
-
},
|
56
|
-
"location": {
|
57
|
-
"type": "string",
|
58
|
-
"maxLength": 1024
|
59
|
-
},
|
60
|
-
"url": {
|
61
|
-
"type": "string",
|
62
|
-
"maxLength": 1024
|
63
|
-
},
|
64
|
-
"forcePasswordResetOnNextLogin": {
|
65
|
-
"type": "boolean"
|
66
|
-
},
|
67
|
-
"fullName": {
|
68
|
-
"type": "string"
|
69
|
-
},
|
70
|
-
"twoFactorAuthEnabled": {
|
71
|
-
"type": "boolean"
|
72
|
-
},
|
73
|
-
"avatarUrl": {
|
74
|
-
"type": "string",
|
75
|
-
"format": "url"
|
76
|
-
},
|
77
|
-
"accessRestrictions": {
|
78
|
-
"type": "object",
|
79
|
-
"properties": {
|
80
|
-
"dashboardIds": {
|
81
|
-
"type": "array",
|
82
|
-
"items": {
|
83
|
-
"type": "string",
|
84
|
-
"pattern": "^[A-Fa-f\\d]{24}$"
|
85
|
-
},
|
86
|
-
"maxItems": 1000
|
87
|
-
}
|
88
|
-
}
|
89
|
-
},
|
90
|
-
"recentDashboards": {
|
91
|
-
"title": "Recent Item List",
|
92
|
-
"description": "Schema for an array of recent items",
|
93
|
-
"type": "object",
|
94
|
-
"properties": {
|
95
|
-
"itemType": {
|
96
|
-
"type": "string",
|
97
|
-
"enum": [
|
98
|
-
"application",
|
99
|
-
"device",
|
100
|
-
"flow",
|
101
|
-
"dashboard",
|
102
|
-
"organization"
|
103
|
-
]
|
104
|
-
},
|
105
|
-
"parentId": {
|
106
|
-
"type": "string",
|
107
|
-
"pattern": "^[A-Fa-f\\d]{24}$"
|
108
|
-
},
|
109
|
-
"items": {
|
110
|
-
"type": "array",
|
111
|
-
"items": {
|
112
|
-
"type": "object",
|
113
|
-
"properties": {
|
114
|
-
"id": {
|
115
|
-
"type": "string",
|
116
|
-
"pattern": "^[A-Fa-f\\d]{24}$"
|
117
|
-
},
|
118
|
-
"name": {
|
119
|
-
"type": "string",
|
120
|
-
"minLength": 1,
|
121
|
-
"maxLength": 255
|
122
|
-
}
|
123
|
-
}
|
124
|
-
}
|
125
|
-
}
|
126
|
-
}
|
127
|
-
},
|
128
|
-
"solution": {
|
129
|
-
"id": {
|
130
|
-
"type": "string",
|
131
|
-
"pattern": "^[A-Fa-f\\d]{24}$"
|
132
|
-
},
|
133
|
-
"slug": {
|
134
|
-
"type": "string",
|
135
|
-
"pattern": "^[0-9a-z_-]{1,255}$"
|
136
|
-
},
|
137
|
-
"name": {
|
138
|
-
"type": "string",
|
139
|
-
"minLength": 1,
|
140
|
-
"maxLength": 255
|
141
|
-
},
|
142
|
-
"allowSelfDeletion": {
|
143
|
-
"type": "boolean"
|
144
|
-
},
|
145
|
-
"allowSelfEmailChange": {
|
146
|
-
"type": "boolean"
|
147
|
-
}
|
148
|
-
}
|
149
|
-
}
|
150
|
-
}
|