Difference between revisions of "Development:Prana Breath API/Collections:Trainings"
From Olekdia Wiki
(39 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | <code>trainings</code>, or <code>trngs</code> - | + | <code>trainings</code>, or <code>trngs</code> - Collection that gives control over all [[Training_type|trainings]] in the app.<br/> |
__TOC__ | __TOC__ | ||
+ | |||
+ | <div class="api-table long-code"> | ||
+ | == Prefix == | ||
+ | * <code>pranabreath://</code> - Case-insensitive. | ||
+ | * <code><nowiki>https://pranabreath.olekdia.com/</nowiki></code> - Case-sensitive. | ||
+ | * <code><nowiki>https://pranabreath.info/</nowiki></code> - Case-sensitive. | ||
+ | * <code><nowiki>https://pranabreath.page.link/?link=https://pranabreath.olekdia.com/</nowiki></code> - Case-sensitive. | ||
+ | |||
+ | == Syntax == | ||
+ | * <code>pranabreath://trainings/item?cmd=[Command]</code> - Case-insensitive. | ||
+ | * <code>pranabreath://Trainings/item?[Parameter]=[Value]</code> | ||
+ | * <code>pranabreath://trainings/item?cmd=[Command]&[Parameter1]=[Value1]&[Parameter2]=[Value2]</code> | ||
+ | * <code><nowiki>https://pranabreath.olekdia.com/trainings?cmd=[Command]&[Parameter]=[Value]</nowiki></code> - Case-sensitive. | ||
+ | |||
== Commands == | == Commands == | ||
− | {| class="wikitable | + | {| class="wikitable" cellpadding="0" cellspacing="0" style="width: 100%;" |
|- | |- | ||
! Command | ! Command | ||
! Description | ! Description | ||
|- | |- | ||
− | | '''list''' | + | | |
− | | Returns training list. Currently it is only | + | ==='''list'''=== |
+ | | Returns training list. Currently it is used only in console for retrieving a training list. | ||
* <code>pranabreath://trainings?cmd=list</code> | * <code>pranabreath://trainings?cmd=list</code> | ||
<pre> | <pre> | ||
Line 23: | Line 38: | ||
8 9 11 Bhastrika | 8 9 11 Bhastrika | ||
</pre> | </pre> | ||
− | * <code>pranabreath://trainings</code> - It is a default command | + | * <code>pranabreath://trainings</code> - It is a default command if ''collection'' is defined without an ''item'', so if we omit the ''command'' it will return the same result. |
+ | |- | ||
+ | | | ||
+ | ==='''select'''=== | ||
+ | | Select the specified training. Other than their specific effect, commands [[#import|import]], [[#create|create]] and [[#start|start]] do '''select''' as well. | ||
+ | * <code>pranabreath://trainings/Harmony?cmd=select</code> - Select [[Harmony]] training. | ||
+ | * <code>pranabreath://trainings/Harmony</code> - Select [[Harmony]]. '''Select''' is a default command if ?cmd= is omitted. | ||
|- | |- | ||
− | | '''import''' | + | | |
+ | ==='''import'''=== | ||
| Import the specified training into the app. | | Import the specified training into the app. | ||
* <code>pranabreath://trainings/Sitkari?cmd=import</code> - Import [[Sitkari]] training. | * <code>pranabreath://trainings/Sitkari?cmd=import</code> - Import [[Sitkari]] training. | ||
* <code>pranabreath://trainings?cmd=import&public_id=25</code> - Import training with <code>public_id</code> equals 25 which is [[Ha breathing]] training. | * <code>pranabreath://trainings?cmd=import&public_id=25</code> - Import training with <code>public_id</code> equals 25 which is [[Ha breathing]] training. | ||
− | * <code>pranabreath://trainings?cmd=import&json_data={"ENTRY":"TRAINING","name":"my_training","dur_time":480}</code> - Import the training which is a value of <code>json_data</code> parameter. The string | + | * <code>pranabreath://trainings?cmd=import&json_data={"ENTRY":"TRAINING","name":"my_training","dur_time":480,}</code> - Import the training which is a value of <code>json_data</code> parameter. The string that represents training should be encoded. |
− | * <code>https://olekdia.com/ | + | * <code>https://pranabreath.olekdia.com/trainings?cmd=import&json_data=%7B%22ENTRY%22%3A%22TRAINING%22%2C%22name%22%3A%22my_training%22%2C%22dur_time%22%3A480%2C%7D</code> - Same as above, but training is represented by an encoded string. It is mandatory to use with a web link. |
|- | |- | ||
− | | '''create''' | + | | |
− | | Create the training with | + | ==='''create'''=== |
− | * <code>pranabreath://trainings?cmd=create&name=Serenity&trng_type=1</code> - Create [[Training_kind#Meditation|meditation]] | + | | Create the training with certain [[#Parameters|parameters]]. If training with such name already exists - new training will not be created. Instead all parameters will be applied to existing training. |
− | * <code>pranabreath://trainings?cmd=create&name=4_7_8_Breathing&dur_prep_time=5000&trng_cycles={"mValues":[{"mInhaleUnit":4,"mRetainUnit":7,"mExhaleUnit":8,"mMethodsBitSet":129,"mSecPerUnit":1000}],"mKeys":[0,]}</code> - Create training | + | * <code>pranabreath://trainings?cmd=create&name=Serenity&trng_type=1</code> - Create [[Training_kind#Meditation|meditation]] named "Serenity". |
+ | * <code>pranabreath://trainings?cmd=create&name=4_7_8_Breathing&dur_prep_time=5000&trng_cycles={"mValues":[{"mInhaleUnit":4,"mRetainUnit":7,"mExhaleUnit":8,"mMethodsBitSet":129,"mSecPerUnit":1000}],"mKeys":[0,]}</code> - Create training named "4_7_8_Breathing", with 5 seconds [[Preparing time|preparing time]], and 4:7:8:0 [[Ratio_of_breath_cycle|ratio]]. | ||
|- | |- | ||
− | | '''start''' | + | | |
− | | Starts the selected training. If there is no | + | ==='''start'''=== |
− | * <code>pranabreath://trainings/Clear_mind?cmd=start</code> - [[Clear mind]] training | + | | Starts the selected training. If there is no such training - nothing happens. But if the training with such name is featured in the [[Training_type|training list]] on our wiki, it will be automatically imported and started. |
− | * <code>pranabreath://trainings/Some_custom_name?cmd=start</code> - If there is no "Some_custom_name" in the app - nothing happens. | + | * <code>pranabreath://trainings/Clear_mind?cmd=start</code> - Select and start [[Clear mind]] training. Also it brings the app to foreground with [[Training tab]] selected. |
− | * <code>pranabreath://trainings/2?cmd=start</code> - | + | * <code>pranabreath://trainings/Some_custom_name?cmd=start&dur_time=240000</code> - If there is no "Some_custom_name" in the app - nothing happens. If it exists, it starts with [[training duration]] of 4 minutes. |
− | * <code>pranabreath://trainings/Bhastrika?cmd=start</code> - | + | * <code>pranabreath://trainings/2?cmd=start</code> - Select and start training with id equals 2. |
+ | * <code>pranabreath://trainings/Bhastrika?cmd=start</code> - Select and start "Bhastrika" training. If there is no such training, [[Bhastrika]] is imported and started. | ||
+ | * <code>pranabreath://trainings?cmd=start&json_data={"ENTRY":"TRAINING","name":"custom_trng","dur_time":420,}</code> - Import and start the training that is a value of <code>json_data</code> parameter. | ||
|- | |- | ||
− | | '''delete''' | + | | |
− | | Delete the selected training. If there is no | + | ==='''delete'''=== |
+ | | Delete the selected training. If there is no selected training - nothing happens. | ||
+ | * <code>pranabreath://trngs/14?cmd=delete</code> - Delete the training with id equals 14. | ||
+ | * <code>pranabreath://trngs/Relax?cmd=delete</code> - Delete [[Relax]] training. | ||
|- | |- | ||
− | | '''info''' | + | | |
− | | | + | ==='''info'''=== |
+ | | Show the information about training on this wiki. It is applicable only for the default trainings and for the trainings importable [[:Category:Trainings|from this wiki]]. | ||
+ | * <code>pranabreath://trainings/Sitkari?cmd=info</code> - Go to the wiki page of [[Sitkari]] training. | ||
+ | * <code>pranabreath://trainings?cmd=info&public_id=25</code> - Go to the wiki page that has public_id equals 25, that is [[Ha breathing]]. | ||
|} | |} | ||
== Parameters == | == Parameters == | ||
− | {| class="wikitable | + | {| class="wikitable" cellpadding="0" cellspacing="0" style="width: 100%;" |
|- | |- | ||
! Parameter | ! Parameter | ||
! Description | ! Description | ||
|- | |- | ||
− | | '''name''' | + | | |
+ | ==='''name'''=== | ||
| Name of the training. | | Name of the training. | ||
− | * <code>pranabreath://trainings/Power?name=Energy</code> - Rename | + | * <code>pranabreath://trainings/Power?name=Energy</code> - Rename "Power" training to "Energy". |
− | * <code>https://olekdia.com | + | * <code>https://pranabreath.olekdia.com/Trainings/5?name=Balance</code> - Rename training with ID equals 5, set name as "Balance". |
|- | |- | ||
− | | '''public_id''' | + | | |
− | | Indicates public id of the training. All [[Training_type|trainings in this list]] have their own ''public_id''. | + | ==='''public_id'''=== |
− | * <code>pranabreath://trngs?cmd=import&public_id=25</code> - Import training with <code>public_id</code> equals 25 which is [[Ha breathing]] training. | + | | Indicates public id of the training. All [[Training_type|trainings in this list]] have their own ''public_id''. All ''public_id'' are [[Trng|listed here]]. It is a read-only value. |
+ | * <code>pranabreath://trngs?cmd=import&public_id=25</code> - Import training with <code>public_id</code> equals 25, which is [[Ha breathing]] training. | ||
|- | |- | ||
− | | '''trng_type''' | + | | |
+ | |||
+ | ==='''trng_type'''=== | ||
| Is a [[Training_kind|kind]] of the training. Value range is [0 - [[Training_kind#Breathing_session|breathing session]], 1 - [[Training_kind#Meditation|meditation]]]. | | Is a [[Training_kind|kind]] of the training. Value range is [0 - [[Training_kind#Breathing_session|breathing session]], 1 - [[Training_kind#Meditation|meditation]]]. | ||
− | * <code>pranabreath://trainings?cmd=create&name=Serenity&trng_type=1</code> - Create [[Training_kind#Meditation|meditation]] | + | * <code>pranabreath://trainings?cmd=create&name=Serenity&trng_type=1</code> - Create [[Training_kind#Meditation|meditation]] named "Serenity". |
|- | |- | ||
− | | '''pos''' | + | | |
+ | ==='''pos'''=== | ||
| Position of the training in the training list. | | Position of the training in the training list. | ||
− | * <code>pranabreath://trainings/Clear_mind?pos=9999</code> - Move | + | * <code>pranabreath://trainings/Clear_mind?pos=9999</code> - Move [[Clear mind]] training to the very bottom of the list. |
|- | |- | ||
− | | '''curr_level''' | + | | |
+ | ==='''curr_level'''=== | ||
| Selected [[Complexity level|complexity level]] of a training (if applicable). Value range is [1, 5] | | Selected [[Complexity level|complexity level]] of a training (if applicable). Value range is [1, 5] | ||
− | * <code>pranabreath://trngs/1?curr_level=3</code> - Set complexity level to "Advanced" for [[Clear_mind| | + | * <code>pranabreath://trngs/1?curr_level=3</code> - Set complexity level to "Advanced" for [[Clear_mind|Clear mind]] training. |
|- | |- | ||
− | | '''dur_time''' | + | | |
− | | [[Training duration]], in milliseconds (if this value is set, training duration mode | + | ==='''dur_time'''=== |
− | * <code>https://olekdia.com/ | + | or '''duration''' |
+ | | [[Training duration]], in milliseconds (if this value is set, training duration mode is be measured in amount of time). Value range is [60000, 59940000] | ||
+ | * <code>https://pranabreath.olekdia.com/trainings/1?dur_time=480000</code> - Set [[Training duration|training duration]] to 480000 millis (8 minutes) for the training with id equals 1. | ||
|- | |- | ||
− | | '''dur_num_cycles''' | + | | |
− | | [[Training duration]], in amount of cycles (if this value is set, training duration mode | + | ==='''dur_num_cycles'''=== |
− | * <code>pranabreath://trainings/Relax?dur_num_cycles=18</code> - Set [[Training duration|training duration]] to 18 cycles for | + | or '''num_iterations''' |
+ | | [[Training duration]], in amount of cycles (if this value is set, training duration mode is be measured in amount of cycles). Value range is [1, 999] | ||
+ | * <code>pranabreath://trainings/Relax?dur_num_cycles=18</code> - Set [[Training duration|training duration]] to 18 cycles for Relax training. | ||
|- | |- | ||
− | | '''dur_prep_time''' | + | | |
+ | ==='''dur_prep_time'''=== | ||
| [[Preparing time]] duration, in milliseconds. Value range is [0, 60000] | | [[Preparing time]] duration, in milliseconds. Value range is [0, 60000] | ||
− | * <code>https://olekdia.com/ | + | * <code>https://pranabreath.olekdia.com/trainings/Harmony?dur_prep_time=5000</code> - Set preparing time to 5 seconds for Harmony training. |
|- | |- | ||
− | | '''dynamic''' | + | | |
− | | The object | + | ==='''dynamic'''=== |
− | * <code>pranabreath://trainings/15?dynamic={"mValues":[{"mInhaleUnit":1,"mExhaleUnit":1,"mSecPerUnit":6500}{"mInhaleUnit":1,"mExhaleUnit":1,"mSecPerUnit":7000}{"mInhaleUnit":1,"mExhaleUnit":1,"mSecPerUnit":7300}],"mKeys":[0,1,2,]}</code> - Set | + | or '''trng_cycles''' |
+ | | The object that represents [[Breath cycle|breathing]] or [[Repose cycle|repose]] cycles of the training. | ||
+ | * <code>pranabreath://trainings/15?dynamic={"mValues":[{"mInhaleUnit":1,"mExhaleUnit":1,"mSecPerUnit":6500}{"mInhaleUnit":1,"mExhaleUnit":1,"mSecPerUnit":7000}{"mInhaleUnit":1,"mExhaleUnit":1,"mSecPerUnit":7300}],"mKeys":[0,1,2,]}</code> - Set 3 cycles with the [[Ratio_of_breath_cycle|ratio] 1:0:1:0. First cycle has 6.5 [[Seconds per unit|seconds per ratio unit]], second - 7 seconds, and third - 7.3 seconds. | ||
|- | |- | ||
− | | '''dynamic_enabled''' | + | | |
− | | | + | ==='''dynamic_enabled'''=== |
− | * <code>pranabreath://trainings/Harmony?dynamic_enabled=true</code> - Enable dynamic mode for | + | | Turns [[Dynamic_tab|dynamic mode]] on. Value range is [true, false]. |
+ | * <code>pranabreath://trainings/Harmony?dynamic_enabled=true</code> - Enable dynamic mode for [[Harmony]] training. | ||
|- | |- | ||
− | | '''note''' | + | | |
+ | ==='''time_per_unit'''=== | ||
+ | | [[Seconds_per_unit|Time per ratio unit]], measured in milliseconds. Value range is [100, 99000]. | ||
+ | If unsigned, this value is applied for every cycle across the trainings. If it has a sign - the value is decreased or increased every next cycle. Use <code>%2B</code> instead of <code>+</code> and <code>%2D</code> instead of <code>-</code> for the URL safety. | ||
+ | * <code>pranabreath://trainings/Relax&time_per_unit=6300</code> - Set 6,3 seconds per ratio unit for [[Relax]] training. | ||
+ | * <code>pranabreath://trainings/Relax&time_per_unit=%2B500</code> - Increase seconds per ratio unit for all cycles by 0.5 seconds for [[Relax]] training. It keeps the cycle ratio in [[Dynamic_tab|dynamic mode]] the same, but increases overall [[training complexity]]. | ||
+ | |- | ||
+ | | | ||
+ | ==='''custom_chants'''=== | ||
+ | | The [[Chants|custom chants]] of the training. | ||
+ | * <code>pranabreath://trainings?cmd=create&name=Chanting_breathing&custom_chants=["Qm9vb20%3D","VmFhYW0%3D","UmFhYW0%3D"]&dynamic={"mValues":[{"mInhaleUnit":1,"mExhaleUnit":1,"mSustainUnit":2,"mChantsBitSet":1073742800,"mSecPerUnit":3000}],"mKeys":[0,]}</code> - Create the training with custom chants. Chants are specified as an array, and also every chant is [https://en.wikipedia.org/wiki/Base64 Base64] encoded for the URL safety. In this example we set "Raaam" chant for the inhaling and "Vaaam" chant for the exhaling phases. | ||
+ | |- | ||
+ | | | ||
+ | ==='''note'''=== | ||
| The [[Note|training note]]. | | The [[Note|training note]]. | ||
− | * <code>pranabreath://trainings/Relax?note= | + | * <code>pranabreath://trainings/Relax?note=VGhpcyB0cmFpbmluZyBpcyByZWFsbHkgaGVscGZ1bCBhZnRlciBsb25nIGNvbmNlbnRyYXRpb24%3D</code> - Set the training note for [[Relax]] training. It totally replaces previous note if it exists. The note should be [https://en.wikipedia.org/wiki/Base64 Base64] encoded for the URL safety. |
− | + | |- | |
+ | | | ||
+ | ==='''json_data'''=== | ||
+ | | Data of [[Development:Prana_Breath_API/Files:Trng|training (.trng) file]] for importing. | ||
+ | * <code>pranabreath://trainings?cmd=import&json_data={"ENTRY":"TRAINING","name":"my_training"}"</code> - Import the training named "my_training". | ||
|} | |} | ||
+ | </div> | ||
+ | |||
+ | {{DISPLAYTITLE:<span style="position:absolute; top:-9999px;">Development:</span>Prana Breath API/Collections:Trainings}} | ||
+ | [[Category:Dev{{#translation:}}|^Prana Breath^]] |
Latest revision as of 16:05, 1 April 2019
trainings
, or trngs
- Collection that gives control over all trainings in the app.
Contents
Prefix
pranabreath://
- Case-insensitive.https://pranabreath.olekdia.com/
- Case-sensitive.https://pranabreath.info/
- Case-sensitive.https://pranabreath.page.link/?link=https://pranabreath.olekdia.com/
- Case-sensitive.
Syntax
pranabreath://trainings/item?cmd=[Command]
- Case-insensitive.pranabreath://Trainings/item?[Parameter]=[Value]
pranabreath://trainings/item?cmd=[Command]&[Parameter1]=[Value1]&[Parameter2]=[Value2]
https://pranabreath.olekdia.com/trainings?cmd=[Command]&[Parameter]=[Value]
- Case-sensitive.
Commands
Command | Description |
---|---|
list |
Returns training list. Currently it is used only in console for retrieving a training list.
pos id public_id name 0 1 1 Clear mind 1 2 2 Relax 2 3 3 Calming 3 4 4 Power 4 5 5 Harmony 5 6 6 Anti-stress 6 7 7 Anti-appetite 7 8 8 Cigarette replace 8 9 11 Bhastrika
|
select |
Select the specified training. Other than their specific effect, commands import, create and start do select as well. |
import |
Import the specified training into the app.
|
create |
Create the training with certain parameters. If training with such name already exists - new training will not be created. Instead all parameters will be applied to existing training.
|
start |
Starts the selected training. If there is no such training - nothing happens. But if the training with such name is featured in the training list on our wiki, it will be automatically imported and started.
|
delete |
Delete the selected training. If there is no selected training - nothing happens.
|
info |
Show the information about training on this wiki. It is applicable only for the default trainings and for the trainings importable from this wiki.
|
Parameters
Parameter | Description |
---|---|
name |
Name of the training.
|
public_id |
Indicates public id of the training. All trainings in this list have their own public_id. All public_id are listed here. It is a read-only value.
|
trng_type |
Is a kind of the training. Value range is [0 - breathing session, 1 - meditation].
|
pos |
Position of the training in the training list.
|
curr_level |
Selected complexity level of a training (if applicable). Value range is [1, 5]
|
dur_timeor duration |
Training duration, in milliseconds (if this value is set, training duration mode is be measured in amount of time). Value range is [60000, 59940000]
|
dur_num_cyclesor num_iterations |
Training duration, in amount of cycles (if this value is set, training duration mode is be measured in amount of cycles). Value range is [1, 999]
|
dur_prep_time |
Preparing time duration, in milliseconds. Value range is [0, 60000]
|
dynamicor trng_cycles |
The object that represents breathing or repose cycles of the training.
|
dynamic_enabled |
Turns dynamic mode on. Value range is [true, false].
|
time_per_unit |
Time per ratio unit, measured in milliseconds. Value range is [100, 99000].
If unsigned, this value is applied for every cycle across the trainings. If it has a sign - the value is decreased or increased every next cycle. Use
|
custom_chants |
The custom chants of the training.
|
note |
The training note. |
json_data |
Data of training (.trng) file for importing.
|