appwrite 22.0.0 → 23.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/appwrite/client.rb +9 -2
- data/lib/appwrite/enums/build_runtime.rb +2 -0
- data/lib/appwrite/enums/o_auth_provider.rb +1 -0
- data/lib/appwrite/enums/platform_type.rb +11 -0
- data/lib/appwrite/enums/protocol_id.rb +9 -0
- data/lib/appwrite/enums/runtime.rb +2 -0
- data/lib/appwrite/enums/scopes.rb +4 -0
- data/lib/appwrite/enums/service_id.rb +23 -0
- data/lib/appwrite/models/auth_provider.rb +47 -0
- data/lib/appwrite/models/billing_limits.rb +62 -0
- data/lib/appwrite/models/block.rb +47 -0
- data/lib/appwrite/models/dev_key.rb +62 -0
- data/lib/appwrite/models/key.rb +67 -0
- data/lib/appwrite/models/key_list.rb +32 -0
- data/lib/appwrite/models/log.rb +5 -0
- data/lib/appwrite/models/mock_number.rb +32 -0
- data/lib/appwrite/models/platform_android.rb +71 -0
- data/lib/appwrite/models/platform_apple.rb +71 -0
- data/lib/appwrite/models/platform_linux.rb +71 -0
- data/lib/appwrite/models/platform_list.rb +32 -0
- data/lib/appwrite/models/platform_web.rb +71 -0
- data/lib/appwrite/models/platform_windows.rb +71 -0
- data/lib/appwrite/models/project.rb +412 -0
- data/lib/appwrite/models/webhook.rb +20 -20
- data/lib/appwrite/service.rb +1 -1
- data/lib/appwrite/services/account.rb +47 -2
- data/lib/appwrite/services/activities.rb +3 -1
- data/lib/appwrite/services/avatars.rb +9 -1
- data/lib/appwrite/services/backups.rb +13 -1
- data/lib/appwrite/services/databases.rb +132 -6
- data/lib/appwrite/services/functions.rb +27 -1
- data/lib/appwrite/services/graphql.rb +5 -3
- data/lib/appwrite/services/health.rb +26 -1
- data/lib/appwrite/services/locale.rb +9 -1
- data/lib/appwrite/services/messaging.rb +49 -1
- data/lib/appwrite/services/project.rb +840 -1
- data/lib/appwrite/services/sites.rb +26 -1
- data/lib/appwrite/services/storage.rb +14 -1
- data/lib/appwrite/services/tables_db.rb +132 -6
- data/lib/appwrite/services/teams.rb +14 -1
- data/lib/appwrite/services/tokens.rb +6 -1
- data/lib/appwrite/services/users.rb +44 -1
- data/lib/appwrite/services/webhooks.rb +31 -21
- data/lib/appwrite.rb +17 -0
- metadata +19 -2
|
@@ -34,6 +34,7 @@ module Appwrite
|
|
|
34
34
|
params: api_params,
|
|
35
35
|
response_type: Models::FunctionList
|
|
36
36
|
)
|
|
37
|
+
|
|
37
38
|
end
|
|
38
39
|
|
|
39
40
|
# Create a new function. You can pass a list of
|
|
@@ -112,6 +113,7 @@ module Appwrite
|
|
|
112
113
|
params: api_params,
|
|
113
114
|
response_type: Models::Function
|
|
114
115
|
)
|
|
116
|
+
|
|
115
117
|
end
|
|
116
118
|
|
|
117
119
|
# Get a list of all runtimes that are currently active on your instance.
|
|
@@ -134,6 +136,7 @@ module Appwrite
|
|
|
134
136
|
params: api_params,
|
|
135
137
|
response_type: Models::RuntimeList
|
|
136
138
|
)
|
|
139
|
+
|
|
137
140
|
end
|
|
138
141
|
|
|
139
142
|
# List allowed function specifications for this instance.
|
|
@@ -156,6 +159,7 @@ module Appwrite
|
|
|
156
159
|
params: api_params,
|
|
157
160
|
response_type: Models::SpecificationList
|
|
158
161
|
)
|
|
162
|
+
|
|
159
163
|
end
|
|
160
164
|
|
|
161
165
|
# Get a function by its unique ID.
|
|
@@ -184,6 +188,7 @@ module Appwrite
|
|
|
184
188
|
params: api_params,
|
|
185
189
|
response_type: Models::Function
|
|
186
190
|
)
|
|
191
|
+
|
|
187
192
|
end
|
|
188
193
|
|
|
189
194
|
# Update function by its unique ID.
|
|
@@ -255,6 +260,7 @@ module Appwrite
|
|
|
255
260
|
params: api_params,
|
|
256
261
|
response_type: Models::Function
|
|
257
262
|
)
|
|
263
|
+
|
|
258
264
|
end
|
|
259
265
|
|
|
260
266
|
# Delete a function by its unique ID.
|
|
@@ -283,6 +289,7 @@ module Appwrite
|
|
|
283
289
|
headers: api_headers,
|
|
284
290
|
params: api_params,
|
|
285
291
|
)
|
|
292
|
+
|
|
286
293
|
end
|
|
287
294
|
|
|
288
295
|
# Update the function active deployment. Use this endpoint to switch the code
|
|
@@ -319,6 +326,7 @@ module Appwrite
|
|
|
319
326
|
params: api_params,
|
|
320
327
|
response_type: Models::Function
|
|
321
328
|
)
|
|
329
|
+
|
|
322
330
|
end
|
|
323
331
|
|
|
324
332
|
# Get a list of all the function's code deployments. You can use the query
|
|
@@ -354,6 +362,7 @@ module Appwrite
|
|
|
354
362
|
params: api_params,
|
|
355
363
|
response_type: Models::DeploymentList
|
|
356
364
|
)
|
|
365
|
+
|
|
357
366
|
end
|
|
358
367
|
|
|
359
368
|
# Create a new function code deployment. Use this endpoint to upload a new
|
|
@@ -413,6 +422,7 @@ module Appwrite
|
|
|
413
422
|
on_progress: on_progress,
|
|
414
423
|
response_type: Models::Deployment
|
|
415
424
|
)
|
|
425
|
+
|
|
416
426
|
end
|
|
417
427
|
|
|
418
428
|
# Create a new build for an existing function deployment. This endpoint
|
|
@@ -454,6 +464,7 @@ module Appwrite
|
|
|
454
464
|
params: api_params,
|
|
455
465
|
response_type: Models::Deployment
|
|
456
466
|
)
|
|
467
|
+
|
|
457
468
|
end
|
|
458
469
|
|
|
459
470
|
# Create a deployment based on a template.
|
|
@@ -519,6 +530,7 @@ module Appwrite
|
|
|
519
530
|
params: api_params,
|
|
520
531
|
response_type: Models::Deployment
|
|
521
532
|
)
|
|
533
|
+
|
|
522
534
|
end
|
|
523
535
|
|
|
524
536
|
# Create a deployment when a function is connected to VCS.
|
|
@@ -564,6 +576,7 @@ module Appwrite
|
|
|
564
576
|
params: api_params,
|
|
565
577
|
response_type: Models::Deployment
|
|
566
578
|
)
|
|
579
|
+
|
|
567
580
|
end
|
|
568
581
|
|
|
569
582
|
# Get a function deployment by its unique ID.
|
|
@@ -598,6 +611,7 @@ module Appwrite
|
|
|
598
611
|
params: api_params,
|
|
599
612
|
response_type: Models::Deployment
|
|
600
613
|
)
|
|
614
|
+
|
|
601
615
|
end
|
|
602
616
|
|
|
603
617
|
# Delete a code deployment by its unique ID.
|
|
@@ -632,6 +646,7 @@ module Appwrite
|
|
|
632
646
|
headers: api_headers,
|
|
633
647
|
params: api_params,
|
|
634
648
|
)
|
|
649
|
+
|
|
635
650
|
end
|
|
636
651
|
|
|
637
652
|
# Get a function deployment content by its unique ID. The endpoint response
|
|
@@ -669,6 +684,7 @@ module Appwrite
|
|
|
669
684
|
headers: api_headers,
|
|
670
685
|
params: api_params,
|
|
671
686
|
)
|
|
687
|
+
|
|
672
688
|
end
|
|
673
689
|
|
|
674
690
|
# Cancel an ongoing function deployment build. If the build is already in
|
|
@@ -708,6 +724,7 @@ module Appwrite
|
|
|
708
724
|
params: api_params,
|
|
709
725
|
response_type: Models::Deployment
|
|
710
726
|
)
|
|
727
|
+
|
|
711
728
|
end
|
|
712
729
|
|
|
713
730
|
# Get a list of all the current user function execution logs. You can use the
|
|
@@ -741,6 +758,7 @@ module Appwrite
|
|
|
741
758
|
params: api_params,
|
|
742
759
|
response_type: Models::ExecutionList
|
|
743
760
|
)
|
|
761
|
+
|
|
744
762
|
end
|
|
745
763
|
|
|
746
764
|
# Trigger a function execution. The returned object will return you the
|
|
@@ -785,6 +803,7 @@ module Appwrite
|
|
|
785
803
|
params: api_params,
|
|
786
804
|
response_type: Models::Execution
|
|
787
805
|
)
|
|
806
|
+
|
|
788
807
|
end
|
|
789
808
|
|
|
790
809
|
# Get a function execution log by its unique ID.
|
|
@@ -819,6 +838,7 @@ module Appwrite
|
|
|
819
838
|
params: api_params,
|
|
820
839
|
response_type: Models::Execution
|
|
821
840
|
)
|
|
841
|
+
|
|
822
842
|
end
|
|
823
843
|
|
|
824
844
|
# Delete a function execution by its unique ID.
|
|
@@ -853,6 +873,7 @@ module Appwrite
|
|
|
853
873
|
headers: api_headers,
|
|
854
874
|
params: api_params,
|
|
855
875
|
)
|
|
876
|
+
|
|
856
877
|
end
|
|
857
878
|
|
|
858
879
|
# Get a list of all variables of a specific function.
|
|
@@ -881,6 +902,7 @@ module Appwrite
|
|
|
881
902
|
params: api_params,
|
|
882
903
|
response_type: Models::VariableList
|
|
883
904
|
)
|
|
905
|
+
|
|
884
906
|
end
|
|
885
907
|
|
|
886
908
|
# Create a new function environment variable. These variables can be accessed
|
|
@@ -925,6 +947,7 @@ module Appwrite
|
|
|
925
947
|
params: api_params,
|
|
926
948
|
response_type: Models::Variable
|
|
927
949
|
)
|
|
950
|
+
|
|
928
951
|
end
|
|
929
952
|
|
|
930
953
|
# Get a variable by its unique ID.
|
|
@@ -959,6 +982,7 @@ module Appwrite
|
|
|
959
982
|
params: api_params,
|
|
960
983
|
response_type: Models::Variable
|
|
961
984
|
)
|
|
985
|
+
|
|
962
986
|
end
|
|
963
987
|
|
|
964
988
|
# Update variable by its unique ID.
|
|
@@ -1004,6 +1028,7 @@ module Appwrite
|
|
|
1004
1028
|
params: api_params,
|
|
1005
1029
|
response_type: Models::Variable
|
|
1006
1030
|
)
|
|
1031
|
+
|
|
1007
1032
|
end
|
|
1008
1033
|
|
|
1009
1034
|
# Delete a variable by its unique ID.
|
|
@@ -1038,7 +1063,8 @@ module Appwrite
|
|
|
1038
1063
|
headers: api_headers,
|
|
1039
1064
|
params: api_params,
|
|
1040
1065
|
)
|
|
1066
|
+
|
|
1041
1067
|
end
|
|
1042
1068
|
|
|
1043
1069
|
end
|
|
1044
|
-
end
|
|
1070
|
+
end
|
|
@@ -11,7 +11,7 @@ module Appwrite
|
|
|
11
11
|
#
|
|
12
12
|
# @param [Hash] query The query or queries to execute.
|
|
13
13
|
#
|
|
14
|
-
# @return [
|
|
14
|
+
# @return []
|
|
15
15
|
def query(query:)
|
|
16
16
|
api_path = '/graphql'
|
|
17
17
|
|
|
@@ -34,13 +34,14 @@ module Appwrite
|
|
|
34
34
|
headers: api_headers,
|
|
35
35
|
params: api_params,
|
|
36
36
|
)
|
|
37
|
+
|
|
37
38
|
end
|
|
38
39
|
|
|
39
40
|
# Execute a GraphQL mutation.
|
|
40
41
|
#
|
|
41
42
|
# @param [Hash] query The query or queries to execute.
|
|
42
43
|
#
|
|
43
|
-
# @return [
|
|
44
|
+
# @return []
|
|
44
45
|
def mutation(query:)
|
|
45
46
|
api_path = '/graphql/mutation'
|
|
46
47
|
|
|
@@ -63,7 +64,8 @@ module Appwrite
|
|
|
63
64
|
headers: api_headers,
|
|
64
65
|
params: api_params,
|
|
65
66
|
)
|
|
67
|
+
|
|
66
68
|
end
|
|
67
69
|
|
|
68
70
|
end
|
|
69
|
-
end
|
|
71
|
+
end
|
|
@@ -27,6 +27,7 @@ module Appwrite
|
|
|
27
27
|
params: api_params,
|
|
28
28
|
response_type: Models::HealthStatus
|
|
29
29
|
)
|
|
30
|
+
|
|
30
31
|
end
|
|
31
32
|
|
|
32
33
|
# Check the Appwrite Antivirus server is up and connection is successful.
|
|
@@ -49,6 +50,7 @@ module Appwrite
|
|
|
49
50
|
params: api_params,
|
|
50
51
|
response_type: Models::HealthAntivirus
|
|
51
52
|
)
|
|
53
|
+
|
|
52
54
|
end
|
|
53
55
|
|
|
54
56
|
# Check the Appwrite in-memory cache servers are up and connection is
|
|
@@ -72,6 +74,7 @@ module Appwrite
|
|
|
72
74
|
params: api_params,
|
|
73
75
|
response_type: Models::HealthStatusList
|
|
74
76
|
)
|
|
77
|
+
|
|
75
78
|
end
|
|
76
79
|
|
|
77
80
|
# Get the SSL certificate for a domain
|
|
@@ -96,6 +99,7 @@ module Appwrite
|
|
|
96
99
|
params: api_params,
|
|
97
100
|
response_type: Models::HealthCertificate
|
|
98
101
|
)
|
|
102
|
+
|
|
99
103
|
end
|
|
100
104
|
|
|
101
105
|
# Get console pausing health status. Monitors projects approaching the pause
|
|
@@ -124,6 +128,7 @@ module Appwrite
|
|
|
124
128
|
params: api_params,
|
|
125
129
|
response_type: Models::HealthStatus
|
|
126
130
|
)
|
|
131
|
+
|
|
127
132
|
end
|
|
128
133
|
|
|
129
134
|
# Check the Appwrite database servers are up and connection is successful.
|
|
@@ -146,6 +151,7 @@ module Appwrite
|
|
|
146
151
|
params: api_params,
|
|
147
152
|
response_type: Models::HealthStatusList
|
|
148
153
|
)
|
|
154
|
+
|
|
149
155
|
end
|
|
150
156
|
|
|
151
157
|
# Check the Appwrite pub-sub servers are up and connection is successful.
|
|
@@ -168,10 +174,12 @@ module Appwrite
|
|
|
168
174
|
params: api_params,
|
|
169
175
|
response_type: Models::HealthStatusList
|
|
170
176
|
)
|
|
177
|
+
|
|
171
178
|
end
|
|
172
179
|
|
|
173
180
|
# Get the number of audit logs that are waiting to be processed in the
|
|
174
181
|
# Appwrite internal queue server.
|
|
182
|
+
#
|
|
175
183
|
#
|
|
176
184
|
# @param [Integer] threshold Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.
|
|
177
185
|
#
|
|
@@ -193,6 +201,7 @@ module Appwrite
|
|
|
193
201
|
params: api_params,
|
|
194
202
|
response_type: Models::HealthQueue
|
|
195
203
|
)
|
|
204
|
+
|
|
196
205
|
end
|
|
197
206
|
|
|
198
207
|
# Get the number of builds that are waiting to be processed in the Appwrite
|
|
@@ -218,6 +227,7 @@ module Appwrite
|
|
|
218
227
|
params: api_params,
|
|
219
228
|
response_type: Models::HealthQueue
|
|
220
229
|
)
|
|
230
|
+
|
|
221
231
|
end
|
|
222
232
|
|
|
223
233
|
# Get the number of certificates that are waiting to be issued against
|
|
@@ -244,6 +254,7 @@ module Appwrite
|
|
|
244
254
|
params: api_params,
|
|
245
255
|
response_type: Models::HealthQueue
|
|
246
256
|
)
|
|
257
|
+
|
|
247
258
|
end
|
|
248
259
|
|
|
249
260
|
# Get the number of database changes that are waiting to be processed in the
|
|
@@ -271,6 +282,7 @@ module Appwrite
|
|
|
271
282
|
params: api_params,
|
|
272
283
|
response_type: Models::HealthQueue
|
|
273
284
|
)
|
|
285
|
+
|
|
274
286
|
end
|
|
275
287
|
|
|
276
288
|
# Get the number of background destructive changes that are waiting to be
|
|
@@ -296,6 +308,7 @@ module Appwrite
|
|
|
296
308
|
params: api_params,
|
|
297
309
|
response_type: Models::HealthQueue
|
|
298
310
|
)
|
|
311
|
+
|
|
299
312
|
end
|
|
300
313
|
|
|
301
314
|
# Returns the amount of failed jobs in a given queue.
|
|
@@ -327,6 +340,7 @@ module Appwrite
|
|
|
327
340
|
params: api_params,
|
|
328
341
|
response_type: Models::HealthQueue
|
|
329
342
|
)
|
|
343
|
+
|
|
330
344
|
end
|
|
331
345
|
|
|
332
346
|
# Get the number of function executions that are waiting to be processed in
|
|
@@ -352,6 +366,7 @@ module Appwrite
|
|
|
352
366
|
params: api_params,
|
|
353
367
|
response_type: Models::HealthQueue
|
|
354
368
|
)
|
|
369
|
+
|
|
355
370
|
end
|
|
356
371
|
|
|
357
372
|
# Get the number of logs that are waiting to be processed in the Appwrite
|
|
@@ -377,6 +392,7 @@ module Appwrite
|
|
|
377
392
|
params: api_params,
|
|
378
393
|
response_type: Models::HealthQueue
|
|
379
394
|
)
|
|
395
|
+
|
|
380
396
|
end
|
|
381
397
|
|
|
382
398
|
# Get the number of mails that are waiting to be processed in the Appwrite
|
|
@@ -402,6 +418,7 @@ module Appwrite
|
|
|
402
418
|
params: api_params,
|
|
403
419
|
response_type: Models::HealthQueue
|
|
404
420
|
)
|
|
421
|
+
|
|
405
422
|
end
|
|
406
423
|
|
|
407
424
|
# Get the number of messages that are waiting to be processed in the Appwrite
|
|
@@ -427,6 +444,7 @@ module Appwrite
|
|
|
427
444
|
params: api_params,
|
|
428
445
|
response_type: Models::HealthQueue
|
|
429
446
|
)
|
|
447
|
+
|
|
430
448
|
end
|
|
431
449
|
|
|
432
450
|
# Get the number of migrations that are waiting to be processed in the
|
|
@@ -452,6 +470,7 @@ module Appwrite
|
|
|
452
470
|
params: api_params,
|
|
453
471
|
response_type: Models::HealthQueue
|
|
454
472
|
)
|
|
473
|
+
|
|
455
474
|
end
|
|
456
475
|
|
|
457
476
|
# Get the number of metrics that are waiting to be processed in the Appwrite
|
|
@@ -477,6 +496,7 @@ module Appwrite
|
|
|
477
496
|
params: api_params,
|
|
478
497
|
response_type: Models::HealthQueue
|
|
479
498
|
)
|
|
499
|
+
|
|
480
500
|
end
|
|
481
501
|
|
|
482
502
|
# Get the number of metrics that are waiting to be processed in the Appwrite
|
|
@@ -502,6 +522,7 @@ module Appwrite
|
|
|
502
522
|
params: api_params,
|
|
503
523
|
response_type: Models::HealthQueue
|
|
504
524
|
)
|
|
525
|
+
|
|
505
526
|
end
|
|
506
527
|
|
|
507
528
|
# Get the number of webhooks that are waiting to be processed in the Appwrite
|
|
@@ -527,6 +548,7 @@ module Appwrite
|
|
|
527
548
|
params: api_params,
|
|
528
549
|
response_type: Models::HealthQueue
|
|
529
550
|
)
|
|
551
|
+
|
|
530
552
|
end
|
|
531
553
|
|
|
532
554
|
# Check the Appwrite storage device is up and connection is successful.
|
|
@@ -549,6 +571,7 @@ module Appwrite
|
|
|
549
571
|
params: api_params,
|
|
550
572
|
response_type: Models::HealthStatus
|
|
551
573
|
)
|
|
574
|
+
|
|
552
575
|
end
|
|
553
576
|
|
|
554
577
|
# Check the Appwrite local storage device is up and connection is successful.
|
|
@@ -571,6 +594,7 @@ module Appwrite
|
|
|
571
594
|
params: api_params,
|
|
572
595
|
response_type: Models::HealthStatus
|
|
573
596
|
)
|
|
597
|
+
|
|
574
598
|
end
|
|
575
599
|
|
|
576
600
|
# Check the Appwrite server time is synced with Google remote NTP server. We
|
|
@@ -599,7 +623,8 @@ module Appwrite
|
|
|
599
623
|
params: api_params,
|
|
600
624
|
response_type: Models::HealthTime
|
|
601
625
|
)
|
|
626
|
+
|
|
602
627
|
end
|
|
603
628
|
|
|
604
629
|
end
|
|
605
|
-
end
|
|
630
|
+
end
|
|
@@ -32,6 +32,7 @@ module Appwrite
|
|
|
32
32
|
params: api_params,
|
|
33
33
|
response_type: Models::Locale
|
|
34
34
|
)
|
|
35
|
+
|
|
35
36
|
end
|
|
36
37
|
|
|
37
38
|
# List of all locale codes in [ISO
|
|
@@ -55,6 +56,7 @@ module Appwrite
|
|
|
55
56
|
params: api_params,
|
|
56
57
|
response_type: Models::LocaleCodeList
|
|
57
58
|
)
|
|
59
|
+
|
|
58
60
|
end
|
|
59
61
|
|
|
60
62
|
# List of all continents. You can use the locale header to get the data in a
|
|
@@ -78,6 +80,7 @@ module Appwrite
|
|
|
78
80
|
params: api_params,
|
|
79
81
|
response_type: Models::ContinentList
|
|
80
82
|
)
|
|
83
|
+
|
|
81
84
|
end
|
|
82
85
|
|
|
83
86
|
# List of all countries. You can use the locale header to get the data in a
|
|
@@ -101,6 +104,7 @@ module Appwrite
|
|
|
101
104
|
params: api_params,
|
|
102
105
|
response_type: Models::CountryList
|
|
103
106
|
)
|
|
107
|
+
|
|
104
108
|
end
|
|
105
109
|
|
|
106
110
|
# List of all countries that are currently members of the EU. You can use the
|
|
@@ -124,6 +128,7 @@ module Appwrite
|
|
|
124
128
|
params: api_params,
|
|
125
129
|
response_type: Models::CountryList
|
|
126
130
|
)
|
|
131
|
+
|
|
127
132
|
end
|
|
128
133
|
|
|
129
134
|
# List of all countries phone codes. You can use the locale header to get the
|
|
@@ -147,6 +152,7 @@ module Appwrite
|
|
|
147
152
|
params: api_params,
|
|
148
153
|
response_type: Models::PhoneList
|
|
149
154
|
)
|
|
155
|
+
|
|
150
156
|
end
|
|
151
157
|
|
|
152
158
|
# List of all currencies, including currency symbol, name, plural, and
|
|
@@ -171,6 +177,7 @@ module Appwrite
|
|
|
171
177
|
params: api_params,
|
|
172
178
|
response_type: Models::CurrencyList
|
|
173
179
|
)
|
|
180
|
+
|
|
174
181
|
end
|
|
175
182
|
|
|
176
183
|
# List of all languages classified by ISO 639-1 including 2-letter code, name
|
|
@@ -194,7 +201,8 @@ module Appwrite
|
|
|
194
201
|
params: api_params,
|
|
195
202
|
response_type: Models::LanguageList
|
|
196
203
|
)
|
|
204
|
+
|
|
197
205
|
end
|
|
198
206
|
|
|
199
207
|
end
|
|
200
|
-
end
|
|
208
|
+
end
|