@secrecy/lib 1.0.0-dev.54 → 1.0.0-dev.55

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.
@@ -0,0 +1,21 @@
1
+ import type { SecrecyClient, SuccessResponse, UserData } from "../index.js";
2
+ import type { KeyPair } from "../crypto/index.js";
3
+ import type { ErrorAccessDenied, ErrorBasic, ErrorNotExist, ErrorNotFound } from "../error.js";
4
+ import type { Thunder } from "../zeus/index.js";
5
+ import type { Document } from "bson";
6
+ export declare class SecrecyDbClient {
7
+ #private;
8
+ constructor(_client: SecrecyClient, _keys: KeyPair, thunder: ReturnType<typeof Thunder>);
9
+ dbGet<U>({ field, userId }: {
10
+ field: string;
11
+ userId?: string | null | undefined;
12
+ }): Promise<SuccessResponse<U> | ErrorAccessDenied | ErrorNotExist | ErrorNotFound | null>;
13
+ dbSet<T extends UserData, U extends Document>({ value, userId }: {
14
+ value: U;
15
+ userId?: string | null | undefined;
16
+ }): Promise<SuccessResponse<T> | ErrorAccessDenied | ErrorNotFound | null>;
17
+ dbSearch<T>({ search, field }: {
18
+ field: string;
19
+ search: string;
20
+ }): Promise<SuccessResponse<T[]> | ErrorAccessDenied | ErrorBasic | ErrorNotExist | null>;
21
+ }
@@ -0,0 +1,198 @@
1
+ import _classPrivateFieldLooseBase from "@babel/runtime/helpers/classPrivateFieldLooseBase";
2
+ import _classPrivateFieldLooseKey from "@babel/runtime/helpers/classPrivateFieldLooseKey";
3
+
4
+ /* eslint-disable @typescript-eslint/naming-convention */
5
+ import { serialize } from "bson";
6
+
7
+ var _thunder = /*#__PURE__*/_classPrivateFieldLooseKey("thunder");
8
+
9
+ export class SecrecyDbClient {
10
+ // #client: SecrecyClient;
11
+ // #keys: KeyPair;
12
+ constructor(_client, _keys, thunder) {
13
+ Object.defineProperty(this, _thunder, {
14
+ writable: true,
15
+ value: void 0
16
+ });
17
+ // this.#client = client;
18
+ // this.#keys = keys;
19
+ _classPrivateFieldLooseBase(this, _thunder)[_thunder] = thunder;
20
+ }
21
+
22
+ async dbGet(_ref) {
23
+ let {
24
+ field,
25
+ userId
26
+ } = _ref;
27
+ const {
28
+ dbGet
29
+ } = await _classPrivateFieldLooseBase(this, _thunder)[_thunder]("query")({
30
+ dbGet: [{
31
+ field,
32
+ userId
33
+ }, {
34
+ "...on ErrorAccessDenied": {
35
+ __typename: true,
36
+ message: true
37
+ },
38
+ "...on ErrorNotExist": {
39
+ __typename: true,
40
+ message: true
41
+ },
42
+ "...on ErrorNotFound": {
43
+ __typename: true,
44
+ message: true
45
+ },
46
+ "...on DbGetResponse": {
47
+ __typename: true,
48
+ json: true
49
+ }
50
+ }]
51
+ });
52
+
53
+ if (!dbGet) {
54
+ return null;
55
+ }
56
+
57
+ if (dbGet.__typename === "ErrorAccessDenied") {
58
+ return dbGet;
59
+ }
60
+
61
+ if (dbGet.__typename === "ErrorNotExist") {
62
+ return dbGet;
63
+ }
64
+
65
+ if (dbGet.__typename === "ErrorNotFound") {
66
+ return dbGet;
67
+ }
68
+
69
+ return {
70
+ __typename: "SuccessResponse",
71
+ data: dbGet.json.res
72
+ };
73
+ }
74
+
75
+ async dbSet(_ref2) {
76
+ let {
77
+ value,
78
+ userId
79
+ } = _ref2;
80
+
81
+ if (typeof value !== "object") {
82
+ throw new Error("value should be an object including fields you want to update.");
83
+ }
84
+
85
+ const {
86
+ dbSet
87
+ } = await _classPrivateFieldLooseBase(this, _thunder)[_thunder]("mutation")({
88
+ dbSet: [{
89
+ userId,
90
+ value: serialize(value).toString("base64")
91
+ }, {
92
+ "...on ErrorAccessDenied": {
93
+ __typename: true,
94
+ message: true
95
+ },
96
+ "...on ErrorNotFound": {
97
+ __typename: true,
98
+ message: true
99
+ },
100
+ "...on DbSetResponse": {
101
+ __typename: true,
102
+ dbSet: true
103
+ }
104
+ }]
105
+ });
106
+
107
+ if (!dbSet) {
108
+ return null;
109
+ }
110
+
111
+ if (dbSet.__typename === "ErrorAccessDenied") {
112
+ return dbSet;
113
+ }
114
+
115
+ if (dbSet.__typename === "ErrorNotFound") {
116
+ return dbSet;
117
+ }
118
+
119
+ if (!dbSet.dbSet) {
120
+ return null;
121
+ }
122
+
123
+ return {
124
+ __typename: "SuccessResponse",
125
+ data: dbSet.dbSet.res
126
+ };
127
+ }
128
+
129
+ async dbSearch(_ref3) {
130
+ let {
131
+ search,
132
+ field
133
+ } = _ref3;
134
+ const {
135
+ dbSearch
136
+ } = await _classPrivateFieldLooseBase(this, _thunder)[_thunder]("query", {
137
+ scalars: {
138
+ Json: {
139
+ encode: e => JSON.stringify(e),
140
+ decode: e => JSON.parse(e)
141
+ },
142
+ DateTime: {
143
+ decode: e => new Date(e),
144
+ encode: e => e.toISOString()
145
+ },
146
+ BigInt: {
147
+ decode: e => BigInt(e),
148
+ encode: e => e.toString()
149
+ }
150
+ }
151
+ })({
152
+ dbSearch: [{
153
+ search,
154
+ field
155
+ }, {
156
+ "...on ErrorAccessDenied": {
157
+ __typename: true,
158
+ message: true
159
+ },
160
+ "...on ErrorBasic": {
161
+ __typename: true,
162
+ message: true
163
+ },
164
+ "...on ErrorNotExist": {
165
+ __typename: true,
166
+ message: true
167
+ },
168
+ "...on DbSearchResponse": {
169
+ __typename: true,
170
+ json: true
171
+ }
172
+ }]
173
+ });
174
+
175
+ if (!dbSearch) {
176
+ return null;
177
+ }
178
+
179
+ if (dbSearch.__typename === "ErrorAccessDenied") {
180
+ return dbSearch;
181
+ }
182
+
183
+ if (dbSearch.__typename === "ErrorBasic") {
184
+ return dbSearch;
185
+ }
186
+
187
+ if (dbSearch.__typename === "ErrorNotExist") {
188
+ return dbSearch;
189
+ }
190
+
191
+ return {
192
+ __typename: "SuccessResponse",
193
+ data: dbSearch.json
194
+ };
195
+ }
196
+
197
+ }
198
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzZXJpYWxpemUiLCJTZWNyZWN5RGJDbGllbnQiLCJjb25zdHJ1Y3RvciIsIl9jbGllbnQiLCJfa2V5cyIsInRodW5kZXIiLCJkYkdldCIsImZpZWxkIiwidXNlcklkIiwiX190eXBlbmFtZSIsIm1lc3NhZ2UiLCJqc29uIiwiZGF0YSIsInJlcyIsImRiU2V0IiwidmFsdWUiLCJFcnJvciIsInRvU3RyaW5nIiwiZGJTZWFyY2giLCJzZWFyY2giLCJzY2FsYXJzIiwiSnNvbiIsImVuY29kZSIsImUiLCJKU09OIiwic3RyaW5naWZ5IiwiZGVjb2RlIiwicGFyc2UiLCJEYXRlVGltZSIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsIkJpZ0ludCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvU2VjcmVjeURiQ2xpZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuaW1wb3J0IHR5cGUgeyBTZWNyZWN5Q2xpZW50LCBTdWNjZXNzUmVzcG9uc2UsIFVzZXJEYXRhIH0gZnJvbSBcIi4uL2luZGV4LmpzXCI7XG5pbXBvcnQgdHlwZSB7IEtleVBhaXIgfSBmcm9tIFwiLi4vY3J5cHRvL2luZGV4LmpzXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEVycm9yQWNjZXNzRGVuaWVkLFxuICBFcnJvckJhc2ljLFxuICBFcnJvck5vdEV4aXN0LFxuICBFcnJvck5vdEZvdW5kXG59IGZyb20gXCIuLi9lcnJvci5qc1wiO1xuaW1wb3J0IHR5cGUgeyBUaHVuZGVyIH0gZnJvbSBcIi4uL3pldXMvaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHsgRG9jdW1lbnQgfSBmcm9tIFwiYnNvblwiO1xuaW1wb3J0IHsgc2VyaWFsaXplIH0gZnJvbSBcImJzb25cIjtcblxuZXhwb3J0IGNsYXNzIFNlY3JlY3lEYkNsaWVudCB7XG4gIC8vICNjbGllbnQ6IFNlY3JlY3lDbGllbnQ7XG5cbiAgLy8gI2tleXM6IEtleVBhaXI7XG5cbiAgI3RodW5kZXI6IFJldHVyblR5cGU8dHlwZW9mIFRodW5kZXI+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIF9jbGllbnQ6IFNlY3JlY3lDbGllbnQsXG4gICAgX2tleXM6IEtleVBhaXIsXG4gICAgdGh1bmRlcjogUmV0dXJuVHlwZTx0eXBlb2YgVGh1bmRlcj5cbiAgKSB7XG4gICAgLy8gdGhpcy4jY2xpZW50ID0gY2xpZW50O1xuICAgIC8vIHRoaXMuI2tleXMgPSBrZXlzO1xuICAgIHRoaXMuI3RodW5kZXIgPSB0aHVuZGVyO1xuICB9XG5cbiAgYXN5bmMgZGJHZXQ8VT4oe1xuICAgIGZpZWxkLFxuICAgIHVzZXJJZFxuICB9OiB7XG4gICAgZmllbGQ6IHN0cmluZztcbiAgICB1c2VySWQ/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICB9KTogUHJvbWlzZTxcbiAgICB8IFN1Y2Nlc3NSZXNwb25zZTxVPlxuICAgIHwgRXJyb3JBY2Nlc3NEZW5pZWRcbiAgICB8IEVycm9yTm90RXhpc3RcbiAgICB8IEVycm9yTm90Rm91bmRcbiAgICB8IG51bGxcbiAgPiB7XG4gICAgY29uc3QgeyBkYkdldCB9ID0gYXdhaXQgdGhpcy4jdGh1bmRlcihcInF1ZXJ5XCIpKHtcbiAgICAgIGRiR2V0OiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmaWVsZCxcbiAgICAgICAgICB1c2VySWRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwiLi4ub24gRXJyb3JBY2Nlc3NEZW5pZWRcIjoge1xuICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLi4ub24gRXJyb3JOb3RFeGlzdFwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCIuLi5vbiBFcnJvck5vdEZvdW5kXCI6IHtcbiAgICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgICBtZXNzYWdlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi4uLm9uIERiR2V0UmVzcG9uc2VcIjoge1xuICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgIGpzb246IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9KTtcblxuICAgIGlmICghZGJHZXQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChkYkdldC5fX3R5cGVuYW1lID09PSBcIkVycm9yQWNjZXNzRGVuaWVkXCIpIHtcbiAgICAgIHJldHVybiBkYkdldDtcbiAgICB9XG5cbiAgICBpZiAoZGJHZXQuX190eXBlbmFtZSA9PT0gXCJFcnJvck5vdEV4aXN0XCIpIHtcbiAgICAgIHJldHVybiBkYkdldDtcbiAgICB9XG5cbiAgICBpZiAoZGJHZXQuX190eXBlbmFtZSA9PT0gXCJFcnJvck5vdEZvdW5kXCIpIHtcbiAgICAgIHJldHVybiBkYkdldDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgX190eXBlbmFtZTogXCJTdWNjZXNzUmVzcG9uc2VcIixcbiAgICAgIGRhdGE6IChkYkdldC5qc29uIGFzIHsgcmVzOiBVIH0pLnJlc1xuICAgIH07XG4gIH1cblxuICBhc3luYyBkYlNldDxUIGV4dGVuZHMgVXNlckRhdGEsIFUgZXh0ZW5kcyBEb2N1bWVudD4oe1xuICAgIHZhbHVlLFxuICAgIHVzZXJJZFxuICB9OiB7XG4gICAgdmFsdWU6IFU7XG4gICAgdXNlcklkPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgfSk6IFByb21pc2U8U3VjY2Vzc1Jlc3BvbnNlPFQ+IHwgRXJyb3JBY2Nlc3NEZW5pZWQgfCBFcnJvck5vdEZvdW5kIHwgbnVsbD4ge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09IFwib2JqZWN0XCIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYHZhbHVlIHNob3VsZCBiZSBhbiBvYmplY3QgaW5jbHVkaW5nIGZpZWxkcyB5b3Ugd2FudCB0byB1cGRhdGUuYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCB7IGRiU2V0IH0gPSBhd2FpdCB0aGlzLiN0aHVuZGVyKFwibXV0YXRpb25cIikoe1xuICAgICAgZGJTZXQ6IFtcbiAgICAgICAge1xuICAgICAgICAgIHVzZXJJZCxcbiAgICAgICAgICB2YWx1ZTogc2VyaWFsaXplKHZhbHVlKS50b1N0cmluZyhcImJhc2U2NFwiKVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCIuLi5vbiBFcnJvckFjY2Vzc0RlbmllZFwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCIuLi5vbiBFcnJvck5vdEZvdW5kXCI6IHtcbiAgICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgICBtZXNzYWdlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi4uLm9uIERiU2V0UmVzcG9uc2VcIjoge1xuICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgIGRiU2V0OiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSk7XG5cbiAgICBpZiAoIWRiU2V0KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoZGJTZXQuX190eXBlbmFtZSA9PT0gXCJFcnJvckFjY2Vzc0RlbmllZFwiKSB7XG4gICAgICByZXR1cm4gZGJTZXQ7XG4gICAgfVxuXG4gICAgaWYgKGRiU2V0Ll9fdHlwZW5hbWUgPT09IFwiRXJyb3JOb3RGb3VuZFwiKSB7XG4gICAgICByZXR1cm4gZGJTZXQ7XG4gICAgfVxuXG4gICAgaWYgKCFkYlNldC5kYlNldCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIF9fdHlwZW5hbWU6IFwiU3VjY2Vzc1Jlc3BvbnNlXCIsXG4gICAgICBkYXRhOiAoZGJTZXQuZGJTZXQgYXMgeyByZXM6IFQgfSkucmVzXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGRiU2VhcmNoPFQ+KHtcbiAgICBzZWFyY2gsXG4gICAgZmllbGRcbiAgfToge1xuICAgIGZpZWxkOiBzdHJpbmc7XG4gICAgc2VhcmNoOiBzdHJpbmc7XG4gIH0pOiBQcm9taXNlPFxuICAgIFN1Y2Nlc3NSZXNwb25zZTxUW10+IHwgRXJyb3JBY2Nlc3NEZW5pZWQgfCBFcnJvckJhc2ljIHwgRXJyb3JOb3RFeGlzdCB8IG51bGxcbiAgPiB7XG4gICAgY29uc3QgeyBkYlNlYXJjaCB9ID0gYXdhaXQgdGhpcy4jdGh1bmRlcihcInF1ZXJ5XCIsIHtcbiAgICAgIHNjYWxhcnM6IHtcbiAgICAgICAgSnNvbjoge1xuICAgICAgICAgIGVuY29kZTogKGU6IHVua25vd24pID0+IEpTT04uc3RyaW5naWZ5KGUpLFxuICAgICAgICAgIGRlY29kZTogKGU6IHVua25vd24pID0+IEpTT04ucGFyc2UoZSBhcyBzdHJpbmcpXG4gICAgICAgIH0sXG4gICAgICAgIERhdGVUaW1lOiB7XG4gICAgICAgICAgZGVjb2RlOiAoZTogdW5rbm93bikgPT4gbmV3IERhdGUoZSBhcyBzdHJpbmcpLFxuICAgICAgICAgIGVuY29kZTogKGU6IHVua25vd24pID0+IChlIGFzIERhdGUpLnRvSVNPU3RyaW5nKClcbiAgICAgICAgfSxcbiAgICAgICAgQmlnSW50OiB7XG4gICAgICAgICAgZGVjb2RlOiAoZTogdW5rbm93bikgPT4gQmlnSW50KGUgYXMgc3RyaW5nKSxcbiAgICAgICAgICBlbmNvZGU6IChlOiB1bmtub3duKSA9PiAoZSBhcyBiaWdpbnQpLnRvU3RyaW5nKClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pKHtcbiAgICAgIGRiU2VhcmNoOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBzZWFyY2gsXG4gICAgICAgICAgZmllbGRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwiLi4ub24gRXJyb3JBY2Nlc3NEZW5pZWRcIjoge1xuICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLi4ub24gRXJyb3JCYXNpY1wiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCIuLi5vbiBFcnJvck5vdEV4aXN0XCI6IHtcbiAgICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgICBtZXNzYWdlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi4uLm9uIERiU2VhcmNoUmVzcG9uc2VcIjoge1xuICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgIGpzb246IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9KTtcblxuICAgIGlmICghZGJTZWFyY2gpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChkYlNlYXJjaC5fX3R5cGVuYW1lID09PSBcIkVycm9yQWNjZXNzRGVuaWVkXCIpIHtcbiAgICAgIHJldHVybiBkYlNlYXJjaDtcbiAgICB9XG5cbiAgICBpZiAoZGJTZWFyY2guX190eXBlbmFtZSA9PT0gXCJFcnJvckJhc2ljXCIpIHtcbiAgICAgIHJldHVybiBkYlNlYXJjaDtcbiAgICB9XG5cbiAgICBpZiAoZGJTZWFyY2guX190eXBlbmFtZSA9PT0gXCJFcnJvck5vdEV4aXN0XCIpIHtcbiAgICAgIHJldHVybiBkYlNlYXJjaDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgX190eXBlbmFtZTogXCJTdWNjZXNzUmVzcG9uc2VcIixcbiAgICAgIGRhdGE6IGRiU2VhcmNoLmpzb24gYXMgdW5rbm93biBhcyBUW11cbiAgICB9O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBO0FBV0EsU0FBU0EsU0FBVCxRQUEwQixNQUExQjs7OztBQUVBLE9BQU8sTUFBTUMsZUFBTixDQUFzQjtFQUMzQjtFQUVBO0VBSUFDLFdBQVcsQ0FDVEMsT0FEUyxFQUVUQyxLQUZTLEVBR1RDLE9BSFMsRUFJVDtJQUFBO01BQUE7TUFBQTtJQUFBO0lBQ0E7SUFDQTtJQUNBLHdEQUFnQkEsT0FBaEI7RUFDRDs7RUFFVSxNQUFMQyxLQUFLLE9BWVQ7SUFBQSxJQVphO01BQ2JDLEtBRGE7TUFFYkM7SUFGYSxDQVliO0lBQ0EsTUFBTTtNQUFFRjtJQUFGLElBQVksTUFBTSxzREFBYyxPQUFkLEVBQXVCO01BQzdDQSxLQUFLLEVBQUUsQ0FDTDtRQUNFQyxLQURGO1FBRUVDO01BRkYsQ0FESyxFQUtMO1FBQ0UsMkJBQTJCO1VBQ3pCQyxVQUFVLEVBQUUsSUFEYTtVQUV6QkMsT0FBTyxFQUFFO1FBRmdCLENBRDdCO1FBS0UsdUJBQXVCO1VBQ3JCRCxVQUFVLEVBQUUsSUFEUztVQUVyQkMsT0FBTyxFQUFFO1FBRlksQ0FMekI7UUFTRSx1QkFBdUI7VUFDckJELFVBQVUsRUFBRSxJQURTO1VBRXJCQyxPQUFPLEVBQUU7UUFGWSxDQVR6QjtRQWFFLHVCQUF1QjtVQUNyQkQsVUFBVSxFQUFFLElBRFM7VUFFckJFLElBQUksRUFBRTtRQUZlO01BYnpCLENBTEs7SUFEc0MsQ0FBdkIsQ0FBeEI7O0lBMkJBLElBQUksQ0FBQ0wsS0FBTCxFQUFZO01BQ1YsT0FBTyxJQUFQO0lBQ0Q7O0lBRUQsSUFBSUEsS0FBSyxDQUFDRyxVQUFOLEtBQXFCLG1CQUF6QixFQUE4QztNQUM1QyxPQUFPSCxLQUFQO0lBQ0Q7O0lBRUQsSUFBSUEsS0FBSyxDQUFDRyxVQUFOLEtBQXFCLGVBQXpCLEVBQTBDO01BQ3hDLE9BQU9ILEtBQVA7SUFDRDs7SUFFRCxJQUFJQSxLQUFLLENB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
@@ -0,0 +1,42 @@
1
+ import type { ErrorAccessDenied, ErrorBasic, ErrorNotFound } from "../error.js";
2
+ import type { SuccessResponse, KeyPair, NewMail, SecrecyClient } from "../index.js";
3
+ import type { MailType, Thunder } from "../zeus/index.js";
4
+ import type { DraftMail, Mail, ReceivedMail, SentMail, WaitingReceivedMail } from "./types/index.js";
5
+ export declare class SecrecyMailClient {
6
+ #private;
7
+ constructor(client: SecrecyClient, keys: KeyPair, thunder: ReturnType<typeof Thunder>);
8
+ get({ id }: {
9
+ id: string;
10
+ }): Promise<SuccessResponse<Mail> | ErrorAccessDenied | null>;
11
+ recover({ mailId }: {
12
+ mailId: string;
13
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | null>;
14
+ deletedMails({ mailType }: {
15
+ mailType: MailType;
16
+ }): Promise<SuccessResponse<Mail[]> | ErrorAccessDenied | null>;
17
+ create(data: NewMail, customMessage?: string | null | undefined): Promise<SuccessResponse<boolean> | ErrorBasic | ErrorAccessDenied | null>;
18
+ waitingReceivedMails(): Promise<SuccessResponse<WaitingReceivedMail[]> | ErrorNotFound | null>;
19
+ updateDraft(draftId: string, { body, subject, files, recipientsIds, replyTo }: Partial<NewMail>): Promise<SuccessResponse<DraftMail> | ErrorNotFound | ErrorAccessDenied | ErrorBasic | null>;
20
+ deleteDraft(draftId: string): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
21
+ deleteTrash({ ids }: {
22
+ ids: Array<string>;
23
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
24
+ emptyTrash(): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
25
+ delete({ mailId }: {
26
+ mailId: string;
27
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
28
+ sendDraft(draftId: string, customMessage?: string | null | undefined): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | null>;
29
+ sendWaitingEmails(): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | null>;
30
+ createDraft({ body, subject, files, recipientsIds, replyTo }: NewMail): Promise<SuccessResponse<DraftMail> | ErrorAccessDenied | ErrorBasic | null>;
31
+ read({ mailId }: {
32
+ mailId: string;
33
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | ErrorNotFound | null>;
34
+ unread({ mailId }: {
35
+ mailId: string;
36
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | ErrorNotFound | null>;
37
+ receivedMails(): Promise<SuccessResponse<ReceivedMail[]> | ErrorNotFound | null>;
38
+ sentMails(): Promise<SuccessResponse<SentMail[]> | ErrorNotFound | null>;
39
+ draftMails(): Promise<SuccessResponse<DraftMail[]> | ErrorNotFound | null>;
40
+ unreadReceivedMailsCount(): Promise<SuccessResponse<number> | ErrorAccessDenied | null>;
41
+ private _eachUser;
42
+ }