@keetanetwork/anchor 0.0.49 → 0.0.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.
- package/lib/resolver.d.ts +1 -0
- package/lib/resolver.d.ts.map +1 -1
- package/lib/resolver.js +52 -37
- package/lib/resolver.js.map +1 -1
- package/npm-shrinkwrap.json +8 -8
- package/package.json +2 -2
- package/services/asset-movement/client.d.ts.map +1 -1
- package/services/asset-movement/client.js +8 -6
- package/services/asset-movement/client.js.map +1 -1
- package/services/asset-movement/common.d.ts +9 -5
- package/services/asset-movement/common.d.ts.map +1 -1
- package/services/asset-movement/common.js +18113 -9853
- package/services/asset-movement/common.js.map +1 -1
- package/services/asset-movement/lib/data/addresses/bank-account/bcr-pay.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/bcr-pay.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/bcr-pay.js +36 -0
- package/services/asset-movement/lib/data/addresses/bank-account/bcr-pay.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/duit-now.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/duit-now.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/duit-now.js +35 -0
- package/services/asset-movement/lib/data/addresses/bank-account/duit-now.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/hk-fps.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/hk-fps.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/hk-fps.js +36 -0
- package/services/asset-movement/lib/data/addresses/bank-account/hk-fps.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/index.generated.d.ts +10 -0
- package/services/asset-movement/lib/data/addresses/bank-account/index.generated.d.ts.map +1 -1
- package/services/asset-movement/lib/data/addresses/bank-account/index.generated.js +10 -0
- package/services/asset-movement/lib/data/addresses/bank-account/index.generated.js.map +1 -1
- package/services/asset-movement/lib/data/addresses/bank-account/pay-now.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/pay-now.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/pay-now.js +36 -0
- package/services/asset-movement/lib/data/addresses/bank-account/pay-now.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/pix.d.ts.map +1 -1
- package/services/asset-movement/lib/data/addresses/bank-account/pix.js +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/pix.js.map +1 -1
- package/services/asset-movement/lib/data/addresses/bank-account/upi.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/upi.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/upi.js +37 -0
- package/services/asset-movement/lib/data/addresses/bank-account/upi.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/types.generated.d.ts +458 -2
- package/services/asset-movement/lib/data/addresses/types.generated.d.ts.map +1 -1
- package/services/asset-movement/lib/data/addresses/types.generated.js +508 -0
- package/services/asset-movement/lib/data/addresses/types.generated.js.map +1 -1
- package/services/asset-movement/lib/location.generated.js +3 -3
- package/services/fx/common.d.ts +1 -1
- package/services/fx/common.d.ts.map +1 -1
- package/services/fx/common.js +16 -16
- package/services/fx/common.js.map +1 -1
- package/services/fx/server.d.ts.map +1 -1
- package/services/fx/server.js +13 -17
- package/services/fx/server.js.map +1 -1
- package/services/notification/common.generated.js +34 -34
- package/services/storage/client.d.ts +38 -0
- package/services/storage/client.d.ts.map +1 -1
- package/services/storage/client.js +87 -13
- package/services/storage/client.js.map +1 -1
- package/services/storage/clients/contacts.d.ts +2 -2
- package/services/storage/clients/contacts.d.ts.map +1 -1
- package/services/storage/clients/contacts.generated.js +1216 -406
- package/services/storage/clients/contacts.generated.js.map +1 -1
- package/services/storage/clients/contacts.js +27 -9
- package/services/storage/clients/contacts.js.map +1 -1
- package/services/storage/clients/icon.d.ts +2 -2
- package/services/storage/clients/icon.d.ts.map +1 -1
- package/services/storage/clients/icon.js +11 -2
- package/services/storage/clients/icon.js.map +1 -1
- package/services/storage/common.d.ts +38 -1
- package/services/storage/common.d.ts.map +1 -1
- package/services/storage/common.generated.d.ts +2 -1
- package/services/storage/common.generated.d.ts.map +1 -1
- package/services/storage/common.generated.js +67 -0
- package/services/storage/common.generated.js.map +1 -1
- package/services/storage/common.js +8 -0
- package/services/storage/common.js.map +1 -1
- package/services/storage/server.d.ts.map +1 -1
- package/services/storage/server.js +70 -27
- package/services/storage/server.js.map +1 -1
- package/services/storage/test-utils.d.ts +1 -0
- package/services/storage/test-utils.d.ts.map +1 -1
- package/services/storage/test-utils.js +15 -0
- package/services/storage/test-utils.js.map +1 -1
- package/services/username/common.generated.js +23 -23
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contacts.generated.js","sourceRoot":"","sources":["../../../../src/services/storage/clients/contacts.generated.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAGrC,MAAM,CAAC,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"contacts.generated.js","sourceRoot":"","sources":["../../../../src/services/storage/clients/contacts.generated.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAGrC,MAAM,CAAC,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAuD,CAAC","sourcesContent":["import { createAssert } from 'typia';\nimport type { Contact } from './contacts.ts';\n\nexport const assertContact: (input: unknown) => Contact = createAssert<Contact>();\n"]}
|
|
@@ -60,8 +60,10 @@ function contactTags(address) {
|
|
|
60
60
|
*/
|
|
61
61
|
export class StorageContactsClient {
|
|
62
62
|
#session;
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
#logger;
|
|
64
|
+
constructor(config) {
|
|
65
|
+
this.#session = config.session;
|
|
66
|
+
this.#logger = config.logger;
|
|
65
67
|
}
|
|
66
68
|
deriveId(address) {
|
|
67
69
|
const data = Buffer.from(canonicalizeContactAddress(address));
|
|
@@ -86,41 +88,47 @@ export class StorageContactsClient {
|
|
|
86
88
|
}
|
|
87
89
|
async create(options) {
|
|
88
90
|
const id = this.deriveId(options.address);
|
|
89
|
-
|
|
91
|
+
this.#logger?.debug('StorageContactsClient::create', `Creating contact ${id}`);
|
|
92
|
+
const contact = assertContact({
|
|
90
93
|
id,
|
|
91
94
|
label: options.label,
|
|
92
95
|
address: options.address,
|
|
93
96
|
...(options.rail !== undefined ? { rail: options.rail } : {})
|
|
94
|
-
};
|
|
97
|
+
});
|
|
95
98
|
await this.#session.put(id, this.#serialize(contact), {
|
|
96
99
|
mimeType: MIME_TYPE,
|
|
97
100
|
tags: contactTags(options.address)
|
|
98
101
|
});
|
|
102
|
+
this.#logger?.debug('StorageContactsClient::create', `Contact created: ${id}`);
|
|
99
103
|
return (contact);
|
|
100
104
|
}
|
|
101
105
|
async get(id, includeMetadata) {
|
|
106
|
+
this.#logger?.debug('StorageContactsClient::get', `Getting contact ${id}`);
|
|
102
107
|
const [result, metadata] = await Promise.all([
|
|
103
108
|
this.#session.get(id),
|
|
104
109
|
includeMetadata ? this.#session.getMetadata(id) : Promise.resolve(null)
|
|
105
110
|
]);
|
|
106
111
|
if (!result) {
|
|
112
|
+
this.#logger?.debug('StorageContactsClient::get', `Contact not found: ${id}`);
|
|
107
113
|
return (null);
|
|
108
114
|
}
|
|
115
|
+
this.#logger?.debug('StorageContactsClient::get', `Contact retrieved: ${id}`);
|
|
109
116
|
return (this.#deserialize(result.data, metadata));
|
|
110
117
|
}
|
|
111
118
|
async update(id, options) {
|
|
119
|
+
this.#logger?.debug('StorageContactsClient::update', `Updating contact ${id}`);
|
|
112
120
|
const existing = await this.get(id);
|
|
113
121
|
if (!existing) {
|
|
114
122
|
throw (new Errors.DocumentNotFound(`Contact not found: ${id}`));
|
|
115
123
|
}
|
|
116
124
|
const newAddress = options.address ?? existing.address;
|
|
117
125
|
const newId = this.deriveId(newAddress);
|
|
118
|
-
const updated = {
|
|
126
|
+
const updated = assertContact({
|
|
119
127
|
id: newId,
|
|
120
128
|
label: options.label ?? existing.label,
|
|
121
129
|
address: newAddress,
|
|
122
130
|
...(existing.rail !== undefined ? { rail: existing.rail } : {})
|
|
123
|
-
};
|
|
131
|
+
});
|
|
124
132
|
await this.#session.put(newId, this.#serialize(updated), {
|
|
125
133
|
mimeType: MIME_TYPE,
|
|
126
134
|
tags: contactTags(updated.address)
|
|
@@ -129,17 +137,21 @@ export class StorageContactsClient {
|
|
|
129
137
|
try {
|
|
130
138
|
await this.#session.delete(id);
|
|
131
139
|
}
|
|
132
|
-
catch {
|
|
133
|
-
|
|
140
|
+
catch (error) {
|
|
141
|
+
this.#logger?.warn('StorageContactsClient::update', `Failed to delete old contact ${id} after re-keying to ${newId}`, error);
|
|
134
142
|
}
|
|
135
143
|
}
|
|
144
|
+
this.#logger?.debug('StorageContactsClient::update', `Contact updated: ${newId}`);
|
|
136
145
|
return (updated);
|
|
137
146
|
}
|
|
138
147
|
async delete(id) {
|
|
148
|
+
this.#logger?.debug('StorageContactsClient::delete', `Deleting contact ${id}`);
|
|
139
149
|
const result = await this.#session.delete(id);
|
|
150
|
+
this.#logger?.debug('StorageContactsClient::delete', `Contact delete ${id}: ${result ? 'removed' : 'not found'}`);
|
|
140
151
|
return (result);
|
|
141
152
|
}
|
|
142
153
|
async list(options) {
|
|
154
|
+
this.#logger?.debug('StorageContactsClient::list', 'Listing contacts');
|
|
143
155
|
const criteria = {
|
|
144
156
|
pathPrefix: this.#session.workingDirectory
|
|
145
157
|
};
|
|
@@ -151,9 +163,15 @@ export class StorageContactsClient {
|
|
|
151
163
|
for (const metadata of searchResult.results) {
|
|
152
164
|
const result = await this.#session.get(metadata.path);
|
|
153
165
|
if (result) {
|
|
154
|
-
|
|
166
|
+
try {
|
|
167
|
+
contacts.push(this.#deserialize(result.data, metadata));
|
|
168
|
+
}
|
|
169
|
+
catch (error) {
|
|
170
|
+
this.#logger?.warn('StorageContactsClient::list', `Skipping corrupt contact at ${metadata.path}`, error);
|
|
171
|
+
}
|
|
155
172
|
}
|
|
156
173
|
}
|
|
174
|
+
this.#logger?.debug('StorageContactsClient::list', `Listed ${contacts.length} contacts`);
|
|
157
175
|
return (contacts);
|
|
158
176
|
}
|
|
159
177
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../../../src/services/storage/clients/contacts.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AssetTransferInstructions, RecipientResolved, KeetaNetAccount, Rail } from '../../asset-movement/common.js';\nimport type { AssetLocationLike, PickChainLocation } from '../../asset-movement/lib/location.js';\nimport type { KeetaStorageAnchorSession } from '../client.js';\nimport { lib as KeetaNetLib } from '@keetanetwork/keetanet-client';\nimport { convertAssetLocationToString } from '../../asset-movement/lib/location.js';\nimport { Errors } from '../common.js';\nimport type { StorageObjectMetadata } from '../common.js';\nimport { Buffer } from '../../../lib/utils/buffer.js';\nimport { assertContact } from './contacts.generated.js';\n\n// #region Types\n\ntype DistributiveOmit<T, K extends PropertyKey> = T extends unknown ? Omit<T, K> : never;\n\n/**\n * The structural shape of a transfer instruction, excluding transaction-specific fields.\n */\nexport type TransferInstructionShape = DistributiveOmit<\n\tAssetTransferInstructions,\n\t'value' | 'assetFee' | 'totalReceiveAmount' | 'persistentAddressId'\n>;\n\n/**\n * The type of provider information allowed for a contact address.\n */\nexport type ProviderInformationType = 'username' | 'template';\n\n/**\n * The type of recipient for a persistent address template.\n */\nexport type PersistentAddressTemplateRecipient = Extract<RecipientResolved, { type: 'persistent-address' }>;\n\n/**\n * Base interface for contact addresses with narrowed generic parameters.\n */\nexport interface ContactAddressBase<\n\tRecipientType extends RecipientResolved,\n\tLocation extends AssetLocationLike,\n\tProviderInformationAllowedTypes extends ProviderInformationType\n> {\n\trecipient: RecipientType;\n\tlocation?: Location;\n\tproviderInformation?: { [providerId: string]: ProviderInformationAllowedTypes[] };\n\tpastInstructions?: TransferInstructionShape[];\n}\n\nexport type KeetaAssetLocation = PickChainLocation<'keeta'> | `chain:keeta:${bigint}`;\n\n/**\n * A contact address for a Keeta account.\n */\nexport type KeetaContactAddress = ContactAddressBase<string, KeetaAssetLocation, 'username'>;\n\n/**\n * A contact address for a persistent address template.\n */\nexport type TemplateContactAddress = ContactAddressBase<PersistentAddressTemplateRecipient, AssetLocationLike, 'template'>;\n\n/**\n * A contact address for a non-Keeta, non-persistent-address recipient.\n */\nexport type OtherContactAddress = ContactAddressBase<\n\tExclude<RecipientResolved, KeetaNetAccount | PersistentAddressTemplateRecipient>,\n\tExclude<AssetLocationLike, KeetaAssetLocation>,\n\t'template'\n>;\n\nexport type ContactAddress = KeetaContactAddress | TemplateContactAddress | OtherContactAddress;\n\n/**\n * A stored contact with metadata and an address.\n */\nexport interface Contact {\n\tid: string;\n\tlabel: string;\n\taddress: ContactAddress;\n\trail?: Rail;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface SharedStorageObjectMetadata extends Pick<StorageObjectMetadata, 'createdAt' | 'updatedAt'> {};\n\nexport interface ContactWithMetadata extends Contact, SharedStorageObjectMetadata {}\n\n// #endregion\n\n// #region Interface\n\n/**\n * Generic contacts client interface\n */\nexport interface ContactsClient {\n\tderiveId(address: ContactAddress): string;\n\n\tcreate(options: {\n\t\tlabel: string;\n\t\taddress: ContactAddress;\n\t\trail?: Rail;\n\t}): Promise<Contact>;\n\n\tget(id: string): Promise<Contact | null>;\n\n\tupdate(id: string, options: {\n\t\tlabel?: string;\n\t\taddress?: ContactAddress;\n\t}): Promise<Contact>;\n\n\tdelete(id: string): Promise<boolean>;\n\n\tlist(options?: {\n\t\tlocation?: AssetLocationLike;\n\t}): Promise<Contact[]>;\n}\n\n// #endregion\n\n// #region Storage Implementation\n\n/**\n * MIME type for contact data.\n */\nconst MIME_TYPE = 'application/json';\n\n/**\n * Canonicalize a contact address for use in ID derivation.\n * Excludes metadata fields (`providerInformation`, `pastInstructions`) that are not part of contact identity.\n *\n * @param address - The contact address to canonicalize.\n *\n * @returns The canonicalized string representation of the contact address identity fields.\n */\nfunction canonicalizeContactAddress(address: ContactAddress): string {\n\tconst { providerInformation: _, pastInstructions: __, ...identity } = address; // eslint-disable-line @typescript-eslint/no-unused-vars\n\treturn(JSON.stringify(identity, function(_key: string, value: unknown): unknown {\n\t\tif (value !== null && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n\t\t\tconst obj = value as { [k: string]: unknown };\n\t\t\treturn(Object.fromEntries(\n\t\t\t\tObject.entries(obj).sort(([a], [b]) => a.localeCompare(b))\n\t\t\t));\n\t\t}\n\n\t\treturn(value);\n\t}));\n}\n\n/**\n * Convert an asset location to a tag for use in storage.\n *\n * @param location - The asset location to convert to a tag.\n *\n * @returns The tag string.\n */\nfunction locationToTag(location: AssetLocationLike): string {\n\tconst str = convertAssetLocationToString(location);\n\n\tconst parts = str.split(':');\n\treturn(parts.join('-'));\n}\n\n/**\n * Convert a contact address to a list of tags for use in storage.\n *\n * @param address - The contact address to convert to tags.\n *\n * @returns The list of tags.\n */\nfunction contactTags(address: ContactAddress): string[] {\n\tif (address.location) {\n\t\treturn([locationToTag(address.location)]);\n\t}\n\n\treturn([]);\n}\n\n/**\n * Storage Anchor-backed implementation of `ContactsClient`.\n * Stores contacts as encrypted JSON objects via a `KeetaStorageAnchorSession`.\n */\nexport class StorageContactsClient implements ContactsClient {\n\treadonly #session: KeetaStorageAnchorSession;\n\n\tconstructor(session: KeetaStorageAnchorSession) {\n\t\tthis.#session = session;\n\t}\n\n\tderiveId(address: ContactAddress): string {\n\t\tconst data = Buffer.from(canonicalizeContactAddress(address));\n\t\tconst hash = KeetaNetLib.Utils.Hash.Hash(data);\n\n\t\tconst result = Buffer.from(hash).toString('hex');\n\t\treturn(result);\n\t}\n\n\t#serialize(contact: Contact): Buffer {\n\t\treturn(Buffer.from(JSON.stringify(contact)));\n\t}\n\n\t#deserialize(data: Buffer, metadata: SharedStorageObjectMetadata): ContactWithMetadata;\n\t#deserialize(data: Buffer, metadata: null): Contact;\n\t#deserialize(data: Buffer, metadata: SharedStorageObjectMetadata | null): ContactWithMetadata | Contact;\n\t#deserialize(data: Buffer, metadata: SharedStorageObjectMetadata | null): ContactWithMetadata | Contact {\n\t\tconst contact = assertContact(JSON.parse(data.toString()));\n\n\t\tif (metadata) {\n\t\t\treturn({\n\t\t\t\t...contact,\n\t\t\t\t...metadata\n\t\t\t});\n\t\t} else {\n\t\t\treturn(contact);\n\t\t}\n\t}\n\n\tasync create(options: {\n\t\tlabel: string;\n\t\taddress: ContactAddress;\n\t\trail?: Rail | undefined;\n\t}): Promise<Contact> {\n\t\tconst id = this.deriveId(options.address);\n\t\tconst contact: Contact = {\n\t\t\tid,\n\t\t\tlabel: options.label,\n\t\t\taddress: options.address,\n\t\t\t...(options.rail !== undefined ? { rail: options.rail } : {})\n\t\t};\n\n\t\tawait this.#session.put(id, this.#serialize(contact), {\n\t\t\tmimeType: MIME_TYPE,\n\t\t\ttags: contactTags(options.address)\n\t\t});\n\n\t\treturn(contact);\n\t}\n\n\tasync get(id: string, includeMetadata: true): Promise<ContactWithMetadata | null>;\n\tasync get(id: string, includeMetadata?: false): Promise<Contact | null>;\n\tasync get(id: string, includeMetadata?: boolean) {\n\t\tconst [ result, metadata ] = await Promise.all([\n\t\t\tthis.#session.get(id),\n\t\t\tincludeMetadata ? this.#session.getMetadata(id) : Promise.resolve(null)\n\t\t]);\n\n\t\tif (!result) {\n\t\t\treturn(null);\n\t\t}\n\n\t\treturn(this.#deserialize(result.data, metadata));\n\t}\n\n\tasync update(id: string, options: {\n\t\tlabel?: string;\n\t\taddress?: ContactAddress;\n\t}): Promise<Contact> {\n\t\tconst existing = await this.get(id);\n\t\tif (!existing) {\n\t\t\tthrow(new Errors.DocumentNotFound(`Contact not found: ${id}`));\n\t\t}\n\n\t\tconst newAddress = options.address ?? existing.address;\n\t\tconst newId = this.deriveId(newAddress);\n\n\t\tconst updated: Contact = {\n\t\t\tid: newId,\n\t\t\tlabel: options.label ?? existing.label,\n\t\t\taddress: newAddress,\n\t\t\t...(existing.rail !== undefined ? { rail: existing.rail } : {})\n\t\t};\n\n\t\tawait this.#session.put(newId, this.#serialize(updated), {\n\t\t\tmimeType: MIME_TYPE,\n\t\t\ttags: contactTags(updated.address)\n\t\t});\n\n\t\tif (newId !== id) {\n\t\t\ttry {\n\t\t\t\tawait this.#session.delete(id);\n\t\t\t} catch {\n\t\t\t\t// Put succeeded; old contact is now orphaned\n\t\t\t}\n\t\t}\n\n\t\treturn(updated);\n\t}\n\n\tasync delete(id: string): Promise<boolean> {\n\t\tconst result = await this.#session.delete(id);\n\t\treturn(result);\n\t}\n\n\tasync list(options?: {\n\t\tlocation?: AssetLocationLike;\n\t}): Promise<ContactWithMetadata[]> {\n\t\tconst criteria: { pathPrefix: string; tags?: string[] } = {\n\t\t\tpathPrefix: this.#session.workingDirectory\n\t\t};\n\n\t\tif (options?.location) {\n\t\t\tcriteria.tags = [locationToTag(options.location)];\n\t\t}\n\n\t\tconst searchResult = await this.#session.search(criteria);\n\n\t\tconst contacts: ContactWithMetadata[] = [];\n\t\tfor (const metadata of searchResult.results) {\n\t\t\tconst result = await this.#session.get(metadata.path);\n\t\t\tif (result) {\n\t\t\t\tcontacts.push(this.#deserialize(result.data, metadata));\n\t\t\t}\n\t\t}\n\n\t\treturn(contacts);\n\t}\n}\n\n// #endregion\n"]}
|
|
1
|
+
{"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../../../src/services/storage/clients/contacts.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AssetTransferInstructions, RecipientResolved, KeetaNetAccount, Rail } from '../../asset-movement/common.js';\nimport type { AssetLocationLike, PickChainLocation } from '../../asset-movement/lib/location.js';\nimport type { KeetaStorageAnchorSession, StorageSubClientConfig } from '../client.js';\nimport type { Logger } from '../../../lib/log/index.js';\nimport type { StorageObjectMetadata } from '../common.js';\nimport { lib as KeetaNetLib } from '@keetanetwork/keetanet-client';\nimport { convertAssetLocationToString } from '../../asset-movement/lib/location.js';\nimport { Errors } from '../common.js';\nimport { Buffer } from '../../../lib/utils/buffer.js';\nimport { assertContact } from './contacts.generated.js';\n\n// #region Types\n\ntype DistributiveOmit<T, K extends PropertyKey> = T extends unknown ? Omit<T, K> : never;\n\n/**\n * The structural shape of a transfer instruction, excluding transaction-specific fields.\n */\nexport type TransferInstructionShape = DistributiveOmit<\n\tAssetTransferInstructions,\n\t'value' | 'assetFee' | 'totalReceiveAmount' | 'persistentAddressId'\n>;\n\n/**\n * The type of provider information allowed for a contact address.\n */\nexport type ProviderInformationType = 'username' | 'template';\n\n/**\n * The type of recipient for a persistent address template.\n */\nexport type PersistentAddressTemplateRecipient = Extract<RecipientResolved, { type: 'persistent-address' }>;\n\n/**\n * Base interface for contact addresses with narrowed generic parameters.\n */\nexport interface ContactAddressBase<\n\tRecipientType extends RecipientResolved,\n\tLocation extends AssetLocationLike,\n\tProviderInformationAllowedTypes extends ProviderInformationType\n> {\n\trecipient: RecipientType;\n\tlocation?: Location;\n\tproviderInformation?: { [providerId: string]: ProviderInformationAllowedTypes[] };\n\tpastInstructions?: TransferInstructionShape[];\n}\n\nexport type KeetaAssetLocation = PickChainLocation<'keeta'> | `chain:keeta:${bigint}`;\n\n/**\n * A contact address for a Keeta account.\n */\nexport type KeetaContactAddress = ContactAddressBase<string, KeetaAssetLocation, 'username'>;\n\n/**\n * A contact address for a persistent address template.\n */\nexport type TemplateContactAddress = ContactAddressBase<PersistentAddressTemplateRecipient, AssetLocationLike, 'template'>;\n\n/**\n * A contact address for a non-Keeta, non-persistent-address recipient.\n */\nexport type OtherContactAddress = ContactAddressBase<\n\tExclude<RecipientResolved, KeetaNetAccount | PersistentAddressTemplateRecipient>,\n\tExclude<AssetLocationLike, KeetaAssetLocation>,\n\t'template'\n>;\n\nexport type ContactAddress = KeetaContactAddress | TemplateContactAddress | OtherContactAddress;\n\n/**\n * A stored contact with metadata and an address.\n */\nexport interface Contact {\n\tid: string;\n\tlabel: string;\n\taddress: ContactAddress;\n\trail?: Rail;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface SharedStorageObjectMetadata extends Pick<StorageObjectMetadata, 'createdAt' | 'updatedAt'> {};\n\nexport interface ContactWithMetadata extends Contact, SharedStorageObjectMetadata {}\n\n// #endregion\n\n// #region Interface\n\n/**\n * Generic contacts client interface\n */\nexport interface ContactsClient {\n\tderiveId(address: ContactAddress): string;\n\n\tcreate(options: {\n\t\tlabel: string;\n\t\taddress: ContactAddress;\n\t\trail?: Rail;\n\t}): Promise<Contact>;\n\n\tget(id: string): Promise<Contact | null>;\n\n\tupdate(id: string, options: {\n\t\tlabel?: string;\n\t\taddress?: ContactAddress;\n\t}): Promise<Contact>;\n\n\tdelete(id: string): Promise<boolean>;\n\n\tlist(options?: {\n\t\tlocation?: AssetLocationLike;\n\t}): Promise<Contact[]>;\n}\n\n// #endregion\n\n// #region Storage Implementation\n\n/**\n * MIME type for contact data.\n */\nconst MIME_TYPE = 'application/json';\n\n/**\n * Canonicalize a contact address for use in ID derivation.\n * Excludes metadata fields (`providerInformation`, `pastInstructions`) that are not part of contact identity.\n *\n * @param address - The contact address to canonicalize.\n *\n * @returns The canonicalized string representation of the contact address identity fields.\n */\nfunction canonicalizeContactAddress(address: ContactAddress): string {\n\tconst { providerInformation: _, pastInstructions: __, ...identity } = address; // eslint-disable-line @typescript-eslint/no-unused-vars\n\treturn(JSON.stringify(identity, function(_key: string, value: unknown): unknown {\n\t\tif (value !== null && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n\t\t\tconst obj = value as { [k: string]: unknown };\n\t\t\treturn(Object.fromEntries(\n\t\t\t\tObject.entries(obj).sort(([a], [b]) => a.localeCompare(b))\n\t\t\t));\n\t\t}\n\n\t\treturn(value);\n\t}));\n}\n\n/**\n * Convert an asset location to a tag for use in storage.\n *\n * @param location - The asset location to convert to a tag.\n *\n * @returns The tag string.\n */\nfunction locationToTag(location: AssetLocationLike): string {\n\tconst str = convertAssetLocationToString(location);\n\n\tconst parts = str.split(':');\n\treturn(parts.join('-'));\n}\n\n/**\n * Convert a contact address to a list of tags for use in storage.\n *\n * @param address - The contact address to convert to tags.\n *\n * @returns The list of tags.\n */\nfunction contactTags(address: ContactAddress): string[] {\n\tif (address.location) {\n\t\treturn([locationToTag(address.location)]);\n\t}\n\n\treturn([]);\n}\n\n/**\n * Storage Anchor-backed implementation of `ContactsClient`.\n * Stores contacts as encrypted JSON objects via a `KeetaStorageAnchorSession`.\n */\nexport class StorageContactsClient implements ContactsClient {\n\treadonly #session: KeetaStorageAnchorSession;\n\treadonly #logger?: Logger | undefined;\n\n\tconstructor(config: StorageSubClientConfig) {\n\t\tthis.#session = config.session;\n\t\tthis.#logger = config.logger;\n\t}\n\n\tderiveId(address: ContactAddress): string {\n\t\tconst data = Buffer.from(canonicalizeContactAddress(address));\n\t\tconst hash = KeetaNetLib.Utils.Hash.Hash(data);\n\n\t\tconst result = Buffer.from(hash).toString('hex');\n\t\treturn(result);\n\t}\n\n\t#serialize(contact: Contact): Buffer {\n\t\treturn(Buffer.from(JSON.stringify(contact)));\n\t}\n\n\t#deserialize(data: Buffer, metadata: SharedStorageObjectMetadata): ContactWithMetadata;\n\t#deserialize(data: Buffer, metadata: null): Contact;\n\t#deserialize(data: Buffer, metadata: SharedStorageObjectMetadata | null): ContactWithMetadata | Contact;\n\t#deserialize(data: Buffer, metadata: SharedStorageObjectMetadata | null): ContactWithMetadata | Contact {\n\t\tconst contact = assertContact(JSON.parse(data.toString()));\n\n\t\tif (metadata) {\n\t\t\treturn({\n\t\t\t\t...contact,\n\t\t\t\t...metadata\n\t\t\t});\n\t\t} else {\n\t\t\treturn(contact);\n\t\t}\n\t}\n\n\tasync create(options: {\n\t\tlabel: string;\n\t\taddress: ContactAddress;\n\t\trail?: Rail | undefined;\n\t}): Promise<Contact> {\n\t\tconst id = this.deriveId(options.address);\n\t\tthis.#logger?.debug('StorageContactsClient::create', `Creating contact ${id}`);\n\n\t\tconst contact: Contact = assertContact({\n\t\t\tid,\n\t\t\tlabel: options.label,\n\t\t\taddress: options.address,\n\t\t\t...(options.rail !== undefined ? { rail: options.rail } : {})\n\t\t});\n\n\t\tawait this.#session.put(id, this.#serialize(contact), {\n\t\t\tmimeType: MIME_TYPE,\n\t\t\ttags: contactTags(options.address)\n\t\t});\n\n\t\tthis.#logger?.debug('StorageContactsClient::create', `Contact created: ${id}`);\n\t\treturn(contact);\n\t}\n\n\tasync get(id: string, includeMetadata: true): Promise<ContactWithMetadata | null>;\n\tasync get(id: string, includeMetadata?: false): Promise<Contact | null>;\n\tasync get(id: string, includeMetadata?: boolean) {\n\t\tthis.#logger?.debug('StorageContactsClient::get', `Getting contact ${id}`);\n\n\t\tconst [ result, metadata ] = await Promise.all([\n\t\t\tthis.#session.get(id),\n\t\t\tincludeMetadata ? this.#session.getMetadata(id) : Promise.resolve(null)\n\t\t]);\n\n\t\tif (!result) {\n\t\t\tthis.#logger?.debug('StorageContactsClient::get', `Contact not found: ${id}`);\n\t\t\treturn(null);\n\t\t}\n\n\t\tthis.#logger?.debug('StorageContactsClient::get', `Contact retrieved: ${id}`);\n\t\treturn(this.#deserialize(result.data, metadata));\n\t}\n\n\tasync update(id: string, options: {\n\t\tlabel?: string;\n\t\taddress?: ContactAddress;\n\t}): Promise<Contact> {\n\t\tthis.#logger?.debug('StorageContactsClient::update', `Updating contact ${id}`);\n\n\t\tconst existing = await this.get(id);\n\t\tif (!existing) {\n\t\t\tthrow(new Errors.DocumentNotFound(`Contact not found: ${id}`));\n\t\t}\n\n\t\tconst newAddress = options.address ?? existing.address;\n\t\tconst newId = this.deriveId(newAddress);\n\n\t\tconst updated: Contact = assertContact({\n\t\t\tid: newId,\n\t\t\tlabel: options.label ?? existing.label,\n\t\t\taddress: newAddress,\n\t\t\t...(existing.rail !== undefined ? { rail: existing.rail } : {})\n\t\t});\n\n\t\tawait this.#session.put(newId, this.#serialize(updated), {\n\t\t\tmimeType: MIME_TYPE,\n\t\t\ttags: contactTags(updated.address)\n\t\t});\n\n\t\tif (newId !== id) {\n\t\t\ttry {\n\t\t\t\tawait this.#session.delete(id);\n\t\t\t} catch (error) {\n\t\t\t\tthis.#logger?.warn('StorageContactsClient::update', `Failed to delete old contact ${id} after re-keying to ${newId}`, error);\n\t\t\t}\n\t\t}\n\n\t\tthis.#logger?.debug('StorageContactsClient::update', `Contact updated: ${newId}`);\n\t\treturn(updated);\n\t}\n\n\tasync delete(id: string): Promise<boolean> {\n\t\tthis.#logger?.debug('StorageContactsClient::delete', `Deleting contact ${id}`);\n\t\tconst result = await this.#session.delete(id);\n\t\tthis.#logger?.debug('StorageContactsClient::delete', `Contact delete ${id}: ${result ? 'removed' : 'not found'}`);\n\t\treturn(result);\n\t}\n\n\tasync list(options?: {\n\t\tlocation?: AssetLocationLike;\n\t}): Promise<ContactWithMetadata[]> {\n\t\tthis.#logger?.debug('StorageContactsClient::list', 'Listing contacts');\n\n\t\tconst criteria: { pathPrefix: string; tags?: string[] } = {\n\t\t\tpathPrefix: this.#session.workingDirectory\n\t\t};\n\n\t\tif (options?.location) {\n\t\t\tcriteria.tags = [locationToTag(options.location)];\n\t\t}\n\n\t\tconst searchResult = await this.#session.search(criteria);\n\t\tconst contacts: ContactWithMetadata[] = [];\n\t\tfor (const metadata of searchResult.results) {\n\t\t\tconst result = await this.#session.get(metadata.path);\n\t\t\tif (result) {\n\t\t\t\ttry {\n\t\t\t\t\tcontacts.push(this.#deserialize(result.data, metadata));\n\t\t\t\t} catch (error) {\n\t\t\t\t\tthis.#logger?.warn('StorageContactsClient::list', `Skipping corrupt contact at ${metadata.path}`, error);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.#logger?.debug('StorageContactsClient::list', `Listed ${contacts.length} contacts`);\n\t\treturn(contacts);\n\t}\n}\n\n// #endregion\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { StorageSubClientConfig } from '../client.js';
|
|
2
2
|
import type { Buffer } from '../../../lib/utils/buffer.js';
|
|
3
3
|
/**
|
|
4
4
|
* Icon binary data with its MIME type.
|
|
@@ -21,7 +21,7 @@ export interface IconsClient {
|
|
|
21
21
|
*/
|
|
22
22
|
export declare class StorageIconsClient implements IconsClient {
|
|
23
23
|
#private;
|
|
24
|
-
constructor(
|
|
24
|
+
constructor(config: StorageSubClientConfig);
|
|
25
25
|
set(icon: IconData): Promise<void>;
|
|
26
26
|
get(): Promise<IconData | null>;
|
|
27
27
|
delete(): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../../../src/services/storage/clients/icon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../../../src/services/storage/clients/icon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA6B,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAK3D;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CACjB,CAAC;AAMF;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,GAAG,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAChC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3B;AAQD;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,WAAW;;gBAIzC,MAAM,EAAE,sBAAsB;IAKpC,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAclC,GAAG,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAa/B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;CAMhC"}
|
|
@@ -8,26 +8,35 @@ const ICON_FILENAME = 'icon';
|
|
|
8
8
|
*/
|
|
9
9
|
export class StorageIconsClient {
|
|
10
10
|
#session;
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
#logger;
|
|
12
|
+
constructor(config) {
|
|
13
|
+
this.#session = config.session;
|
|
14
|
+
this.#logger = config.logger;
|
|
13
15
|
}
|
|
14
16
|
async set(icon) {
|
|
17
|
+
this.#logger?.debug('StorageIconsClient::set', `Setting icon (${icon.mimeType})`);
|
|
15
18
|
if (!icon.mimeType.startsWith('image/')) {
|
|
16
19
|
throw (new Errors.ValidationFailed(`Invalid icon MIME type: "${icon.mimeType}". Must be an image/* type.`));
|
|
17
20
|
}
|
|
18
21
|
await this.#session.put(ICON_FILENAME, icon.data, {
|
|
19
22
|
mimeType: icon.mimeType
|
|
20
23
|
});
|
|
24
|
+
this.#logger?.debug('StorageIconsClient::set', 'Icon set successfully');
|
|
21
25
|
}
|
|
22
26
|
async get() {
|
|
27
|
+
this.#logger?.debug('StorageIconsClient::get', 'Getting icon');
|
|
23
28
|
const result = await this.#session.get(ICON_FILENAME);
|
|
24
29
|
if (!result) {
|
|
30
|
+
this.#logger?.debug('StorageIconsClient::get', 'Icon not found');
|
|
25
31
|
return (null);
|
|
26
32
|
}
|
|
33
|
+
this.#logger?.debug('StorageIconsClient::get', 'Icon retrieved');
|
|
27
34
|
return ({ data: result.data, mimeType: result.mimeType });
|
|
28
35
|
}
|
|
29
36
|
async delete() {
|
|
37
|
+
this.#logger?.debug('StorageIconsClient::delete', 'Deleting icon');
|
|
30
38
|
const result = await this.#session.delete(ICON_FILENAME);
|
|
39
|
+
this.#logger?.debug('StorageIconsClient::delete', `Icon delete: ${result ? 'removed' : 'not found'}`);
|
|
31
40
|
return (result);
|
|
32
41
|
}
|
|
33
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon.js","sourceRoot":"","sources":["../../../../src/services/storage/clients/icon.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"icon.js","sourceRoot":"","sources":["../../../../src/services/storage/clients/icon.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAyBtC,aAAa;AAEb,iCAAiC;AAEjC,MAAM,aAAa,GAAG,MAAM,CAAC;AAE7B;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IACrB,QAAQ,CAA4B;IACpC,OAAO,CAAsB;IAEtC,YAAY,MAA8B;QACzC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAc;QACvB,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,yBAAyB,EAAE,iBAAiB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAElF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzC,MAAK,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,4BAA4B,IAAI,CAAC,QAAQ,6BAA6B,CAAC,CAAC,CAAC;QAC5G,CAAC;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE;YACjD,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACvB,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,yBAAyB,EAAE,uBAAuB,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,GAAG;QACR,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,yBAAyB,EAAE,cAAc,CAAC,CAAC;QAE/D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,CAAC;YACjE,OAAM,CAAC,IAAI,CAAC,CAAC;QACd,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,CAAC;QACjE,OAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,MAAM;QACX,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,4BAA4B,EAAE,eAAe,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,4BAA4B,EAAE,gBAAgB,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACtG,OAAM,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;CACD","sourcesContent":["import type { KeetaStorageAnchorSession, StorageSubClientConfig } from '../client.js';\nimport type { Logger } from '../../../lib/log/index.js';\nimport type { Buffer } from '../../../lib/utils/buffer.js';\nimport { Errors } from '../common.js';\n\n// #region Types\n\n/**\n * Icon binary data with its MIME type.\n */\nexport type IconData = {\n\tdata: Buffer;\n\tmimeType: string;\n};\n\n// #endregion\n\n// #region Interface\n\n/**\n * Generic icons client interface.\n */\nexport interface IconsClient {\n\tset(icon: IconData): Promise<void>;\n\tget(): Promise<IconData | null>;\n\tdelete(): Promise<boolean>;\n}\n\n// #endregion\n\n// #region Storage Implementation\n\nconst ICON_FILENAME = 'icon';\n\n/**\n * Storage Anchor-backed implementation of `IconsClient`.\n * Stores a single icon as a public binary object via a `KeetaStorageAnchorSession`.\n */\nexport class StorageIconsClient implements IconsClient {\n\treadonly #session: KeetaStorageAnchorSession;\n\treadonly #logger?: Logger | undefined;\n\n\tconstructor(config: StorageSubClientConfig) {\n\t\tthis.#session = config.session;\n\t\tthis.#logger = config.logger;\n\t}\n\n\tasync set(icon: IconData): Promise<void> {\n\t\tthis.#logger?.debug('StorageIconsClient::set', `Setting icon (${icon.mimeType})`);\n\n\t\tif (!icon.mimeType.startsWith('image/')) {\n\t\t\tthrow(new Errors.ValidationFailed(`Invalid icon MIME type: \"${icon.mimeType}\". Must be an image/* type.`));\n\t\t}\n\n\t\tawait this.#session.put(ICON_FILENAME, icon.data, {\n\t\t\tmimeType: icon.mimeType\n\t\t});\n\n\t\tthis.#logger?.debug('StorageIconsClient::set', 'Icon set successfully');\n\t}\n\n\tasync get(): Promise<IconData | null> {\n\t\tthis.#logger?.debug('StorageIconsClient::get', 'Getting icon');\n\n\t\tconst result = await this.#session.get(ICON_FILENAME);\n\t\tif (!result) {\n\t\t\tthis.#logger?.debug('StorageIconsClient::get', 'Icon not found');\n\t\t\treturn(null);\n\t\t}\n\n\t\tthis.#logger?.debug('StorageIconsClient::get', 'Icon retrieved');\n\t\treturn({ data: result.data, mimeType: result.mimeType });\n\t}\n\n\tasync delete(): Promise<boolean> {\n\t\tthis.#logger?.debug('StorageIconsClient::delete', 'Deleting icon');\n\t\tconst result = await this.#session.delete(ICON_FILENAME);\n\t\tthis.#logger?.debug('StorageIconsClient::delete', `Icon delete: ${result ? 'removed' : 'not found'}`);\n\t\treturn(result);\n\t}\n}\n\n// #endregion\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { lib as KeetaNetLib } from '@keetanetwork/keetanet-client';
|
|
2
2
|
import type { HTTPSignedField } from '../../lib/http-server/common.js';
|
|
3
3
|
import type { Signable } from '../../lib/utils/signing.js';
|
|
4
|
+
import type { EncryptedContainer } from '../../lib/encrypted-container.js';
|
|
4
5
|
import { KeetaAnchorUserError, KeetaAnchorUserValidationError } from '../../lib/error.js';
|
|
5
6
|
import { Buffer } from '../../lib/utils/buffer.js';
|
|
6
7
|
/**
|
|
@@ -227,6 +228,25 @@ export declare function getKeetaStorageAnchorPutRequestSigningData(input: {
|
|
|
227
228
|
visibility?: StorageObjectVisibility;
|
|
228
229
|
tags?: string[];
|
|
229
230
|
}): Signable;
|
|
231
|
+
/**
|
|
232
|
+
* Server-side request to update object metadata.
|
|
233
|
+
* Path is derived from the URL, not the body.
|
|
234
|
+
*/
|
|
235
|
+
export type KeetaStorageAnchorUpdateMetadataRequest = {
|
|
236
|
+
account?: string;
|
|
237
|
+
signed?: HTTPSignedField;
|
|
238
|
+
tags: string[];
|
|
239
|
+
visibility: StorageObjectVisibility;
|
|
240
|
+
};
|
|
241
|
+
/**
|
|
242
|
+
* Build signing data for an update-metadata request.
|
|
243
|
+
* Tags are sorted with localeCompare for deterministic signatures.
|
|
244
|
+
*/
|
|
245
|
+
export declare function getKeetaStorageAnchorUpdateMetadataRequestSigningData(input: {
|
|
246
|
+
path: string;
|
|
247
|
+
visibility: StorageObjectVisibility;
|
|
248
|
+
tags: string[];
|
|
249
|
+
}): Signable;
|
|
230
250
|
/**
|
|
231
251
|
* Client-side request to get an object
|
|
232
252
|
*/
|
|
@@ -561,6 +581,11 @@ export interface StorageBackend {
|
|
|
561
581
|
* Delete an object by path
|
|
562
582
|
*/
|
|
563
583
|
delete(path: string): Promise<boolean>;
|
|
584
|
+
/**
|
|
585
|
+
* Update metadata for an existing object without re-uploading data.
|
|
586
|
+
* @returns Updated metadata, or null if the object does not exist
|
|
587
|
+
*/
|
|
588
|
+
updateMetadata?(path: string, metadata: Omit<StoragePutMetadata, 'owner'>): Promise<StorageObjectMetadata | null>;
|
|
564
589
|
}
|
|
565
590
|
/**
|
|
566
591
|
* Search capability interface.
|
|
@@ -647,7 +672,7 @@ export interface PathPolicy<TPathInfo> {
|
|
|
647
672
|
* Check if the account has access to perform the operation on the parsed path.
|
|
648
673
|
* @returns true if access is allowed, false otherwise
|
|
649
674
|
*/
|
|
650
|
-
checkAccess(account: KeetaNetAccount, parsed: TPathInfo, operation: 'get' | 'put' | 'delete' | 'search' | 'metadata'): boolean;
|
|
675
|
+
checkAccess(account: KeetaNetAccount, parsed: TPathInfo, operation: 'get' | 'put' | 'delete' | 'search' | 'metadata' | 'updateMetadata'): boolean;
|
|
651
676
|
/**
|
|
652
677
|
* Get the account authorized to sign pre-signed URLs for this path.
|
|
653
678
|
* Used for public object access verification.
|
|
@@ -663,6 +688,18 @@ export interface PathPolicy<TPathInfo> {
|
|
|
663
688
|
* @throws Errors.InvalidMetadata if metadata violates path constraints
|
|
664
689
|
*/
|
|
665
690
|
validateMetadata?(parsed: TPathInfo, metadata: StoragePutMetadata): void;
|
|
691
|
+
/**
|
|
692
|
+
* Validate the encrypted container during PUT.
|
|
693
|
+
* Called after the container is parsed from the raw buffer but before decryption.
|
|
694
|
+
* The container's principals getter returns all recipient public keys from the
|
|
695
|
+
* ASN.1 header without requiring decryption.
|
|
696
|
+
*
|
|
697
|
+
* @param parsed - The parsed path info
|
|
698
|
+
* @param container - The encrypted container parsed from the uploaded data
|
|
699
|
+
* @param metadata - The metadata associated with the upload
|
|
700
|
+
* @throws Errors.InvalidMetadata if the container violates policy constraints
|
|
701
|
+
*/
|
|
702
|
+
validateContainer?(parsed: TPathInfo, container: EncryptedContainer, metadata: StoragePutMetadata): void;
|
|
666
703
|
}
|
|
667
704
|
/**
|
|
668
705
|
* Parse the decrypted plaintext from an EncryptedContainer.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/services/storage/common.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/services/storage/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { KeetaStorageAnchorPutRequest, KeetaStorageAnchorPutResponse, KeetaStorageAnchorGetRequest, KeetaStorageAnchorGetResponse, KeetaStorageAnchorDeleteRequest, KeetaStorageAnchorDeleteResponse, KeetaStorageAnchorSearchRequest, KeetaStorageAnchorSearchResponse, KeetaStorageAnchorQuotaRequest, KeetaStorageAnchorQuotaResponse } from './common.ts';
|
|
1
|
+
import type { KeetaStorageAnchorPutRequest, KeetaStorageAnchorPutResponse, KeetaStorageAnchorGetRequest, KeetaStorageAnchorGetResponse, KeetaStorageAnchorDeleteRequest, KeetaStorageAnchorDeleteResponse, KeetaStorageAnchorSearchRequest, KeetaStorageAnchorSearchResponse, KeetaStorageAnchorQuotaRequest, KeetaStorageAnchorQuotaResponse, KeetaStorageAnchorUpdateMetadataRequest } from './common.ts';
|
|
2
2
|
export declare const isKeetaStorageAnchorPutResponse: (input: unknown) => input is KeetaStorageAnchorPutResponse;
|
|
3
3
|
export declare const isKeetaStorageAnchorGetResponse: (input: unknown) => input is KeetaStorageAnchorGetResponse;
|
|
4
4
|
export declare const isKeetaStorageAnchorDeleteResponse: (input: unknown) => input is KeetaStorageAnchorDeleteResponse;
|
|
@@ -14,4 +14,5 @@ export declare const assertKeetaStorageAnchorSearchRequest: (input: unknown) =>
|
|
|
14
14
|
export declare const assertKeetaStorageAnchorSearchResponse: (input: unknown) => KeetaStorageAnchorSearchResponse;
|
|
15
15
|
export declare const assertKeetaStorageAnchorQuotaRequest: (input: unknown) => KeetaStorageAnchorQuotaRequest;
|
|
16
16
|
export declare const assertKeetaStorageAnchorQuotaResponse: (input: unknown) => KeetaStorageAnchorQuotaResponse;
|
|
17
|
+
export declare const assertKeetaStorageAnchorUpdateMetadataRequest: (input: unknown) => KeetaStorageAnchorUpdateMetadataRequest;
|
|
17
18
|
//# sourceMappingURL=common.generated.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.generated.d.ts","sourceRoot":"","sources":["../../../src/services/storage/common.generated.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,4BAA4B,EAC5B,6BAA6B,EAC7B,4BAA4B,EAC5B,6BAA6B,EAC7B,+BAA+B,EAC/B,gCAAgC,EAChC,+BAA+B,EAC/B,gCAAgC,EAChC,8BAA8B,EAC9B,+BAA+B,EAC/B,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,+BAA+B,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,6BAAyE,CAAC;AACrJ,eAAO,MAAM,+BAA+B,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,6BAAyE,CAAC;AACrJ,eAAO,MAAM,kCAAkC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,gCAA+E,CAAC;AAC9J,eAAO,MAAM,kCAAkC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,gCAA+E,CAAC;AAC9J,eAAO,MAAM,iCAAiC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,+BAA6E,CAAC;AAE3J,eAAO,MAAM,kCAAkC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,4BAA2E,CAAC;AACjJ,eAAO,MAAM,mCAAmC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,6BAA6E,CAAC;AACpJ,eAAO,MAAM,kCAAkC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,4BAA2E,CAAC;AACjJ,eAAO,MAAM,mCAAmC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,6BAA6E,CAAC;AACpJ,eAAO,MAAM,qCAAqC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,+BAAiF,CAAC;AAC1J,eAAO,MAAM,sCAAsC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,gCAAmF,CAAC;AAC7J,eAAO,MAAM,qCAAqC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,+BAAiF,CAAC;AAC1J,eAAO,MAAM,sCAAsC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,gCAAmF,CAAC;AAC7J,eAAO,MAAM,oCAAoC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,8BAA+E,CAAC;AACvJ,eAAO,MAAM,qCAAqC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,+BAAiF,CAAC"}
|
|
1
|
+
{"version":3,"file":"common.generated.d.ts","sourceRoot":"","sources":["../../../src/services/storage/common.generated.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,4BAA4B,EAC5B,6BAA6B,EAC7B,4BAA4B,EAC5B,6BAA6B,EAC7B,+BAA+B,EAC/B,gCAAgC,EAChC,+BAA+B,EAC/B,gCAAgC,EAChC,8BAA8B,EAC9B,+BAA+B,EAC/B,uCAAuC,EACvC,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,+BAA+B,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,6BAAyE,CAAC;AACrJ,eAAO,MAAM,+BAA+B,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,6BAAyE,CAAC;AACrJ,eAAO,MAAM,kCAAkC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,gCAA+E,CAAC;AAC9J,eAAO,MAAM,kCAAkC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,gCAA+E,CAAC;AAC9J,eAAO,MAAM,iCAAiC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,+BAA6E,CAAC;AAE3J,eAAO,MAAM,kCAAkC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,4BAA2E,CAAC;AACjJ,eAAO,MAAM,mCAAmC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,6BAA6E,CAAC;AACpJ,eAAO,MAAM,kCAAkC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,4BAA2E,CAAC;AACjJ,eAAO,MAAM,mCAAmC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,6BAA6E,CAAC;AACpJ,eAAO,MAAM,qCAAqC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,+BAAiF,CAAC;AAC1J,eAAO,MAAM,sCAAsC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,gCAAmF,CAAC;AAC7J,eAAO,MAAM,qCAAqC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,+BAAiF,CAAC;AAC1J,eAAO,MAAM,sCAAsC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,gCAAmF,CAAC;AAC7J,eAAO,MAAM,oCAAoC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,8BAA+E,CAAC;AACvJ,eAAO,MAAM,qCAAqC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,+BAAiF,CAAC;AAC1J,eAAO,MAAM,6CAA6C,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,uCAAiG,CAAC"}
|
|
@@ -860,4 +860,71 @@ export const assertKeetaStorageAnchorQuotaResponse = (() => { const _io0 = input
|
|
|
860
860
|
}
|
|
861
861
|
return input;
|
|
862
862
|
}; })();
|
|
863
|
+
export const assertKeetaStorageAnchorUpdateMetadataRequest = (() => { const _io0 = input => (undefined === input.account || "string" === typeof input.account) && (undefined === input.signed || "object" === typeof input.signed && null !== input.signed && _io1(input.signed)) && (Array.isArray(input.tags) && input.tags.every(elem => "string" === typeof elem)) && ("public" === input.visibility || "private" === input.visibility); const _io1 = input => "string" === typeof input.nonce && "string" === typeof input.timestamp && "string" === typeof input.signature; const _ao0 = (input, _path, _exceptionable = true) => (undefined === input.account || "string" === typeof input.account || __typia_transform__assertGuard._assertGuard(_exceptionable, {
|
|
864
|
+
method: "createAssert",
|
|
865
|
+
path: _path + ".account",
|
|
866
|
+
expected: "(string | undefined)",
|
|
867
|
+
value: input.account
|
|
868
|
+
}, _errorFactory)) && (undefined === input.signed || ("object" === typeof input.signed && null !== input.signed || __typia_transform__assertGuard._assertGuard(_exceptionable, {
|
|
869
|
+
method: "createAssert",
|
|
870
|
+
path: _path + ".signed",
|
|
871
|
+
expected: "(HTTPSignedField | undefined)",
|
|
872
|
+
value: input.signed
|
|
873
|
+
}, _errorFactory)) && _ao1(input.signed, _path + ".signed", true && _exceptionable) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
|
|
874
|
+
method: "createAssert",
|
|
875
|
+
path: _path + ".signed",
|
|
876
|
+
expected: "(HTTPSignedField | undefined)",
|
|
877
|
+
value: input.signed
|
|
878
|
+
}, _errorFactory)) && ((Array.isArray(input.tags) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
|
|
879
|
+
method: "createAssert",
|
|
880
|
+
path: _path + ".tags",
|
|
881
|
+
expected: "Array<string>",
|
|
882
|
+
value: input.tags
|
|
883
|
+
}, _errorFactory)) && input.tags.every((elem, _index2) => "string" === typeof elem || __typia_transform__assertGuard._assertGuard(_exceptionable, {
|
|
884
|
+
method: "createAssert",
|
|
885
|
+
path: _path + ".tags[" + _index2 + "]",
|
|
886
|
+
expected: "string",
|
|
887
|
+
value: elem
|
|
888
|
+
}, _errorFactory)) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
|
|
889
|
+
method: "createAssert",
|
|
890
|
+
path: _path + ".tags",
|
|
891
|
+
expected: "Array<string>",
|
|
892
|
+
value: input.tags
|
|
893
|
+
}, _errorFactory)) && ("public" === input.visibility || "private" === input.visibility || __typia_transform__assertGuard._assertGuard(_exceptionable, {
|
|
894
|
+
method: "createAssert",
|
|
895
|
+
path: _path + ".visibility",
|
|
896
|
+
expected: "(\"private\" | \"public\")",
|
|
897
|
+
value: input.visibility
|
|
898
|
+
}, _errorFactory)); const _ao1 = (input, _path, _exceptionable = true) => ("string" === typeof input.nonce || __typia_transform__assertGuard._assertGuard(_exceptionable, {
|
|
899
|
+
method: "createAssert",
|
|
900
|
+
path: _path + ".nonce",
|
|
901
|
+
expected: "string",
|
|
902
|
+
value: input.nonce
|
|
903
|
+
}, _errorFactory)) && ("string" === typeof input.timestamp || __typia_transform__assertGuard._assertGuard(_exceptionable, {
|
|
904
|
+
method: "createAssert",
|
|
905
|
+
path: _path + ".timestamp",
|
|
906
|
+
expected: "string",
|
|
907
|
+
value: input.timestamp
|
|
908
|
+
}, _errorFactory)) && ("string" === typeof input.signature || __typia_transform__assertGuard._assertGuard(_exceptionable, {
|
|
909
|
+
method: "createAssert",
|
|
910
|
+
path: _path + ".signature",
|
|
911
|
+
expected: "string",
|
|
912
|
+
value: input.signature
|
|
913
|
+
}, _errorFactory)); const __is = input => "object" === typeof input && null !== input && _io0(input); let _errorFactory; return (input, errorFactory) => {
|
|
914
|
+
if (false === __is(input)) {
|
|
915
|
+
_errorFactory = errorFactory;
|
|
916
|
+
((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || __typia_transform__assertGuard._assertGuard(true, {
|
|
917
|
+
method: "createAssert",
|
|
918
|
+
path: _path + "",
|
|
919
|
+
expected: "KeetaStorageAnchorUpdateMetadataRequest",
|
|
920
|
+
value: input
|
|
921
|
+
}, _errorFactory)) && _ao0(input, _path + "", true) || __typia_transform__assertGuard._assertGuard(true, {
|
|
922
|
+
method: "createAssert",
|
|
923
|
+
path: _path + "",
|
|
924
|
+
expected: "KeetaStorageAnchorUpdateMetadataRequest",
|
|
925
|
+
value: input
|
|
926
|
+
}, _errorFactory))(input, "$input", true);
|
|
927
|
+
}
|
|
928
|
+
return input;
|
|
929
|
+
}; })();
|
|
863
930
|
//# sourceMappingURL=common.generated.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.generated.js","sourceRoot":"","sources":["../../../src/services/storage/common.generated.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"common.generated.js","sourceRoot":"","sources":["../../../src/services/storage/common.generated.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAe/C,MAAM,CAAC,MAAM,+BAA+B;;;;;;;sFAAwG,CAAC;AACrJ,MAAM,CAAC,MAAM,+BAA+B;;;;;;;sFAAwG,CAAC;AACrJ,MAAM,CAAC,MAAM,kCAAkC;;;;;;;sFAA8G,CAAC;AAC9J,MAAM,CAAC,MAAM,kCAAkC;;;;;;;sFAA8G,CAAC;AAC9J,MAAM,CAAC,MAAM,iCAAiC;;;;;;;sFAA4G,CAAC;AAE3J,MAAM,CAAC,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAiG,CAAC;AACjJ,MAAM,CAAC,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAmG,CAAC;AACpJ,MAAM,CAAC,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAiG,CAAC;AACjJ,MAAM,CAAC,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAmG,CAAC;AACpJ,MAAM,CAAC,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAuG,CAAC;AAC1J,MAAM,CAAC,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAyG,CAAC;AAC7J,MAAM,CAAC,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAuG,CAAC;AAC1J,MAAM,CAAC,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAyG,CAAC;AAC7J,MAAM,CAAC,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAqG,CAAC;AACvJ,MAAM,CAAC,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAuG,CAAC;AAC1J,MAAM,CAAC,MAAM,6CAA6C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAuH,CAAC","sourcesContent":["import { createIs, createAssert } from 'typia';\nimport type {\n\tKeetaStorageAnchorPutRequest,\n\tKeetaStorageAnchorPutResponse,\n\tKeetaStorageAnchorGetRequest,\n\tKeetaStorageAnchorGetResponse,\n\tKeetaStorageAnchorDeleteRequest,\n\tKeetaStorageAnchorDeleteResponse,\n\tKeetaStorageAnchorSearchRequest,\n\tKeetaStorageAnchorSearchResponse,\n\tKeetaStorageAnchorQuotaRequest,\n\tKeetaStorageAnchorQuotaResponse,\n\tKeetaStorageAnchorUpdateMetadataRequest\n} from './common.ts';\n\nexport const isKeetaStorageAnchorPutResponse: (input: unknown) => input is KeetaStorageAnchorPutResponse = createIs<KeetaStorageAnchorPutResponse>();\nexport const isKeetaStorageAnchorGetResponse: (input: unknown) => input is KeetaStorageAnchorGetResponse = createIs<KeetaStorageAnchorGetResponse>();\nexport const isKeetaStorageAnchorDeleteResponse: (input: unknown) => input is KeetaStorageAnchorDeleteResponse = createIs<KeetaStorageAnchorDeleteResponse>();\nexport const isKeetaStorageAnchorSearchResponse: (input: unknown) => input is KeetaStorageAnchorSearchResponse = createIs<KeetaStorageAnchorSearchResponse>();\nexport const isKeetaStorageAnchorQuotaResponse: (input: unknown) => input is KeetaStorageAnchorQuotaResponse = createIs<KeetaStorageAnchorQuotaResponse>();\n\nexport const assertKeetaStorageAnchorPutRequest: (input: unknown) => KeetaStorageAnchorPutRequest = createAssert<KeetaStorageAnchorPutRequest>();\nexport const assertKeetaStorageAnchorPutResponse: (input: unknown) => KeetaStorageAnchorPutResponse = createAssert<KeetaStorageAnchorPutResponse>();\nexport const assertKeetaStorageAnchorGetRequest: (input: unknown) => KeetaStorageAnchorGetRequest = createAssert<KeetaStorageAnchorGetRequest>();\nexport const assertKeetaStorageAnchorGetResponse: (input: unknown) => KeetaStorageAnchorGetResponse = createAssert<KeetaStorageAnchorGetResponse>();\nexport const assertKeetaStorageAnchorDeleteRequest: (input: unknown) => KeetaStorageAnchorDeleteRequest = createAssert<KeetaStorageAnchorDeleteRequest>();\nexport const assertKeetaStorageAnchorDeleteResponse: (input: unknown) => KeetaStorageAnchorDeleteResponse = createAssert<KeetaStorageAnchorDeleteResponse>();\nexport const assertKeetaStorageAnchorSearchRequest: (input: unknown) => KeetaStorageAnchorSearchRequest = createAssert<KeetaStorageAnchorSearchRequest>();\nexport const assertKeetaStorageAnchorSearchResponse: (input: unknown) => KeetaStorageAnchorSearchResponse = createAssert<KeetaStorageAnchorSearchResponse>();\nexport const assertKeetaStorageAnchorQuotaRequest: (input: unknown) => KeetaStorageAnchorQuotaRequest = createAssert<KeetaStorageAnchorQuotaRequest>();\nexport const assertKeetaStorageAnchorQuotaResponse: (input: unknown) => KeetaStorageAnchorQuotaResponse = createAssert<KeetaStorageAnchorQuotaResponse>();\nexport const assertKeetaStorageAnchorUpdateMetadataRequest: (input: unknown) => KeetaStorageAnchorUpdateMetadataRequest = createAssert<KeetaStorageAnchorUpdateMetadataRequest>();\n"]}
|
|
@@ -13,6 +13,14 @@ export function getKeetaStorageAnchorPutRequestSigningData(input) {
|
|
|
13
13
|
const sortedTags = [...tags].sort();
|
|
14
14
|
return (['put', input.path, visibility, ...sortedTags]);
|
|
15
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Build signing data for an update-metadata request.
|
|
18
|
+
* Tags are sorted with localeCompare for deterministic signatures.
|
|
19
|
+
*/
|
|
20
|
+
export function getKeetaStorageAnchorUpdateMetadataRequestSigningData(input) {
|
|
21
|
+
const sortedTags = [...input.tags].sort(function (a, b) { return (a.localeCompare(b)); });
|
|
22
|
+
return (['updateMetadata', input.path, input.visibility, ...sortedTags]);
|
|
23
|
+
}
|
|
16
24
|
export function getKeetaStorageAnchorGetRequestSigningData(input) {
|
|
17
25
|
return (['get', input.path]);
|
|
18
26
|
}
|