@wix/auto_sdk_loyalty_social-media 1.0.15 → 1.0.16

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.
@@ -1,6 +1,6 @@
1
- import { HttpClient, NonNullablePaths, MaybeContext, BuildRESTFunction } from '@wix/sdk-types';
2
- import { FollowedChannel, ListFollowedChannelsResponse } from './index.typings.js';
3
- export { ActionEvent, CreateFollowedChannelRequest, CreateFollowedChannelResponse, DomainEvent, DomainEventBodyOneOf, Empty, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, IdentificationData, IdentificationDataIdOneOf, ListFollowedChannelsRequest, MessageEnvelope, RestoreInfo, Type, WebhookIdentityType } from './index.typings.js';
1
+ import { HttpClient, NonNullablePaths, EventDefinition, MaybeContext, BuildRESTFunction, BuildEventDefinition } from '@wix/sdk-types';
2
+ import { FollowedChannel, ListFollowedChannelsResponse, FollowedChannelCreatedEnvelope } from './index.typings.js';
3
+ export { ActionEvent, BaseEventMetadata, CreateFollowedChannelRequest, CreateFollowedChannelResponse, DomainEvent, DomainEventBodyOneOf, Empty, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, EventMetadata, IdentificationData, IdentificationDataIdOneOf, ListFollowedChannelsRequest, MessageEnvelope, RestoreInfo, Type, WebhookIdentityType } from './index.typings.js';
4
4
 
5
5
  type FollowedChannelNonNullablePaths = `_id` | `accountId` | `channel`;
6
6
  declare function createFollowedChannel$1(httpClient: HttpClient): CreateFollowedChannelSignature;
@@ -29,8 +29,13 @@ interface ListFollowedChannelsSignature {
29
29
  [P in FollowedChannelNonNullablePaths]: `followedChannels.${number}.${P}`;
30
30
  }[FollowedChannelNonNullablePaths]>>;
31
31
  }
32
+ declare const onFollowedChannelCreated$1: EventDefinition<FollowedChannelCreatedEnvelope, "wix.loyalty.socialmedia.v1.followed_channel_created">;
32
33
 
33
34
  declare const createFollowedChannel: MaybeContext<BuildRESTFunction<typeof createFollowedChannel$1> & typeof createFollowedChannel$1>;
34
35
  declare const listFollowedChannels: MaybeContext<BuildRESTFunction<typeof listFollowedChannels$1> & typeof listFollowedChannels$1>;
36
+ /**
37
+ * Triggered when an account follows a new channel.
38
+ */
39
+ declare const onFollowedChannelCreated: BuildEventDefinition<typeof onFollowedChannelCreated$1>;
35
40
 
36
- export { FollowedChannel, ListFollowedChannelsResponse, createFollowedChannel, listFollowedChannels };
41
+ export { FollowedChannel, FollowedChannelCreatedEnvelope, ListFollowedChannelsResponse, createFollowedChannel, listFollowedChannels, onFollowedChannelCreated };
@@ -23,10 +23,17 @@ __export(index_exports, {
23
23
  Type: () => Type,
24
24
  WebhookIdentityType: () => WebhookIdentityType,
25
25
  createFollowedChannel: () => createFollowedChannel4,
26
- listFollowedChannels: () => listFollowedChannels4
26
+ listFollowedChannels: () => listFollowedChannels4,
27
+ onFollowedChannelCreated: () => onFollowedChannelCreated2
27
28
  });
28
29
  module.exports = __toCommonJS(index_exports);
29
30
 
31
+ // src/loyalty-socialmedia-v1-followed-channel-social-media.public.ts
32
+ var import_rename_all_nested_keys2 = require("@wix/sdk-runtime/rename-all-nested-keys");
33
+ var import_timestamp3 = require("@wix/sdk-runtime/transformations/timestamp");
34
+ var import_transform_paths2 = require("@wix/sdk-runtime/transformations/transform-paths");
35
+ var import_sdk_types = require("@wix/sdk-types");
36
+
30
37
  // src/loyalty-socialmedia-v1-followed-channel-social-media.universal.ts
31
38
  var import_transform_error = require("@wix/sdk-runtime/transform-error");
32
39
  var import_rename_all_nested_keys = require("@wix/sdk-runtime/rename-all-nested-keys");
@@ -219,16 +226,34 @@ function listFollowedChannels3(httpClient) {
219
226
  { httpClient }
220
227
  );
221
228
  }
229
+ var onFollowedChannelCreated = (0, import_sdk_types.EventDefinition)(
230
+ "wix.loyalty.socialmedia.v1.followed_channel_created",
231
+ true,
232
+ (event) => (0, import_rename_all_nested_keys2.renameKeysFromRESTResponseToSDKResponse)(
233
+ (0, import_transform_paths2.transformPaths)(event, [
234
+ {
235
+ transformFn: import_timestamp3.transformRESTTimestampToSDKTimestamp,
236
+ paths: [
237
+ { path: "entity.createdDate" },
238
+ { path: "metadata.eventTime" }
239
+ ]
240
+ }
241
+ ])
242
+ )
243
+ )();
222
244
 
223
245
  // src/loyalty-socialmedia-v1-followed-channel-social-media.context.ts
224
246
  var import_rest_modules3 = require("@wix/sdk-runtime/rest-modules");
247
+ var import_event_definition_modules = require("@wix/sdk-runtime/event-definition-modules");
225
248
  var createFollowedChannel4 = /* @__PURE__ */ (0, import_rest_modules3.createRESTModule)(createFollowedChannel3);
226
249
  var listFollowedChannels4 = /* @__PURE__ */ (0, import_rest_modules3.createRESTModule)(listFollowedChannels3);
250
+ var onFollowedChannelCreated2 = (0, import_event_definition_modules.createEventModule)(onFollowedChannelCreated);
227
251
  // Annotate the CommonJS export names for ESM import in node:
228
252
  0 && (module.exports = {
229
253
  Type,
230
254
  WebhookIdentityType,
231
255
  createFollowedChannel,
232
- listFollowedChannels
256
+ listFollowedChannels,
257
+ onFollowedChannelCreated
233
258
  });
