@secrecy/lib 1.0.0-dev.53 → 1.0.0-dev.56

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
+ get<U>({ field, userId }: {
10
+ field: string;
11
+ userId?: string | null | undefined;
12
+ }): Promise<SuccessResponse<U> | ErrorAccessDenied | ErrorNotExist | ErrorNotFound | null>;
13
+ set<T extends UserData, U extends Document>({ value, userId }: {
14
+ value: U;
15
+ userId?: string | null | undefined;
16
+ }): Promise<SuccessResponse<T> | ErrorAccessDenied | ErrorNotFound | null>;
17
+ search<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 get(_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 set(_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 search(_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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzZXJpYWxpemUiLCJTZWNyZWN5RGJDbGllbnQiLCJjb25zdHJ1Y3RvciIsIl9jbGllbnQiLCJfa2V5cyIsInRodW5kZXIiLCJnZXQiLCJmaWVsZCIsInVzZXJJZCIsImRiR2V0IiwiX190eXBlbmFtZSIsIm1lc3NhZ2UiLCJqc29uIiwiZGF0YSIsInJlcyIsInNldCIsInZhbHVlIiwiRXJyb3IiLCJkYlNldCIsInRvU3RyaW5nIiwic2VhcmNoIiwiZGJTZWFyY2giLCJzY2FsYXJzIiwiSnNvbiIsImVuY29kZSIsImUiLCJKU09OIiwic3RyaW5naWZ5IiwiZGVjb2RlIiwicGFyc2UiLCJEYXRlVGltZSIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsIkJpZ0ludCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvU2VjcmVjeURiQ2xpZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuaW1wb3J0IHR5cGUgeyBTZWNyZWN5Q2xpZW50LCBTdWNjZXNzUmVzcG9uc2UsIFVzZXJEYXRhIH0gZnJvbSBcIi4uL2luZGV4LmpzXCI7XG5pbXBvcnQgdHlwZSB7IEtleVBhaXIgfSBmcm9tIFwiLi4vY3J5cHRvL2luZGV4LmpzXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEVycm9yQWNjZXNzRGVuaWVkLFxuICBFcnJvckJhc2ljLFxuICBFcnJvck5vdEV4aXN0LFxuICBFcnJvck5vdEZvdW5kXG59IGZyb20gXCIuLi9lcnJvci5qc1wiO1xuaW1wb3J0IHR5cGUgeyBUaHVuZGVyIH0gZnJvbSBcIi4uL3pldXMvaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHsgRG9jdW1lbnQgfSBmcm9tIFwiYnNvblwiO1xuaW1wb3J0IHsgc2VyaWFsaXplIH0gZnJvbSBcImJzb25cIjtcblxuZXhwb3J0IGNsYXNzIFNlY3JlY3lEYkNsaWVudCB7XG4gIC8vICNjbGllbnQ6IFNlY3JlY3lDbGllbnQ7XG5cbiAgLy8gI2tleXM6IEtleVBhaXI7XG5cbiAgI3RodW5kZXI6IFJldHVyblR5cGU8dHlwZW9mIFRodW5kZXI+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIF9jbGllbnQ6IFNlY3JlY3lDbGllbnQsXG4gICAgX2tleXM6IEtleVBhaXIsXG4gICAgdGh1bmRlcjogUmV0dXJuVHlwZTx0eXBlb2YgVGh1bmRlcj5cbiAgKSB7XG4gICAgLy8gdGhpcy4jY2xpZW50ID0gY2xpZW50O1xuICAgIC8vIHRoaXMuI2tleXMgPSBrZXlzO1xuICAgIHRoaXMuI3RodW5kZXIgPSB0aHVuZGVyO1xuICB9XG5cbiAgYXN5bmMgZ2V0PFU+KHtcbiAgICBmaWVsZCxcbiAgICB1c2VySWRcbiAgfToge1xuICAgIGZpZWxkOiBzdHJpbmc7XG4gICAgdXNlcklkPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgfSk6IFByb21pc2U8XG4gICAgfCBTdWNjZXNzUmVzcG9uc2U8VT5cbiAgICB8IEVycm9yQWNjZXNzRGVuaWVkXG4gICAgfCBFcnJvck5vdEV4aXN0XG4gICAgfCBFcnJvck5vdEZvdW5kXG4gICAgfCBudWxsXG4gID4ge1xuICAgIGNvbnN0IHsgZGJHZXQgfSA9IGF3YWl0IHRoaXMuI3RodW5kZXIoXCJxdWVyeVwiKSh7XG4gICAgICBkYkdldDogW1xuICAgICAgICB7XG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAgdXNlcklkXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIi4uLm9uIEVycm9yQWNjZXNzRGVuaWVkXCI6IHtcbiAgICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgICBtZXNzYWdlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi4uLm9uIEVycm9yTm90RXhpc3RcIjoge1xuICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLi4ub24gRXJyb3JOb3RGb3VuZFwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCIuLi5vbiBEYkdldFJlc3BvbnNlXCI6IHtcbiAgICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgICBqc29uOiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSk7XG5cbiAgICBpZiAoIWRiR2V0KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoZGJHZXQuX190eXBlbmFtZSA9PT0gXCJFcnJvckFjY2Vzc0RlbmllZFwiKSB7XG4gICAgICByZXR1cm4gZGJHZXQ7XG4gICAgfVxuXG4gICAgaWYgKGRiR2V0Ll9fdHlwZW5hbWUgPT09IFwiRXJyb3JOb3RFeGlzdFwiKSB7XG4gICAgICByZXR1cm4gZGJHZXQ7XG4gICAgfVxuXG4gICAgaWYgKGRiR2V0Ll9fdHlwZW5hbWUgPT09IFwiRXJyb3JOb3RGb3VuZFwiKSB7XG4gICAgICByZXR1cm4gZGJHZXQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIF9fdHlwZW5hbWU6IFwiU3VjY2Vzc1Jlc3BvbnNlXCIsXG4gICAgICBkYXRhOiAoZGJHZXQuanNvbiBhcyB7IHJlczogVSB9KS5yZXNcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgc2V0PFQgZXh0ZW5kcyBVc2VyRGF0YSwgVSBleHRlbmRzIERvY3VtZW50Pih7XG4gICAgdmFsdWUsXG4gICAgdXNlcklkXG4gIH06IHtcbiAgICB2YWx1ZTogVTtcbiAgICB1c2VySWQ/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICB9KTogUHJvbWlzZTxTdWNjZXNzUmVzcG9uc2U8VD4gfCBFcnJvckFjY2Vzc0RlbmllZCB8IEVycm9yTm90Rm91bmQgfCBudWxsPiB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gXCJvYmplY3RcIikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgdmFsdWUgc2hvdWxkIGJlIGFuIG9iamVjdCBpbmNsdWRpbmcgZmllbGRzIHlvdSB3YW50IHRvIHVwZGF0ZS5gXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHsgZGJTZXQgfSA9IGF3YWl0IHRoaXMuI3RodW5kZXIoXCJtdXRhdGlvblwiKSh7XG4gICAgICBkYlNldDogW1xuICAgICAgICB7XG4gICAgICAgICAgdXNlcklkLFxuICAgICAgICAgIHZhbHVlOiBzZXJpYWxpemUodmFsdWUpLnRvU3RyaW5nKFwiYmFzZTY0XCIpXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIi4uLm9uIEVycm9yQWNjZXNzRGVuaWVkXCI6IHtcbiAgICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgICBtZXNzYWdlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi4uLm9uIEVycm9yTm90Rm91bmRcIjoge1xuICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLi4ub24gRGJTZXRSZXNwb25zZVwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgZGJTZXQ6IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9KTtcblxuICAgIGlmICghZGJTZXQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChkYlNldC5fX3R5cGVuYW1lID09PSBcIkVycm9yQWNjZXNzRGVuaWVkXCIpIHtcbiAgICAgIHJldHVybiBkYlNldDtcbiAgICB9XG5cbiAgICBpZiAoZGJTZXQuX190eXBlbmFtZSA9PT0gXCJFcnJvck5vdEZvdW5kXCIpIHtcbiAgICAgIHJldHVybiBkYlNldDtcbiAgICB9XG5cbiAgICBpZiAoIWRiU2V0LmRiU2V0KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgX190eXBlbmFtZTogXCJTdWNjZXNzUmVzcG9uc2VcIixcbiAgICAgIGRhdGE6IChkYlNldC5kYlNldCBhcyB7IHJlczogVCB9KS5yZXNcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgc2VhcmNoPFQ+KHtcbiAgICBzZWFyY2gsXG4gICAgZmllbGRcbiAgfToge1xuICAgIGZpZWxkOiBzdHJpbmc7XG4gICAgc2VhcmNoOiBzdHJpbmc7XG4gIH0pOiBQcm9taXNlPFxuICAgIFN1Y2Nlc3NSZXNwb25zZTxUW10+IHwgRXJyb3JBY2Nlc3NEZW5pZWQgfCBFcnJvckJhc2ljIHwgRXJyb3JOb3RFeGlzdCB8IG51bGxcbiAgPiB7XG4gICAgY29uc3QgeyBkYlNlYXJjaCB9ID0gYXdhaXQgdGhpcy4jdGh1bmRlcihcInF1ZXJ5XCIsIHtcbiAgICAgIHNjYWxhcnM6IHtcbiAgICAgICAgSnNvbjoge1xuICAgICAgICAgIGVuY29kZTogKGU6IHVua25vd24pID0+IEpTT04uc3RyaW5naWZ5KGUpLFxuICAgICAgICAgIGRlY29kZTogKGU6IHVua25vd24pID0+IEpTT04ucGFyc2UoZSBhcyBzdHJpbmcpXG4gICAgICAgIH0sXG4gICAgICAgIERhdGVUaW1lOiB7XG4gICAgICAgICAgZGVjb2RlOiAoZTogdW5rbm93bikgPT4gbmV3IERhdGUoZSBhcyBzdHJpbmcpLFxuICAgICAgICAgIGVuY29kZTogKGU6IHVua25vd24pID0+IChlIGFzIERhdGUpLnRvSVNPU3RyaW5nKClcbiAgICAgICAgfSxcbiAgICAgICAgQmlnSW50OiB7XG4gICAgICAgICAgZGVjb2RlOiAoZTogdW5rbm93bikgPT4gQmlnSW50KGUgYXMgc3RyaW5nKSxcbiAgICAgICAgICBlbmNvZGU6IChlOiB1bmtub3duKSA9PiAoZSBhcyBiaWdpbnQpLnRvU3RyaW5nKClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pKHtcbiAgICAgIGRiU2VhcmNoOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBzZWFyY2gsXG4gICAgICAgICAgZmllbGRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFwiLi4ub24gRXJyb3JBY2Nlc3NEZW5pZWRcIjoge1xuICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLi4ub24gRXJyb3JCYXNpY1wiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCIuLi5vbiBFcnJvck5vdEV4aXN0XCI6IHtcbiAgICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgICBtZXNzYWdlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi4uLm9uIERiU2VhcmNoUmVzcG9uc2VcIjoge1xuICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgIGpzb246IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9KTtcblxuICAgIGlmICghZGJTZWFyY2gpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChkYlNlYXJjaC5fX3R5cGVuYW1lID09PSBcIkVycm9yQWNjZXNzRGVuaWVkXCIpIHtcbiAgICAgIHJldHVybiBkYlNlYXJjaDtcbiAgICB9XG5cbiAgICBpZiAoZGJTZWFyY2guX190eXBlbmFtZSA9PT0gXCJFcnJvckJhc2ljXCIpIHtcbiAgICAgIHJldHVybiBkYlNlYXJjaDtcbiAgICB9XG5cbiAgICBpZiAoZGJTZWFyY2guX190eXBlbmFtZSA9PT0gXCJFcnJvck5vdEV4aXN0XCIpIHtcbiAgICAgIHJldHVybiBkYlNlYXJjaDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgX190eXBlbmFtZTogXCJTdWNjZXNzUmVzcG9uc2VcIixcbiAgICAgIGRhdGE6IGRiU2VhcmNoLmpzb24gYXMgdW5rbm93biBhcyBUW11cbiAgICB9O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBO0FBV0EsU0FBU0EsU0FBVCxRQUEwQixNQUExQjs7OztBQUVBLE9BQU8sTUFBTUMsZUFBTixDQUFzQjtFQUMzQjtFQUVBO0VBSUFDLFdBQVcsQ0FDVEMsT0FEUyxFQUVUQyxLQUZTLEVBR1RDLE9BSFMsRUFJVDtJQUFBO01BQUE7TUFBQTtJQUFBO0lBQ0E7SUFDQTtJQUNBLHdEQUFnQkEsT0FBaEI7RUFDRDs7RUFFUSxNQUFIQyxHQUFHLE9BWVA7SUFBQSxJQVpXO01BQ1hDLEtBRFc7TUFFWEM7SUFGVyxDQVlYO0lBQ0EsTUFBTTtNQUFFQztJQUFGLElBQVksTUFBTSxzREFBYyxPQUFkLEVBQXVCO01BQzdDQSxLQUFLLEVBQUUsQ0FDTDtRQUNFRixLQURGO1FBRUVDO01BRkYsQ0FESyxFQUtMO1FBQ0UsMkJBQTJCO1VBQ3pCRSxVQUFVLEVBQUUsSUFEYTtVQUV6QkMsT0FBTyxFQUFFO1FBRmdCLENBRDdCO1FBS0UsdUJBQXVCO1VBQ3JCRCxVQUFVLEVBQUUsSUFEUztVQUVyQkMsT0FBTyxFQUFFO1FBRlksQ0FMekI7UUFTRSx1QkFBdUI7VUFDckJELFVBQVUsRUFBRSxJQURTO1VBRXJCQyxPQUFPLEVBQUU7UUFGWSxDQVR6QjtRQWFFLHVCQUF1QjtVQUNyQkQsVUFBVSxFQUFFLElBRFM7VUFFckJFLElBQUksRUFBRTtRQUZlO01BYnpCLENBTEs7SUFEc0MsQ0FBdkIsQ0FBeEI7O0lBMkJBLElBQUksQ0FBQ0gsS0FBTCxFQUFZO01BQ1YsT0FBTyxJQUFQO0lBQ0Q7O0lBRUQsSUFBSUEsS0FBSyxDQUFDQyxVQUFOLEtBQXFCLG1CQUF6QixFQUE4QztNQUM1QyxPQUFPRCxLQUFQO0lBQ0Q7O0lBRUQsSUFBSUEsS0FBSyxDQUFDQyxVQUFOLEtBQXFCLGVBQXpCLEVBQTBDO01BQ3hDLE9BQU9ELEtBQVA7SUFDRDs7SUFFRCxJQUFJQSxL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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
+ }