@atproto/ozone 0.1.49 → 0.1.51

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 (120) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/api/index.d.ts.map +1 -1
  3. package/dist/api/index.js +12 -0
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/api/set/addValues.d.ts +4 -0
  6. package/dist/api/set/addValues.d.ts.map +1 -0
  7. package/dist/api/set/addValues.js +24 -0
  8. package/dist/api/set/addValues.js.map +1 -0
  9. package/dist/api/set/deleteSet.d.ts +4 -0
  10. package/dist/api/set/deleteSet.d.ts.map +1 -0
  11. package/dist/api/set/deleteSet.js +28 -0
  12. package/dist/api/set/deleteSet.js.map +1 -0
  13. package/dist/api/set/deleteValues.d.ts +4 -0
  14. package/dist/api/set/deleteValues.d.ts.map +1 -0
  15. package/dist/api/set/deleteValues.js +24 -0
  16. package/dist/api/set/deleteValues.js.map +1 -0
  17. package/dist/api/set/getValues.d.ts +4 -0
  18. package/dist/api/set/getValues.d.ts.map +1 -0
  19. package/dist/api/set/getValues.js +35 -0
  20. package/dist/api/set/getValues.js.map +1 -0
  21. package/dist/api/set/querySets.d.ts +4 -0
  22. package/dist/api/set/querySets.d.ts.map +1 -0
  23. package/dist/api/set/querySets.js +33 -0
  24. package/dist/api/set/querySets.js.map +1 -0
  25. package/dist/api/set/upsertSet.d.ts +4 -0
  26. package/dist/api/set/upsertSet.d.ts.map +1 -0
  27. package/dist/api/set/upsertSet.js +32 -0
  28. package/dist/api/set/upsertSet.js.map +1 -0
  29. package/dist/context.d.ts +3 -0
  30. package/dist/context.d.ts.map +1 -1
  31. package/dist/context.js +6 -0
  32. package/dist/context.js.map +1 -1
  33. package/dist/daemon/blob-diverter.d.ts +1 -1
  34. package/dist/daemon/blob-diverter.d.ts.map +1 -1
  35. package/dist/db/migrations/20241008T205730722Z-sets.d.ts +4 -0
  36. package/dist/db/migrations/20241008T205730722Z-sets.d.ts.map +1 -0
  37. package/dist/db/migrations/20241008T205730722Z-sets.js +46 -0
  38. package/dist/db/migrations/20241008T205730722Z-sets.js.map +1 -0
  39. package/dist/db/migrations/index.d.ts +1 -0
  40. package/dist/db/migrations/index.d.ts.map +1 -1
  41. package/dist/db/migrations/index.js +2 -1
  42. package/dist/db/migrations/index.js.map +1 -1
  43. package/dist/db/pagination.d.ts +1 -1
  44. package/dist/db/pagination.d.ts.map +1 -1
  45. package/dist/db/schema/index.d.ts +2 -1
  46. package/dist/db/schema/index.d.ts.map +1 -1
  47. package/dist/db/schema/ozone_set.d.ts +21 -0
  48. package/dist/db/schema/ozone_set.d.ts.map +1 -0
  49. package/dist/db/schema/ozone_set.js +6 -0
  50. package/dist/db/schema/ozone_set.js.map +1 -0
  51. package/dist/lexicon/index.d.ts +17 -0
  52. package/dist/lexicon/index.d.ts.map +1 -1
  53. package/dist/lexicon/index.js +44 -1
  54. package/dist/lexicon/index.js.map +1 -1
  55. package/dist/lexicon/lexicons.d.ts +292 -0
  56. package/dist/lexicon/lexicons.d.ts.map +1 -1
  57. package/dist/lexicon/lexicons.js +298 -0
  58. package/dist/lexicon/lexicons.js.map +1 -1
  59. package/dist/lexicon/types/tools/ozone/set/addValues.d.ts +32 -0
  60. package/dist/lexicon/types/tools/ozone/set/addValues.d.ts.map +1 -0
  61. package/dist/lexicon/types/tools/ozone/set/addValues.js +3 -0
  62. package/dist/lexicon/types/tools/ozone/set/addValues.js.map +1 -0
  63. package/dist/lexicon/types/tools/ozone/set/defs.d.ts +22 -0
  64. package/dist/lexicon/types/tools/ozone/set/defs.d.ts.map +1 -0
  65. package/dist/lexicon/types/tools/ozone/set/defs.js +24 -0
  66. package/dist/lexicon/types/tools/ozone/set/defs.js.map +1 -0
  67. package/dist/lexicon/types/tools/ozone/set/deleteSet.d.ts +41 -0
  68. package/dist/lexicon/types/tools/ozone/set/deleteSet.d.ts.map +1 -0
  69. package/dist/lexicon/types/tools/ozone/set/deleteSet.js +3 -0
  70. package/dist/lexicon/types/tools/ozone/set/deleteSet.js.map +1 -0
  71. package/dist/lexicon/types/tools/ozone/set/deleteValues.d.ts +33 -0
  72. package/dist/lexicon/types/tools/ozone/set/deleteValues.d.ts.map +1 -0
  73. package/dist/lexicon/types/tools/ozone/set/deleteValues.js +3 -0
  74. package/dist/lexicon/types/tools/ozone/set/deleteValues.js.map +1 -0
  75. package/dist/lexicon/types/tools/ozone/set/getValues.d.ts +41 -0
  76. package/dist/lexicon/types/tools/ozone/set/getValues.d.ts.map +1 -0
  77. package/dist/lexicon/types/tools/ozone/set/getValues.js +3 -0
  78. package/dist/lexicon/types/tools/ozone/set/getValues.js.map +1 -0
  79. package/dist/lexicon/types/tools/ozone/set/querySets.d.ts +42 -0
  80. package/dist/lexicon/types/tools/ozone/set/querySets.d.ts.map +1 -0
  81. package/dist/lexicon/types/tools/ozone/set/querySets.js +3 -0
  82. package/dist/lexicon/types/tools/ozone/set/querySets.js.map +1 -0
  83. package/dist/lexicon/types/tools/ozone/set/upsertSet.d.ts +35 -0
  84. package/dist/lexicon/types/tools/ozone/set/upsertSet.d.ts.map +1 -0
  85. package/dist/lexicon/types/tools/ozone/set/upsertSet.js +3 -0
  86. package/dist/lexicon/types/tools/ozone/set/upsertSet.js.map +1 -0
  87. package/dist/mod-service/subject.d.ts +9 -9
  88. package/dist/mod-service/subject.d.ts.map +1 -1
  89. package/dist/set/service.d.ts +46 -0
  90. package/dist/set/service.d.ts.map +1 -0
  91. package/dist/set/service.js +166 -0
  92. package/dist/set/service.js.map +1 -0
  93. package/package.json +3 -3
  94. package/src/api/index.ts +12 -0
  95. package/src/api/set/addValues.ts +28 -0
  96. package/src/api/set/deleteSet.ts +34 -0
  97. package/src/api/set/deleteValues.ts +31 -0
  98. package/src/api/set/getValues.ts +42 -0
  99. package/src/api/set/querySets.ts +36 -0
  100. package/src/api/set/upsertSet.ts +38 -0
  101. package/src/context.ts +8 -0
  102. package/src/daemon/blob-diverter.ts +1 -1
  103. package/src/db/migrations/20241008T205730722Z-sets.ts +53 -0
  104. package/src/db/migrations/index.ts +1 -0
  105. package/src/db/pagination.ts +1 -1
  106. package/src/db/schema/index.ts +2 -0
  107. package/src/db/schema/ozone_set.ts +24 -0
  108. package/src/lexicon/index.ts +82 -0
  109. package/src/lexicon/lexicons.ts +301 -0
  110. package/src/lexicon/types/tools/ozone/set/addValues.ts +41 -0
  111. package/src/lexicon/types/tools/ozone/set/defs.ts +44 -0
  112. package/src/lexicon/types/tools/ozone/set/deleteSet.ts +50 -0
  113. package/src/lexicon/types/tools/ozone/set/deleteValues.ts +42 -0
  114. package/src/lexicon/types/tools/ozone/set/getValues.ts +51 -0
  115. package/src/lexicon/types/tools/ozone/set/querySets.ts +52 -0
  116. package/src/lexicon/types/tools/ozone/set/upsertSet.ts +43 -0
  117. package/src/mod-service/subject.ts +9 -9
  118. package/src/set/service.ts +227 -0
  119. package/tests/__snapshots__/sets.test.ts.snap +46 -0
  120. package/tests/sets.test.ts +246 -0
