@mathrunet/masamune_cloudflare_turso 3.2.14 → 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 (148) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/README.md +27 -19
  3. package/dist/functions/turso.js +2 -1
  4. package/dist/functions/turso.js.map +1 -1
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.js +1 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/lib/database_adapter.d.ts +105 -0
  9. package/dist/lib/database_adapter.js +356 -0
  10. package/dist/lib/database_adapter.js.map +1 -0
  11. package/dist/lib/rules.js +5 -3
  12. package/dist/lib/rules.js.map +1 -1
  13. package/package.json +3 -3
  14. package/dist/functions/test.d.ts +0 -1
  15. package/dist/functions/test.js +0 -71
  16. package/dist/functions/test.js.map +0 -1
  17. package/dist/lib/api.d.ts +0 -183
  18. package/dist/lib/api.js +0 -144
  19. package/dist/lib/api.js.map +0 -1
  20. package/dist/lib/exntensions/firestore.extension.d.ts +0 -247
  21. package/dist/lib/exntensions/firestore.extension.js +0 -386
  22. package/dist/lib/exntensions/firestore.extension.js.map +0 -1
  23. package/dist/lib/exntensions/string.extension.d.ts +0 -214
  24. package/dist/lib/exntensions/string.extension.js +0 -223
  25. package/dist/lib/exntensions/string.extension.js.map +0 -1
  26. package/dist/lib/model_field_value/converters/basic_converter.d.ts +0 -49
  27. package/dist/lib/model_field_value/converters/basic_converter.js +0 -51
  28. package/dist/lib/model_field_value/converters/basic_converter.js.map +0 -1
  29. package/dist/lib/model_field_value/converters/enum_converter.d.ts +0 -49
  30. package/dist/lib/model_field_value/converters/enum_converter.js +0 -51
  31. package/dist/lib/model_field_value/converters/enum_converter.js.map +0 -1
  32. package/dist/lib/model_field_value/converters/model_counter_converter.d.ts +0 -49
  33. package/dist/lib/model_field_value/converters/model_counter_converter.js +0 -216
  34. package/dist/lib/model_field_value/converters/model_counter_converter.js.map +0 -1
  35. package/dist/lib/model_field_value/converters/model_date_converter.d.ts +0 -49
  36. package/dist/lib/model_field_value/converters/model_date_converter.js +0 -271
  37. package/dist/lib/model_field_value/converters/model_date_converter.js.map +0 -1
  38. package/dist/lib/model_field_value/converters/model_date_range_converter.d.ts +0 -49
  39. package/dist/lib/model_field_value/converters/model_date_range_converter.js +0 -225
  40. package/dist/lib/model_field_value/converters/model_date_range_converter.js.map +0 -1
  41. package/dist/lib/model_field_value/converters/model_geo_value_converter.d.ts +0 -49
  42. package/dist/lib/model_field_value/converters/model_geo_value_converter.js +0 -216
  43. package/dist/lib/model_field_value/converters/model_geo_value_converter.js.map +0 -1
  44. package/dist/lib/model_field_value/converters/model_image_uri_converter.d.ts +0 -49
  45. package/dist/lib/model_field_value/converters/model_image_uri_converter.js +0 -184
  46. package/dist/lib/model_field_value/converters/model_image_uri_converter.js.map +0 -1
  47. package/dist/lib/model_field_value/converters/model_locale_converter.d.ts +0 -51
  48. package/dist/lib/model_field_value/converters/model_locale_converter.js +0 -228
  49. package/dist/lib/model_field_value/converters/model_locale_converter.js.map +0 -1
  50. package/dist/lib/model_field_value/converters/model_localized_value_converter.d.ts +0 -49
  51. package/dist/lib/model_field_value/converters/model_localized_value_converter.js +0 -145
  52. package/dist/lib/model_field_value/converters/model_localized_value_converter.js.map +0 -1
  53. package/dist/lib/model_field_value/converters/model_ref_base_converter.d.ts +0 -49
  54. package/dist/lib/model_field_value/converters/model_ref_base_converter.js +0 -159
  55. package/dist/lib/model_field_value/converters/model_ref_base_converter.js.map +0 -1
  56. package/dist/lib/model_field_value/converters/model_search_converter.d.ts +0 -49
  57. package/dist/lib/model_field_value/converters/model_search_converter.js +0 -138
  58. package/dist/lib/model_field_value/converters/model_search_converter.js.map +0 -1
  59. package/dist/lib/model_field_value/converters/model_server_command_base_converter.d.ts +0 -49
  60. package/dist/lib/model_field_value/converters/model_server_command_base_converter.js +0 -119
  61. package/dist/lib/model_field_value/converters/model_server_command_base_converter.js.map +0 -1
  62. package/dist/lib/model_field_value/converters/model_time_converter.d.ts +0 -49
  63. package/dist/lib/model_field_value/converters/model_time_converter.js +0 -271
  64. package/dist/lib/model_field_value/converters/model_time_converter.js.map +0 -1
  65. package/dist/lib/model_field_value/converters/model_time_range_converter.d.ts +0 -49
  66. package/dist/lib/model_field_value/converters/model_time_range_converter.js +0 -225
  67. package/dist/lib/model_field_value/converters/model_time_range_converter.js.map +0 -1
  68. package/dist/lib/model_field_value/converters/model_timestamp_converter.d.ts +0 -66
  69. package/dist/lib/model_field_value/converters/model_timestamp_converter.js +0 -297
  70. package/dist/lib/model_field_value/converters/model_timestamp_converter.js.map +0 -1
  71. package/dist/lib/model_field_value/converters/model_timestamp_range_converter.d.ts +0 -49
  72. package/dist/lib/model_field_value/converters/model_timestamp_range_converter.js +0 -225
  73. package/dist/lib/model_field_value/converters/model_timestamp_range_converter.js.map +0 -1
  74. package/dist/lib/model_field_value/converters/model_token_converter.d.ts +0 -48
  75. package/dist/lib/model_field_value/converters/model_token_converter.js +0 -137
  76. package/dist/lib/model_field_value/converters/model_token_converter.js.map +0 -1
  77. package/dist/lib/model_field_value/converters/model_uri_converter.d.ts +0 -49
  78. package/dist/lib/model_field_value/converters/model_uri_converter.js +0 -184
  79. package/dist/lib/model_field_value/converters/model_uri_converter.js.map +0 -1
  80. package/dist/lib/model_field_value/converters/model_vector_value_converter.d.ts +0 -49
  81. package/dist/lib/model_field_value/converters/model_vector_value_converter.js +0 -125
  82. package/dist/lib/model_field_value/converters/model_vector_value_converter.js.map +0 -1
  83. package/dist/lib/model_field_value/converters/model_video_uri_converter.d.ts +0 -49
  84. package/dist/lib/model_field_value/converters/model_video_uri_converter.js +0 -184
  85. package/dist/lib/model_field_value/converters/model_video_uri_converter.js.map +0 -1
  86. package/dist/lib/model_field_value/converters/null_converter.d.ts +0 -49
  87. package/dist/lib/model_field_value/converters/null_converter.js +0 -72
  88. package/dist/lib/model_field_value/converters/null_converter.js.map +0 -1
  89. package/dist/lib/model_field_value/default_model_field_value_converter.d.ts +0 -155
  90. package/dist/lib/model_field_value/default_model_field_value_converter.js +0 -303
  91. package/dist/lib/model_field_value/default_model_field_value_converter.js.map +0 -1
  92. package/dist/lib/model_field_value/model_field_value.d.ts +0 -467
  93. package/dist/lib/model_field_value/model_field_value.js +0 -665
  94. package/dist/lib/model_field_value/model_field_value.js.map +0 -1
  95. package/dist/lib/model_field_value/model_field_value_converter.d.ts +0 -117
  96. package/dist/lib/model_field_value/model_field_value_converter.js +0 -49
  97. package/dist/lib/model_field_value/model_field_value_converter.js.map +0 -1
  98. package/dist/lib/regions.d.ts +0 -6
  99. package/dist/lib/regions.js +0 -3
  100. package/dist/lib/regions.js.map +0 -1
  101. package/dist/lib/src/call_process_function_base.d.ts +0 -39
  102. package/dist/lib/src/call_process_function_base.js +0 -72
  103. package/dist/lib/src/call_process_function_base.js.map +0 -1
  104. package/dist/lib/src/firebase_loader.d.ts +0 -30
  105. package/dist/lib/src/firebase_loader.js +0 -96
  106. package/dist/lib/src/firebase_loader.js.map +0 -1
  107. package/dist/lib/src/firestore_base.d.ts +0 -114
  108. package/dist/lib/src/firestore_base.js +0 -363
  109. package/dist/lib/src/firestore_base.js.map +0 -1
  110. package/dist/lib/src/firestore_triggered_process_function_base.d.ts +0 -40
  111. package/dist/lib/src/firestore_triggered_process_function_base.js +0 -72
  112. package/dist/lib/src/firestore_triggered_process_function_base.js.map +0 -1
  113. package/dist/lib/src/functions_base.d.ts +0 -327
  114. package/dist/lib/src/functions_base.js +0 -63
  115. package/dist/lib/src/functions_base.js.map +0 -1
  116. package/dist/lib/src/functions_data.d.ts +0 -10
  117. package/dist/lib/src/functions_data.js +0 -19
  118. package/dist/lib/src/functions_data.js.map +0 -1
  119. package/dist/lib/src/request_process_function_base.d.ts +0 -39
  120. package/dist/lib/src/request_process_function_base.js +0 -70
  121. package/dist/lib/src/request_process_function_base.js.map +0 -1
  122. package/dist/lib/src/request_process_workders_base.d.ts +0 -37
  123. package/dist/lib/src/request_process_workders_base.js +0 -27
  124. package/dist/lib/src/request_process_workders_base.js.map +0 -1
  125. package/dist/lib/src/schedule_process_function_base.d.ts +0 -33
  126. package/dist/lib/src/schedule_process_function_base.js +0 -71
  127. package/dist/lib/src/schedule_process_function_base.js.map +0 -1
  128. package/dist/lib/src/sql_api_base.d.ts +0 -185
  129. package/dist/lib/src/sql_api_base.js +0 -83
  130. package/dist/lib/src/sql_api_base.js.map +0 -1
  131. package/dist/lib/src/workers_base.d.ts +0 -74
  132. package/dist/lib/src/workers_base.js +0 -57
  133. package/dist/lib/src/workers_base.js.map +0 -1
  134. package/dist/lib/src/workers_data.d.ts +0 -10
  135. package/dist/lib/src/workers_data.js +0 -21
  136. package/dist/lib/src/workers_data.js.map +0 -1
  137. package/dist/lib/utils.d.ts +0 -82
  138. package/dist/lib/utils.js +0 -141
  139. package/dist/lib/utils.js.map +0 -1
  140. package/dist/workers/test.d.ts +0 -1
  141. package/dist/workers/test.js +0 -14
  142. package/dist/workers/test.js.map +0 -1
  143. package/dist/workers/turso.d.ts +0 -1
  144. package/dist/workers/turso.js +0 -50
  145. package/dist/workers/turso.js.map +0 -1
  146. package/dist/workers/turso_token.d.ts +0 -1
  147. package/dist/workers/turso_token.js +0 -40
  148. 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":"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"}
@@ -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"}