@squidcloud/local-backend 1.0.160 → 1.0.162

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 (178) hide show
  1. package/dist/internal-common/src/code-executor.types.d.ts +3 -3
  2. package/dist/internal-common/src/local-dev.types.d.ts +3 -3
  3. package/dist/internal-common/src/{types/ai-chatbot.context.d.ts → public-types/ai-chatbot.public-context.d.ts} +3 -3
  4. package/dist/internal-common/src/public-types/ai-chatbot.public-context.js +20 -0
  5. package/dist/internal-common/src/public-types/ai-chatbot.public-context.js.map +1 -0
  6. package/dist/internal-common/src/public-types/ai-chatbot.public-types.d.ts +2 -0
  7. package/dist/internal-common/src/public-types/{api-call.context.d.ts → api-call.public-context.d.ts} +2 -2
  8. package/dist/internal-common/src/public-types/api-call.public-context.js +17 -0
  9. package/dist/internal-common/src/public-types/api-call.public-context.js.map +1 -0
  10. package/dist/internal-common/src/public-types/{application.types.d.ts → application.public-types.d.ts} +5 -5
  11. package/dist/internal-common/src/public-types/{application.types.js → application.public-types.js} +1 -1
  12. package/dist/internal-common/src/public-types/application.public-types.js.map +1 -0
  13. package/dist/internal-common/src/public-types/{bundle-api.types.d.ts → bundle-api.public-types.d.ts} +14 -14
  14. package/dist/internal-common/src/public-types/bundle-api.public-types.js +3 -0
  15. package/dist/internal-common/src/public-types/bundle-api.public-types.js.map +1 -0
  16. package/dist/internal-common/src/public-types/bundle-data.public-types.d.ts +5 -0
  17. package/dist/internal-common/src/public-types/bundle-data.public-types.js +3 -0
  18. package/dist/internal-common/src/public-types/bundle-data.public-types.js.map +1 -0
  19. package/dist/internal-common/src/public-types/communication.public-types.d.ts +9 -0
  20. package/dist/internal-common/src/public-types/communication.public-types.js +6 -0
  21. package/dist/internal-common/src/public-types/communication.public-types.js.map +1 -0
  22. package/dist/internal-common/src/public-types/{context.types.d.ts → context.public-types.d.ts} +1 -1
  23. package/dist/internal-common/src/public-types/context.public-types.js +3 -0
  24. package/dist/internal-common/src/public-types/context.public-types.js.map +1 -0
  25. package/dist/internal-common/src/public-types/{distributed-lock.context.js → distributed-lock.public-context.js} +1 -1
  26. package/dist/internal-common/src/public-types/distributed-lock.public-context.js.map +1 -0
  27. package/dist/internal-common/src/public-types/{document.types.d.ts → document.public-types.d.ts} +11 -18
  28. package/dist/internal-common/src/public-types/document.public-types.js +3 -0
  29. package/dist/internal-common/src/public-types/document.public-types.js.map +1 -0
  30. package/dist/internal-common/src/public-types/{graphql.context.d.ts → graphql.public-context.d.ts} +1 -8
  31. package/dist/internal-common/src/public-types/graphql.public-context.js +13 -0
  32. package/dist/internal-common/src/public-types/graphql.public-context.js.map +1 -0
  33. package/dist/internal-common/src/public-types/{graphql.types.d.ts → graphql.public-types.d.ts} +0 -2
  34. package/dist/internal-common/src/public-types/graphql.public-types.js +3 -0
  35. package/dist/internal-common/src/public-types/graphql.public-types.js.map +1 -0
  36. package/dist/internal-common/src/public-types/{integration-types.js → integration.public-types.js} +1 -1
  37. package/dist/internal-common/src/public-types/integration.public-types.js.map +1 -0
  38. package/dist/internal-common/src/public-types/integrations/ai_chatbot.types.d.ts +2 -2
  39. package/dist/internal-common/src/public-types/integrations/api.types.d.ts +3 -3
  40. package/dist/internal-common/src/public-types/integrations/auth.types.d.ts +1 -1
  41. package/dist/internal-common/src/public-types/integrations/database.types.d.ts +3 -3
  42. package/dist/internal-common/src/public-types/integrations/observability.types.d.ts +1 -1
  43. package/dist/internal-common/src/public-types/integrations/queue-types.d.ts +1 -1
  44. package/dist/internal-common/src/public-types/integrations/schemas.d.ts +5 -5
  45. package/dist/internal-common/src/public-types/integrations/schemas.js +24 -24
  46. package/dist/internal-common/src/public-types/integrations/schemas.js.map +1 -1
  47. package/dist/internal-common/src/public-types/{mutation.context.d.ts → mutation.public-context.d.ts} +4 -4
  48. package/dist/internal-common/src/public-types/{mutation.context.js → mutation.public-context.js} +4 -4
  49. package/dist/internal-common/src/public-types/mutation.public-context.js.map +1 -0
  50. package/dist/internal-common/src/public-types/{mutation.types.d.ts → mutation.public-types.d.ts} +3 -22
  51. package/dist/internal-common/src/public-types/mutation.public-types.js +3 -0
  52. package/dist/internal-common/src/public-types/mutation.public-types.js.map +1 -0
  53. package/dist/internal-common/src/public-types/{native-query.context.d.ts → native-query.public-context.d.ts} +1 -1
  54. package/dist/internal-common/src/public-types/{native-query.context.js → native-query.public-context.js} +1 -1
  55. package/dist/internal-common/src/public-types/native-query.public-context.js.map +1 -0
  56. package/dist/internal-common/src/public-types/{query-context.d.ts → query.public-context.d.ts} +4 -4
  57. package/dist/internal-common/src/public-types/{query-context.js → query.public-context.js} +5 -4
  58. package/dist/internal-common/src/public-types/query.public-context.js.map +1 -0
  59. package/dist/internal-common/src/public-types/{query.types.d.ts → query.public-types.d.ts} +4 -34
  60. package/dist/internal-common/src/public-types/query.public-types.js +8 -0
  61. package/dist/internal-common/src/public-types/query.public-types.js.map +1 -0
  62. package/dist/internal-common/src/public-types/schema.public-types.d.ts +22 -0
  63. package/dist/internal-common/src/public-types/{bundle-api.types.js → schema.public-types.js} +1 -1
  64. package/dist/internal-common/src/public-types/schema.public-types.js.map +1 -0
  65. package/dist/internal-common/src/public-types/secret.public-types.d.ts +13 -0
  66. package/dist/internal-common/src/public-types/{context.types.js → secret.public-types.js} +1 -1
  67. package/dist/internal-common/src/public-types/secret.public-types.js.map +1 -0
  68. package/dist/internal-common/src/public-types/socket.public-types.d.ts +5 -0
  69. package/dist/internal-common/src/public-types/{socket.types.js → socket.public-types.js} +1 -1
  70. package/dist/internal-common/src/public-types/socket.public-types.js.map +1 -0
  71. package/dist/internal-common/src/public-types/{topic.context.d.ts → topic.public-context.d.ts} +1 -1
  72. package/dist/internal-common/src/public-types/topic.public-context.js +3 -0
  73. package/dist/internal-common/src/public-types/topic.public-context.js.map +1 -0
  74. package/dist/internal-common/src/public-types/typescript.public-types.js +3 -0
  75. package/dist/internal-common/src/public-types/typescript.public-types.js.map +1 -0
  76. package/dist/internal-common/src/types/ai-chatbot.types.d.ts +2 -4
  77. package/dist/internal-common/src/types/ai-chatbot.types.js.map +1 -1
  78. package/dist/internal-common/src/{public-types → types}/api.types.d.ts +3 -3
  79. package/dist/internal-common/src/types/api.types.js.map +1 -0
  80. package/dist/internal-common/src/{public-types → types}/backend-run.types.d.ts +3 -2
  81. package/dist/internal-common/src/types/backend-run.types.js.map +1 -0
  82. package/dist/internal-common/src/{public-types → types}/bundle-data.types.d.ts +5 -9
  83. package/dist/internal-common/src/types/bundle-data.types.js.map +1 -0
  84. package/dist/internal-common/src/{public-types → types}/communication.types.d.ts +1 -8
  85. package/dist/internal-common/src/{public-types → types}/communication.types.js +1 -3
  86. package/dist/internal-common/src/types/communication.types.js.map +1 -0
  87. package/dist/internal-common/src/types/logger.types.js.map +1 -0
  88. package/dist/internal-common/src/types/openapi.types.js.map +1 -0
  89. package/dist/internal-common/src/types/query.types.d.ts +34 -0
  90. package/dist/internal-common/src/{public-types → types}/query.types.js +1 -5
  91. package/dist/internal-common/src/types/query.types.js.map +1 -0
  92. package/dist/internal-common/src/{public-types → types}/secret.types.d.ts +1 -14
  93. package/dist/internal-common/src/types/secret.types.js.map +1 -0
  94. package/dist/internal-common/src/types/{security-internal.types.d.ts → security.types.d.ts} +10 -8
  95. package/dist/internal-common/src/{public-types/topic.context.js → types/security.types.js} +1 -1
  96. package/dist/internal-common/src/types/security.types.js.map +1 -0
  97. package/dist/internal-common/src/utils/backend-transforms.d.ts +2 -2
  98. package/dist/internal-common/src/utils/backend-transforms.js +18 -16
  99. package/dist/internal-common/src/utils/backend-transforms.js.map +1 -1
  100. package/dist/internal-common/src/utils/http.js +1 -0
  101. package/dist/internal-common/src/utils/http.js.map +1 -1
  102. package/dist/internal-common/src/utils/serialization.d.ts +2 -2
  103. package/dist/internal-common/src/utils/serialization.js.map +1 -1
  104. package/dist/local-backend/package.json +2 -2
  105. package/dist/local-backend/src/local-backend-socket.service.js +5 -4
  106. package/dist/local-backend/src/local-backend-socket.service.js.map +1 -1
  107. package/dist/local-backend/src/local-backend.controller.d.ts +2 -1
  108. package/dist/local-backend/src/local-backend.controller.js +2 -1
  109. package/dist/local-backend/src/local-backend.controller.js.map +1 -1
  110. package/dist/local-backend/src/local-backend.module.d.ts +2 -2
  111. package/dist/local-backend/src/local-backend.module.js +4 -2
  112. package/dist/local-backend/src/local-backend.module.js.map +1 -1
  113. package/dist/local-backend/src/local-backend.service.d.ts +5 -5
  114. package/dist/local-backend/src/local-backend.service.js +12 -7
  115. package/dist/local-backend/src/local-backend.service.js.map +1 -1
  116. package/dist/tsconfig.build.tsbuildinfo +1 -1
  117. package/package.json +2 -2
  118. package/dist/internal-common/src/public-types/api-call.context.js +0 -17
  119. package/dist/internal-common/src/public-types/api-call.context.js.map +0 -1
  120. package/dist/internal-common/src/public-types/api.types.js.map +0 -1
  121. package/dist/internal-common/src/public-types/application.types.js.map +0 -1
  122. package/dist/internal-common/src/public-types/backend-run.types.js.map +0 -1
  123. package/dist/internal-common/src/public-types/bundle-api.types.js.map +0 -1
  124. package/dist/internal-common/src/public-types/bundle-data.types.js.map +0 -1
  125. package/dist/internal-common/src/public-types/communication.types.js.map +0 -1
  126. package/dist/internal-common/src/public-types/context.types.js.map +0 -1
  127. package/dist/internal-common/src/public-types/distributed-lock.context.js.map +0 -1
  128. package/dist/internal-common/src/public-types/document.types.js +0 -51
  129. package/dist/internal-common/src/public-types/document.types.js.map +0 -1
  130. package/dist/internal-common/src/public-types/graphql.context.js +0 -13
  131. package/dist/internal-common/src/public-types/graphql.context.js.map +0 -1
  132. package/dist/internal-common/src/public-types/graphql.types.js +0 -35
  133. package/dist/internal-common/src/public-types/graphql.types.js.map +0 -1
  134. package/dist/internal-common/src/public-types/http-status.enum.d.ts +0 -50
  135. package/dist/internal-common/src/public-types/http-status.enum.js +0 -55
  136. package/dist/internal-common/src/public-types/http-status.enum.js.map +0 -1
  137. package/dist/internal-common/src/public-types/integration-types.js.map +0 -1
  138. package/dist/internal-common/src/public-types/logger.types.js.map +0 -1
  139. package/dist/internal-common/src/public-types/mutation.context.js.map +0 -1
  140. package/dist/internal-common/src/public-types/mutation.types.js +0 -143
  141. package/dist/internal-common/src/public-types/mutation.types.js.map +0 -1
  142. package/dist/internal-common/src/public-types/native-query.context.js.map +0 -1
  143. package/dist/internal-common/src/public-types/openapi.types.js.map +0 -1
  144. package/dist/internal-common/src/public-types/query-context.js.map +0 -1
  145. package/dist/internal-common/src/public-types/query.types.js.map +0 -1
  146. package/dist/internal-common/src/public-types/secret.types.js.map +0 -1
  147. package/dist/internal-common/src/public-types/socket.types.d.ts +0 -132
  148. package/dist/internal-common/src/public-types/socket.types.js.map +0 -1
  149. package/dist/internal-common/src/public-types/topic.context.js.map +0 -1
  150. package/dist/internal-common/src/public-types/types.js +0 -3
  151. package/dist/internal-common/src/public-types/types.js.map +0 -1
  152. package/dist/internal-common/src/schema/schema.types.d.ts +0 -30
  153. package/dist/internal-common/src/schema/schema.types.js +0 -167
  154. package/dist/internal-common/src/schema/schema.types.js.map +0 -1
  155. package/dist/internal-common/src/types/ai-chatbot.context.js +0 -20
  156. package/dist/internal-common/src/types/ai-chatbot.context.js.map +0 -1
  157. package/dist/internal-common/src/types/security-internal.types.js +0 -3
  158. package/dist/internal-common/src/types/security-internal.types.js.map +0 -1
  159. package/dist/internal-common/src/utils/assert.d.ts +0 -3
  160. package/dist/internal-common/src/utils/assert.js +0 -15
  161. package/dist/internal-common/src/utils/assert.js.map +0 -1
  162. package/dist/internal-common/src/utils/object.d.ts +0 -5
  163. package/dist/internal-common/src/utils/object.js +0 -76
  164. package/dist/internal-common/src/utils/object.js.map +0 -1
  165. package/dist/internal-common/src/utils/validation.d.ts +0 -19
  166. package/dist/internal-common/src/utils/validation.js +0 -210
  167. package/dist/internal-common/src/utils/validation.js.map +0 -1
  168. /package/dist/internal-common/src/public-types/{distributed-lock.context.d.ts → distributed-lock.public-context.d.ts} +0 -0
  169. /package/dist/internal-common/src/public-types/{integration-types.d.ts → integration.public-types.d.ts} +0 -0
  170. /package/dist/internal-common/src/public-types/{types.d.ts → typescript.public-types.d.ts} +0 -0
  171. /package/dist/internal-common/src/{public-types → types}/api.types.js +0 -0
  172. /package/dist/internal-common/src/{public-types → types}/backend-run.types.js +0 -0
  173. /package/dist/internal-common/src/{public-types → types}/bundle-data.types.js +0 -0
  174. /package/dist/internal-common/src/{public-types → types}/logger.types.d.ts +0 -0
  175. /package/dist/internal-common/src/{public-types → types}/logger.types.js +0 -0
  176. /package/dist/internal-common/src/{public-types → types}/openapi.types.d.ts +0 -0
  177. /package/dist/internal-common/src/{public-types → types}/openapi.types.js +0 -0
  178. /package/dist/internal-common/src/{public-types → types}/secret.types.js +0 -0