@@ -0,0 +1,32 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import express from 'express';
5
+ import { HandlerAuth } from '@atproto/xrpc-server';
6
+ export interface QueryParams {
7
+ }
8
+ export interface InputSchema {
9
+ /** Name of the set to add values to */
10
+ name: string;
11
+ /** Array of string values to add to the set */
12
+ values: string[];
13
+ [k: string]: unknown;
14
+ }
15
+ export interface HandlerInput {
16
+ encoding: 'application/json';
17
+ body: InputSchema;
18
+ }
19
+ export interface HandlerError {
20
+ status: number;
21
+ message?: string;
22
+ }
23
+ export type HandlerOutput = HandlerError | void;
24
+ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
25
+ auth: HA;
26
+ params: QueryParams;
27
+ input: HandlerInput;
28
+ req: express.Request;
29
+ res: express.Response;
30
+ };
31
+ export type Handler<HA extends HandlerAuth = never> = (ctx: HandlerReqCtx<HA>) => Promise<HandlerOutput> | HandlerOutput;
32
+ //# sourceMappingURL=addValues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addValues.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/set/addValues.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAK7B,OAAO,EAAE,WAAW,EAAsB,MAAM,sBAAsB,CAAA;AAEtE,MAAM,WAAW,WAAW;CAAG;AAE/B,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,+CAA+C;IAC/C,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,WAAW,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,IAAI,CAAA;AAC/C,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI;IAC1D,IAAI,EAAE,EAAE,CAAA;IACR,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAA;IACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAA;CACtB,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI,CACpD,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,KACnB,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=addValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addValues.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/set/addValues.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import { ValidationResult } from '@atproto/lexicon';
5
+ export interface Set {
6
+ name: string;
7
+ description?: string;
8
+ [k: string]: unknown;
9
+ }
10
+ export declare function isSet(v: unknown): v is Set;
11
+ export declare function validateSet(v: unknown): ValidationResult;
12
+ export interface SetView {
13
+ name: string;
14
+ description?: string;
15
+ setSize: number;
16
+ createdAt: string;
17
+ updatedAt: string;
18
+ [k: string]: unknown;
19
+ }
20
+ export declare function isSetView(v: unknown): v is SetView;
21
+ export declare function validateSetView(v: unknown): ValidationResult;
22
+ //# sourceMappingURL=defs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defs.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/set/defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,gBAAgB,EAAW,MAAM,kBAAkB,CAAA;AAK5D,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,GAAG,CAI1C;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAExD;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,OAAO,CAMlD;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAE5D"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateSetView = exports.isSetView = exports.validateSet = exports.isSet = void 0;
4
+ const lexicons_1 = require("../../../../lexicons");
5
+ const util_1 = require("../../../../util");
6
+ function isSet(v) {
7
+ return ((0, util_1.isObj)(v) && (0, util_1.hasProp)(v, '$type') && v.$type === 'tools.ozone.set.defs#set');
8
+ }
9
+ exports.isSet = isSet;
10
+ function validateSet(v) {
11
+ return lexicons_1.lexicons.validate('tools.ozone.set.defs#set', v);
12
+ }
13
+ exports.validateSet = validateSet;
14
+ function isSetView(v) {
15
+ return ((0, util_1.isObj)(v) &&
16
+ (0, util_1.hasProp)(v, '$type') &&
17
+ v.$type === 'tools.ozone.set.defs#setView');
18
+ }
19
+ exports.isSetView = isSetView;
20
+ function validateSetView(v) {
21
+ return lexicons_1.lexicons.validate('tools.ozone.set.defs#setView', v);
22
+ }
23
+ exports.validateSetView = validateSetView;
24
+ //# sourceMappingURL=defs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defs.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/set/defs.ts"],"names":[],"mappings":";;;AAIA,mDAA+C;AAC/C,2CAAiD;AASjD,SAAgB,KAAK,CAAC,CAAU;IAC9B,OAAO,CACL,IAAA,YAAK,EAAC,CAAC,CAAC,IAAI,IAAA,cAAO,EAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,0BAA0B,CAC1E,CAAA;AACH,CAAC;AAJD,sBAIC;AAED,SAAgB,WAAW,CAAC,CAAU;IACpC,OAAO,mBAAQ,CAAC,QAAQ,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAA;AACzD,CAAC;AAFD,kCAEC;AAWD,SAAgB,SAAS,CAAC,CAAU;IAClC,OAAO,CACL,IAAA,YAAK,EAAC,CAAC,CAAC;QACR,IAAA,cAAO,EAAC,CAAC,EAAE,OAAO,CAAC;QACnB,CAAC,CAAC,KAAK,KAAK,8BAA8B,CAC3C,CAAA;AACH,CAAC;AAND,8BAMC;AAED,SAAgB,eAAe,CAAC,CAAU;IACxC,OAAO,mBAAQ,CAAC,QAAQ,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAA;AAC7D,CAAC;AAFD,0CAEC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import express from 'express';
5
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
6
+ export interface QueryParams {
7
+ }
8
+ export interface InputSchema {
9
+ /** Name of the set to delete */
10
+ name: string;
11
+ [k: string]: unknown;
12
+ }
13
+ export interface OutputSchema {
14
+ [k: string]: unknown;
15
+ }
16
+ export interface HandlerInput {
17
+ encoding: 'application/json';
18
+ body: InputSchema;
19
+ }
20
+ export interface HandlerSuccess {
21
+ encoding: 'application/json';
22
+ body: OutputSchema;
23
+ headers?: {
24
+ [key: string]: string;
25
+ };
26
+ }
27
+ export interface HandlerError {
28
+ status: number;
29
+ message?: string;
30
+ error?: 'SetNotFound';
31
+ }
32
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
33
+ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
34
+ auth: HA;
35
+ params: QueryParams;
36
+ input: HandlerInput;
37
+ req: express.Request;
38
+ res: express.Response;
39
+ };
40
+ export type Handler<HA extends HandlerAuth = never> = (ctx: HandlerReqCtx<HA>) => Promise<HandlerOutput> | HandlerOutput;
41
+ //# sourceMappingURL=deleteSet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deleteSet.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/set/deleteSet.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAK7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEtE,MAAM,WAAW,WAAW;CAAG;AAE/B,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,WAAW,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,CAAA;AAC9E,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI;IAC1D,IAAI,EAAE,EAAE,CAAA;IACR,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAA;IACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAA;CACtB,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI,CACpD,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,KACnB,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=deleteSet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deleteSet.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/set/deleteSet.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import express from 'express';
5
+ import { HandlerAuth } from '@atproto/xrpc-server';
6
+ export interface QueryParams {
7
+ }
8
+ export interface InputSchema {
9
+ /** Name of the set to delete values from */
10
+ name: string;
11
+ /** Array of string values to delete from the set */
12
+ values: string[];
13
+ [k: string]: unknown;
14
+ }
15
+ export interface HandlerInput {
16
+ encoding: 'application/json';
17
+ body: InputSchema;
18
+ }
19
+ export interface HandlerError {
20
+ status: number;
21
+ message?: string;
22
+ error?: 'SetNotFound';
23
+ }
24
+ export type HandlerOutput = HandlerError | void;
25
+ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
26
+ auth: HA;
27
+ params: QueryParams;
28
+ input: HandlerInput;
29
+ req: express.Request;
30
+ res: express.Response;
31
+ };
32
+ export type Handler<HA extends HandlerAuth = never> = (ctx: HandlerReqCtx<HA>) => Promise<HandlerOutput> | HandlerOutput;
33
+ //# sourceMappingURL=deleteValues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deleteValues.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/set/deleteValues.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAK7B,OAAO,EAAE,WAAW,EAAsB,MAAM,sBAAsB,CAAA;AAEtE,MAAM,WAAW,WAAW;CAAG;AAE/B,MAAM,WAAW,WAAW;IAC1B,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAA;IACZ,oDAAoD;IACpD,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,WAAW,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,IAAI,CAAA;AAC/C,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI;IAC1D,IAAI,EAAE,EAAE,CAAA;IACR,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAA;IACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAA;CACtB,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI,CACpD,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,KACnB,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=deleteValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deleteValues.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/set/deleteValues.ts"],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import express from 'express';
5
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
6
+ import * as ToolsOzoneSetDefs from './defs';
7
+ export interface QueryParams {
8
+ name: string;
9
+ limit: number;
10
+ cursor?: string;
11
+ }
12
+ export type InputSchema = undefined;
13
+ export interface OutputSchema {
14
+ set: ToolsOzoneSetDefs.SetView;
15
+ values: string[];
16
+ cursor?: string;
17
+ [k: string]: unknown;
18
+ }
19
+ export type HandlerInput = undefined;
20
+ export interface HandlerSuccess {
21
+ encoding: 'application/json';
22
+ body: OutputSchema;
23
+ headers?: {
24
+ [key: string]: string;
25
+ };
26
+ }
27
+ export interface HandlerError {
28
+ status: number;
29
+ message?: string;
30
+ error?: 'SetNotFound';
31
+ }
32
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
33
+ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
34
+ auth: HA;
35
+ params: QueryParams;
36
+ input: HandlerInput;
37
+ req: express.Request;
38
+ res: express.Response;
39
+ };
40
+ export type Handler<HA extends HandlerAuth = never> = (ctx: HandlerReqCtx<HA>) => Promise<HandlerOutput> | HandlerOutput;
41
+ //# sourceMappingURL=getValues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getValues.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/set/getValues.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAK7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,iBAAiB,MAAM,QAAQ,CAAA;AAE3C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,CAAA;AAEnC,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,iBAAiB,CAAC,OAAO,CAAA;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAA;AAEpC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,CAAA;AAC9E,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI;IAC1D,IAAI,EAAE,EAAE,CAAA;IACR,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAA;IACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAA;CACtB,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI,CACpD,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,KACnB,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=getValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getValues.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/set/getValues.ts"],"names":[],"mappings":""}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import express from 'express';
5
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
6
+ import * as ToolsOzoneSetDefs from './defs';
7
+ export interface QueryParams {
8
+ limit: number;
9
+ cursor?: string;
10
+ namePrefix?: string;
11
+ sortBy: 'name' | 'createdAt' | 'updatedAt';
12
+ /** Defaults to ascending order of name field. */
13
+ sortDirection: 'asc' | 'desc';
14
+ }
15
+ export type InputSchema = undefined;
16
+ export interface OutputSchema {
17
+ sets: ToolsOzoneSetDefs.SetView[];
18
+ cursor?: string;
19
+ [k: string]: unknown;
20
+ }
21
+ export type HandlerInput = undefined;
22
+ export interface HandlerSuccess {
23
+ encoding: 'application/json';
24
+ body: OutputSchema;
25
+ headers?: {
26
+ [key: string]: string;
27
+ };
28
+ }
29
+ export interface HandlerError {
30
+ status: number;
31
+ message?: string;
32
+ }
33
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
34
+ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
35
+ auth: HA;
36
+ params: QueryParams;
37
+ input: HandlerInput;
38
+ req: express.Request;
39
+ res: express.Response;
40
+ };
41
+ export type Handler<HA extends HandlerAuth = never> = (ctx: HandlerReqCtx<HA>) => Promise<HandlerOutput> | HandlerOutput;
42
+ //# sourceMappingURL=querySets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"querySets.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/set/querySets.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAK7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,iBAAiB,MAAM,QAAQ,CAAA;AAE3C,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,CAAA;IAC1C,iDAAiD;IACjD,aAAa,EAAE,KAAK,GAAG,MAAM,CAAA;CAC9B;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,CAAA;AAEnC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,iBAAiB,CAAC,OAAO,EAAE,CAAA;IACjC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAA;AAEpC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,CAAA;AAC9E,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI;IAC1D,IAAI,EAAE,EAAE,CAAA;IACR,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAA;IACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAA;CACtB,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI,CACpD,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,KACnB,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=querySets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"querySets.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/set/querySets.ts"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import express from 'express';
5
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
6
+ import * as ToolsOzoneSetDefs from './defs';
7
+ export interface QueryParams {
8
+ }
9
+ export type InputSchema = ToolsOzoneSetDefs.Set;
10
+ export type OutputSchema = ToolsOzoneSetDefs.SetView;
11
+ export interface HandlerInput {
12
+ encoding: 'application/json';
13
+ body: InputSchema;
14
+ }
15
+ export interface HandlerSuccess {
16
+ encoding: 'application/json';
17
+ body: OutputSchema;
18
+ headers?: {
19
+ [key: string]: string;
20
+ };
21
+ }
22
+ export interface HandlerError {
23
+ status: number;
24
+ message?: string;
25
+ }
26
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
27
+ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
28
+ auth: HA;
29
+ params: QueryParams;
30
+ input: HandlerInput;
31
+ req: express.Request;
32
+ res: express.Response;
33
+ };
34
+ export type Handler<HA extends HandlerAuth = never> = (ctx: HandlerReqCtx<HA>) => Promise<HandlerOutput> | HandlerOutput;
35
+ //# sourceMappingURL=upsertSet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upsertSet.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/set/upsertSet.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAK7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,iBAAiB,MAAM,QAAQ,CAAA;AAE3C,MAAM,WAAW,WAAW;CAAG;AAE/B,MAAM,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,CAAA;AAC/C,MAAM,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAA;AAEpD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,WAAW,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,CAAA;AAC9E,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI;IAC1D,IAAI,EAAE,EAAE,CAAA;IACR,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAA;IACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAA;CACtB,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI,CACpD,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,KACnB,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=upsertSet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upsertSet.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/set/upsertSet.ts"],"names":[],"mappings":""}
@@ -33,9 +33,9 @@ export declare class RepoSubject implements ModSubject {
33
33
  blobCids: undefined;
34
34
  recordPath: undefined;
35
35
  constructor(did: string);
36
- isRepo(): boolean;
37
- isRecord(): boolean;
38
- isMessage(): boolean;
36
+ isRepo(): this is RepoSubject;
37
+ isRecord(): this is RecordSubject;
38
+ isMessage(): this is MessageSubject;
39
39
  info(): {
40
40
  subjectType: "com.atproto.admin.defs#repoRef";
41
41
  subjectDid: string;
@@ -55,9 +55,9 @@ export declare class RecordSubject implements ModSubject {
55
55
  did: string;
56
56
  recordPath: string;
57
57
  constructor(uri: string, cid: string, blobCids?: string[] | undefined);
58
- isRepo(): boolean;
59
- isRecord(): boolean;
60
- isMessage(): boolean;
58
+ isRepo(): this is RepoSubject;
59
+ isRecord(): this is RecordSubject;
60
+ isMessage(): this is MessageSubject;
61
61
  info(): {
62
62
  subjectType: "com.atproto.repo.strongRef";
63
63
  subjectDid: string;
@@ -76,9 +76,9 @@ export declare class MessageSubject implements ModSubject {
76
76
  blobCids: undefined;
77
77
  recordPath: undefined;
78
78
  constructor(did: string, convoId: string, messageId: string);
79
- isRepo(): boolean;
80
- isRecord(): boolean;
81
- isMessage(): boolean;
79
+ isRepo(): this is RepoSubject;
80
+ isRecord(): this is RecordSubject;
81
+ isMessage(): this is MessageSubject;
82
82
  info(): {
83
83
  subjectType: "chat.bsky.convo.defs#messageRef";
84
84
  subjectDid: string;
@@ -1 +1 @@
1
- {"version":3,"file":"subject.d.ts","sourceRoot":"","sources":["../../src/mod-service/subject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,WAAW,IAAI,WAAW,EAAE,MAAM,sDAAsD,CAAA;AACjG,OAAO,EAAE,WAAW,IAAI,WAAW,EAAE,MAAM,mDAAmD,CAAA;AAE9F,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAA;AACjE,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,6CAA6C,CAAA;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAA;AAElE,KAAK,YAAY,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,CAAA;AAEnE,eAAO,MAAM,gBAAgB,YAClB,YAAY,UACb,MAAM,EAAE,KACf,UAmCF,CAAA;AAED,eAAO,MAAM,mBAAmB,QAAS,kBAAkB,KAAG,UAqB7D,CAAA;AAED,eAAO,MAAM,oBAAoB,QAC1B,0BAA0B,KAC9B,UASF,CAAA;AAED,KAAK,WAAW,GAAG;IACjB,WAAW,EACP,gCAAgC,GAChC,4BAA4B,GAC5B,iCAAiC,CAAA;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAChC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,IAAI,CAAA;CAChD,CAAA;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,MAAM,IAAI,IAAI,IAAI,WAAW,CAAA;IAC7B,QAAQ,IAAI,IAAI,IAAI,aAAa,CAAA;IACjC,SAAS,IAAI,IAAI,IAAI,cAAc,CAAA;IACnC,IAAI,IAAI,WAAW,CAAA;IACnB,GAAG,IAAI,OAAO,GAAG,SAAS,GAAG,UAAU,CAAA;CACxC;AAED,qBAAa,WAAY,YAAW,UAAU;IAGzB,GAAG,EAAE,MAAM;IAF9B,QAAQ,YAAY;IACpB,UAAU,YAAY;gBACH,GAAG,EAAE,MAAM;IAC9B,MAAM;IAGN,QAAQ;IAGR,SAAS;IAGT,IAAI;;;;;;;;;IAWJ,GAAG,IAAI,OAAO;CAMf;AAED,qBAAa,aAAc,YAAW,UAAU;IAKrC,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,MAAM;IACX,QAAQ,CAAC;IANlB,SAAS,EAAE,KAAK,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;gBAET,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,sBAAU;IAM5B,MAAM;IAGN,QAAQ;IAGR,SAAS;IAGT,IAAI;;;;;;;;;IAWJ,GAAG,IAAI,SAAS;CAOjB;AAED,qBAAa,cAAe,YAAW,UAAU;IAItC,GAAG,EAAE,MAAM;IACX,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,MAAM;IAL1B,QAAQ,YAAY;IACpB,UAAU,YAAY;gBAEb,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM;IAE1B,MAAM;IAGN,QAAQ;IAGR,SAAS;IAGT,IAAI;;;;;;;;;;;IAWJ,GAAG,IAAI,UAAU;CAQlB"}
1
+ {"version":3,"file":"subject.d.ts","sourceRoot":"","sources":["../../src/mod-service/subject.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import Database from '../db';
2
+ import { Selectable } from 'kysely';
3
+ import { SetDetail } from '../db/schema/ozone_set';
4
+ import { SetView } from '../lexicon/types/tools/ozone/set/defs';
5
+ export type SetServiceCreator = (db: Database) => SetService;
6
+ export declare class SetService {
7
+ db: Database;
8
+ constructor(db: Database);
9
+ static creator(): (db: Database) => SetService;
10
+ buildQueryForSetWithSize(): import("kysely/dist/cjs/parser/select-parser").QueryBuilderWithSelection<import("kysely/dist/cjs/parser/table-parser").From<import("../db/schema").DatabaseSchemaType, "set_detail as s">, "s", {}, "s.id" | "s.name" | "s.description" | "s.createdAt" | "s.updatedAt" | ((eb: import("kysely").ExpressionBuilder<import("kysely/dist/cjs/parser/table-parser").From<import("../db/schema").DatabaseSchemaType, "set_detail as s">, "s">) => import("kysely").AliasedQueryBuilder<import("kysely/dist/cjs/parser/table-parser").From<import("kysely/dist/cjs/parser/table-parser").From<import("../db/schema").DatabaseSchemaType, "set_detail as s">, "set_value">, import("kysely/dist/cjs/parser/table-parser").FromTables<import("kysely/dist/cjs/parser/table-parser").From<import("../db/schema").DatabaseSchemaType, "set_detail as s">, "s", "set_value">, import("kysely").Selection<import("kysely/dist/cjs/parser/table-parser").From<import("kysely/dist/cjs/parser/table-parser").From<import("../db/schema").DatabaseSchemaType, "set_detail as s">, "set_value">, import("kysely/dist/cjs/parser/table-parser").FromTables<import("kysely/dist/cjs/parser/table-parser").From<import("../db/schema").DatabaseSchemaType, "set_detail as s">, "s", "set_value">, (e: import("kysely").ExpressionBuilder<import("kysely/dist/cjs/parser/table-parser").From<import("kysely/dist/cjs/parser/table-parser").From<import("../db/schema").DatabaseSchemaType, "set_detail as s">, "set_value">, import("kysely/dist/cjs/parser/table-parser").FromTables<import("kysely/dist/cjs/parser/table-parser").From<import("../db/schema").DatabaseSchemaType, "set_detail as s">, "s", "set_value">>) => import("kysely").AliasedAggregateFunctionBuilder<import("kysely/dist/cjs/parser/table-parser").From<import("kysely/dist/cjs/parser/table-parser").From<import("../db/schema").DatabaseSchemaType, "set_detail as s">, "set_value">, import("kysely/dist/cjs/parser/table-parser").FromTables<import("kysely/dist/cjs/parser/table-parser").From<import("../db/schema").DatabaseSchemaType, "set_detail as s">, "s", "set_value">, number, "count">>, "setSize">)>;
11
+ query({ limit, cursor, namePrefix, sortBy, sortDirection, }: {
12
+ limit: number;
13
+ cursor?: string;
14
+ namePrefix?: string;
15
+ sortBy: 'name' | 'createdAt' | 'updatedAt';
16
+ sortDirection: 'asc' | 'desc';
17
+ }): Promise<{
18
+ sets: Selectable<SetDetail & {
19
+ setSize: number;
20
+ }>[];
21
+ cursor?: string;
22
+ }>;
23
+ getByName(name: string): Promise<Selectable<SetDetail> | undefined>;
24
+ getByNameWithSize(name: string): Promise<Selectable<SetDetail & {
25
+ setSize: number;
26
+ }> | undefined>;
27
+ getSetWithValues({ name, limit, cursor, }: {
28
+ name: string;
29
+ limit: number;
30
+ cursor?: string;
31
+ }): Promise<{
32
+ set: Selectable<SetDetail & {
33
+ setSize: number;
34
+ }>;
35
+ values: string[];
36
+ cursor?: string;
37
+ } | undefined>;
38
+ upsert({ name, description, }: Pick<SetDetail, 'name' | 'description'>): Promise<void>;
39
+ addValues(setId: number, values: string[]): Promise<void>;
40
+ removeValues(setId: number, values: string[]): Promise<void>;
41
+ removeSet(setId: number): Promise<void>;
42
+ view(set: Selectable<SetDetail> & {
43
+ setSize: number;
44
+ }): SetView;
45
+ }
46
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/set/service.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,OAAO,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAA;AAG/D,MAAM,MAAM,iBAAiB,GAAG,CAAC,EAAE,EAAE,QAAQ,KAAK,UAAU,CAAA;AAE5D,qBAAa,UAAU;IACF,EAAE,EAAE,QAAQ;gBAAZ,EAAE,EAAE,QAAQ;IAE/B,MAAM,CAAC,OAAO,SACA,QAAQ;IAGtB,wBAAwB;IAgBlB,KAAK,CAAC,EACV,KAAK,EACL,MAAM,EACN,UAAU,EACV,MAAM,EACN,aAAa,GACd,EAAE;QACD,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,CAAA;QAC1C,aAAa,EAAE,KAAK,GAAG,MAAM,CAAA;KAC9B,GAAG,OAAO,CAAC;QACV,IAAI,EAAE,UAAU,CAAC,SAAS,GAAG;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,EAAE,CAAA;QACnD,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAC;IAkCI,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IASnE,iBAAiB,CACrB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,UAAU,CAAC,SAAS,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,SAAS,CAAC;IAM7D,gBAAgB,CAAC,EACrB,IAAI,EACJ,KAAK,EACL,MAAM,GACP,EAAE;QACD,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,GAAG,OAAO,CACP;QACE,GAAG,EAAE,UAAU,CAAC,SAAS,GAAG;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;QAChD,MAAM,EAAE,MAAM,EAAE,CAAA;QAChB,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,GACD,SAAS,CACZ;IA0BK,MAAM,CAAC,EACX,IAAI,EACJ,WAAW,GACZ,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBpD,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBzD,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB5D,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO7C,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;CAShE"}
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SetService = void 0;
4
+ const pagination_1 = require("../db/pagination");
5
+ class SetService {
6
+ constructor(db) {
7
+ Object.defineProperty(this, "db", {
8
+ enumerable: true,
9
+ configurable: true,
10
+ writable: true,
11
+ value: db
12
+ });
13
+ }
14
+ static creator() {
15
+ return (db) => new SetService(db);
16
+ }
17
+ buildQueryForSetWithSize() {
18
+ return this.db.db.selectFrom('set_detail as s').select([
19
+ 's.id',
20
+ 's.name',
21
+ 's.description',
22
+ 's.createdAt',
23
+ 's.updatedAt',
24
+ (eb) => eb
25
+ .selectFrom('set_value')
26
+ .select((e) => e.fn.count('setId').as('count'))
27
+ .whereRef('setId', '=', 's.id')
28
+ .as('setSize'),
29
+ ]);
30
+ }
31
+ async query({ limit, cursor, namePrefix, sortBy, sortDirection, }) {
32
+ let qb = this.buildQueryForSetWithSize().limit(limit);
33
+ if (namePrefix) {
34
+ qb = qb.where('s.name', 'like', `${namePrefix}%`);
35
+ }
36
+ if (cursor) {
37
+ if (sortBy === 'name') {
38
+ qb = qb.where('s.name', sortDirection === 'asc' ? '>' : '<', cursor);
39
+ }
40
+ else {
41
+ qb = qb.where(`s.${sortBy}`, sortDirection === 'asc' ? '>' : '<', new Date(cursor));
42
+ }
43
+ }
44
+ qb = qb.orderBy(`s.${sortBy}`, sortDirection);
45
+ const sets = await qb.execute();
46
+ const lastItem = sets.at(-1);
47
+ return {
48
+ sets,
49
+ cursor: lastItem
50
+ ? sortBy === 'name'
51
+ ? lastItem?.name
52
+ : lastItem?.[sortBy].toISOString()
53
+ : undefined,
54
+ };
55
+ }
56
+ async getByName(name) {
57
+ const query = this.db.db
58
+ .selectFrom('set_detail')
59
+ .selectAll()
60
+ .where('name', '=', name);
61
+ return await query.executeTakeFirst();
62
+ }
63
+ async getByNameWithSize(name) {
64
+ return await this.buildQueryForSetWithSize()
65
+ .where('s.name', '=', name)
66
+ .executeTakeFirst();
67
+ }
68
+ async getSetWithValues({ name, limit, cursor, }) {
69
+ const set = await this.getByNameWithSize(name);
70
+ if (!set)
71
+ return undefined;
72
+ const { ref } = this.db.db.dynamic;
73
+ const qb = this.db.db
74
+ .selectFrom('set_value')
75
+ .selectAll()
76
+ .where('setId', '=', set.id);
77
+ const keyset = new pagination_1.TimeIdKeyset(ref(`createdAt`), ref('id'));
78
+ const paginatedBuilder = (0, pagination_1.paginate)(qb, {
79
+ limit,
80
+ cursor,
81
+ keyset,
82
+ direction: 'asc',
83
+ });
84
+ const result = await paginatedBuilder.execute();
85
+ return {
86
+ set,
87
+ values: result.map((v) => v.value),
88
+ cursor: keyset.packFromResult(result),
89
+ };
90
+ }
91
+ async upsert({ name, description, }) {
92
+ await this.db.db
93
+ .insertInto('set_detail')
94
+ .values({
95
+ name,
96
+ description,
97
+ updatedAt: new Date(),
98
+ })
99
+ .onConflict((oc) => {
100
+ // if description is provided as a string, even an empty one, update it
101
+ // otherwise, just update the updatedAt timestamp
102
+ return oc.column('name').doUpdateSet(typeof description === 'string'
103
+ ? {
104
+ description,
105
+ updatedAt: new Date(),
106
+ }
107
+ : { updatedAt: new Date() });
108
+ })
109
+ .execute();
110
+ }
111
+ async addValues(setId, values) {
112
+ await this.db.transaction(async (txn) => {
113
+ const now = new Date();
114
+ const query = txn.db
115
+ .insertInto('set_value')
116
+ .values(values.map((value) => ({
117
+ setId,
118
+ value,
119
+ createdAt: now,
120
+ })))
121
+ .onConflict((oc) => oc.columns(['setId', 'value']).doNothing());
122
+ await query.execute();
123
+ // Update the set's updatedAt timestamp
124
+ await txn.db
125
+ .updateTable('set_detail')
126
+ .set({ updatedAt: now })
127
+ .where('id', '=', setId)
128
+ .execute();
129
+ });
130
+ }
131
+ async removeValues(setId, values) {
132
+ if (values.length < 1) {
133
+ return;
134
+ }
135
+ await this.db.transaction(async (txn) => {
136
+ const query = txn.db
137
+ .deleteFrom('set_value')
138
+ .where('setId', '=', setId)
139
+ .where('value', 'in', values);
140
+ await query.execute();
141
+ // Update the set's updatedAt timestamp
142
+ await txn.db
143
+ .updateTable('set_detail')
144
+ .set({ updatedAt: new Date() })
145
+ .where('id', '=', setId)
146
+ .execute();
147
+ });
148
+ }
149
+ async removeSet(setId) {
150
+ await this.db.transaction(async (txn) => {
151
+ await txn.db.deleteFrom('set_value').where('setId', '=', setId).execute();
152
+ await txn.db.deleteFrom('set_detail').where('id', '=', setId).execute();
153
+ });
154
+ }
155
+ view(set) {
156
+ return {
157
+ name: set.name,
158
+ description: set.description || undefined,
159
+ setSize: set.setSize,
160
+ createdAt: set.createdAt.toISOString(),
161
+ updatedAt: set.updatedAt.toISOString(),
162
+ };
163
+ }
164
+ }
165
+ exports.SetService = SetService;
166
+ //# sourceMappingURL=service.js.map