interfaces_doc-interface_docApp.interface.js

"use strict";
/**
 * @typedef {Object} Config
 * @prop {string} API_KEY API Key
 * @prop {string} IDENTITY_SERVER Identity Server
 * @prop {string} NETWORK_SERVER Network Server
 * @prop {string} APPLICATION_SERVER Application Server
 * @prop {string} JOIN_SERVER Join Server
 * @prop {string} [TENANT_ID] TENANT_ID Tenant Id
 */
/**
 * @typedef {Object} Input-CreateApplication
 * @prop {string} application_id Application Id
 * @prop {string} [name] Application Name
 * @prop {string} [description] Application Description
 */
/**
 * @typedef {Object} Output-CreateApplication
 * @prop {string} ids.application_id Application Id
 * @prop {timestamp} created_at Application Created At
 * @prop {timestamp} updated_at Application Updated At
 * @prop {timestamp} deleted_at Application Deleted At
 * @prop {string} name Application Name
 * @prop {string} description Application Description
 * @prop {string} attributes Application Attributes
 * @prop {string[]} contact_info Application Contact Info
 * @prop {string} administrative_contact.user_ids.user_id Application Administrative Contact
 * @prop {string} technical_contact.user_ids.user_id Application Technical Contact
 * @prop {string} network_server_address Application Network Server Address
 * @prop {string} application_server_address Application Application Server Address
 * @prop {string} join_server_address Application Join Server Address
 * @prop {number} dev_eui_counter Application Dev EUI Counter
 * @prop {null} end_device_limit Application End Device Limit
 */
/**
 * @typedef {Object} ApplicationList
 * @prop {string} ids.application_id Application Id
 * @prop {timestamp} created_at Application Created At
 * @prop {timestamp} updated_at Application Updated At
 * @prop {string} name - The Name of the application
 * @prop {string} description - The Description of the application
 * @prop {string} network_server_address Application Network Server Address
 * @prop {string} application_server_address Application Application Server Address
 * @prop {string} join_server_address Application Join Server Address
 */
/**
 * @typedef {Object} Input-GetApplicationList
 * @prop {string} [order] Order the results by this field path (must be present in the field mask). Default ordering is by ID. Prepend with a minus (-) to reverse the order. (e.g '-created_at')
 * @prop {number} [limit] Limit the number of results per page. (less than 1000)
 * @prop {number} [page] Page number for pagination. 0 is interpreted as 1.
 */
/**
 * @typedef {Object} Output-GetApplicationList
 * @prop {ApplicationList[]} applications Application List
 */
/**
 * @typedef {Object} Input-CreateAPIKeyForUser
 * @prop {string} name API Key Name
 * @prop {string[]} rights API Key Rights
 * @prop {timestamp} [expires_at] API Key Expires At
 */
/**
 * @typedef {Object} Output-CreateAPIKey
 * @prop {string} id API Key Id
 * @prop {string} key API Key
 * @prop {string} name API Key Name
 * @prop {string[]} rights API Key Rights
 * @prop {timestamp} created_at API Key Created At
 * @prop {timestamp} updated_at API Key Updated At
 * @prop {timestamp} expires_at API Key Expires At
 */
/**
 * @typedef {Object} APIKeysList
 * @prop {string} id API Key Id
 * @prop {string} name API Key Name
 * @prop {string[]} rights API Key Rights
 * @prop {timestamp} created_at API Key Created At
 * @prop {timestamp} updated_at API Key Updated At
 * @prop {timestamp} expires_at API Key Expires At
 */
/**
 * @typedef {Object} Input-GetAPIKeyList
 * @prop {string} [order] Order the results by this field path (must be present in the field mask). Default ordering is by ID. Prepend with a minus (-) to reverse the order. (e.g '-created_at')
 * @prop {number} [limit] Limit the number of results per page. (less than 1000)
 * @prop {number} [page] Page number for pagination. 0 is interpreted as 1.
 */
/**
 * @typedef {Object} Output-GetAPIKeyList
 * @prop {APIKeysList[]} api_keys API Key List
 */
/**
 * @typedef {Object} Input-GetAPIKeyInfo
 * @prop {string} key_id API Key Id
 */