@@ -1,132 +0,0 @@
1
- import { ClientId, ClientRequestId, IntegrationId } from './communication.types';
2
- import { AuthToken } from './context.types';
3
- import { CollectionName, DocTimestamp, SquidDocId, SquidDocument } from './document.types';
4
- import { MutationType } from './mutation.types';
5
- export type MessageId = string;
6
- export type MessageFromClientType = 'acknowledge' | 'catchup' | 'kill' | 'acquireLock' | 'releaseLock' | 'pong';
7
- interface BaseMessageFromClient {
8
- type: MessageFromClientType;
9
- authToken?: AuthToken;
10
- payload?: unknown;
11
- }
12
- export interface AcknowledgeMessage extends BaseMessageFromClient {
13
- type: 'acknowledge';
14
- payload: Array<MessageId>;
15
- }
16
- export interface CatchupMessage extends BaseMessageFromClient {
17
- type: 'catchup';
18
- }
19
- export interface KillMessage extends BaseMessageFromClient {
20
- type: 'kill';
21
- }
22
- export interface AcquireLockMessage extends BaseMessageFromClient {
23
- type: 'acquireLock';
24
- payload: {
25
- mutex: string;
26
- clientRequestId: ClientRequestId;
27
- };
28
- }
29
- export interface ReleaseLockMessage extends BaseMessageFromClient {
30
- type: 'releaseLock';
31
- payload: {
32
- lockId: string;
33
- clientRequestId: ClientRequestId;
34
- };
35
- }
36
- export type MessageFromClient = AcknowledgeMessage | CatchupMessage | KillMessage | AcquireLockMessage | ReleaseLockMessage;
37
- export type MessageToClientType = 'mutations' | 'query' | 'backendFunction' | 'api' | 'namedQuery' | 'lockAcquired' | 'lockReleased' | 'aiChatbot' | 'ping' | 'queue';
38
- interface BaseMessageToClient {
39
- type: MessageToClientType;
40
- messageId: MessageId;
41
- payload: unknown;
42
- }
43
- export interface BackendFunctionMessageToClient extends BaseMessageToClient {
44
- type: 'backendFunction';
45
- clientRequestId: ClientRequestId;
46
- payload: string;
47
- }
48
- export interface NamedQueryMessageToClient extends BaseMessageToClient {
49
- type: 'namedQuery';
50
- clientRequestId: ClientRequestId;
51
- payload: string;
52
- }
53
- export interface LockAcquiredResponseMessageToClient extends BaseMessageToClient {
54
- type: 'lockAcquired';
55
- payload: {
56
- clientRequestId: ClientRequestId;
57
- lockId: string | undefined;
58
- error?: string;
59
- };
60
- }
61
- export interface LockReleasedResponseMessageToClient extends BaseMessageToClient {
62
- type: 'lockReleased';
63
- payload: {
64
- clientRequestId: ClientRequestId;
65
- lockId: string;
66
- };
67
- }
68
- export interface AiChatbotMessageToClient extends BaseMessageToClient {
69
- type: 'aiChatbot';
70
- clientRequestId: ClientRequestId;
71
- payload: {
72
- token: string;
73
- complete: boolean;
74
- };
75
- }
76
- export interface QueueMessageToClient extends BaseMessageToClient {
77
- type: 'queue';
78
- integrationId: IntegrationId;
79
- topicName: string;
80
- payload: string[];
81
- }
82
- export type MessageToClient = MutationsMessageToClient | PingMessageToClient | QueryResultMessageToClient | BackendFunctionMessageToClient | NamedQueryMessageToClient | LockAcquiredResponseMessageToClient | LockReleasedResponseMessageToClient | AiChatbotMessageToClient | QueueMessageToClient;
83
- export interface MutationsMessageToClient extends BaseMessageToClient {
84
- type: 'mutations';
85
- payload: Array<MutationResultData>;
86
- }
87
- export interface PingMessageToClient extends BaseMessageToClient {
88
- type: 'ping';
89
- payload: unknown;
90
- }
91
- export interface MutationResultData {
92
- squidDocId: SquidDocId;
93
- clientRequestId: ClientRequestId;
94
- mutationType: MutationType;
95
- mutationTimestamp: DocTimestamp;
96
- doc: SquidDocument | undefined;
97
- }
98
- export interface QueryResultData {
99
- docs: Array<SquidDocument>;
100
- integrationId: IntegrationId;
101
- collectionName: CollectionName;
102
- clientRequestId: ClientRequestId;
103
- }
104
- export interface QueryErrorData {
105
- message: string;
106
- statusCode: number;
107
- }
108
- export interface BatchQueryResultData {
109
- results: Record<ClientRequestId, QueryResultData>;
110
- errors: Record<ClientRequestId, QueryErrorData>;
111
- }
112
- export interface QueryResultMessageToClient extends BaseMessageToClient {
113
- type: 'query';
114
- payload: QueryResultData;
115
- }
116
- export interface ApiResultData {
117
- success: boolean;
118
- httpStatus: number;
119
- payload: string;
120
- }
121
- export interface BackendFunctionResultData {
122
- success: boolean;
123
- payload: string;
124
- }
125
- export type PendingMessage = Omit<MessageToClient, 'messageId'>;
126
- export type PendingMessages = Record<ClientId, Array<PendingMessage>>;
127
- export declare enum ClientConnectionState {
128
- CONNECTED = "CONNECTED",
129
- DISCONNECTED = "DISCONNECTED",
130
- REMOVED = "REMOVED"
131
- }
132
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"socket.types.js","sourceRoot":"","sources":["../../../../../internal-common/src/public-types/socket.types.ts"],"names":[],"mappings":";;;AAgNA,IAAY,qBAOX;AAPD,WAAY,qBAAqB;IAE/B,gDAAuB,CAAA;IAEvB,sDAA6B,CAAA;IAE7B,4CAAmB,CAAA;AACrB,CAAC,EAPW,qBAAqB,qCAArB,qBAAqB,QAOhC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"topic.context.js","sourceRoot":"","sources":["../../../../../internal-common/src/public-types/topic.context.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../internal-common/src/public-types/types.ts"],"names":[],"mappings":""}
@@ -1,30 +0,0 @@
1
- import { JSONSchema } from 'json-schema-typed';
2
- export type FieldPlaceholder = '__SQUID_SERVER_TIMESTAMP__' | '__SQUID_CLIENT_IP__' | '__SQUID_USER_ID__' | '__SQUID_API_KEY__';
3
- export declare const BASIC_FIELD_TYPES: readonly ["string", "integer", "number", "boolean", "map", "array", "any"];
4
- export declare const CUSTOM_FIELD_TYPES: readonly ["date", "json", "objectId"];
5
- export declare const DATA_SCHEMA_FIELD_TYPES: readonly ["string", "integer", "number", "boolean", "map", "array", "any", "date", "json", "objectId"];
6
- export type DataSchemaFieldType = (typeof DATA_SCHEMA_FIELD_TYPES)[number];
7
- type ConvertDeep<T extends JSONSchema> = Exclude<T, boolean> & {
8
- properties?: Record<string, ConvertDeep<JSONSchema>>;
9
- patternProperties?: Record<string, ConvertDeep<JSONSchema>>;
10
- nullable?: boolean;
11
- applyDefaultValueOn?: 'always' | 'empty' | 'updateOrEmpty';
12
- isDate?: boolean;
13
- isJSON?: boolean;
14
- insertable?: boolean;
15
- deletable?: boolean;
16
- };
17
- export type PropertySchema = ConvertDeep<JSONSchema>;
18
- export type TopLevelPropertySchema = PropertySchema & {
19
- primaryKey?: boolean;
20
- isComputed?: boolean;
21
- isDefaultComputed?: boolean;
22
- dataType?: string;
23
- };
24
- export type CollectionSchema = Omit<ConvertDeep<JSONSchema>, 'properties'> & {
25
- properties?: Record<string, TopLevelPropertySchema>;
26
- };
27
- export declare function compileSchema<S extends CollectionSchema>(schema: S): any;
28
- export declare function validateSchema<S extends CollectionSchema>(schema: S, data: any, updatedPaths?: Array<string>, dataBefore?: any): void;
29
- export declare function findMatchingPropertiesForKey<S extends CollectionSchema | PropertySchema>(schema: S, key: string): Array<PropertySchema>;
30
- export {};
@@ -1,167 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findMatchingPropertiesForKey = exports.validateSchema = exports.compileSchema = exports.DATA_SCHEMA_FIELD_TYPES = exports.CUSTOM_FIELD_TYPES = exports.BASIC_FIELD_TYPES = void 0;
4
- const ajv_1 = require("ajv");
5
- const ajv_formats_1 = require("ajv-formats");
6
- const deep_diff_1 = require("deep-diff");
7
- const validation_1 = require("../utils/validation");
8
- const assertic_1 = require("assertic");
9
- const http_status_enum_1 = require("../public-types/http-status.enum");
10
- const ajv = new ajv_1.default({ allErrors: true, allowUnionTypes: false, useDefaults: false });
11
- (0, ajv_formats_1.default)(ajv);
12
- ajv.addKeyword({
13
- keyword: 'isDate',
14
- type: 'object',
15
- validate: (isDate, value) => {
16
- return isDate === value instanceof Date;
17
- },
18
- });
19
- ajv.addKeyword({
20
- keyword: 'isJSON',
21
- type: 'object',
22
- validate: (isJSON, value) => {
23
- try {
24
- const jsonString = JSON.stringify(value);
25
- JSON.parse(jsonString);
26
- return true;
27
- }
28
- catch (_a) {
29
- return false;
30
- }
31
- },
32
- });
33
- ajv.addKeyword({
34
- keyword: 'isComputed',
35
- validate: (isComputed, value) => {
36
- return isComputed ? value !== null : true;
37
- },
38
- });
39
- ajv.addKeyword({
40
- keyword: 'isDefaultComputed',
41
- validate: (isDefaultComputed, value) => {
42
- return isDefaultComputed ? value !== null : true;
43
- },
44
- });
45
- ajv.addKeyword({
46
- keyword: 'primaryKey',
47
- validate: (isPrimaryKey, value) => {
48
- return isPrimaryKey ? value !== null : true;
49
- },
50
- });
51
- ajv.addKeyword({
52
- keyword: 'insertable',
53
- validate: (insertable, value) => {
54
- return insertable ? value !== null : true;
55
- },
56
- });
57
- ajv.addKeyword({
58
- keyword: 'deletable',
59
- validate: (deletable, value) => {
60
- return deletable ? value !== null : true;
61
- },
62
- });
63
- ajv.addKeyword({
64
- keyword: 'applyDefaultValueOn',
65
- validate: (applyDefaultValueOn) => {
66
- return applyDefaultValueOn ? ['always', 'empty', 'updateOrEmpty'].includes(applyDefaultValueOn) : true;
67
- },
68
- });
69
- ajv.addKeyword({
70
- keyword: 'dataType',
71
- validate: () => {
72
- return true;
73
- },
74
- });
75
- exports.BASIC_FIELD_TYPES = ['string', 'integer', 'number', 'boolean', 'map', 'array', 'any'];
76
- exports.CUSTOM_FIELD_TYPES = ['date', 'json', 'objectId'];
77
- exports.DATA_SCHEMA_FIELD_TYPES = [...exports.BASIC_FIELD_TYPES, ...exports.CUSTOM_FIELD_TYPES];
78
- function compileSchema(schema) {
79
- return ajv.compile(schema);
80
- }
81
- exports.compileSchema = compileSchema;
82
- function validateSchema(schema, data, updatedPaths = [], dataBefore = {}) {
83
- const validator = compileSchema(schema);
84
- const isValid = validator(data);
85
- if (!updatedPaths.length && !isValid) {
86
- throw new validation_1.ValidationError(`The data does not conform with the collection schema.`, http_status_enum_1.HttpStatus.BAD_REQUEST, {
87
- errors: validator.errors,
88
- });
89
- }
90
- if (!isValid && updatedPaths.length) {
91
- for (const schemaError of (0, assertic_1.truthy)(validator.errors)) {
92
- let fieldPath = schemaError.instancePath;
93
- if (schemaError.params['missingProperty']) {
94
- fieldPath = `${fieldPath}/${schemaError.params['missingProperty']}`;
95
- }
96
- fieldPath = fieldPath.slice(1).replace(/\//g, '.') + '.';
97
- if (updatedPaths.some(updatedPath => fieldPath.startsWith(updatedPath + '.'))) {
98
- throw new validation_1.ValidationError(`${fieldPath} does not conform with the collection schema.`, http_status_enum_1.HttpStatus.BAD_REQUEST);
99
- }
100
- }
101
- }
102
- const diff = (0, assertic_1.truthy)((0, deep_diff_1.default)(dataBefore, data));
103
- validateRestrictedFieldsForDiff(diff, schema, !!updatedPaths.length);
104
- }
105
- exports.validateSchema = validateSchema;
106
- function validateRestrictedFieldsForDiff(diffs, schema, isUpdateMutation) {
107
- if ((isUpdateMutation && schema.readOnly) || (schema.insertable === false && !isUpdateMutation)) {
108
- throw new validation_1.ValidationError(`The schema does not allow this action`, http_status_enum_1.HttpStatus.BAD_REQUEST);
109
- }
110
- for (const diff of diffs) {
111
- const path = (0, assertic_1.truthy)(diff.path).join('.');
112
- const relevantProperties = getMatchingProperties((0, assertic_1.truthy)(diff.path), schema);
113
- for (const property of relevantProperties.exactMatch) {
114
- if (property.readOnly && diff.kind === 'E') {
115
- throw new validation_1.ValidationError(`${path} is readonly`, http_status_enum_1.HttpStatus.BAD_REQUEST);
116
- }
117
- if (isUpdateMutation && property.deletable === false && diff.kind === 'D') {
118
- throw new validation_1.ValidationError(`${path} is not deletable`, http_status_enum_1.HttpStatus.BAD_REQUEST);
119
- }
120
- if (property.insertable === false && diff.kind === 'N') {
121
- throw new validation_1.ValidationError(`${path} is not insertable`, http_status_enum_1.HttpStatus.BAD_REQUEST);
122
- }
123
- }
124
- for (const property of relevantProperties.parentsMatch) {
125
- if (isUpdateMutation && property.readOnly) {
126
- throw new validation_1.ValidationError(`${path} is readonly`, http_status_enum_1.HttpStatus.BAD_REQUEST);
127
- }
128
- }
129
- }
130
- }
131
- function getMatchingProperties(path, schema) {
132
- const result = {
133
- exactMatch: [],
134
- parentsMatch: [],
135
- };
136
- if (!path.length) {
137
- result.exactMatch.push(schema);
138
- return result;
139
- }
140
- result.parentsMatch.push(schema);
141
- const pathToUse = [...path];
142
- while (pathToUse.length) {
143
- const key = pathToUse.shift();
144
- (0, assertic_1.assertTruthy)(key !== undefined);
145
- const matchingPropertiesForKey = findMatchingPropertiesForKey(schema, key);
146
- for (const property of matchingPropertiesForKey) {
147
- const subMatchingProperties = getMatchingProperties(pathToUse, property);
148
- result.parentsMatch.push(...subMatchingProperties.parentsMatch);
149
- result.exactMatch.push(...subMatchingProperties.exactMatch);
150
- }
151
- }
152
- return result;
153
- }
154
- function findMatchingPropertiesForKey(schema, key) {
155
- var _a, _b;
156
- const matchingProperties = ((_a = schema.properties) === null || _a === void 0 ? void 0 : _a[key]) ? [(_b = schema.properties) === null || _b === void 0 ? void 0 : _b[key]] : [];
157
- if (schema.patternProperties) {
158
- matchingProperties.push(...Object.entries(schema.patternProperties)
159
- .filter(([pattern]) => {
160
- return new RegExp(pattern).test(key);
161
- })
162
- .map(([, matchedProperty]) => matchedProperty));
163
- }
164
- return matchingProperties;
165
- }
166
- exports.findMatchingPropertiesForKey = findMatchingPropertiesForKey;
167
- //# sourceMappingURL=schema.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.types.js","sourceRoot":"","sources":["../../../../../internal-common/src/schema/schema.types.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AiChatbotMutationContext = exports.AiChatbotChatContext = void 0;
4
- class AiChatbotChatContext {
5
- constructor(request) {
6
- this.profileId = request.profileId;
7
- this.prompt = request.prompt;
8
- }
9
- }
10
- exports.AiChatbotChatContext = AiChatbotChatContext;
11
- class AiChatbotMutationContext {
12
- constructor(request) {
13
- this.profileId = request.profileId;
14
- this.type = request.type;
15
- this.resource = request.resource;
16
- this.payload = request.payload;
17
- }
18
- }
19
- exports.AiChatbotMutationContext = AiChatbotMutationContext;
20
- //# sourceMappingURL=ai-chatbot.context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ai-chatbot.context.js","sourceRoot":"","sources":["../../../../../internal-common/src/types/ai-chatbot.context.ts"],"names":[],"mappings":";;;AAOA,MAAa,oBAAoB;IAO/B,YAAY,OAA6B;QACvC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;CACF;AAXD,oDAWC;AAGD,MAAa,wBAAwB;IASnC,YAAY,OAA+B;QACzC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACjC,CAAC;CACF;AAfD,4DAeC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=security-internal.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"security-internal.types.js","sourceRoot":"","sources":["../../../../../internal-common/src/types/security-internal.types.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- import { StatusCode } from './validation';
2
- export declare function assertValidateTruthy(value: unknown, message: string, statusCode?: StatusCode, details?: Record<string, any>): asserts value;
3
- export declare function validateTruthy<T>(value: T, message: string, statusCode?: StatusCode, details?: Record<string, any>): NonNullable<T>;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateTruthy = exports.assertValidateTruthy = void 0;
4
- const validation_1 = require("./validation");
5
- const assertic_1 = require("assertic");
6
- const http_status_enum_1 = require("../public-types/http-status.enum");
7
- function assertValidateTruthy(value, message, statusCode = http_status_enum_1.HttpStatus.BAD_REQUEST, details) {
8
- (0, assertic_1.assertTruthy)(value, () => new validation_1.ValidationError(message, statusCode, details));
9
- }
10
- exports.assertValidateTruthy = assertValidateTruthy;
11
- function validateTruthy(value, message, statusCode = http_status_enum_1.HttpStatus.BAD_REQUEST, details) {
12
- return (0, assertic_1.truthy)(value, () => new validation_1.ValidationError(message, statusCode, details));
13
- }
14
- exports.validateTruthy = validateTruthy;
15
- //# sourceMappingURL=assert.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"assert.js","sourceRoot":"","sources":["../../../../../internal-common/src/utils/assert.ts"],"names":[],"mappings":";;;AAAA,6CAA2D;AAC3D,uCAAgD;AAChD,uEAA8D;AAG9D,SAAgB,oBAAoB,CAClC,KAAc,EACd,OAAe,EACf,aAAyB,6BAAU,CAAC,WAAW,EAC/C,OAA6B;IAE7B,IAAA,uBAAY,EAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,4BAAe,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AAC/E,CAAC;AAPD,oDAOC;AAGD,SAAgB,cAAc,CAC5B,KAAQ,EACR,OAAe,EACf,aAAyB,6BAAU,CAAC,WAAW,EAC/C,OAA6B;IAE7B,OAAO,IAAA,iBAAM,EAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,4BAAe,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AAChF,CAAC;AAPD,wCAOC"}
@@ -1,5 +0,0 @@
1
- export declare function getInPath(obj: any, path: string, delimiter?: string): any;
2
- export declare function setInPath(obj: any, path: string, value: any, delimiter?: string): void;
3
- export declare function deleteInPath(obj: any, path: string, delimiter?: string): void;
4
- export declare function replaceKeyInMap<K, T>(map: Map<K, T | undefined>, a: K, b: K): void;
5
- export declare function replaceKeyInRecord<K extends keyof any, T>(record: Record<K, T>, a: K, b: K): void;
@@ -1,76 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.replaceKeyInRecord = exports.replaceKeyInMap = exports.deleteInPath = exports.setInPath = exports.getInPath = void 0;
4
- const _ = require("lodash");
5
- const assertic_1 = require("assertic");
6
- function getInPath(obj, path, delimiter = '.') {
7
- const splitPath = path.split(delimiter);
8
- let value = undefined;
9
- let currentObj = obj;
10
- while (currentObj && splitPath.length) {
11
- const key = (0, assertic_1.truthy)(splitPath.shift());
12
- if (!(currentObj instanceof Object) || !(key in currentObj)) {
13
- return undefined;
14
- }
15
- value = currentObj[key];
16
- currentObj = value;
17
- }
18
- return value;
19
- }
20
- exports.getInPath = getInPath;
21
- function isJsObject(obj) {
22
- if (typeof obj !== 'object')
23
- return false;
24
- return Reflect.getPrototypeOf(obj) === Object.prototype;
25
- }
26
- function setInPath(obj, path, value, delimiter = '.') {
27
- var _a;
28
- const splitPath = path.split(delimiter);
29
- let currentObj = obj;
30
- while (splitPath.length) {
31
- const key = (0, assertic_1.truthy)(splitPath.shift());
32
- if (splitPath.length) {
33
- const newCurrentObj = isJsObject(currentObj[key]) ? (_a = _.clone(currentObj[key])) !== null && _a !== void 0 ? _a : {} : {};
34
- currentObj[key] = newCurrentObj;
35
- currentObj = newCurrentObj;
36
- }
37
- else {
38
- currentObj[key] = value;
39
- }
40
- }
41
- }
42
- exports.setInPath = setInPath;
43
- function deleteInPath(obj, path, delimiter = '.') {
44
- var _a;
45
- const splitPath = path.split(delimiter);
46
- let currentObj = obj;
47
- while (splitPath.length) {
48
- const key = (0, assertic_1.truthy)(splitPath.shift());
49
- if (splitPath.length) {
50
- const newCurrentObj = isJsObject(currentObj[key]) ? (_a = _.clone(currentObj[key])) !== null && _a !== void 0 ? _a : {} : {};
51
- currentObj[key] = newCurrentObj;
52
- currentObj = newCurrentObj;
53
- }
54
- else {
55
- delete currentObj[key];
56
- }
57
- }
58
- }
59
- exports.deleteInPath = deleteInPath;
60
- function replaceKeyInMap(map, a, b) {
61
- if (map.has(a)) {
62
- const value = map.get(a);
63
- map.delete(a);
64
- map.set(b, value);
65
- }
66
- }
67
- exports.replaceKeyInMap = replaceKeyInMap;
68
- function replaceKeyInRecord(record, a, b) {
69
- const value = record[a];
70
- if (typeof value !== 'undefined') {
71
- record[b] = value;
72
- delete record[a];
73
- }
74
- }
75
- exports.replaceKeyInRecord = replaceKeyInRecord;
76
- //# sourceMappingURL=object.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../../../internal-common/src/utils/object.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- import { HttpStatus } from '../public-types/http-status.enum';
2
- import { OpenIdProvider } from '../public-types/application.types';
3
- export type StatusCode = HttpStatus.BAD_REQUEST | HttpStatus.NOT_FOUND | HttpStatus.FORBIDDEN | HttpStatus.UNAUTHORIZED | HttpStatus.CONFLICT;
4
- export declare class ValidationError extends Error {
5
- readonly statusCode: StatusCode;
6
- readonly details?: any;
7
- constructor(error: string, statusCode: StatusCode, details?: Record<string, any>);
8
- }
9
- export declare function isValidId(id: unknown): boolean;
10
- export declare function validateId(id: unknown, message: string): void;
11
- export declare function validateFieldSort(fieldSort: any): void;
12
- export declare function validateOpenIdProvider(openIdProvider: OpenIdProvider | undefined): OpenIdProvider;
13
- export declare function validateOpenIdProviderType(providerType: any): void;
14
- export declare function validateMutations(mutations: any): void;
15
- export declare function validateQueryLimit(limit: any): void;
16
- export declare function isNotEmpty(value: string | undefined | null): value is string;
17
- export type JavascriptTypeName = 'undefined' | 'object' | 'boolean' | 'number' | 'bigint' | 'string' | 'symbol' | 'function';
18
- export declare function isRightType(value: unknown, type: JavascriptTypeName): boolean;
19
- export declare function hasOnlyKeys(obj: object, keys: string[]): boolean;