@effect-app/infra 0.13.0 → 0.14.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.
- package/CHANGELOG.md +14 -0
- package/_cjs/api/codec.cjs +2 -4
- package/_cjs/api/codec.cjs.map +1 -1
- package/_cjs/api/defaultErrorHandler.cjs +18 -21
- package/_cjs/api/defaultErrorHandler.cjs.map +1 -1
- package/_cjs/api/express/makeJsonSchema.cjs +4 -4
- package/_cjs/api/express/makeJsonSchema.cjs.map +1 -1
- package/_cjs/api/express/makeOpenApiSpecs.cjs +5 -7
- package/_cjs/api/express/makeOpenApiSpecs.cjs.map +1 -1
- package/_cjs/api/express/schema/requestHandler.cjs +49 -49
- package/_cjs/api/express/schema/requestHandler.cjs.map +1 -1
- package/_cjs/api/express/schema/routing.cjs +22 -22
- package/_cjs/api/express/schema/routing.cjs.map +1 -1
- package/_cjs/api/reportError.cjs +6 -17
- package/_cjs/api/reportError.cjs.map +1 -1
- package/_cjs/api/routing.cjs +63 -63
- package/_cjs/api/routing.cjs.map +1 -1
- package/_cjs/api/setupRequest.cjs +2 -4
- package/_cjs/api/setupRequest.cjs.map +1 -1
- package/_cjs/api/writeDocs.cjs +6 -8
- package/_cjs/api/writeDocs.cjs.map +1 -1
- package/_cjs/errorReporter.cjs +11 -13
- package/_cjs/errorReporter.cjs.map +1 -1
- package/_cjs/errors.cjs +1 -1
- package/_cjs/errors.cjs.map +1 -1
- package/_cjs/instrument.cjs +1 -3
- package/_cjs/instrument.cjs.map +1 -1
- package/_cjs/rateLimit.cjs +6 -8
- package/_cjs/rateLimit.cjs.map +1 -1
- package/_cjs/services/Emailer/Sendgrid.cjs +12 -18
- package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -1
- package/_cjs/services/Emailer/fake.cjs +4 -7
- package/_cjs/services/Emailer/fake.cjs.map +1 -1
- package/_cjs/services/Operations/live.cjs +23 -26
- package/_cjs/services/Operations/live.cjs.map +1 -1
- package/_cjs/services/Operations/service.cjs +3 -5
- package/_cjs/services/Operations/service.cjs.map +1 -1
- package/_cjs/services/Repository.cjs +28 -28
- package/_cjs/services/Repository.cjs.map +1 -1
- package/_cjs/services/Store/Cosmos.cjs +56 -56
- package/_cjs/services/Store/Cosmos.cjs.map +1 -1
- package/_cjs/services/Store/Disk.cjs +15 -16
- package/_cjs/services/Store/Disk.cjs.map +1 -1
- package/_cjs/services/Store/Memory.cjs +14 -16
- package/_cjs/services/Store/Memory.cjs.map +1 -1
- package/_cjs/services/Store/Redis.cjs +22 -23
- package/_cjs/services/Store/Redis.cjs.map +1 -1
- package/_cjs/services/Store/codeFilter.test.cjs +1 -1
- package/_cjs/services/Store/index.cjs +7 -7
- package/_cjs/services/Store/index.cjs.map +1 -1
- package/_cjs/services/Store/service.cjs +2 -4
- package/_cjs/services/Store/service.cjs.map +1 -1
- package/_cjs/services/Store/utils.cjs +16 -17
- package/_cjs/services/Store/utils.cjs.map +1 -1
- package/_cjs/services/simpledb/cosmosdb.cjs +23 -25
- package/_cjs/services/simpledb/cosmosdb.cjs.map +1 -1
- package/_cjs/services/simpledb/diskdb.cjs +20 -21
- package/_cjs/services/simpledb/diskdb.cjs.map +1 -1
- package/_cjs/services/simpledb/memdb.cjs +10 -10
- package/_cjs/services/simpledb/memdb.cjs.map +1 -1
- package/_cjs/services/simpledb/mongodb.cjs +18 -18
- package/_cjs/services/simpledb/mongodb.cjs.map +1 -1
- package/_cjs/services/simpledb/redisdb.cjs +23 -23
- package/_cjs/services/simpledb/redisdb.cjs.map +1 -1
- package/_cjs/services/simpledb/shared.cjs +4 -6
- package/_cjs/services/simpledb/shared.cjs.map +1 -1
- package/_cjs/services/simpledb/simpledb.cjs +15 -14
- package/_cjs/services/simpledb/simpledb.cjs.map +1 -1
- package/_src/errors.ts +1 -1
- package/_src/services/simpledb/memdb.ts +1 -1
- package/dist/RequestContext.d.ts +12 -12
- package/dist/api/codec.js +3 -5
- package/dist/api/defaultErrorHandler.js +20 -21
- package/dist/api/express/makeJsonSchema.js +3 -5
- package/dist/api/express/makeOpenApiSpecs.js +5 -7
- package/dist/api/express/schema/requestHandler.d.ts +5 -5
- package/dist/api/express/schema/requestHandler.js +45 -45
- package/dist/api/express/schema/routing.js +21 -23
- package/dist/api/reportError.js +6 -18
- package/dist/api/routing.js +60 -60
- package/dist/api/setupRequest.js +3 -5
- package/dist/api/writeDocs.js +7 -9
- package/dist/errorReporter.js +10 -12
- package/dist/errors.js +2 -2
- package/dist/instrument.js +2 -4
- package/dist/rateLimit.js +7 -9
- package/dist/services/Emailer/Sendgrid.js +15 -22
- package/dist/services/Emailer/fake.js +5 -8
- package/dist/services/Emailer/service.d.ts +1 -1
- package/dist/services/Operations/live.js +24 -27
- package/dist/services/Operations/service.js +4 -6
- package/dist/services/Repository.d.ts +4 -4
- package/dist/services/Repository.js +22 -22
- package/dist/services/Store/Cosmos.d.ts +1 -1
- package/dist/services/Store/Cosmos.js +61 -61
- package/dist/services/Store/Disk.js +16 -19
- package/dist/services/Store/Memory.d.ts +1 -1
- package/dist/services/Store/Memory.js +16 -18
- package/dist/services/Store/Redis.d.ts +1 -1
- package/dist/services/Store/Redis.js +21 -24
- package/dist/services/Store/index.js +6 -8
- package/dist/services/Store/service.d.ts +1 -1
- package/dist/services/Store/service.js +3 -5
- package/dist/services/Store/utils.d.ts +2 -2
- package/dist/services/Store/utils.js +18 -19
- package/dist/services/simpledb/cosmosdb.d.ts +2 -2
- package/dist/services/simpledb/cosmosdb.js +23 -25
- package/dist/services/simpledb/diskdb.d.ts +2 -2
- package/dist/services/simpledb/diskdb.js +18 -18
- package/dist/services/simpledb/memdb.d.ts +3 -3
- package/dist/services/simpledb/memdb.js +12 -11
- package/dist/services/simpledb/mongodb.d.ts +2 -2
- package/dist/services/simpledb/mongodb.js +18 -18
- package/dist/services/simpledb/redisdb.d.ts +8 -8
- package/dist/services/simpledb/redisdb.js +21 -21
- package/dist/services/simpledb/shared.d.ts +9 -9
- package/dist/services/simpledb/shared.js +5 -7
- package/dist/services/simpledb/simpledb.d.ts +1 -1
- package/dist/services/simpledb/simpledb.js +19 -17
- package/package.json +11 -11
|
@@ -5,13 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.RedisStoreLive = RedisStoreLive;
|
|
7
7
|
exports.makeRedisStore = makeRedisStore;
|
|
8
|
-
var tracer_1 = _interopRequireWildcard(require("@effect/io/Debug"));
|
|
9
8
|
var tsplus_module_1 = _interopRequireWildcard(require("@effect/io/Effect"));
|
|
10
|
-
var tsplus_module_2 = _interopRequireWildcard(require("@fp-ts/
|
|
9
|
+
var tsplus_module_2 = _interopRequireWildcard(require("@fp-ts/core/Option"));
|
|
11
10
|
var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/prelude/_ext/Prelude.ext"));
|
|
12
11
|
var tsplus_module_4 = _interopRequireWildcard(require("@fp-ts/data/Chunk"));
|
|
13
12
|
var tsplus_module_5 = _interopRequireWildcard(require("@effect-app/core/fluent/_ext/awesome/_files/Iterable"));
|
|
14
|
-
var tsplus_module_6 = _interopRequireWildcard(require("@effect-app/core/Effect"));
|
|
15
13
|
var RedisClient = _interopRequireWildcard(require("@effect-app/infra-adapters/redis-client"));
|
|
16
14
|
var _errors = require("../../errors.cjs");
|
|
17
15
|
var _Memory = require("./Memory.cjs");
|
|
@@ -19,53 +17,54 @@ var _service = require("./service.cjs");
|
|
|
19
17
|
var _utils = require("./utils.cjs");
|
|
20
18
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
19
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
22
|
-
|
|
20
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
21
|
+
|
|
23
22
|
function makeRedisStore({
|
|
24
23
|
prefix
|
|
25
24
|
}) {
|
|
26
|
-
return
|
|
25
|
+
return tsplus_module_1.gen(function* ($) {
|
|
27
26
|
const redis = yield* $(tsplus_module_1.service(RedisClient.RedisClient));
|
|
28
27
|
return {
|
|
29
|
-
make: (name, existing, _config) =>
|
|
28
|
+
make: (name, existing, _config) => tsplus_module_1.gen(function* ($) {
|
|
30
29
|
const updateETag = (0, _utils.makeUpdateETag)(name);
|
|
31
30
|
// Very naive implementation of course.
|
|
32
31
|
const key = `${prefix}${name}`;
|
|
33
|
-
const current = yield* $(
|
|
32
|
+
const current = yield* $(tsplus_module_1.provideService(tsplus_module_1.orDie(RedisClient.get(key)), RedisClient.RedisClient, redis));
|
|
34
33
|
if (!tsplus_module_2.isSome(current)) {
|
|
35
|
-
const m = yield* $(existing ??
|
|
36
|
-
yield* $(
|
|
34
|
+
const m = yield* $(existing ?? tsplus_module_1.sync(() => new Map()));
|
|
35
|
+
yield* $(tsplus_module_1.provideService(tsplus_module_1.orDie(RedisClient.set(key, JSON.stringify({
|
|
37
36
|
data: [...m.values()].map(e => (0, _utils.makeETag)(e))
|
|
38
|
-
})))));
|
|
37
|
+
}))), RedisClient.RedisClient, redis));
|
|
39
38
|
}
|
|
40
|
-
const get =
|
|
39
|
+
const get = tsplus_module_1.provideService(tsplus_module_1.map(tsplus_module_1.map(tsplus_module_1.orDie(tsplus_module_1.flatMap(RedisClient.get(key), x => tsplus_module_3.encaseMaybeInEffect_(x, () => new _errors.NotFoundError("data", "")))), x => JSON.parse(x)), _ => _.data), RedisClient.RedisClient, redis);
|
|
41
40
|
const set = i => tsplus_module_1.orDie(RedisClient.set(key, JSON.stringify({
|
|
42
41
|
data: [...i.values()]
|
|
43
42
|
})));
|
|
44
43
|
const sem = tsplus_module_1.unsafeMakeSemaphore(1);
|
|
45
44
|
const withPermit = sem.withPermits(1);
|
|
46
|
-
const asMap =
|
|
47
|
-
const all =
|
|
48
|
-
const batchSet = items =>
|
|
45
|
+
const asMap = tsplus_module_1.map(get, x => new Map(x.map(x => [x.id, x])));
|
|
46
|
+
const all = tsplus_module_1.map(get, tsplus_module_4.fromIterable);
|
|
47
|
+
const batchSet = items => tsplus_module_1.provideService(withPermit(tsplus_module_1.map(tsplus_module_1.tap(tsplus_module_5.ext_forEach(items, e => tsplus_module_1.flatMap(s.find(e.id), current => updateETag(e, current))), items => tsplus_module_1.flatMap(tsplus_module_1.map(asMap, m => {
|
|
49
48
|
const mut = m;
|
|
50
49
|
items.forEach(e => mut.set(e.id, e));
|
|
51
50
|
return mut;
|
|
52
|
-
}))
|
|
51
|
+
}), set)), _ => _.toReadonlyArray())), RedisClient.RedisClient, redis);
|
|
53
52
|
const s = {
|
|
54
53
|
all,
|
|
55
|
-
filter: (filter, cursor) =>
|
|
56
|
-
filterJoinSelect: filter =>
|
|
57
|
-
find: id =>
|
|
58
|
-
set: e =>
|
|
54
|
+
filter: (filter, cursor) => tsplus_module_1.map(all, (0, _Memory.memFilter)(filter, cursor)),
|
|
55
|
+
filterJoinSelect: filter => tsplus_module_1.map(all, c => c.flatMap((0, _utils.codeFilterJoinSelect)(filter))),
|
|
56
|
+
find: id => tsplus_module_1.map(asMap, _ => tsplus_module_2.fromNullable(_.get(id))),
|
|
57
|
+
set: e => tsplus_module_1.provideService(withPermit(tsplus_module_1.tap(tsplus_module_1.flatMap(s.find(e.id), current => updateETag(e, current)), e => tsplus_module_1.flatMap(tsplus_module_1.map(asMap, _ => new Map([..._, [e.id, e]])), set))), RedisClient.RedisClient, redis),
|
|
59
58
|
batchSet,
|
|
60
59
|
bulkSet: batchSet,
|
|
61
|
-
remove: e =>
|
|
60
|
+
remove: e => tsplus_module_1.provideService(withPermit(tsplus_module_1.flatMap(tsplus_module_1.map(asMap, _ => new Map([..._].filter(([_]) => _ !== e.id))), set)), RedisClient.RedisClient, redis)
|
|
62
61
|
};
|
|
63
62
|
return s;
|
|
64
|
-
})
|
|
63
|
+
})
|
|
65
64
|
};
|
|
66
|
-
})
|
|
65
|
+
});
|
|
67
66
|
}
|
|
68
67
|
function RedisStoreLive(config) {
|
|
69
|
-
return
|
|
68
|
+
return tsplus_module_1.toLayer(tsplus_module_1.flatMap(tsplus_module_1.config(config), makeRedisStore), _service.StoreMaker);
|
|
70
69
|
}
|
|
71
70
|
//# sourceMappingURL=Redis.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Redis.cjs","mappings":"
|
|
1
|
+
{"version":3,"file":"Redis.cjs","mappings":"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","names":["makeRedisStore","prefix","tsplus_module_1","$","redis","RedisClient","make","name","existing","_config","updateETag","key","current","get","tsplus_module_2","m","Map","set","JSON","stringify","data","values","map","e","x","tsplus_module_3","NotFoundError","parse","_","i","sem","withPermit","withPermits","asMap","id","all","batchSet","items","find","mut","forEach","toReadonlyArray","s","filter","cursor","filterJoinSelect","c","flatMap","bulkSet","remove","RedisStoreLive","config","StoreMaker"],"sourceRoot":"","sources":["../../../_src/services/Store/Redis.ts"],"sourcesContent":[null]}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.makeSomethingFilter_ = makeSomethingFilter_;
|
|
7
7
|
exports.somethingsWhere = somethingsWhere;
|
|
8
|
-
var tsplus_module_1 = _interopRequireWildcard(require("@fp-ts/
|
|
8
|
+
var tsplus_module_1 = _interopRequireWildcard(require("@fp-ts/core/ReadonlyArray"));
|
|
9
9
|
var tsplus_module_2 = _interopRequireWildcard(require("@effect-app/core/Array"));
|
|
10
10
|
var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/infra/filter"));
|
|
11
11
|
var _vitest = require("vitest");
|
|
@@ -7,7 +7,6 @@ var _exportNames = {
|
|
|
7
7
|
StoreMakerLive: true
|
|
8
8
|
};
|
|
9
9
|
exports.StoreMakerLive = StoreMakerLive;
|
|
10
|
-
var tracer_1 = _interopRequireWildcard(require("@effect/io/Debug"));
|
|
11
10
|
var tsplus_module_1 = _interopRequireWildcard(require("@effect/io/Config/Secret"));
|
|
12
11
|
var tsplus_module_2 = _interopRequireWildcard(require("@effect/io/Effect"));
|
|
13
12
|
var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/core/Effect"));
|
|
@@ -32,16 +31,17 @@ Object.keys(_service).forEach(function (key) {
|
|
|
32
31
|
});
|
|
33
32
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
34
33
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
35
|
-
|
|
34
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
35
|
+
|
|
36
36
|
/**
|
|
37
37
|
* @tsplus static StoreMaker.Ops Live
|
|
38
38
|
*/
|
|
39
39
|
function StoreMakerLive(config) {
|
|
40
|
-
return tsplus_module_3.toScopedLayer(
|
|
40
|
+
return tsplus_module_3.toScopedLayer(tsplus_module_2.flatMap(tsplus_module_2.config(config), cfg => {
|
|
41
41
|
const storageUrl = tsplus_module_1.value(cfg.url);
|
|
42
42
|
if (storageUrl.startsWith("mem://")) {
|
|
43
43
|
console.log("Using in memory store");
|
|
44
|
-
return
|
|
44
|
+
return tsplus_module_2.sync(() => (0, _Memory.makeMemoryStore)());
|
|
45
45
|
}
|
|
46
46
|
if (storageUrl.startsWith("disk://")) {
|
|
47
47
|
console.log("Using disk store at ./.data");
|
|
@@ -49,11 +49,11 @@ function StoreMakerLive(config) {
|
|
|
49
49
|
}
|
|
50
50
|
if (storageUrl.startsWith("redis://")) {
|
|
51
51
|
console.log("Using Redis store");
|
|
52
|
-
return
|
|
52
|
+
return tsplus_module_2.flatMap(RedisClient.makeRedisClient(makeRedis(storageUrl)), client => tsplus_module_2.provideService((0, _Redis.makeRedisStore)(cfg), RedisClient.RedisClient, client));
|
|
53
53
|
}
|
|
54
54
|
console.log("Using Cosmos DB store");
|
|
55
|
-
return
|
|
56
|
-
})
|
|
55
|
+
return tsplus_module_2.flatMap(CosmosClient.makeCosmosClient(storageUrl, cfg.dbName), client => tsplus_module_2.provideService((0, _Cosmos.makeCosmosStore)(cfg), CosmosClient.CosmosClient, client));
|
|
56
|
+
}), _service.StoreMaker);
|
|
57
57
|
}
|
|
58
58
|
function makeRedis(storageUrl) {
|
|
59
59
|
const url = new URL(storageUrl);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","mappings":";;;;;;;;;;;;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAmDA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAA4B;AAAA;AA7D5B;;AAYA;;;AAGM,SAAUA,cAAc,CAACC,MAA6B;EAC1D,OAAOC,mFAAM,GAAgBC,GAAG,IAAG;IACjC,MAAMC,UAAU,yBAAGD,GAAG,CAACE,GAAG,CAAM;IAChC,IAAID,UAAU,CAACE,UAAU,CAAC,QAAQ,CAAC,EAAE;MACnCC,OAAO,CAACC,GAAG,CAAC,uBAAuB,CAAC;MACpC,OAAOC,2BAAO,2BAAe,GAAE,CAAC;;IAElC,IAAIL,UAAU,CAACE,UAAU,CAAC,SAAS,CAAC,EAAE;MACpCC,OAAO,CAACC,GAAG,CAAC,6BAA6B,CAAC;MAC1C,OAAO,uBAAa,EAACL,GAAG,CAAC;;IAE3B,IAAIC,UAAU,CAACE,UAAU,CAAC,UAAU,CAAC,EAAE;MACrCC,OAAO,CAACC,GAAG,CAAC,mBAAmB,CAAC;MAChC,OAAOC,mCAAW,CAACC,eAAe,CAACC,SAAS,CAACP,UAAU,CAAC,CAAC,EAASQ,MAAM,IACtEH,wDAAc,EAACN,GAAG,CAAC,EACjBU,WAAW,CAACA,WAAW,EACvBD,MAAM,CACP,CACF;;IAGHL,OAAO,CAACC,GAAG,CAAC,uBAAuB,CAAC;IACpC,OAAOC,oCAAY,CAACK,gBAAgB,CAACV,UAAU,EAAED,GAAG,CAACY,MAAM,CAAC,EAASH,MAAM,IACzEH,0DAAe,EAACN,GAAG,CAAC,EAAgBa,YAAY,CAACA,YAAY,EAAEJ,MAAM,CAAC,CACvE;EACH,CAAC,CAAC,EACeK,mBAAU,CAAC;AAC9B;AAEA,SAASN,SAAS,CAACP,UAAkB;EACnC,MAAMC,GAAG,GAAG,IAAIa,GAAG,CAACd,UAAU,CAAC;EAC/B,MAAMe,QAAQ,GAAGd,GAAG,CAACc,QAAQ;EAC7B,MAAMC,QAAQ,GAAGf,GAAG,CAACe,QAAQ;EAC7B,OAAO,MACL,uBAAY,EACVhB,UAAU,KAAK,UAAU,GACpB;IACDiB,IAAI,EAAEF,QAAQ;IACdG,IAAI,EAAE,IAAI;IACVC,SAAS,EAAEH,QAAQ;IACnBI,GAAG,EAAE;MAAEC,UAAU,EAAEN;IAAQ;GACpB,GACNf,UAAkB,CACxB;AACL","names":["StoreMakerLive","config","tsplus_module_3","cfg","storageUrl","url","startsWith","console","log","tsplus_module_2","makeRedisClient","makeRedis","client","RedisClient","makeCosmosClient","dbName","CosmosClient","StoreMaker","URL","hostname","password","host","port","auth_pass","tls","servername"],"sourceRoot":"","sources":["../../../_src/services/Store/index.ts"],"sourcesContent":[null]}
|
|
@@ -4,18 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.makeMap = exports.StoreMaker = exports.ContextMap = void 0;
|
|
7
|
-
var tracer_1 = _interopRequireWildcard(require("@effect/io/Debug"));
|
|
8
7
|
var tsplus_module_1 = _interopRequireWildcard(require("@fp-ts/data/Context"));
|
|
9
8
|
var tsplus_module_2 = _interopRequireWildcard(require("@effect/io/Effect"));
|
|
10
9
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
11
10
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
12
|
-
const fileName_1 = "packages/infra/_src/services/Store/service.ts";
|
|
13
11
|
const StoreMaker = tsplus_module_1.Tag();
|
|
14
12
|
/**
|
|
15
13
|
* @tsplus static ContextMap.Ops Make
|
|
16
14
|
*/
|
|
17
15
|
exports.StoreMaker = StoreMaker;
|
|
18
|
-
const makeMap =
|
|
16
|
+
const makeMap = tsplus_module_2.sync(() => {
|
|
19
17
|
const etags = new Map();
|
|
20
18
|
const getEtag = id => etags.get(id);
|
|
21
19
|
const setEtag = (id, eTag) => {
|
|
@@ -64,7 +62,7 @@ const makeMap = tracer_1.withCallTrace(fileName_1 + ":94:24")(tsplus_module_2.sy
|
|
|
64
62
|
set: setEtag,
|
|
65
63
|
parserEnv
|
|
66
64
|
};
|
|
67
|
-
})
|
|
65
|
+
});
|
|
68
66
|
exports.makeMap = makeMap;
|
|
69
67
|
const ContextMap = tsplus_module_1.Tag();
|
|
70
68
|
exports.ContextMap = ContextMap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.cjs","mappings":"
|
|
1
|
+
{"version":3,"file":"service.cjs","mappings":";;;;;;;;;;AAwFO,MAAMA,UAAU,GAAkBC,mBAAG,EAAc;AAE1D;;;AAAA;AAGO,MAAMC,OAAO,GAAGC,qBAAO,MAAK;EACjC,MAAMC,KAAK,GAAG,IAAIC,GAAG,EAAkB;EACvC,MAAMC,OAAO,GAAIC,EAAU,IAAKH,KAAK,CAACI,GAAG,CAACD,EAAE,CAAC;EAC7C,MAAME,OAAO,GAAG,CAACF,EAAU,EAAEG,IAAwB,KAAI;IACvDA,IAAI,KAAKC,SAAS,GAAGP,KAAK,CAACQ,MAAM,CAACL,EAAE,CAAC,GAAGH,KAAK,CAACS,GAAG,CAACN,EAAE,EAAEG,IAAI,CAAC;EAC7D,CAAC;EAED,MAAMI,WAAW,GAAG,IAAIT,GAAG,EAGxB;EAEH,MAAMU,WAAW,GAAG,IAAIV,GAAG,EAGxB;EAEH,MAAMW,YAAY,GAAG,CACnBC,CAAkB,EAClBC,EAA+B,KAC7B;IACFH,WAAW,CAACF,GAAG,CAACI,CAAC,EAAEC,EAAE,CAAC;IACtB,OAAOA,EAAE;EACX,CAAC;EAED,MAAMC,SAAS,GAAc;IAC3B;IACA;IACAC,GAAG,EAAE,KAAK;IACVC,KAAK,EAAE;MACLC,cAAc,EAAEL,CAAC,IAAIF,WAAW,CAACP,GAAG,CAACS,CAAC,CAAC,IAAID,YAAY,CAACC,CAAC,EAAEM,CAAC,IAAIJ,SAAS,CAACE,KAAM,CAACG,QAAQ,CAACD,CAAC,EAAEN,CAAC,CAAC,CAAC;MAChGQ,eAAe,EAAEC,OAAO,IAAG;QACzB,OAAOC,MAAM,CAACC,OAAO,CAACF,OAAO,CAAC,CAACG,MAAM,CAAC,CAACC,IAAI,EAAE,CAACC,CAAC,EAAEC,CAAC,CAAC,KAAI;UACrDF,IAAI,CAACC,CAAC,CAAC,GAAGZ,SAAS,CAACE,KAAM,CAACC,cAAc,CAACU,CAAC,CAAC;UAC5C,OAAOF,IAAI;QACb,CAAC,EAAE,EAAS,CAAC;MACf,CAAC;MACDN,QAAQ,EAAE,CAACD,CAAC,EAAEU,KAAK,KAAS;QAC1B,MAAMC,CAAC,GAAGpB,WAAW,CAACN,GAAG,CAACyB,KAAK,CAAC;QAChC,IAAIC,CAAC,EAAE;UACL,MAAMC,CAAC,GAAGD,CAAC,CAAC1B,GAAG,CAACe,CAAC,CAAC;UAClB,IAAIY,CAAC,EAAE;YACL;YACA,OAAOA,CAAC;WACT,MAAM;YACL,MAAMC,EAAE,GAAGH,KAAK,CAACV,CAAC,EAAEJ,SAAS,CAAC;YAC9Be,CAAC,CAACrB,GAAG,CAACU,CAAC,EAAEa,EAAE,CAAC;YACZ,OAAOA,EAAE;;SAEZ,MAAM;UACL,MAAMA,EAAE,GAAGH,KAAK,CAACV,CAAC,EAAEJ,SAAS,CAAC;UAC9BL,WAAW,CAACD,GAAG,CAACoB,KAAK,EAAE,IAAI5B,GAAG,CAAC,CAAC,CAACkB,CAAC,EAAEa,EAAE,CAAC,CAAC,CAAC,CAAC;UAC1C,OAAOA,EAAE;;MAEb;;GAEH;EAED,OAAO;IACL5B,GAAG,EAAEF,OAAO;IACZO,GAAG,EAAEJ,OAAO;IACZU;GACD;AACH,CAAC,CAAC;AAAA;AAMK,MAAMkB,UAAU,GAAkBpC,mBAAG,EAAc;AAAA","names":["StoreMaker","tsplus_module_1","makeMap","tsplus_module_2","etags","Map","getEtag","id","get","setEtag","eTag","undefined","delete","set","parsedCache","parserCache","setAndReturn","p","np","parserEnv","lax","cache","getOrSetParser","i","getOrSet","getOrSetParsers","parsers","Object","entries","reduce","prev","k","v","parse","c","f","nf","ContextMap"],"sourceRoot":"","sources":["../../../_src/services/Store/service.ts"],"sourcesContent":[null]}
|
|
@@ -6,18 +6,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.codeFilter = codeFilter;
|
|
7
7
|
exports.codeFilterJoinSelect = codeFilterJoinSelect;
|
|
8
8
|
exports.makeUpdateETag = exports.makeETag = void 0;
|
|
9
|
-
var
|
|
10
|
-
var tsplus_module_1 = _interopRequireWildcard(require("@fp-ts/data/Option"));
|
|
9
|
+
var tsplus_module_1 = _interopRequireWildcard(require("@fp-ts/core/Option"));
|
|
11
10
|
var tsplus_module_2 = _interopRequireWildcard(require("@effect/io/Effect"));
|
|
12
|
-
var tsplus_module_3 = _interopRequireWildcard(require("@
|
|
13
|
-
var tsplus_module_4 = _interopRequireWildcard(require("@
|
|
11
|
+
var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/core/Option"));
|
|
12
|
+
var tsplus_module_4 = _interopRequireWildcard(require("@fp-ts/core/ReadonlyArray"));
|
|
13
|
+
var tsplus_module_5 = _interopRequireWildcard(require("@effect-app/core/Array"));
|
|
14
14
|
var _utils = require("@effect-app/prelude/utils");
|
|
15
15
|
var _errors = require("../../errors.cjs");
|
|
16
16
|
var _objectHash = _interopRequireDefault(require("object-hash"));
|
|
17
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
18
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
19
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
20
|
-
const fileName_1 = "packages/infra/_src/services/Store/utils.ts";
|
|
21
20
|
const makeETag = ({
|
|
22
21
|
_etag,
|
|
23
22
|
...e
|
|
@@ -26,44 +25,44 @@ const makeETag = ({
|
|
|
26
25
|
_etag: (0, _objectHash.default)(e)
|
|
27
26
|
});
|
|
28
27
|
exports.makeETag = makeETag;
|
|
29
|
-
const makeUpdateETag = name => (e, current) =>
|
|
28
|
+
const makeUpdateETag = name => (e, current) => tsplus_module_2.gen(function* ($) {
|
|
30
29
|
if (tsplus_module_1.isSome(current) && current.value._etag !== e._etag) {
|
|
31
|
-
return yield* $(
|
|
30
|
+
return yield* $(tsplus_module_2.fail(new _errors.OptimisticConcurrencyException(name, current.value.id, current.value._etag, e._etag)));
|
|
32
31
|
}
|
|
33
32
|
const newE = makeETag(e);
|
|
34
33
|
return newE;
|
|
35
|
-
})
|
|
34
|
+
});
|
|
36
35
|
exports.makeUpdateETag = makeUpdateETag;
|
|
37
36
|
function codeFilter(filter) {
|
|
38
37
|
return x => filter.type === "startsWith"
|
|
39
38
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
40
|
-
? lowercaseIfString(x[filter.by]).startsWith(filter.value.toLowerCase()) ? tsplus_module_1.some(x) :
|
|
39
|
+
? lowercaseIfString(x[filter.by]).startsWith(filter.value.toLowerCase()) ? tsplus_module_1.some(x) : tsplus_module_3.none : filter.type === "endsWith"
|
|
41
40
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
42
|
-
? lowercaseIfString(x[filter.by]).endsWith(filter.value.toLowerCase()) ? tsplus_module_1.some(x) :
|
|
41
|
+
? lowercaseIfString(x[filter.by]).endsWith(filter.value.toLowerCase()) ? tsplus_module_1.some(x) : tsplus_module_3.none : filter.type === "contains"
|
|
43
42
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
44
43
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
45
|
-
? lowercaseIfString(x[filter.by]).includes(filter.value.toLowerCase()) ? tsplus_module_1.some(x) :
|
|
44
|
+
? lowercaseIfString(x[filter.by]).includes(filter.value.toLowerCase()) ? tsplus_module_1.some(x) : tsplus_module_3.none : filter.type === "join_find" ? filter.keys.some(k => {
|
|
46
45
|
const value = (0, _utils.get)(x, k);
|
|
47
46
|
// we mimic the behavior of cosmosdb; if the shape in db does not match what we're looking for, we imagine false hit
|
|
48
47
|
return value && value.some(v => compareCaseInsensitive(v[filter.valueKey], filter.value));
|
|
49
|
-
}) ? tsplus_module_1.some(x) :
|
|
48
|
+
}) ? tsplus_module_1.some(x) : tsplus_module_3.none
|
|
50
49
|
// TODO: support mixed or/and
|
|
51
|
-
: filter.mode === "or" ? filter.where.some(p => p.t === "in" ? p.value.includes((0, _utils.get)(x, p.key)) : p.t === "not-in" ? !p.value.includes((0, _utils.get)(x, p.key)) : p.t === "not-eq" ? !compareCaseInsensitive((0, _utils.get)(x, p.key), p.value) : compareCaseInsensitive((0, _utils.get)(x, p.key), p.value)) ? tsplus_module_1.some(x) :
|
|
50
|
+
: filter.mode === "or" ? filter.where.some(p => p.t === "in" ? p.value.includes((0, _utils.get)(x, p.key)) : p.t === "not-in" ? !p.value.includes((0, _utils.get)(x, p.key)) : p.t === "not-eq" ? !compareCaseInsensitive((0, _utils.get)(x, p.key), p.value) : compareCaseInsensitive((0, _utils.get)(x, p.key), p.value)) ? tsplus_module_1.some(x) : tsplus_module_3.none : filter.where.every(p => p.t === "in" ? p.value.includes((0, _utils.get)(x, p.key)) : p.t === "not-in" ? !p.value.includes((0, _utils.get)(x, p.key)) : p.t === "not-eq" ? p.key.includes(".-1.") ? (0, _utils.get)(x, p.key.split(".-1.")[0])
|
|
52
51
|
// TODO: or vs and
|
|
53
52
|
.every(_ => !compareCaseInsensitive((0, _utils.get)(_, p.key.split(".-1.")[1]), p.value)) : !compareCaseInsensitive((0, _utils.get)(x, p.key), p.value) : p.key.includes(".-1.") ? (0, _utils.get)(x, p.key.split(".-1.")[0])
|
|
54
53
|
// TODO: or vs and
|
|
55
|
-
.some(_ => compareCaseInsensitive((0, _utils.get)(_, p.key.split(".-1.")[1]), p.value)) : compareCaseInsensitive((0, _utils.get)(x, p.key), p.value)) ? tsplus_module_1.some(x) :
|
|
54
|
+
.some(_ => compareCaseInsensitive((0, _utils.get)(_, p.key.split(".-1.")[1]), p.value)) : compareCaseInsensitive((0, _utils.get)(x, p.key), p.value)) ? tsplus_module_1.some(x) : tsplus_module_3.none;
|
|
56
55
|
}
|
|
57
56
|
function codeFilterJoinSelect(filter) {
|
|
58
|
-
return x =>
|
|
57
|
+
return x => tsplus_module_5.ext_itToChunk(tsplus_module_4.filterMap(k => {
|
|
59
58
|
const value = (0, _utils.get)(x, k);
|
|
60
59
|
// we mimic the behavior of cosmosdb; if the shape in db does not match what we're looking for, we imagine false hit
|
|
61
|
-
return value ? tsplus_module_1.some(
|
|
60
|
+
return value ? tsplus_module_1.some(tsplus_module_4.filterMap(v =>
|
|
62
61
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
63
62
|
compareCaseInsensitive(v[filter.valueKey], filter.value) ? tsplus_module_1.some({
|
|
64
63
|
...v,
|
|
65
64
|
_rootId: x.id
|
|
66
|
-
}) :
|
|
65
|
+
}) : tsplus_module_3.none)(value)) : tsplus_module_3.none;
|
|
67
66
|
})(filter.keys).flatMap(_ => _));
|
|
68
67
|
}
|
|
69
68
|
function lowercaseIfString(val) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.cjs","mappings":";;;;;;;;;;;;;AAAA;AAEA;AAIA;AAAoC;AAAA;AAAA
|
|
1
|
+
{"version":3,"file":"utils.cjs","mappings":"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","names":["makeETag","_etag","e","makeUpdateETag","name","current","tsplus_module_2","$","tsplus_module_1","value","OptimisticConcurrencyException","id","newE","codeFilter","filter","x","type","lowercaseIfString","by","startsWith","toLowerCase","tsplus_module_3","endsWith","includes","keys","some","k","v","compareCaseInsensitive","valueKey","mode","where","p","t","key","every","split","_","codeFilterJoinSelect","tsplus_module_5","tsplus_module_4","_rootId","flatMap","val","valA","valB"],"sourceRoot":"","sources":["../../../_src/services/Store/utils.ts"],"sourcesContent":[null]}
|
|
@@ -4,10 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.createContext = createContext;
|
|
7
|
-
var tracer_1 = _interopRequireWildcard(require("@effect/io/Debug"));
|
|
8
7
|
var tsplus_module_1 = _interopRequireWildcard(require("@effect/io/Effect"));
|
|
9
|
-
var tsplus_module_2 = _interopRequireWildcard(require("@fp-ts/
|
|
10
|
-
var tsplus_module_3 = _interopRequireWildcard(require("@fp-ts/
|
|
8
|
+
var tsplus_module_2 = _interopRequireWildcard(require("@fp-ts/core/Option"));
|
|
9
|
+
var tsplus_module_3 = _interopRequireWildcard(require("@fp-ts/core/ReadonlyArray"));
|
|
11
10
|
var tsplus_module_4 = _interopRequireWildcard(require("@effect-app/core/Effect"));
|
|
12
11
|
var _utils = require("@effect-app/core/utils");
|
|
13
12
|
var Cosmos = _interopRequireWildcard(require("@effect-app/infra-adapters/cosmos-client"));
|
|
@@ -15,38 +14,37 @@ var _shared = require("./shared.cjs");
|
|
|
15
14
|
var simpledb = _interopRequireWildcard(require("./simpledb.cjs"));
|
|
16
15
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
16
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
18
|
-
const fileName_1 = "packages/infra/_src/services/simpledb/cosmosdb.ts";
|
|
19
17
|
class CosmosDbOperationError {
|
|
20
18
|
constructor(message) {
|
|
21
19
|
this.message = message;
|
|
22
20
|
}
|
|
23
21
|
}
|
|
24
|
-
const setup = (type, indexingPolicy) =>
|
|
22
|
+
const setup = (type, indexingPolicy) => tsplus_module_1.tap(Cosmos.db, db => tsplus_module_1.tryPromise(() => db.containers.create({
|
|
25
23
|
id: type,
|
|
26
24
|
indexingPolicy
|
|
27
|
-
}).catch(err => console.warn(err))))
|
|
25
|
+
}).catch(err => console.warn(err))));
|
|
28
26
|
// TODO: Error if current indexingPolicy does not match
|
|
29
27
|
// Effect.flatMap((db) => Effect.tryPromise(() => db.container(type).(indexes)))
|
|
30
28
|
function createContext() {
|
|
31
29
|
return (type, encode, decode,
|
|
32
30
|
// schemaVersion: string,
|
|
33
31
|
indexes) => {
|
|
34
|
-
return
|
|
32
|
+
return tsplus_module_1.map(setup(type, indexes), () => ({
|
|
35
33
|
find: simpledb.find(find, decode, type),
|
|
36
34
|
findBy,
|
|
37
35
|
save: simpledb.storeDirectly(store, type)
|
|
38
|
-
}))
|
|
36
|
+
}));
|
|
39
37
|
function find(id) {
|
|
40
|
-
return
|
|
38
|
+
return tsplus_module_1.map(tsplus_module_1.map(tsplus_module_1.flatMap(Cosmos.db, db => tsplus_module_1.tryPromise(() => db.container(type).item(id).read())), i => tsplus_module_2.fromNullable(i.resource)), _ => tsplus_module_2.map(({
|
|
41
39
|
_etag,
|
|
42
40
|
data
|
|
43
41
|
}) => ({
|
|
44
42
|
version: _etag,
|
|
45
43
|
data
|
|
46
|
-
}))(_))
|
|
44
|
+
}))(_));
|
|
47
45
|
}
|
|
48
46
|
function findBy(parameters) {
|
|
49
|
-
return
|
|
47
|
+
return tsplus_module_1.map(tsplus_module_1.map(tsplus_module_1.flatMap(Cosmos.db, db => tsplus_module_1.tryPromise(() => db.container(type).items.query({
|
|
50
48
|
query: `
|
|
51
49
|
SELECT TOP 1 ${type}.id
|
|
52
50
|
FROM ${type} i
|
|
@@ -58,26 +56,18 @@ WHERE (
|
|
|
58
56
|
name: `@${p}`,
|
|
59
57
|
value: parameters[p]
|
|
60
58
|
}))
|
|
61
|
-
}).fetchAll()))))(
|
|
59
|
+
}).fetchAll())), x => tsplus_module_3.head(x.resources)), _ => tsplus_module_2.map(_ => _.id)(_));
|
|
62
60
|
}
|
|
63
61
|
function store(record, currentVersion) {
|
|
64
|
-
return
|
|
62
|
+
return tsplus_module_1.gen(function* ($) {
|
|
65
63
|
const version = "_etag"; // we get this from the etag anyway.
|
|
66
64
|
const db = yield* $(Cosmos.db);
|
|
67
65
|
const data = yield* $(encode(record));
|
|
68
|
-
yield* $(tsplus_module_2.match(() => tsplus_module_1.orDie(tsplus_module_1.asUnit(
|
|
66
|
+
yield* $(tsplus_module_2.match(() => tsplus_module_1.orDie(tsplus_module_1.asUnit(tsplus_module_1.tryPromise(() => db.container(type).items.create({
|
|
69
67
|
id: record.id,
|
|
70
68
|
timestamp: new Date(),
|
|
71
69
|
data
|
|
72
|
-
}))))
|
|
73
|
-
if (x.statusCode === 412) {
|
|
74
|
-
return tracer_1.withCallTrace(fileName_1 + ":117:33")(tsplus_module_1.fail(new _shared.OptimisticLockException(type, record.id)));
|
|
75
|
-
}
|
|
76
|
-
if (x.statusCode > 299 || x.statusCode < 200) {
|
|
77
|
-
return tracer_1.withCallTrace(fileName_1 + ":120:33")(tsplus_module_1.die(new CosmosDbOperationError("not able to update record: " + x.statusCode)));
|
|
78
|
-
}
|
|
79
|
-
return tsplus_module_4.unit;
|
|
80
|
-
}))(tsplus_module_1.orDie(tracer_1.withCallTrace(fileName_1 + ":98:22")(tsplus_module_1.tryPromise(() => db.container(type).item(record.id).replace({
|
|
70
|
+
})))), currentVersion => tsplus_module_1.flatMap(tsplus_module_1.orDie(tsplus_module_1.tryPromise(() => db.container(type).item(record.id).replace({
|
|
81
71
|
id: record.id,
|
|
82
72
|
timestamp: new Date(),
|
|
83
73
|
data
|
|
@@ -86,12 +76,20 @@ WHERE (
|
|
|
86
76
|
type: "IfMatch",
|
|
87
77
|
condition: currentVersion
|
|
88
78
|
}
|
|
89
|
-
})))
|
|
79
|
+
}))), x => {
|
|
80
|
+
if (x.statusCode === 412) {
|
|
81
|
+
return tsplus_module_1.fail(new _shared.OptimisticLockException(type, record.id));
|
|
82
|
+
}
|
|
83
|
+
if (x.statusCode > 299 || x.statusCode < 200) {
|
|
84
|
+
return tsplus_module_1.die(new CosmosDbOperationError("not able to update record: " + x.statusCode));
|
|
85
|
+
}
|
|
86
|
+
return tsplus_module_4.unit;
|
|
87
|
+
}))(currentVersion));
|
|
90
88
|
return {
|
|
91
89
|
version,
|
|
92
90
|
data: record
|
|
93
91
|
};
|
|
94
|
-
})
|
|
92
|
+
});
|
|
95
93
|
}
|
|
96
94
|
};
|
|
97
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cosmosdb.cjs","mappings":"
|
|
1
|
+
{"version":3,"file":"cosmosdb.cjs","mappings":"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","names":["CosmosDbOperationError","constructor","message","setup","type","indexingPolicy","tsplus_module_1","db","containers","create","id","catch","err","console","warn","createContext","encode","decode","indexes","find","simpledb","findBy","save","storeDirectly","store","container","item","read","i","tsplus_module_2","resource","_","_etag","data","version","parameters","items","query","map","k","join","p","name","value","fetchAll","x","tsplus_module_3","resources","record","currentVersion","$","Cosmos","timestamp","Date","replace","accessCondition","condition","statusCode","OptimisticLockException"],"sourceRoot":"","sources":["../../../_src/services/simpledb/cosmosdb.ts"],"sourcesContent":[null]}
|