234
259
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../index.ts","../../src/loyalty-socialmedia-v1-followed-channel-social-media.universal.ts","../../src/loyalty-socialmedia-v1-followed-channel-social-media.http.ts","../../src/loyalty-socialmedia-v1-followed-channel-social-media.public.ts","../../src/loyalty-socialmedia-v1-followed-channel-social-media.context.ts"],"sourcesContent":["export * from './src/loyalty-socialmedia-v1-followed-channel-social-media.context.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixLoyaltySocialmediaV1FollowedChannel from './loyalty-socialmedia-v1-followed-channel-social-media.http.js';\n\nexport interface FollowedChannel {\n /**\n * Followed social media channel ID.\n * @readonly\n * @format GUID\n */\n _id?: string;\n /**\n * ID of the account that has followed a social media channel.\n * @readonly\n * @format GUID\n */\n accountId?: string;\n /** Followed social media channel. */\n channel?: TypeWithLiterals;\n /**\n * Date and time when an entity for following a social media channel was created.\n * @readonly\n */\n _createdDate?: Date | null;\n}\n\nexport enum Type {\n /** Unknown social media channel type. */\n UNKNOWN_CHANNEL = 'UNKNOWN_CHANNEL',\n /** Facebook social media channel. */\n FACEBOOK = 'FACEBOOK',\n /** Instagram social media channel. */\n INSTAGRAM = 'INSTAGRAM',\n /** LinkedIn social media channel. */\n LINKEDIN = 'LINKEDIN',\n /** X social media channel. */\n X = 'X',\n /** TikTok social media channel. */\n TIKTOK = 'TIKTOK',\n}\n\n/** @enumType */\nexport type TypeWithLiterals =\n | Type\n | 'UNKNOWN_CHANNEL'\n | 'FACEBOOK'\n | 'INSTAGRAM'\n | 'LINKEDIN'\n | 'X'\n | 'TIKTOK';\n\nexport interface CreateFollowedChannelRequest {\n /** Followed social media channel details. */\n followedChannel: FollowedChannel;\n}\n\nexport interface CreateFollowedChannelResponse {\n /** Followed social media channel details. */\n followedChannel?: FollowedChannel;\n}\n\nexport interface ListFollowedChannelsRequest {}\n\nexport interface ListFollowedChannelsResponse {\n /**\n * List of followed social media channels.\n * @maxSize 5\n */\n followedChannels?: FollowedChannel[];\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface Empty {}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\ntype FollowedChannelNonNullablePaths = `_id` | `accountId` | `channel`;\n\n/**\n * Creates an entity for the specified account ID when the account follows a social media channel.\n *\n * Members can only follow enabled channels. A Wix user has to enable channels in the dashboard.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n * @param followedChannel - Followed social media channel details.\n * @public\n * @requiredField followedChannel\n * @requiredField followedChannel.channel\n * @permissionId LOYALTY.FOLLOWED_CHANNEL_CREATE\n * @applicableIdentity APP\n * @applicableIdentity MEMBER\n * @returns Followed social media channel details.\n * @fqn wix.loyalty.socialmedia.v1.LoyaltySocialMedia.CreateFollowedChannel\n */\nexport async function createFollowedChannel(\n followedChannel: NonNullablePaths<FollowedChannel, `channel`>\n): Promise<NonNullablePaths<FollowedChannel, FollowedChannelNonNullablePaths>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n followedChannel: followedChannel,\n });\n\n const reqOpts =\n ambassadorWixLoyaltySocialmediaV1FollowedChannel.createFollowedChannel(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)\n ?.followedChannel!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { followedChannel: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['followedChannel']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves a list of social media channels followed by the account. The list is ordered by creation date.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n * @public\n * @permissionId LOYALTY.FOLLOWED_CHANNEL_READ\n * @applicableIdentity APP\n * @applicableIdentity MEMBER\n * @fqn wix.loyalty.socialmedia.v1.LoyaltySocialMedia.ListFollowedChannels\n */\nexport async function listFollowedChannels(): Promise<\n NonNullablePaths<\n ListFollowedChannelsResponse,\n {\n [P in FollowedChannelNonNullablePaths]: `followedChannels.${number}.${P}`;\n }[FollowedChannelNonNullablePaths]\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({});\n\n const reqOpts =\n ambassadorWixLoyaltySocialmediaV1FollowedChannel.listFollowedChannels(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {},\n singleArgumentUnchanged: false,\n },\n []\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixLoyaltySocialmediaV1LoyaltySocialMediaUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n _: [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/loyalty-social-media',\n destPath: '',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_loyalty_social-media';\n\n/**\n * Creates an entity for the specified account ID when the account follows a social media channel.\n *\n * Members can only follow enabled channels. A Wix user has to enable channels in the dashboard.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n */\nexport function createFollowedChannel(\n payload: object\n): RequestOptionsFactory<any> {\n function __createFollowedChannel({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [{ path: 'followedChannel.createdDate' }],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.loyalty.socialmedia.v1.followed_channel',\n method: 'POST' as any,\n methodFqn:\n 'wix.loyalty.socialmedia.v1.LoyaltySocialMedia.CreateFollowedChannel',\n packageName: PACKAGE_NAME,\n url: resolveWixLoyaltySocialmediaV1LoyaltySocialMediaUrl({\n protoPath: '/v1/followed-channels',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'followedChannel.createdDate' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createFollowedChannel;\n}\n\n/**\n * Retrieves a list of social media channels followed by the account. The list is ordered by creation date.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n */\nexport function listFollowedChannels(\n payload: object\n): RequestOptionsFactory<any> {\n function __listFollowedChannels({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.loyalty.socialmedia.v1.followed_channel',\n method: 'GET' as any,\n methodFqn:\n 'wix.loyalty.socialmedia.v1.LoyaltySocialMedia.ListFollowedChannels',\n packageName: PACKAGE_NAME,\n url: resolveWixLoyaltySocialmediaV1LoyaltySocialMediaUrl({\n protoPath: '/v1/followed-channels',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'followedChannels.createdDate' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __listFollowedChannels;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n FollowedChannel,\n ListFollowedChannelsResponse,\n createFollowedChannel as universalCreateFollowedChannel,\n listFollowedChannels as universalListFollowedChannels,\n} from './loyalty-socialmedia-v1-followed-channel-social-media.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/loyalty' };\n\ntype FollowedChannelNonNullablePaths = `_id` | `accountId` | `channel`;\n\nexport function createFollowedChannel(\n httpClient: HttpClient\n): CreateFollowedChannelSignature {\n return (followedChannel: NonNullablePaths<FollowedChannel, `channel`>) =>\n universalCreateFollowedChannel(\n followedChannel,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateFollowedChannelSignature {\n /**\n * Creates an entity for the specified account ID when the account follows a social media channel.\n *\n * Members can only follow enabled channels. A Wix user has to enable channels in the dashboard.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n * @param - Followed social media channel details.\n * @returns Followed social media channel details.\n */\n (followedChannel: NonNullablePaths<FollowedChannel, `channel`>): Promise<\n NonNullablePaths<FollowedChannel, FollowedChannelNonNullablePaths>\n >;\n}\n\nexport function listFollowedChannels(\n httpClient: HttpClient\n): ListFollowedChannelsSignature {\n return () =>\n universalListFollowedChannels(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ListFollowedChannelsSignature {\n /**\n * Retrieves a list of social media channels followed by the account. The list is ordered by creation date.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n */\n (): Promise<\n NonNullablePaths<\n ListFollowedChannelsResponse,\n {\n [P in FollowedChannelNonNullablePaths]: `followedChannels.${number}.${P}`;\n }[FollowedChannelNonNullablePaths]\n >\n >;\n}\n\nexport {\n ActionEvent,\n CreateFollowedChannelRequest,\n CreateFollowedChannelResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n Empty,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n FollowedChannel,\n IdentificationData,\n IdentificationDataIdOneOf,\n ListFollowedChannelsRequest,\n ListFollowedChannelsResponse,\n MessageEnvelope,\n RestoreInfo,\n Type,\n WebhookIdentityType,\n} from './loyalty-socialmedia-v1-followed-channel-social-media.universal.js';\n","import {\n createFollowedChannel as publicCreateFollowedChannel,\n listFollowedChannels as publicListFollowedChannels,\n} from './loyalty-socialmedia-v1-followed-channel-social-media.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\n\nexport const createFollowedChannel: MaybeContext<\n BuildRESTFunction<typeof publicCreateFollowedChannel> &\n typeof publicCreateFollowedChannel\n> = /*#__PURE__*/ createRESTModule(publicCreateFollowedChannel);\nexport const listFollowedChannels: MaybeContext<\n BuildRESTFunction<typeof publicListFollowedChannels> &\n typeof publicListFollowedChannels\n> = /*#__PURE__*/ createRESTModule(publicListFollowedChannels);\n\nexport {\n Type,\n WebhookIdentityType,\n} from './loyalty-socialmedia-v1-followed-channel-social-media.universal.js';\nexport {\n FollowedChannel,\n CreateFollowedChannelRequest,\n CreateFollowedChannelResponse,\n ListFollowedChannelsRequest,\n ListFollowedChannelsResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n Empty,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n} from './loyalty-socialmedia-v1-followed-channel-social-media.universal.js';\n"],"mappings":"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","names":["createFollowedChannel","listFollowedChannels","import_timestamp","import_rest_modules","payload","Type","WebhookIdentityType","createFollowedChannel","sdkTransformError","listFollowedChannels","createFollowedChannel","listFollowedChannels","import_rest_modules","createFollowedChannel","listFollowedChannels"]}
1
+ {"version":3,"sources":["../../index.ts","../../src/loyalty-socialmedia-v1-followed-channel-social-media.public.ts","../../src/loyalty-socialmedia-v1-followed-channel-social-media.universal.ts","../../src/loyalty-socialmedia-v1-followed-channel-social-media.http.ts","../../src/loyalty-socialmedia-v1-followed-channel-social-media.context.ts"],"sourcesContent":["export * from './src/loyalty-socialmedia-v1-followed-channel-social-media.context.js';\n","import { renameKeysFromRESTResponseToSDKResponse } from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { EventDefinition, HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n FollowedChannel,\n FollowedChannelCreatedEnvelope,\n ListFollowedChannelsResponse,\n createFollowedChannel as universalCreateFollowedChannel,\n listFollowedChannels as universalListFollowedChannels,\n} from './loyalty-socialmedia-v1-followed-channel-social-media.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/loyalty' };\n\ntype FollowedChannelNonNullablePaths = `_id` | `accountId` | `channel`;\n\nexport function createFollowedChannel(\n httpClient: HttpClient\n): CreateFollowedChannelSignature {\n return (followedChannel: NonNullablePaths<FollowedChannel, `channel`>) =>\n universalCreateFollowedChannel(\n followedChannel,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateFollowedChannelSignature {\n /**\n * Creates an entity for the specified account ID when the account follows a social media channel.\n *\n * Members can only follow enabled channels. A Wix user has to enable channels in the dashboard.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n * @param - Followed social media channel details.\n * @returns Followed social media channel details.\n */\n (followedChannel: NonNullablePaths<FollowedChannel, `channel`>): Promise<\n NonNullablePaths<FollowedChannel, FollowedChannelNonNullablePaths>\n >;\n}\n\nexport function listFollowedChannels(\n httpClient: HttpClient\n): ListFollowedChannelsSignature {\n return () =>\n universalListFollowedChannels(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ListFollowedChannelsSignature {\n /**\n * Retrieves a list of social media channels followed by the account. The list is ordered by creation date.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n */\n (): Promise<\n NonNullablePaths<\n ListFollowedChannelsResponse,\n {\n [P in FollowedChannelNonNullablePaths]: `followedChannels.${number}.${P}`;\n }[FollowedChannelNonNullablePaths]\n >\n >;\n}\n\nexport const onFollowedChannelCreated = EventDefinition(\n 'wix.loyalty.socialmedia.v1.followed_channel_created',\n true,\n (event: FollowedChannelCreatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n ])\n )\n)<FollowedChannelCreatedEnvelope>();\n\nexport {\n ActionEvent,\n BaseEventMetadata,\n CreateFollowedChannelRequest,\n CreateFollowedChannelResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n Empty,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n EventMetadata,\n FollowedChannel,\n FollowedChannelCreatedEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n ListFollowedChannelsRequest,\n ListFollowedChannelsResponse,\n MessageEnvelope,\n RestoreInfo,\n Type,\n WebhookIdentityType,\n} from './loyalty-socialmedia-v1-followed-channel-social-media.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixLoyaltySocialmediaV1FollowedChannel from './loyalty-socialmedia-v1-followed-channel-social-media.http.js';\n\nexport interface FollowedChannel {\n /**\n * Followed social media channel ID.\n * @readonly\n * @format GUID\n */\n _id?: string;\n /**\n * ID of the account that has followed a social media channel.\n * @readonly\n * @format GUID\n */\n accountId?: string;\n /** Followed social media channel. */\n channel?: TypeWithLiterals;\n /**\n * Date and time when an entity for following a social media channel was created.\n * @readonly\n */\n _createdDate?: Date | null;\n}\n\nexport enum Type {\n /** Unknown social media channel type. */\n UNKNOWN_CHANNEL = 'UNKNOWN_CHANNEL',\n /** Facebook social media channel. */\n FACEBOOK = 'FACEBOOK',\n /** Instagram social media channel. */\n INSTAGRAM = 'INSTAGRAM',\n /** LinkedIn social media channel. */\n LINKEDIN = 'LINKEDIN',\n /** X social media channel. */\n X = 'X',\n /** TikTok social media channel. */\n TIKTOK = 'TIKTOK',\n}\n\n/** @enumType */\nexport type TypeWithLiterals =\n | Type\n | 'UNKNOWN_CHANNEL'\n | 'FACEBOOK'\n | 'INSTAGRAM'\n | 'LINKEDIN'\n | 'X'\n | 'TIKTOK';\n\nexport interface CreateFollowedChannelRequest {\n /** Followed social media channel details. */\n followedChannel: FollowedChannel;\n}\n\nexport interface CreateFollowedChannelResponse {\n /** Followed social media channel details. */\n followedChannel?: FollowedChannel;\n}\n\nexport interface ListFollowedChannelsRequest {}\n\nexport interface ListFollowedChannelsResponse {\n /**\n * List of followed social media channels.\n * @maxSize 5\n */\n followedChannels?: FollowedChannel[];\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface Empty {}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface BaseEventMetadata {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n}\n\nexport interface EventMetadata extends BaseEventMetadata {\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\nexport interface FollowedChannelCreatedEnvelope {\n entity: FollowedChannel;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when an account follows a new channel.\n * @permissionScope Read Loyalty\n * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY\n * @permissionScope Manage Loyalty\n * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionId LOYALTY.FOLLOWED_CHANNEL_READ\n * @webhook\n * @eventType wix.loyalty.socialmedia.v1.followed_channel_created\n * @slug created\n */\nexport declare function onFollowedChannelCreated(\n handler: (event: FollowedChannelCreatedEnvelope) => void | Promise<void>\n): void;\n\ntype FollowedChannelNonNullablePaths = `_id` | `accountId` | `channel`;\n\n/**\n * Creates an entity for the specified account ID when the account follows a social media channel.\n *\n * Members can only follow enabled channels. A Wix user has to enable channels in the dashboard.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n * @param followedChannel - Followed social media channel details.\n * @public\n * @requiredField followedChannel\n * @requiredField followedChannel.channel\n * @permissionId LOYALTY.FOLLOWED_CHANNEL_CREATE\n * @applicableIdentity APP\n * @applicableIdentity MEMBER\n * @returns Followed social media channel details.\n * @fqn wix.loyalty.socialmedia.v1.LoyaltySocialMedia.CreateFollowedChannel\n */\nexport async function createFollowedChannel(\n followedChannel: NonNullablePaths<FollowedChannel, `channel`>\n): Promise<NonNullablePaths<FollowedChannel, FollowedChannelNonNullablePaths>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n followedChannel: followedChannel,\n });\n\n const reqOpts =\n ambassadorWixLoyaltySocialmediaV1FollowedChannel.createFollowedChannel(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)\n ?.followedChannel!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { followedChannel: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['followedChannel']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves a list of social media channels followed by the account. The list is ordered by creation date.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n * @public\n * @permissionId LOYALTY.FOLLOWED_CHANNEL_READ\n * @applicableIdentity APP\n * @applicableIdentity MEMBER\n * @fqn wix.loyalty.socialmedia.v1.LoyaltySocialMedia.ListFollowedChannels\n */\nexport async function listFollowedChannels(): Promise<\n NonNullablePaths<\n ListFollowedChannelsResponse,\n {\n [P in FollowedChannelNonNullablePaths]: `followedChannels.${number}.${P}`;\n }[FollowedChannelNonNullablePaths]\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({});\n\n const reqOpts =\n ambassadorWixLoyaltySocialmediaV1FollowedChannel.listFollowedChannels(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {},\n singleArgumentUnchanged: false,\n },\n []\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixLoyaltySocialmediaV1LoyaltySocialMediaUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n _: [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/loyalty-social-media',\n destPath: '',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_loyalty_social-media';\n\n/**\n * Creates an entity for the specified account ID when the account follows a social media channel.\n *\n * Members can only follow enabled channels. A Wix user has to enable channels in the dashboard.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n */\nexport function createFollowedChannel(\n payload: object\n): RequestOptionsFactory<any> {\n function __createFollowedChannel({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [{ path: 'followedChannel.createdDate' }],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.loyalty.socialmedia.v1.followed_channel',\n method: 'POST' as any,\n methodFqn:\n 'wix.loyalty.socialmedia.v1.LoyaltySocialMedia.CreateFollowedChannel',\n packageName: PACKAGE_NAME,\n url: resolveWixLoyaltySocialmediaV1LoyaltySocialMediaUrl({\n protoPath: '/v1/followed-channels',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'followedChannel.createdDate' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createFollowedChannel;\n}\n\n/**\n * Retrieves a list of social media channels followed by the account. The list is ordered by creation date.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n */\nexport function listFollowedChannels(\n payload: object\n): RequestOptionsFactory<any> {\n function __listFollowedChannels({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.loyalty.socialmedia.v1.followed_channel',\n method: 'GET' as any,\n methodFqn:\n 'wix.loyalty.socialmedia.v1.LoyaltySocialMedia.ListFollowedChannels',\n packageName: PACKAGE_NAME,\n url: resolveWixLoyaltySocialmediaV1LoyaltySocialMediaUrl({\n protoPath: '/v1/followed-channels',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'followedChannels.createdDate' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __listFollowedChannels;\n}\n","import {\n createFollowedChannel as publicCreateFollowedChannel,\n listFollowedChannels as publicListFollowedChannels,\n} from './loyalty-socialmedia-v1-followed-channel-social-media.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { createEventModule } from '@wix/sdk-runtime/event-definition-modules';\nimport {\n BuildRESTFunction,\n MaybeContext,\n BuildEventDefinition,\n} from '@wix/sdk-types';\nimport { onFollowedChannelCreated as publicOnFollowedChannelCreated } from './loyalty-socialmedia-v1-followed-channel-social-media.public.js';\n\nexport const createFollowedChannel: MaybeContext<\n BuildRESTFunction<typeof publicCreateFollowedChannel> &\n typeof publicCreateFollowedChannel\n> = /*#__PURE__*/ createRESTModule(publicCreateFollowedChannel);\nexport const listFollowedChannels: MaybeContext<\n BuildRESTFunction<typeof publicListFollowedChannels> &\n typeof publicListFollowedChannels\n> = /*#__PURE__*/ createRESTModule(publicListFollowedChannels);\n/**\n * Triggered when an account follows a new channel.\n */\nexport const onFollowedChannelCreated: BuildEventDefinition<\n typeof publicOnFollowedChannelCreated\n> = createEventModule(publicOnFollowedChannelCreated);\n\nexport {\n Type,\n WebhookIdentityType,\n} from './loyalty-socialmedia-v1-followed-channel-social-media.universal.js';\nexport {\n FollowedChannel,\n CreateFollowedChannelRequest,\n CreateFollowedChannelResponse,\n ListFollowedChannelsRequest,\n ListFollowedChannelsResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n Empty,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n BaseEventMetadata,\n EventMetadata,\n FollowedChannelCreatedEnvelope,\n} from './loyalty-socialmedia-v1-followed-channel-social-media.universal.js';\n"],"mappings":"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","names":["createFollowedChannel","listFollowedChannels","onFollowedChannelCreated","import_rename_all_nested_keys","import_timestamp","import_transform_paths","import_timestamp","import_rest_modules","payload","Type","WebhookIdentityType","createFollowedChannel","sdkTransformError","listFollowedChannels","createFollowedChannel","listFollowedChannels","import_rest_modules","createFollowedChannel","listFollowedChannels","onFollowedChannelCreated"]}
@@ -190,6 +190,68 @@ declare enum WebhookIdentityType {
190
190
  }
191
191
  /** @enumType */
192
192
  type WebhookIdentityTypeWithLiterals = WebhookIdentityType | 'UNKNOWN' | 'ANONYMOUS_VISITOR' | 'MEMBER' | 'WIX_USER' | 'APP';
193
+ interface BaseEventMetadata {
194
+ /**
195
+ * App instance ID.
196
+ * @format GUID
197
+ */
198
+ instanceId?: string | null;
199
+ /**
200
+ * Event type.
201
+ * @maxLength 150
202
+ */
203
+ eventType?: string;
204
+ /** The identification type and identity data. */
205
+ identity?: IdentificationData;
206
+ }
207
+ interface EventMetadata extends BaseEventMetadata {
208
+ /** Event ID. With this ID you can easily spot duplicated events and ignore them. */
209
+ _id?: string;
210
+ /**
211
+ * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.
212
+ * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.
213
+ */
214
+ entityFqdn?: string;
215
+ /**
216
+ * Event action name, placed at the top level to make it easier for users to dispatch messages.
217
+ * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.
218
+ */
219
+ slug?: string;
220
+ /** ID of the entity associated with the event. */
221
+ entityId?: string;
222
+ /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */
223
+ eventTime?: Date | null;
224
+ /**
225
+ * Whether the event was triggered as a result of a privacy regulation application
226
+ * (for example, GDPR).
227
+ */
228
+ triggeredByAnonymizeRequest?: boolean | null;
229
+ /** If present, indicates the action that triggered the event. */
230
+ originatedFrom?: string | null;
231
+ /**
232
+ * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.
233
+ * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.
234
+ */
235
+ entityEventSequence?: string | null;
236
+ }
237
+ interface FollowedChannelCreatedEnvelope {
238
+ entity: FollowedChannel;
239
+ metadata: EventMetadata;
240
+ }
241
+ /**
242
+ * Triggered when an account follows a new channel.
243
+ * @permissionScope Read Loyalty
244
+ * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY
245
+ * @permissionScope Manage Loyalty
246
+ * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY
247
+ * @permissionScope Manage Restaurants - all permissions
248
+ * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES
249
+ * @permissionId LOYALTY.FOLLOWED_CHANNEL_READ
250
+ * @webhook
251
+ * @eventType wix.loyalty.socialmedia.v1.followed_channel_created
252
+ * @slug created
253
+ */
254
+ declare function onFollowedChannelCreated(handler: (event: FollowedChannelCreatedEnvelope) => void | Promise<void>): void;
193
255
  type FollowedChannelNonNullablePaths = `_id` | `accountId` | `channel`;
194
256
  /**
195
257
  * Creates an entity for the specified account ID when the account follows a social media channel.
@@ -224,4 +286,4 @@ declare function listFollowedChannels(): Promise<NonNullablePaths<ListFollowedCh
224
286
  [P in FollowedChannelNonNullablePaths]: `followedChannels.${number}.${P}`;
225
287
  }[FollowedChannelNonNullablePaths]>>;
226
288
 
227
- export { type ActionEvent, type CreateFollowedChannelRequest, type CreateFollowedChannelResponse, type DomainEvent, type DomainEventBodyOneOf, type Empty, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type FollowedChannel, type IdentificationData, type IdentificationDataIdOneOf, type ListFollowedChannelsRequest, type ListFollowedChannelsResponse, type MessageEnvelope, type RestoreInfo, Type, type TypeWithLiterals, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, createFollowedChannel, listFollowedChannels };
289
+ export { type ActionEvent, type BaseEventMetadata, type CreateFollowedChannelRequest, type CreateFollowedChannelResponse, type DomainEvent, type DomainEventBodyOneOf, type Empty, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type EventMetadata, type FollowedChannel, type FollowedChannelCreatedEnvelope, type IdentificationData, type IdentificationDataIdOneOf, type ListFollowedChannelsRequest, type ListFollowedChannelsResponse, type MessageEnvelope, type RestoreInfo, Type, type TypeWithLiterals, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, createFollowedChannel, listFollowedChannels, onFollowedChannelCreated };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../index.typings.ts","../../src/loyalty-socialmedia-v1-followed-channel-social-media.universal.ts","../../src/loyalty-socialmedia-v1-followed-channel-social-media.http.ts"],"sourcesContent":["export * from './src/loyalty-socialmedia-v1-followed-channel-social-media.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixLoyaltySocialmediaV1FollowedChannel from './loyalty-socialmedia-v1-followed-channel-social-media.http.js';\n\nexport interface FollowedChannel {\n /**\n * Followed social media channel ID.\n * @readonly\n * @format GUID\n */\n _id?: string;\n /**\n * ID of the account that has followed a social media channel.\n * @readonly\n * @format GUID\n */\n accountId?: string;\n /** Followed social media channel. */\n channel?: TypeWithLiterals;\n /**\n * Date and time when an entity for following a social media channel was created.\n * @readonly\n */\n _createdDate?: Date | null;\n}\n\nexport enum Type {\n /** Unknown social media channel type. */\n UNKNOWN_CHANNEL = 'UNKNOWN_CHANNEL',\n /** Facebook social media channel. */\n FACEBOOK = 'FACEBOOK',\n /** Instagram social media channel. */\n INSTAGRAM = 'INSTAGRAM',\n /** LinkedIn social media channel. */\n LINKEDIN = 'LINKEDIN',\n /** X social media channel. */\n X = 'X',\n /** TikTok social media channel. */\n TIKTOK = 'TIKTOK',\n}\n\n/** @enumType */\nexport type TypeWithLiterals =\n | Type\n | 'UNKNOWN_CHANNEL'\n | 'FACEBOOK'\n | 'INSTAGRAM'\n | 'LINKEDIN'\n | 'X'\n | 'TIKTOK';\n\nexport interface CreateFollowedChannelRequest {\n /** Followed social media channel details. */\n followedChannel: FollowedChannel;\n}\n\nexport interface CreateFollowedChannelResponse {\n /** Followed social media channel details. */\n followedChannel?: FollowedChannel;\n}\n\nexport interface ListFollowedChannelsRequest {}\n\nexport interface ListFollowedChannelsResponse {\n /**\n * List of followed social media channels.\n * @maxSize 5\n */\n followedChannels?: FollowedChannel[];\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface Empty {}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\ntype FollowedChannelNonNullablePaths = `_id` | `accountId` | `channel`;\n\n/**\n * Creates an entity for the specified account ID when the account follows a social media channel.\n *\n * Members can only follow enabled channels. A Wix user has to enable channels in the dashboard.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n * @param followedChannel - Followed social media channel details.\n * @public\n * @requiredField followedChannel\n * @requiredField followedChannel.channel\n * @permissionId LOYALTY.FOLLOWED_CHANNEL_CREATE\n * @applicableIdentity APP\n * @applicableIdentity MEMBER\n * @returns Followed social media channel details.\n * @fqn wix.loyalty.socialmedia.v1.LoyaltySocialMedia.CreateFollowedChannel\n */\nexport async function createFollowedChannel(\n followedChannel: NonNullablePaths<FollowedChannel, `channel`>\n): Promise<NonNullablePaths<FollowedChannel, FollowedChannelNonNullablePaths>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n followedChannel: followedChannel,\n });\n\n const reqOpts =\n ambassadorWixLoyaltySocialmediaV1FollowedChannel.createFollowedChannel(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)\n ?.followedChannel!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { followedChannel: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['followedChannel']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves a list of social media channels followed by the account. The list is ordered by creation date.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n * @public\n * @permissionId LOYALTY.FOLLOWED_CHANNEL_READ\n * @applicableIdentity APP\n * @applicableIdentity MEMBER\n * @fqn wix.loyalty.socialmedia.v1.LoyaltySocialMedia.ListFollowedChannels\n */\nexport async function listFollowedChannels(): Promise<\n NonNullablePaths<\n ListFollowedChannelsResponse,\n {\n [P in FollowedChannelNonNullablePaths]: `followedChannels.${number}.${P}`;\n }[FollowedChannelNonNullablePaths]\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({});\n\n const reqOpts =\n ambassadorWixLoyaltySocialmediaV1FollowedChannel.listFollowedChannels(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {},\n singleArgumentUnchanged: false,\n },\n []\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixLoyaltySocialmediaV1LoyaltySocialMediaUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n _: [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/loyalty-social-media',\n destPath: '',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_loyalty_social-media';\n\n/**\n * Creates an entity for the specified account ID when the account follows a social media channel.\n *\n * Members can only follow enabled channels. A Wix user has to enable channels in the dashboard.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n */\nexport function createFollowedChannel(\n payload: object\n): RequestOptionsFactory<any> {\n function __createFollowedChannel({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [{ path: 'followedChannel.createdDate' }],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.loyalty.socialmedia.v1.followed_channel',\n method: 'POST' as any,\n methodFqn:\n 'wix.loyalty.socialmedia.v1.LoyaltySocialMedia.CreateFollowedChannel',\n packageName: PACKAGE_NAME,\n url: resolveWixLoyaltySocialmediaV1LoyaltySocialMediaUrl({\n protoPath: '/v1/followed-channels',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'followedChannel.createdDate' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createFollowedChannel;\n}\n\n/**\n * Retrieves a list of social media channels followed by the account. The list is ordered by creation date.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n */\nexport function listFollowedChannels(\n payload: object\n): RequestOptionsFactory<any> {\n function __listFollowedChannels({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.loyalty.socialmedia.v1.followed_channel',\n method: 'GET' as any,\n methodFqn:\n 'wix.loyalty.socialmedia.v1.LoyaltySocialMedia.ListFollowedChannels',\n packageName: PACKAGE_NAME,\n url: resolveWixLoyaltySocialmediaV1LoyaltySocialMediaUrl({\n protoPath: '/v1/followed-channels',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'followedChannels.createdDate' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __listFollowedChannels;\n}\n"],"mappings":"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","names":["createFollowedChannel","listFollowedChannels","import_timestamp","import_rest_modules","payload","Type","WebhookIdentityType","createFollowedChannel","sdkTransformError","listFollowedChannels"]}
1
+ {"version":3,"sources":["../../index.typings.ts","../../src/loyalty-socialmedia-v1-followed-channel-social-media.universal.ts","../../src/loyalty-socialmedia-v1-followed-channel-social-media.http.ts"],"sourcesContent":["export * from './src/loyalty-socialmedia-v1-followed-channel-social-media.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixLoyaltySocialmediaV1FollowedChannel from './loyalty-socialmedia-v1-followed-channel-social-media.http.js';\n\nexport interface FollowedChannel {\n /**\n * Followed social media channel ID.\n * @readonly\n * @format GUID\n */\n _id?: string;\n /**\n * ID of the account that has followed a social media channel.\n * @readonly\n * @format GUID\n */\n accountId?: string;\n /** Followed social media channel. */\n channel?: TypeWithLiterals;\n /**\n * Date and time when an entity for following a social media channel was created.\n * @readonly\n */\n _createdDate?: Date | null;\n}\n\nexport enum Type {\n /** Unknown social media channel type. */\n UNKNOWN_CHANNEL = 'UNKNOWN_CHANNEL',\n /** Facebook social media channel. */\n FACEBOOK = 'FACEBOOK',\n /** Instagram social media channel. */\n INSTAGRAM = 'INSTAGRAM',\n /** LinkedIn social media channel. */\n LINKEDIN = 'LINKEDIN',\n /** X social media channel. */\n X = 'X',\n /** TikTok social media channel. */\n TIKTOK = 'TIKTOK',\n}\n\n/** @enumType */\nexport type TypeWithLiterals =\n | Type\n | 'UNKNOWN_CHANNEL'\n | 'FACEBOOK'\n | 'INSTAGRAM'\n | 'LINKEDIN'\n | 'X'\n | 'TIKTOK';\n\nexport interface CreateFollowedChannelRequest {\n /** Followed social media channel details. */\n followedChannel: FollowedChannel;\n}\n\nexport interface CreateFollowedChannelResponse {\n /** Followed social media channel details. */\n followedChannel?: FollowedChannel;\n}\n\nexport interface ListFollowedChannelsRequest {}\n\nexport interface ListFollowedChannelsResponse {\n /**\n * List of followed social media channels.\n * @maxSize 5\n */\n followedChannels?: FollowedChannel[];\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface Empty {}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface BaseEventMetadata {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n}\n\nexport interface EventMetadata extends BaseEventMetadata {\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\nexport interface FollowedChannelCreatedEnvelope {\n entity: FollowedChannel;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when an account follows a new channel.\n * @permissionScope Read Loyalty\n * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY\n * @permissionScope Manage Loyalty\n * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionId LOYALTY.FOLLOWED_CHANNEL_READ\n * @webhook\n * @eventType wix.loyalty.socialmedia.v1.followed_channel_created\n * @slug created\n */\nexport declare function onFollowedChannelCreated(\n handler: (event: FollowedChannelCreatedEnvelope) => void | Promise<void>\n): void;\n\ntype FollowedChannelNonNullablePaths = `_id` | `accountId` | `channel`;\n\n/**\n * Creates an entity for the specified account ID when the account follows a social media channel.\n *\n * Members can only follow enabled channels. A Wix user has to enable channels in the dashboard.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n * @param followedChannel - Followed social media channel details.\n * @public\n * @requiredField followedChannel\n * @requiredField followedChannel.channel\n * @permissionId LOYALTY.FOLLOWED_CHANNEL_CREATE\n * @applicableIdentity APP\n * @applicableIdentity MEMBER\n * @returns Followed social media channel details.\n * @fqn wix.loyalty.socialmedia.v1.LoyaltySocialMedia.CreateFollowedChannel\n */\nexport async function createFollowedChannel(\n followedChannel: NonNullablePaths<FollowedChannel, `channel`>\n): Promise<NonNullablePaths<FollowedChannel, FollowedChannelNonNullablePaths>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n followedChannel: followedChannel,\n });\n\n const reqOpts =\n ambassadorWixLoyaltySocialmediaV1FollowedChannel.createFollowedChannel(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)\n ?.followedChannel!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { followedChannel: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['followedChannel']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves a list of social media channels followed by the account. The list is ordered by creation date.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n * @public\n * @permissionId LOYALTY.FOLLOWED_CHANNEL_READ\n * @applicableIdentity APP\n * @applicableIdentity MEMBER\n * @fqn wix.loyalty.socialmedia.v1.LoyaltySocialMedia.ListFollowedChannels\n */\nexport async function listFollowedChannels(): Promise<\n NonNullablePaths<\n ListFollowedChannelsResponse,\n {\n [P in FollowedChannelNonNullablePaths]: `followedChannels.${number}.${P}`;\n }[FollowedChannelNonNullablePaths]\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({});\n\n const reqOpts =\n ambassadorWixLoyaltySocialmediaV1FollowedChannel.listFollowedChannels(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {},\n singleArgumentUnchanged: false,\n },\n []\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixLoyaltySocialmediaV1LoyaltySocialMediaUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n _: [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/loyalty-social-media',\n destPath: '',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_loyalty_social-media';\n\n/**\n * Creates an entity for the specified account ID when the account follows a social media channel.\n *\n * Members can only follow enabled channels. A Wix user has to enable channels in the dashboard.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n */\nexport function createFollowedChannel(\n payload: object\n): RequestOptionsFactory<any> {\n function __createFollowedChannel({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [{ path: 'followedChannel.createdDate' }],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.loyalty.socialmedia.v1.followed_channel',\n method: 'POST' as any,\n methodFqn:\n 'wix.loyalty.socialmedia.v1.LoyaltySocialMedia.CreateFollowedChannel',\n packageName: PACKAGE_NAME,\n url: resolveWixLoyaltySocialmediaV1LoyaltySocialMediaUrl({\n protoPath: '/v1/followed-channels',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'followedChannel.createdDate' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createFollowedChannel;\n}\n\n/**\n * Retrieves a list of social media channels followed by the account. The list is ordered by creation date.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n */\nexport function listFollowedChannels(\n payload: object\n): RequestOptionsFactory<any> {\n function __listFollowedChannels({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.loyalty.socialmedia.v1.followed_channel',\n method: 'GET' as any,\n methodFqn:\n 'wix.loyalty.socialmedia.v1.LoyaltySocialMedia.ListFollowedChannels',\n packageName: PACKAGE_NAME,\n url: resolveWixLoyaltySocialmediaV1LoyaltySocialMediaUrl({\n protoPath: '/v1/followed-channels',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'followedChannels.createdDate' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __listFollowedChannels;\n}\n"],"mappings":"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","names":["createFollowedChannel","listFollowedChannels","import_timestamp","import_rest_modules","payload","Type","WebhookIdentityType","createFollowedChannel","sdkTransformError","listFollowedChannels"]}
@@ -1,6 +1,6 @@
1
- import { HttpClient, NonNullablePaths, MaybeContext, BuildRESTFunction } from '@wix/sdk-types';
2
- import { FollowedChannel, ListFollowedChannelsResponse } from './index.typings.mjs';
3
- export { ActionEvent, CreateFollowedChannelRequest, CreateFollowedChannelResponse, DomainEvent, DomainEventBodyOneOf, Empty, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, IdentificationData, IdentificationDataIdOneOf, ListFollowedChannelsRequest, MessageEnvelope, RestoreInfo, Type, WebhookIdentityType } from './index.typings.mjs';
1
+ import { HttpClient, NonNullablePaths, EventDefinition, MaybeContext, BuildRESTFunction, BuildEventDefinition } from '@wix/sdk-types';
2
+ import { FollowedChannel, ListFollowedChannelsResponse, FollowedChannelCreatedEnvelope } from './index.typings.mjs';
3
+ export { ActionEvent, BaseEventMetadata, CreateFollowedChannelRequest, CreateFollowedChannelResponse, DomainEvent, DomainEventBodyOneOf, Empty, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, EventMetadata, IdentificationData, IdentificationDataIdOneOf, ListFollowedChannelsRequest, MessageEnvelope, RestoreInfo, Type, WebhookIdentityType } from './index.typings.mjs';
4
4
 
5
5
  type FollowedChannelNonNullablePaths = `_id` | `accountId` | `channel`;
6
6
  declare function createFollowedChannel$1(httpClient: HttpClient): CreateFollowedChannelSignature;
@@ -29,8 +29,13 @@ interface ListFollowedChannelsSignature {
29
29
  [P in FollowedChannelNonNullablePaths]: `followedChannels.${number}.${P}`;
30
30
  }[FollowedChannelNonNullablePaths]>>;
31
31
  }
32
+ declare const onFollowedChannelCreated$1: EventDefinition<FollowedChannelCreatedEnvelope, "wix.loyalty.socialmedia.v1.followed_channel_created">;
32
33
 
33
34
  declare const createFollowedChannel: MaybeContext<BuildRESTFunction<typeof createFollowedChannel$1> & typeof createFollowedChannel$1>;
34
35
  declare const listFollowedChannels: MaybeContext<BuildRESTFunction<typeof listFollowedChannels$1> & typeof listFollowedChannels$1>;
36
+ /**
37
+ * Triggered when an account follows a new channel.
38
+ */
39
+ declare const onFollowedChannelCreated: BuildEventDefinition<typeof onFollowedChannelCreated$1>;
35
40
 
36
- export { FollowedChannel, ListFollowedChannelsResponse, createFollowedChannel, listFollowedChannels };
41
+ export { FollowedChannel, FollowedChannelCreatedEnvelope, ListFollowedChannelsResponse, createFollowedChannel, listFollowedChannels, onFollowedChannelCreated };
@@ -1,3 +1,9 @@
1
+ // src/loyalty-socialmedia-v1-followed-channel-social-media.public.ts
2
+ import { renameKeysFromRESTResponseToSDKResponse as renameKeysFromRESTResponseToSDKResponse2 } from "@wix/sdk-runtime/rename-all-nested-keys";
3
+ import { transformRESTTimestampToSDKTimestamp as transformRESTTimestampToSDKTimestamp2 } from "@wix/sdk-runtime/transformations/timestamp";
4
+ import { transformPaths as transformPaths2 } from "@wix/sdk-runtime/transformations/transform-paths";
5
+ import { EventDefinition } from "@wix/sdk-types";
6
+
1
7
  // src/loyalty-socialmedia-v1-followed-channel-social-media.universal.ts
2
8
  import { transformError as sdkTransformError } from "@wix/sdk-runtime/transform-error";
3
9
  import {
@@ -193,15 +199,33 @@ function listFollowedChannels3(httpClient) {
193
199
  { httpClient }
194
200
  );
195
201
  }
202
+ var onFollowedChannelCreated = EventDefinition(
203
+ "wix.loyalty.socialmedia.v1.followed_channel_created",
204
+ true,
205
+ (event) => renameKeysFromRESTResponseToSDKResponse2(
206
+ transformPaths2(event, [
207
+ {
208
+ transformFn: transformRESTTimestampToSDKTimestamp2,
209
+ paths: [
210
+ { path: "entity.createdDate" },
211
+ { path: "metadata.eventTime" }
212
+ ]
213
+ }
214
+ ])
215
+ )
216
+ )();
196
217
 
197
218
  // src/loyalty-socialmedia-v1-followed-channel-social-media.context.ts
198
219
  import { createRESTModule } from "@wix/sdk-runtime/rest-modules";
220
+ import { createEventModule } from "@wix/sdk-runtime/event-definition-modules";
199
221
  var createFollowedChannel4 = /* @__PURE__ */ createRESTModule(createFollowedChannel3);
200
222
  var listFollowedChannels4 = /* @__PURE__ */ createRESTModule(listFollowedChannels3);
223
+ var onFollowedChannelCreated2 = createEventModule(onFollowedChannelCreated);
201
224
  export {
202
225
  Type,
203
226
  WebhookIdentityType,
204
227
  createFollowedChannel4 as createFollowedChannel,
205
- listFollowedChannels4 as listFollowedChannels
228
+ listFollowedChannels4 as listFollowedChannels,
229
+ onFollowedChannelCreated2 as onFollowedChannelCreated
206
230
  };
207
231
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/loyalty-socialmedia-v1-followed-channel-social-media.universal.ts","../../src/loyalty-socialmedia-v1-followed-channel-social-media.http.ts","../../src/loyalty-socialmedia-v1-followed-channel-social-media.public.ts","../../src/loyalty-socialmedia-v1-followed-channel-social-media.context.ts"],"sourcesContent":["import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixLoyaltySocialmediaV1FollowedChannel from './loyalty-socialmedia-v1-followed-channel-social-media.http.js';\n\nexport interface FollowedChannel {\n /**\n * Followed social media channel ID.\n * @readonly\n * @format GUID\n */\n _id?: string;\n /**\n * ID of the account that has followed a social media channel.\n * @readonly\n * @format GUID\n */\n accountId?: string;\n /** Followed social media channel. */\n channel?: TypeWithLiterals;\n /**\n * Date and time when an entity for following a social media channel was created.\n * @readonly\n */\n _createdDate?: Date | null;\n}\n\nexport enum Type {\n /** Unknown social media channel type. */\n UNKNOWN_CHANNEL = 'UNKNOWN_CHANNEL',\n /** Facebook social media channel. */\n FACEBOOK = 'FACEBOOK',\n /** Instagram social media channel. */\n INSTAGRAM = 'INSTAGRAM',\n /** LinkedIn social media channel. */\n LINKEDIN = 'LINKEDIN',\n /** X social media channel. */\n X = 'X',\n /** TikTok social media channel. */\n TIKTOK = 'TIKTOK',\n}\n\n/** @enumType */\nexport type TypeWithLiterals =\n | Type\n | 'UNKNOWN_CHANNEL'\n | 'FACEBOOK'\n | 'INSTAGRAM'\n | 'LINKEDIN'\n | 'X'\n | 'TIKTOK';\n\nexport interface CreateFollowedChannelRequest {\n /** Followed social media channel details. */\n followedChannel: FollowedChannel;\n}\n\nexport interface CreateFollowedChannelResponse {\n /** Followed social media channel details. */\n followedChannel?: FollowedChannel;\n}\n\nexport interface ListFollowedChannelsRequest {}\n\nexport interface ListFollowedChannelsResponse {\n /**\n * List of followed social media channels.\n * @maxSize 5\n */\n followedChannels?: FollowedChannel[];\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface Empty {}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\ntype FollowedChannelNonNullablePaths = `_id` | `accountId` | `channel`;\n\n/**\n * Creates an entity for the specified account ID when the account follows a social media channel.\n *\n * Members can only follow enabled channels. A Wix user has to enable channels in the dashboard.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n * @param followedChannel - Followed social media channel details.\n * @public\n * @requiredField followedChannel\n * @requiredField followedChannel.channel\n * @permissionId LOYALTY.FOLLOWED_CHANNEL_CREATE\n * @applicableIdentity APP\n * @applicableIdentity MEMBER\n * @returns Followed social media channel details.\n * @fqn wix.loyalty.socialmedia.v1.LoyaltySocialMedia.CreateFollowedChannel\n */\nexport async function createFollowedChannel(\n followedChannel: NonNullablePaths<FollowedChannel, `channel`>\n): Promise<NonNullablePaths<FollowedChannel, FollowedChannelNonNullablePaths>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n followedChannel: followedChannel,\n });\n\n const reqOpts =\n ambassadorWixLoyaltySocialmediaV1FollowedChannel.createFollowedChannel(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)\n ?.followedChannel!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { followedChannel: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['followedChannel']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves a list of social media channels followed by the account. The list is ordered by creation date.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n * @public\n * @permissionId LOYALTY.FOLLOWED_CHANNEL_READ\n * @applicableIdentity APP\n * @applicableIdentity MEMBER\n * @fqn wix.loyalty.socialmedia.v1.LoyaltySocialMedia.ListFollowedChannels\n */\nexport async function listFollowedChannels(): Promise<\n NonNullablePaths<\n ListFollowedChannelsResponse,\n {\n [P in FollowedChannelNonNullablePaths]: `followedChannels.${number}.${P}`;\n }[FollowedChannelNonNullablePaths]\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({});\n\n const reqOpts =\n ambassadorWixLoyaltySocialmediaV1FollowedChannel.listFollowedChannels(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {},\n singleArgumentUnchanged: false,\n },\n []\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixLoyaltySocialmediaV1LoyaltySocialMediaUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n _: [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/loyalty-social-media',\n destPath: '',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_loyalty_social-media';\n\n/**\n * Creates an entity for the specified account ID when the account follows a social media channel.\n *\n * Members can only follow enabled channels. A Wix user has to enable channels in the dashboard.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n */\nexport function createFollowedChannel(\n payload: object\n): RequestOptionsFactory<any> {\n function __createFollowedChannel({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [{ path: 'followedChannel.createdDate' }],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.loyalty.socialmedia.v1.followed_channel',\n method: 'POST' as any,\n methodFqn:\n 'wix.loyalty.socialmedia.v1.LoyaltySocialMedia.CreateFollowedChannel',\n packageName: PACKAGE_NAME,\n url: resolveWixLoyaltySocialmediaV1LoyaltySocialMediaUrl({\n protoPath: '/v1/followed-channels',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'followedChannel.createdDate' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createFollowedChannel;\n}\n\n/**\n * Retrieves a list of social media channels followed by the account. The list is ordered by creation date.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n */\nexport function listFollowedChannels(\n payload: object\n): RequestOptionsFactory<any> {\n function __listFollowedChannels({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.loyalty.socialmedia.v1.followed_channel',\n method: 'GET' as any,\n methodFqn:\n 'wix.loyalty.socialmedia.v1.LoyaltySocialMedia.ListFollowedChannels',\n packageName: PACKAGE_NAME,\n url: resolveWixLoyaltySocialmediaV1LoyaltySocialMediaUrl({\n protoPath: '/v1/followed-channels',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'followedChannels.createdDate' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __listFollowedChannels;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n FollowedChannel,\n ListFollowedChannelsResponse,\n createFollowedChannel as universalCreateFollowedChannel,\n listFollowedChannels as universalListFollowedChannels,\n} from './loyalty-socialmedia-v1-followed-channel-social-media.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/loyalty' };\n\ntype FollowedChannelNonNullablePaths = `_id` | `accountId` | `channel`;\n\nexport function createFollowedChannel(\n httpClient: HttpClient\n): CreateFollowedChannelSignature {\n return (followedChannel: NonNullablePaths<FollowedChannel, `channel`>) =>\n universalCreateFollowedChannel(\n followedChannel,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateFollowedChannelSignature {\n /**\n * Creates an entity for the specified account ID when the account follows a social media channel.\n *\n * Members can only follow enabled channels. A Wix user has to enable channels in the dashboard.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n * @param - Followed social media channel details.\n * @returns Followed social media channel details.\n */\n (followedChannel: NonNullablePaths<FollowedChannel, `channel`>): Promise<\n NonNullablePaths<FollowedChannel, FollowedChannelNonNullablePaths>\n >;\n}\n\nexport function listFollowedChannels(\n httpClient: HttpClient\n): ListFollowedChannelsSignature {\n return () =>\n universalListFollowedChannels(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ListFollowedChannelsSignature {\n /**\n * Retrieves a list of social media channels followed by the account. The list is ordered by creation date.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n */\n (): Promise<\n NonNullablePaths<\n ListFollowedChannelsResponse,\n {\n [P in FollowedChannelNonNullablePaths]: `followedChannels.${number}.${P}`;\n }[FollowedChannelNonNullablePaths]\n >\n >;\n}\n\nexport {\n ActionEvent,\n CreateFollowedChannelRequest,\n CreateFollowedChannelResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n Empty,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n FollowedChannel,\n IdentificationData,\n IdentificationDataIdOneOf,\n ListFollowedChannelsRequest,\n ListFollowedChannelsResponse,\n MessageEnvelope,\n RestoreInfo,\n Type,\n WebhookIdentityType,\n} from './loyalty-socialmedia-v1-followed-channel-social-media.universal.js';\n","import {\n createFollowedChannel as publicCreateFollowedChannel,\n listFollowedChannels as publicListFollowedChannels,\n} from './loyalty-socialmedia-v1-followed-channel-social-media.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\n\nexport const createFollowedChannel: MaybeContext<\n BuildRESTFunction<typeof publicCreateFollowedChannel> &\n typeof publicCreateFollowedChannel\n> = /*#__PURE__*/ createRESTModule(publicCreateFollowedChannel);\nexport const listFollowedChannels: MaybeContext<\n BuildRESTFunction<typeof publicListFollowedChannels> &\n typeof publicListFollowedChannels\n> = /*#__PURE__*/ createRESTModule(publicListFollowedChannels);\n\nexport {\n Type,\n WebhookIdentityType,\n} from './loyalty-socialmedia-v1-followed-channel-social-media.universal.js';\nexport {\n FollowedChannel,\n CreateFollowedChannelRequest,\n CreateFollowedChannelResponse,\n ListFollowedChannelsRequest,\n ListFollowedChannelsResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n Empty,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n} from './loyalty-socialmedia-v1-followed-channel-social-media.universal.js';\n"],"mappings":"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","names":["payload","Type","WebhookIdentityType","createFollowedChannel","listFollowedChannels","createFollowedChannel","listFollowedChannels","createFollowedChannel","listFollowedChannels"]}
1
+ {"version":3,"sources":["../../src/loyalty-socialmedia-v1-followed-channel-social-media.public.ts","../../src/loyalty-socialmedia-v1-followed-channel-social-media.universal.ts","../../src/loyalty-socialmedia-v1-followed-channel-social-media.http.ts","../../src/loyalty-socialmedia-v1-followed-channel-social-media.context.ts"],"sourcesContent":["import { renameKeysFromRESTResponseToSDKResponse } from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { EventDefinition, HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n FollowedChannel,\n FollowedChannelCreatedEnvelope,\n ListFollowedChannelsResponse,\n createFollowedChannel as universalCreateFollowedChannel,\n listFollowedChannels as universalListFollowedChannels,\n} from './loyalty-socialmedia-v1-followed-channel-social-media.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/loyalty' };\n\ntype FollowedChannelNonNullablePaths = `_id` | `accountId` | `channel`;\n\nexport function createFollowedChannel(\n httpClient: HttpClient\n): CreateFollowedChannelSignature {\n return (followedChannel: NonNullablePaths<FollowedChannel, `channel`>) =>\n universalCreateFollowedChannel(\n followedChannel,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateFollowedChannelSignature {\n /**\n * Creates an entity for the specified account ID when the account follows a social media channel.\n *\n * Members can only follow enabled channels. A Wix user has to enable channels in the dashboard.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n * @param - Followed social media channel details.\n * @returns Followed social media channel details.\n */\n (followedChannel: NonNullablePaths<FollowedChannel, `channel`>): Promise<\n NonNullablePaths<FollowedChannel, FollowedChannelNonNullablePaths>\n >;\n}\n\nexport function listFollowedChannels(\n httpClient: HttpClient\n): ListFollowedChannelsSignature {\n return () =>\n universalListFollowedChannels(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ListFollowedChannelsSignature {\n /**\n * Retrieves a list of social media channels followed by the account. The list is ordered by creation date.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n */\n (): Promise<\n NonNullablePaths<\n ListFollowedChannelsResponse,\n {\n [P in FollowedChannelNonNullablePaths]: `followedChannels.${number}.${P}`;\n }[FollowedChannelNonNullablePaths]\n >\n >;\n}\n\nexport const onFollowedChannelCreated = EventDefinition(\n 'wix.loyalty.socialmedia.v1.followed_channel_created',\n true,\n (event: FollowedChannelCreatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n ])\n )\n)<FollowedChannelCreatedEnvelope>();\n\nexport {\n ActionEvent,\n BaseEventMetadata,\n CreateFollowedChannelRequest,\n CreateFollowedChannelResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n Empty,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n EventMetadata,\n FollowedChannel,\n FollowedChannelCreatedEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n ListFollowedChannelsRequest,\n ListFollowedChannelsResponse,\n MessageEnvelope,\n RestoreInfo,\n Type,\n WebhookIdentityType,\n} from './loyalty-socialmedia-v1-followed-channel-social-media.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixLoyaltySocialmediaV1FollowedChannel from './loyalty-socialmedia-v1-followed-channel-social-media.http.js';\n\nexport interface FollowedChannel {\n /**\n * Followed social media channel ID.\n * @readonly\n * @format GUID\n */\n _id?: string;\n /**\n * ID of the account that has followed a social media channel.\n * @readonly\n * @format GUID\n */\n accountId?: string;\n /** Followed social media channel. */\n channel?: TypeWithLiterals;\n /**\n * Date and time when an entity for following a social media channel was created.\n * @readonly\n */\n _createdDate?: Date | null;\n}\n\nexport enum Type {\n /** Unknown social media channel type. */\n UNKNOWN_CHANNEL = 'UNKNOWN_CHANNEL',\n /** Facebook social media channel. */\n FACEBOOK = 'FACEBOOK',\n /** Instagram social media channel. */\n INSTAGRAM = 'INSTAGRAM',\n /** LinkedIn social media channel. */\n LINKEDIN = 'LINKEDIN',\n /** X social media channel. */\n X = 'X',\n /** TikTok social media channel. */\n TIKTOK = 'TIKTOK',\n}\n\n/** @enumType */\nexport type TypeWithLiterals =\n | Type\n | 'UNKNOWN_CHANNEL'\n | 'FACEBOOK'\n | 'INSTAGRAM'\n | 'LINKEDIN'\n | 'X'\n | 'TIKTOK';\n\nexport interface CreateFollowedChannelRequest {\n /** Followed social media channel details. */\n followedChannel: FollowedChannel;\n}\n\nexport interface CreateFollowedChannelResponse {\n /** Followed social media channel details. */\n followedChannel?: FollowedChannel;\n}\n\nexport interface ListFollowedChannelsRequest {}\n\nexport interface ListFollowedChannelsResponse {\n /**\n * List of followed social media channels.\n * @maxSize 5\n */\n followedChannels?: FollowedChannel[];\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface Empty {}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface BaseEventMetadata {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n}\n\nexport interface EventMetadata extends BaseEventMetadata {\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\nexport interface FollowedChannelCreatedEnvelope {\n entity: FollowedChannel;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when an account follows a new channel.\n * @permissionScope Read Loyalty\n * @permissionScopeId SCOPE.DC-LOYALTY.READ-LOYALTY\n * @permissionScope Manage Loyalty\n * @permissionScopeId SCOPE.DC-LOYALTY.MANAGE-LOYALTY\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionId LOYALTY.FOLLOWED_CHANNEL_READ\n * @webhook\n * @eventType wix.loyalty.socialmedia.v1.followed_channel_created\n * @slug created\n */\nexport declare function onFollowedChannelCreated(\n handler: (event: FollowedChannelCreatedEnvelope) => void | Promise<void>\n): void;\n\ntype FollowedChannelNonNullablePaths = `_id` | `accountId` | `channel`;\n\n/**\n * Creates an entity for the specified account ID when the account follows a social media channel.\n *\n * Members can only follow enabled channels. A Wix user has to enable channels in the dashboard.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n * @param followedChannel - Followed social media channel details.\n * @public\n * @requiredField followedChannel\n * @requiredField followedChannel.channel\n * @permissionId LOYALTY.FOLLOWED_CHANNEL_CREATE\n * @applicableIdentity APP\n * @applicableIdentity MEMBER\n * @returns Followed social media channel details.\n * @fqn wix.loyalty.socialmedia.v1.LoyaltySocialMedia.CreateFollowedChannel\n */\nexport async function createFollowedChannel(\n followedChannel: NonNullablePaths<FollowedChannel, `channel`>\n): Promise<NonNullablePaths<FollowedChannel, FollowedChannelNonNullablePaths>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n followedChannel: followedChannel,\n });\n\n const reqOpts =\n ambassadorWixLoyaltySocialmediaV1FollowedChannel.createFollowedChannel(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)\n ?.followedChannel!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { followedChannel: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['followedChannel']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Retrieves a list of social media channels followed by the account. The list is ordered by creation date.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n * @public\n * @permissionId LOYALTY.FOLLOWED_CHANNEL_READ\n * @applicableIdentity APP\n * @applicableIdentity MEMBER\n * @fqn wix.loyalty.socialmedia.v1.LoyaltySocialMedia.ListFollowedChannels\n */\nexport async function listFollowedChannels(): Promise<\n NonNullablePaths<\n ListFollowedChannelsResponse,\n {\n [P in FollowedChannelNonNullablePaths]: `followedChannels.${number}.${P}`;\n }[FollowedChannelNonNullablePaths]\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({});\n\n const reqOpts =\n ambassadorWixLoyaltySocialmediaV1FollowedChannel.listFollowedChannels(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {},\n singleArgumentUnchanged: false,\n },\n []\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixLoyaltySocialmediaV1LoyaltySocialMediaUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n _: [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/loyalty-social-media',\n destPath: '',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/loyalty-social-media',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_loyalty_social-media';\n\n/**\n * Creates an entity for the specified account ID when the account follows a social media channel.\n *\n * Members can only follow enabled channels. A Wix user has to enable channels in the dashboard.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n */\nexport function createFollowedChannel(\n payload: object\n): RequestOptionsFactory<any> {\n function __createFollowedChannel({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [{ path: 'followedChannel.createdDate' }],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.loyalty.socialmedia.v1.followed_channel',\n method: 'POST' as any,\n methodFqn:\n 'wix.loyalty.socialmedia.v1.LoyaltySocialMedia.CreateFollowedChannel',\n packageName: PACKAGE_NAME,\n url: resolveWixLoyaltySocialmediaV1LoyaltySocialMediaUrl({\n protoPath: '/v1/followed-channels',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'followedChannel.createdDate' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createFollowedChannel;\n}\n\n/**\n * Retrieves a list of social media channels followed by the account. The list is ordered by creation date.\n *\n * >**Note:**\n * >This method requires [visitor or member authentication](https://dev.wix.com/docs/build-apps/develop-your-app/access/about-identities).\n */\nexport function listFollowedChannels(\n payload: object\n): RequestOptionsFactory<any> {\n function __listFollowedChannels({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.loyalty.socialmedia.v1.followed_channel',\n method: 'GET' as any,\n methodFqn:\n 'wix.loyalty.socialmedia.v1.LoyaltySocialMedia.ListFollowedChannels',\n packageName: PACKAGE_NAME,\n url: resolveWixLoyaltySocialmediaV1LoyaltySocialMediaUrl({\n protoPath: '/v1/followed-channels',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'followedChannels.createdDate' }],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __listFollowedChannels;\n}\n","import {\n createFollowedChannel as publicCreateFollowedChannel,\n listFollowedChannels as publicListFollowedChannels,\n} from './loyalty-socialmedia-v1-followed-channel-social-media.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { createEventModule } from '@wix/sdk-runtime/event-definition-modules';\nimport {\n BuildRESTFunction,\n MaybeContext,\n BuildEventDefinition,\n} from '@wix/sdk-types';\nimport { onFollowedChannelCreated as publicOnFollowedChannelCreated } from './loyalty-socialmedia-v1-followed-channel-social-media.public.js';\n\nexport const createFollowedChannel: MaybeContext<\n BuildRESTFunction<typeof publicCreateFollowedChannel> &\n typeof publicCreateFollowedChannel\n> = /*#__PURE__*/ createRESTModule(publicCreateFollowedChannel);\nexport const listFollowedChannels: MaybeContext<\n BuildRESTFunction<typeof publicListFollowedChannels> &\n typeof publicListFollowedChannels\n> = /*#__PURE__*/ createRESTModule(publicListFollowedChannels);\n/**\n * Triggered when an account follows a new channel.\n */\nexport const onFollowedChannelCreated: BuildEventDefinition<\n typeof publicOnFollowedChannelCreated\n> = createEventModule(publicOnFollowedChannelCreated);\n\nexport {\n Type,\n WebhookIdentityType,\n} from './loyalty-socialmedia-v1-followed-channel-social-media.universal.js';\nexport {\n FollowedChannel,\n CreateFollowedChannelRequest,\n CreateFollowedChannelResponse,\n ListFollowedChannelsRequest,\n ListFollowedChannelsResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n Empty,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n BaseEventMetadata,\n EventMetadata,\n FollowedChannelCreatedEnvelope,\n} from './loyalty-socialmedia-v1-followed-channel-social-media.universal.js';\n"],"mappings":"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","names":["renameKeysFromRESTResponseToSDKResponse","transformRESTTimestampToSDKTimestamp","transformPaths","payload","Type","WebhookIdentityType","createFollowedChannel","listFollowedChannels","createFollowedChannel","listFollowedChannels","renameKeysFromRESTResponseToSDKResponse","transformPaths","transformRESTTimestampToSDKTimestamp","createFollowedChannel","listFollowedChannels","onFollowedChannelCreated"]}