/**
 * @typedef {Object} Output-GetAPIKeyInfo
 * @prop {string} id API Key Id
 * @prop {string} key API Key
 * @prop {string} name API Key Name
 * @prop {string[]} rights API Key Rights
 * @prop {timestamp} created_at API Key Created At
 * @prop {timestamp} updated_at API Key Updated At
 * @prop {timestamp} expires_at API Key Expires At
 */
/**
 * @typedef {Object} Input-UpdateAPIKeyOfUser
 * @prop {string} api_key_id API Key Id
 * @prop {string} [api_key_name] API Key Name
 * @prop {string[]} [api_key_rights] API Key Rights
 * @prop {timestamp} [expires_at] API Key Expires At
 */
/**
 * @typedef {Object} Output-UpdateAPIKey
 * @prop {string} id API Key Id
 * @prop {string} key API Key
 * @prop {string} name API Key Name
 * @prop {string[]} rights API Key Rights
 * @prop {timestamp} created_at API Key Created At
 * @prop {timestamp} updated_at API Key Updated At
 * @prop {timestamp} expires_at API Key Expires At
 */
/**
 * @typedef {Object} Input-CreateAPIKeyForOrg
 * @prop {string} name API Key Name
 * @prop {string[]} rights API Key Rights
 * @prop {timestamp} [expires_at] API Key Expires At
 */
/**
 * @typedef {Object} Input-UpdateAPIKeyOfOrg
 * @prop {string} api_key_id API Key Id
 * @prop {string} [api_key_name] API Key Name
 * @prop {string[]} [api_key_rights] API Key Rights
 * @prop {timestamp} [expires_at] API Key Expires At
 */
/**
 * @typedef {Object} Input-GetCollaboratorInfo
 * @prop {string} user_id User Id
 */
/**
 * @typedef {Object} Output-GetCollaboratorInfo
 * @prop {string} [ids.user_ids.user_id] User Id
 * @prop {string} [ids.user_ids.email] User Email
 * @prop {string[]} rights Collaborator Rights
 */
/**
 * @typedef {Object} Input-SetCollaborator
 * @prop {string} user_id User Id
 * @prop {string} [email] User Email Address
 * @prop {string[]} rights Collaborator Rights
 */
/**
 * @typedef {Object} Output-EmptyPayload
 * @prop {Object} Object Empty Object
 */
/**
 * @typedef {Object} Output-GetApplication
 * @prop {string} ids.application_id Application Id
 * @prop {timestamp} created_at Application Created At
 * @prop {timestamp} updated_at Application Updated At
 * @prop {timestamp} deleted_at Application Deleted At
 * @prop {string} name Application Name
 * @prop {string} description Application Description
 * @prop {string} attributes Application Attributes
 * @prop {string[]} contact_info Application Contact Info
 * @prop {string} administrative_contact.user_ids.user_id Application Administrative Contact
 * @prop {string} technical_contact.user_ids.user_id Application Technical Contact
 * @prop {string} network_server_address Application Network Server Address
 * @prop {string} application_server_address Application Application Server Address
 * @prop {string} join_server_address Application Join Server Address
 * @prop {number} dev_eui_counter Application Dev EUI Counter
 * @prop {null} end_device_limit Application End Device Limit
 */
/**
 * @typedef {Object} Input-UpdateApplication
 * @prop {string} [name] Application Name
 * @prop {string} [description] Application Description
 * @prop {Object} [attributes] Application Attributes
 */
/**
 * @typedef {Object} Output-UpdateApplication
 * @prop {string} ids.application_id Application Id
 * @prop {timestamp} created_at Application Created At
 * @prop {timestamp} updated_at Application Updated At
 * @prop {timestamp} deleted_at Application Deleted At
 * @prop {string} name Application Name
 * @prop {string} description Application Description
 * @prop {string} attributes Application Attributes
 * @prop {string[]} contact_info Application Contact Info
 * @prop {string} administrative_contact.user_ids.user_id Application Administrative Contact
 * @prop {string} technical_contact.user_ids.user_id Application Technical Contact
 * @prop {string} network_server_address Application Network Server Address
 * @prop {string} application_server_address Application Application Server Address
 * @prop {string} join_server_address Application Join Server Address
 * @prop {number} dev_eui_counter Application Dev EUI Counter
 * @prop {null} end_device_limit Application End Device Limit
 */
