@mathrunet/masamune_cloudflare_turso 3.3.0 → 3.4.1

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.
Files changed (143) hide show
  1. package/CHANGELOG.md +10 -1
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.js +1 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/database_adapter.d.ts +105 -0
  6. package/dist/lib/database_adapter.js +356 -0
  7. package/dist/lib/database_adapter.js.map +1 -0
  8. package/package.json +3 -3
  9. package/dist/functions/test.d.ts +0 -1
  10. package/dist/functions/test.js +0 -71
  11. package/dist/functions/test.js.map +0 -1
  12. package/dist/lib/api.d.ts +0 -183
  13. package/dist/lib/api.js +0 -144
  14. package/dist/lib/api.js.map +0 -1
  15. package/dist/lib/exntensions/firestore.extension.d.ts +0 -247
  16. package/dist/lib/exntensions/firestore.extension.js +0 -386
  17. package/dist/lib/exntensions/firestore.extension.js.map +0 -1
  18. package/dist/lib/exntensions/string.extension.d.ts +0 -214
  19. package/dist/lib/exntensions/string.extension.js +0 -223
  20. package/dist/lib/exntensions/string.extension.js.map +0 -1
  21. package/dist/lib/model_field_value/converters/basic_converter.d.ts +0 -49
  22. package/dist/lib/model_field_value/converters/basic_converter.js +0 -51
  23. package/dist/lib/model_field_value/converters/basic_converter.js.map +0 -1
  24. package/dist/lib/model_field_value/converters/enum_converter.d.ts +0 -49
  25. package/dist/lib/model_field_value/converters/enum_converter.js +0 -51
  26. package/dist/lib/model_field_value/converters/enum_converter.js.map +0 -1
  27. package/dist/lib/model_field_value/converters/model_counter_converter.d.ts +0 -49
  28. package/dist/lib/model_field_value/converters/model_counter_converter.js +0 -216
  29. package/dist/lib/model_field_value/converters/model_counter_converter.js.map +0 -1
  30. package/dist/lib/model_field_value/converters/model_date_converter.d.ts +0 -49
  31. package/dist/lib/model_field_value/converters/model_date_converter.js +0 -271
  32. package/dist/lib/model_field_value/converters/model_date_converter.js.map +0 -1
  33. package/dist/lib/model_field_value/converters/model_date_range_converter.d.ts +0 -49
  34. package/dist/lib/model_field_value/converters/model_date_range_converter.js +0 -225
  35. package/dist/lib/model_field_value/converters/model_date_range_converter.js.map +0 -1
  36. package/dist/lib/model_field_value/converters/model_geo_value_converter.d.ts +0 -49
  37. package/dist/lib/model_field_value/converters/model_geo_value_converter.js +0 -216
  38. package/dist/lib/model_field_value/converters/model_geo_value_converter.js.map +0 -1
  39. package/dist/lib/model_field_value/converters/model_image_uri_converter.d.ts +0 -49
  40. package/dist/lib/model_field_value/converters/model_image_uri_converter.js +0 -184
  41. package/dist/lib/model_field_value/converters/model_image_uri_converter.js.map +0 -1
  42. package/dist/lib/model_field_value/converters/model_locale_converter.d.ts +0 -51
  43. package/dist/lib/model_field_value/converters/model_locale_converter.js +0 -228
  44. package/dist/lib/model_field_value/converters/model_locale_converter.js.map +0 -1
  45. package/dist/lib/model_field_value/converters/model_localized_value_converter.d.ts +0 -49
  46. package/dist/lib/model_field_value/converters/model_localized_value_converter.js +0 -145
  47. package/dist/lib/model_field_value/converters/model_localized_value_converter.js.map +0 -1
  48. package/dist/lib/model_field_value/converters/model_ref_base_converter.d.ts +0 -49
  49. package/dist/lib/model_field_value/converters/model_ref_base_converter.js +0 -159
  50. package/dist/lib/model_field_value/converters/model_ref_base_converter.js.map +0 -1
  51. package/dist/lib/model_field_value/converters/model_search_converter.d.ts +0 -49
  52. package/dist/lib/model_field_value/converters/model_search_converter.js +0 -138
  53. package/dist/lib/model_field_value/converters/model_search_converter.js.map +0 -1
  54. package/dist/lib/model_field_value/converters/model_server_command_base_converter.d.ts +0 -49
  55. package/dist/lib/model_field_value/converters/model_server_command_base_converter.js +0 -119
  56. package/dist/lib/model_field_value/converters/model_server_command_base_converter.js.map +0 -1
  57. package/dist/lib/model_field_value/converters/model_time_converter.d.ts +0 -49
  58. package/dist/lib/model_field_value/converters/model_time_converter.js +0 -271
  59. package/dist/lib/model_field_value/converters/model_time_converter.js.map +0 -1
  60. package/dist/lib/model_field_value/converters/model_time_range_converter.d.ts +0 -49
  61. package/dist/lib/model_field_value/converters/model_time_range_converter.js +0 -225
  62. package/dist/lib/model_field_value/converters/model_time_range_converter.js.map +0 -1
  63. package/dist/lib/model_field_value/converters/model_timestamp_converter.d.ts +0 -66
  64. package/dist/lib/model_field_value/converters/model_timestamp_converter.js +0 -297
  65. package/dist/lib/model_field_value/converters/model_timestamp_converter.js.map +0 -1
  66. package/dist/lib/model_field_value/converters/model_timestamp_range_converter.d.ts +0 -49
  67. package/dist/lib/model_field_value/converters/model_timestamp_range_converter.js +0 -225
  68. package/dist/lib/model_field_value/converters/model_timestamp_range_converter.js.map +0 -1
  69. package/dist/lib/model_field_value/converters/model_token_converter.d.ts +0 -48
  70. package/dist/lib/model_field_value/converters/model_token_converter.js +0 -137
  71. package/dist/lib/model_field_value/converters/model_token_converter.js.map +0 -1
  72. package/dist/lib/model_field_value/converters/model_uri_converter.d.ts +0 -49
  73. package/dist/lib/model_field_value/converters/model_uri_converter.js +0 -184
  74. package/dist/lib/model_field_value/converters/model_uri_converter.js.map +0 -1
  75. package/dist/lib/model_field_value/converters/model_vector_value_converter.d.ts +0 -49
  76. package/dist/lib/model_field_value/converters/model_vector_value_converter.js +0 -125
  77. package/dist/lib/model_field_value/converters/model_vector_value_converter.js.map +0 -1
  78. package/dist/lib/model_field_value/converters/model_video_uri_converter.d.ts +0 -49
  79. package/dist/lib/model_field_value/converters/model_video_uri_converter.js +0 -184
  80. package/dist/lib/model_field_value/converters/model_video_uri_converter.js.map +0 -1
  81. package/dist/lib/model_field_value/converters/null_converter.d.ts +0 -49
  82. package/dist/lib/model_field_value/converters/null_converter.js +0 -72
  83. package/dist/lib/model_field_value/converters/null_converter.js.map +0 -1
  84. package/dist/lib/model_field_value/default_model_field_value_converter.d.ts +0 -155
  85. package/dist/lib/model_field_value/default_model_field_value_converter.js +0 -303
  86. package/dist/lib/model_field_value/default_model_field_value_converter.js.map +0 -1
  87. package/dist/lib/model_field_value/model_field_value.d.ts +0 -467
  88. package/dist/lib/model_field_value/model_field_value.js +0 -665
  89. package/dist/lib/model_field_value/model_field_value.js.map +0 -1
  90. package/dist/lib/model_field_value/model_field_value_converter.d.ts +0 -117
  91. package/dist/lib/model_field_value/model_field_value_converter.js +0 -49
  92. package/dist/lib/model_field_value/model_field_value_converter.js.map +0 -1
  93. package/dist/lib/regions.d.ts +0 -6
  94. package/dist/lib/regions.js +0 -3
  95. package/dist/lib/regions.js.map +0 -1
  96. package/dist/lib/src/call_process_function_base.d.ts +0 -39
  97. package/dist/lib/src/call_process_function_base.js +0 -72
  98. package/dist/lib/src/call_process_function_base.js.map +0 -1
  99. package/dist/lib/src/firebase_loader.d.ts +0 -30
  100. package/dist/lib/src/firebase_loader.js +0 -96
  101. package/dist/lib/src/firebase_loader.js.map +0 -1
  102. package/dist/lib/src/firestore_base.d.ts +0 -114
  103. package/dist/lib/src/firestore_base.js +0 -363
  104. package/dist/lib/src/firestore_base.js.map +0 -1
  105. package/dist/lib/src/firestore_triggered_process_function_base.d.ts +0 -40
  106. package/dist/lib/src/firestore_triggered_process_function_base.js +0 -72
  107. package/dist/lib/src/firestore_triggered_process_function_base.js.map +0 -1
  108. package/dist/lib/src/functions_base.d.ts +0 -327
  109. package/dist/lib/src/functions_base.js +0 -63
  110. package/dist/lib/src/functions_base.js.map +0 -1
  111. package/dist/lib/src/functions_data.d.ts +0 -10
  112. package/dist/lib/src/functions_data.js +0 -19
  113. package/dist/lib/src/functions_data.js.map +0 -1
  114. package/dist/lib/src/request_process_function_base.d.ts +0 -39
  115. package/dist/lib/src/request_process_function_base.js +0 -70
  116. package/dist/lib/src/request_process_function_base.js.map +0 -1
  117. package/dist/lib/src/request_process_workders_base.d.ts +0 -37
  118. package/dist/lib/src/request_process_workders_base.js +0 -27
  119. package/dist/lib/src/request_process_workders_base.js.map +0 -1
  120. package/dist/lib/src/schedule_process_function_base.d.ts +0 -33
  121. package/dist/lib/src/schedule_process_function_base.js +0 -71
  122. package/dist/lib/src/schedule_process_function_base.js.map +0 -1
  123. package/dist/lib/src/sql_api_base.d.ts +0 -185
  124. package/dist/lib/src/sql_api_base.js +0 -83
  125. package/dist/lib/src/sql_api_base.js.map +0 -1
  126. package/dist/lib/src/workers_base.d.ts +0 -74
  127. package/dist/lib/src/workers_base.js +0 -57
  128. package/dist/lib/src/workers_base.js.map +0 -1
  129. package/dist/lib/src/workers_data.d.ts +0 -10
  130. package/dist/lib/src/workers_data.js +0 -21
  131. package/dist/lib/src/workers_data.js.map +0 -1
  132. package/dist/lib/utils.d.ts +0 -82
  133. package/dist/lib/utils.js +0 -141
  134. package/dist/lib/utils.js.map +0 -1
  135. package/dist/workers/test.d.ts +0 -1
  136. package/dist/workers/test.js +0 -14
  137. package/dist/workers/test.js.map +0 -1
  138. package/dist/workers/turso.d.ts +0 -1
  139. package/dist/workers/turso.js +0 -50
  140. package/dist/workers/turso.js.map +0 -1
  141. package/dist/workers/turso_token.d.ts +0 -1
  142. package/dist/workers/turso_token.js +0 -40
  143. package/dist/workers/turso_token.js.map +0 -1