/**
 * @typedef {Object} Output-SearchApplication
 * @prop {string} ids.application_id Application Id
 * @prop {timestamp} created_at Application Created At
 * @prop {timestamp} updated_at Application Updated At
 * @prop {timestamp} deleted_at Application Deleted At
 * @prop {string} name Application Name
 * @prop {string} description Application Description
 * @prop {string} attributes Application Attributes
 * @prop {string[]} contact_info Application Contact Info
 * @prop {string} administrative_contact.user_ids.user_id Application Administrative Contact
 * @prop {string} technical_contact.user_ids.user_id Application Technical Contact
 * @prop {string} network_server_address Application Network Server Address
 * @prop {string} application_server_address Application Application Server Address
 * @prop {string} join_server_address Application Join Server Address
 * @prop {number} dev_eui_counter Application Dev EUI Counter
 * @prop {null} end_device_limit Application End Device Limit
 */
/**
 * @typedef {Object} Output-GetApplicationRight
 * @prop {string[]} rights Application Rights
 */
/**
 * @typedef {Object} Input-CreateAPIKeyForApplication
 * @prop {string} name API Key Name
 * @prop {string[]} rights API Key Rights
 * @prop {timestamp} [expires_at] API Key Expires At
 */
/**
 * @typedef {Object} Input-UpdateAPIKeyOfApplication
 * @prop {string} api_key_id API Key Id
 * @prop {string} [api_key_name] API Key Name
 * @prop {string[]} [api_key_rights] API Key Rights
 * @prop {timestamp} [expires_at] API Key Expires At
 */
/**
 * @typedef {Object} Input-GetCollaboratorInfoOfUser
 * @prop {string} user_id User Id
 */
/**
 * @typedef {Object} Output-GetCollaboratorInfoOfUser
 * @prop {string} [ids.user_ids.user_id] User Id
 * @prop {string} [ids.user_ids.email] User Email
 * @prop {string[]} rights Collaborator Rights
 */
/**
 * @typedef {Object} Input-GetCollaboratorInfoOfOrg
 * @prop {string} organization_id Organization Id
 */
/**
 * @typedef {Object} Output-GetCollaboratorInfoOfOrg
 * @prop {string} [ids.organization_ids.organization_id] Organization Id
 * @prop {string[]} rights Collaborator Rights
 */
/**
 * @typedef {Object} Input-SetCollaboratorOfUser
 * @prop {string} user_id User Id
 * @prop {string} [email] User Email Address
 * @prop {string[]} rights Collaborator Rights
 */
/**
 * @typedef {Object} Input-SetCollaboratorOfOrg
 * @prop {string} organization_id Organization Id
 * @prop {string[]} rights Collaborator Rights
 */
/**
 * @typedef {Object} CollabortorList
 * @prop {string} [ids.organization_ids.organization_id] Organization Id
 * @prop {string} [ids.user_ids.user_id] User Id
 * @prop {string} [ids.user_ids.email] User Email
 * @prop {string[]} rights Collaborator Rights
 */
/**
 * @typedef {Object} Input-GetCollabortorList
 * @prop {string} [order] Order the results by this field path (must be present in the field mask). Default ordering is by ID. Prepend with a minus (-) to reverse the order. (e.g '-id')
 * @prop {number} [limit] Limit the number of results per page. (less than 1000)
 * @prop {number} [page] Page number for pagination. 0 is interpreted as 1.
 */
/**
 * @typedef {Object} Output-GetCollabortorList
 * @prop {CollabortorList[]} collaborators Collaborator List
 */
/**
 * @typedef {Object} Output-GetGatewayRight
 * @prop {string[]} rights Gateway Rights
 */
/**
 * @typedef {Object} Input-GetGatewayList
 * @prop {string} [order] Order the results by this field path (must be present in the field mask). Default ordering is by ID. Prepend with a minus (-) to reverse the order. (e.g '-created_at')
 * @prop {number} [limit] Limit the number of results per page. (less than 1000)
 * @prop {number} [page] Page number for pagination. 0 is interpreted as 1.
 */