package/dist/lib/utils.js DELETED
@@ -1,141 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isDynamicMap = isDynamicMap;
4
- exports.parse = parse;
5
- exports.uuid = uuid;
6
- exports.splitArray = splitArray;
7
- const uuid_1 = require("uuid");
8
- /**
9
- * Checks if [value] is {[key: string]: any}.
10
- *
11
- * [value]が{[key: string]: any}であるかどうかをチェックします。
12
- *
13
- * @param value
14
- * Value to be checked.
15
- *
16
- * チェックしたい値。
17
- *
18
- * @returns
19
- * If [value] is {[key: string]: any}, returns true; otherwise, returns false.
20
- *
21
- * [value]が{[key: string]: any}ならtrue、そうでなければfalseを返します。
22
- */
23
- function isDynamicMap(value) {
24
- return value !== null && typeof value === 'object' && !(value instanceof Array);
25
- }
26
- /**
27
- * Converts strings, numbers, etc. to the appropriate type.
28
- *
29
- * 文字列や数値などを適切な型に変換します。
30
- *
31
- * @param {string | number} value
32
- * Strings and numbers.
33
- * 文字列か数値。
34
- *
35
- * @return {bool | number | string}
36
- * If it is a string, a numeric value is returned;
37
- * otherwise, the input value is returned.
38
- * 文字列なら数値、そうでなければ入力値が返却されます。
39
- */
40
- function parse(value) {
41
- if (typeof value === "string") {
42
- if (value === "false") {
43
- return false;
44
- }
45
- else if (value === "true") {
46
- return true;
47
- }
48
- else if (value.match(new RegExp("^[0-9]+$"))) {
49
- const i = parseInt(value);
50
- if (isNaN(i)) {
51
- return value;
52
- }
53
- else {
54
- return i;
55
- }
56
- }
57
- else {
58
- return value;
59
- }
60
- }
61
- else {
62
- return value;
63
- }
64
- }
65
- /**
66
- * Generate and retrieve the UUID for Version 7.
67
- *
68
- * The strings can be sorted in chronological order of generation.
69
- *
70
- * Returned as a string with 32 hyphenated characters removed.
71
- *
72
- * If [baseTime] is specified, the date and time to be generated can be adjusted.
73
- * If [reverse] is specified, the elapsed time from [baseTime] is reversed.
74
- *
75
- * Version7のUUIDを生成し取得します。
76
- *
77
- * 文字列を生成した時系列順にソート可能です。
78
- *
79
- * 32文字のハイフンが取り除かれた文字列として返されます。
80
- *
81
- * [baseTime]を指定した場合、生成する日時を調節できます。
82
- * [reverse]を指定した場合は、[baseTime]からの経過時間を反転させた値を使用します。
83
- *
84
- * @param {Object} options - Options for UUID generation
85
- * @param {Date} [options.baseTime] - Base time for UUID generation (defaults to current time)
86
- * @param {boolean} [options.reverse=false] - Whether to reverse the timestamp
87
- * @return {string} UUID v7 without hyphens
88
- */
89
- function uuid(options) {
90
- const baseTime = options?.baseTime ?? new Date();
91
- const reverse = options?.reverse ?? false;
92
- const generated = (0, uuid_1.v7)({ msecs: baseTime.getTime() }).replace(/-/g, "");
93
- if (reverse) {
94
- return _createComplementaryString(generated);
95
- }
96
- return generated;
97
- }
98
- /**
99
- * Divides an array into pieces of the specified size.
100
- *
101
- * 配列を指定したサイズで分割します。
102
- *
103
- * @param array
104
- * Array to be divided.
105
- *
106
- * 分割したい配列。
107
- *
108
- * @param chunkSize
109
- * Size of each piece.
110
- *
111
- * 1つのピースのサイズ。
112
- *
113
- * @returns {T[][]}
114
- * Array divided into pieces.
115
- *
116
- * 分割された配列。
117
- */
118
- function splitArray(array, chunkSize) {
119
- let index = 0;
120
- let arrayLength = array.length;
121
- let tempArray = [];
122
- for (index = 0; index < arrayLength; index += chunkSize) {
123
- let chunk = array.slice(index, index + chunkSize);
124
- tempArray.push(chunk);
125
- }
126
- return tempArray;
127
- }
128
- function _createComplementaryString(originalString) {
129
- let buffer = "";
130
- const charList = "0123456789abcdef";
131
- for (let i = 0; i < originalString.length; i++) {
132
- const charIndex = charList.indexOf(originalString[i]);
133
- if (charIndex == -1) {
134
- continue;
135
- }
136
- const complementIndex = charList.length - charIndex - 1;
137
- buffer += charList[complementIndex];
138
- }
139
- return buffer;
140
- }
141
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":";;AAiBA,oCAEC;AAgBD,sBAmBC;AA0BD,oBASC;AAsBD,gCAWC;AA1HD,+BAAoC;AAEpC;;;;;;;;;;;;;;GAcG;AACH,SAAgB,YAAY,CAAC,KAAU;IACrC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC;AAClF,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,KAAK,CAAC,KAAsB;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;aAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YAC/C,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACb,OAAO,KAAK,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,IAAI,CAAC,OAAgD;IACnE,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,IAAI,IAAI,EAAE,CAAC;IACjD,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;IAE1C,MAAM,SAAS,GAAG,IAAA,SAAM,EAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1E,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,0BAA0B,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,UAAU,CAAI,KAAU,EAAE,SAAiB;IACvD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;IAC/B,IAAI,SAAS,GAAG,EAAE,CAAC;IAEnB,KAAK,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,WAAW,EAAE,KAAK,IAAI,SAAS,EAAE,CAAC;QACtD,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAC,SAAS,CAAC,CAAC;QAChD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,0BAA0B,CAAC,cAAsB;IACxD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,QAAQ,GAAG,kBAAkB,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC;YACpB,SAAS;QACX,CAAC;QACD,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;QACxD,MAAM,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /**
4
- * Endpoints for testing.
5
- *
6
- * テストを行うためのエンドポイントです。
7
- */
8
- module.exports = (hono, options, data) => {
9
- hono.get("/", async (c) => {
10
- return c.json({ message: "Hello, World!" });
11
- });
12
- return hono;
13
- };
14
- //# sourceMappingURL=test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/workers/test.ts"],"names":[],"mappings":";;AAIA;;;;GAIG;AACH,MAAM,CAAC,OAAO,GAAG,CACf,IAAU,EACV,OAAuB,EACvB,IAA4B,EAC5B,EAAE;IACF,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACxB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,50 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const crud_1 = require("../lib/crud");
4
- const request_1 = require("../lib/request");
5
- const rules_1 = require("../lib/rules");
6
- const turso_client_1 = require("../lib/turso_client");
7
- module.exports = (hono, options, data) => {
8
- hono.get("/", async (context) => handleCrud(context, options, "GET"));
9
- hono.post("/", async (context) => handleCrud(context, options, "POST"));
10
- hono.put("/", async (context) => handleCrud(context, options, "PUT"));
11
- hono.delete("/", async (context) => handleCrud(context, options, "DELETE"));
12
- return hono;
13
- };
14
- async function handleCrud(context, options, method) {
15
- try {
16
- const request = await (0, request_1.parseCrudRequest)(context);
17
- const connection = await (0, turso_client_1.resolveDatabaseConnection)(request.database, options);
18
- const client = (0, turso_client_1.createTursoClient)(connection);
19
- const engine = new rules_1.RulesEngine(options.rules);
20
- const authentication = context.get("authentication");
21
- const result = await engine.evaluate({
22
- path: (0, rules_1.buildRulesPath)({
23
- database: request.database,
24
- table: request.table,
25
- indexKey: request.indexKey ?? "*",
26
- }),
27
- operation: (0, rules_1.normalizeHttpMethodToRulesOperation)(method),
28
- authentication,
29
- fetchDocument: async () => (0, crud_1.fetchDocumentForRules)(client, request),
30
- });
31
- if (!result.allowed) {
32
- return context.json({
33
- error: "denied",
34
- rule: result.rulePath,
35
- }, 403);
36
- }
37
- const response = await (0, crud_1.executeCrud)({
38
- client,
39
- method,
40
- request,
41
- autoCreateTable: options.autoCreateTable !== false,
42
- autoMigrateAddColumns: options.autoMigrateAddColumns !== false,
43
- });
44
- return context.json({ data: response });
45
- }
46
- catch (error) {
47
- return (0, request_1.jsonError)(context, error);
48
- }
49
- }
50
- //# sourceMappingURL=turso.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"turso.js","sourceRoot":"","sources":["../../src/workers/turso.ts"],"names":[],"mappings":";;AAMA,sCAAiE;AACjE,4CAA6D;AAC7D,wCAIsB;AACtB,sDAG6B;AAE7B,MAAM,CAAC,OAAO,GAAG,CACf,IAAU,EACV,OAA4B,EAC5B,IAAgC,EAChC,EAAE;IACF,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACtE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACtE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5E,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,KAAK,UAAU,UAAU,CACvB,OAAgB,EAChB,OAA4B,EAC5B,MAAuB;IAEvB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,0BAAgB,EAAC,OAAO,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,MAAM,IAAA,wCAAyB,EAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,IAAA,gCAAiB,EAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,mBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAsC,CAAC;QAC1F,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;YACnC,IAAI,EAAE,IAAA,sBAAc,EAAC;gBACnB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,GAAG;aAClC,CAAC;YACF,SAAS,EAAE,IAAA,2CAAmC,EAAC,MAAM,CAAC;YACtD,cAAc;YACd,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,IAAA,4BAAqB,EAAC,MAAM,EAAE,OAAO,CAAC;SAClE,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,OAAO,CAAC,IAAI,CAAC;gBAClB,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,MAAM,CAAC,QAAQ;aACtB,EAAE,GAAG,CAAC,CAAC;QACV,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAW,EAAC;YACjC,MAAM;YACN,MAAM;YACN,OAAO;YACP,eAAe,EAAE,OAAO,CAAC,eAAe,KAAK,KAAK;YAClD,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,KAAK,KAAK;SAC/D,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAA,mBAAS,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;AACH,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const request_1 = require("../lib/request");
4
- const rules_1 = require("../lib/rules");
5
- const turso_client_1 = require("../lib/turso_client");
6
- const token_1 = require("../lib/token");
7
- module.exports = (hono, options, data) => {
8
- hono.post("/token", async (context) => handleToken(context, options));
9
- return hono;
10
- };
11
- async function handleToken(context, options) {
12
- try {
13
- const request = await (0, request_1.parseTokenRequest)(context);
14
- await (0, turso_client_1.resolveDatabaseConnection)(request.database, options);
15
- const authentication = context.get("authentication");
16
- const engine = new rules_1.RulesEngine(options.rules);
17
- const scope = await (0, rules_1.filterAllowedScope)({
18
- engine,
19
- database: request.database,
20
- scope: request.scope,
21
- authentication,
22
- });
23
- if (scope.length === 0) {
24
- return context.json({
25
- error: "denied",
26
- }, 403);
27
- }
28
- const token = await (0, token_1.issueScopedToken)({
29
- database: request.database,
30
- scope,
31
- ttlSeconds: request.ttlSeconds,
32
- options,
33
- });
34
- return context.json(token);
35
- }
36
- catch (error) {
37
- return (0, request_1.jsonError)(context, error);
38
- }
39
- }
40
- //# sourceMappingURL=turso_token.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"turso_token.js","sourceRoot":"","sources":["../../src/workers/turso_token.ts"],"names":[],"mappings":";;AAKA,4CAA8D;AAC9D,wCAGsB;AACtB,sDAAgE;AAChE,wCAAgD;AAEhD,MAAM,CAAC,OAAO,GAAG,CACf,IAAU,EACV,OAA4B,EAC5B,IAAgC,EAChC,EAAE;IACF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACtE,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,KAAK,UAAU,WAAW,CACxB,OAAgB,EAChB,OAA4B;IAE5B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,2BAAiB,EAAC,OAAO,CAAC,CAAC;QACjD,MAAM,IAAA,wCAAyB,EAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAsC,CAAC;QAC1F,MAAM,MAAM,GAAG,IAAI,mBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,MAAM,IAAA,0BAAkB,EAAC;YACrC,MAAM;YACN,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,cAAc;SACf,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC,IAAI,CAAC;gBAClB,KAAK,EAAE,QAAQ;aAChB,EAAE,GAAG,CAAC,CAAC;QACV,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAA,wBAAgB,EAAC;YACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,KAAK;YACL,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,OAAO;SACR,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAA,mBAAS,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;AACH,CAAC"}