@amityco/ts-sdk 7.8.7-495208f.0 → 7.8.7-4d7b9f99.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (20) hide show
  1. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/fileRepository/api/getFile.d.ts +1 -1
  2. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/fileRepository/api/getFile.d.ts.map +1 -1
  3. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/fileRepository/api/getFile.js.map +1 -1
  4. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/categoryLinkedObject.js +1 -1
  5. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/categoryLinkedObject.js.map +1 -1
  6. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/communityLinkedObject.d.ts.map +1 -1
  7. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/communityLinkedObject.js +12 -1
  8. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/communityLinkedObject.js.map +1 -1
  9. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/tsconfig.tsbuildinfo +1 -1
  10. package/dist/fileRepository/api/getFile.d.ts +1 -1
  11. package/dist/fileRepository/api/getFile.d.ts.map +1 -1
  12. package/dist/index.cjs.js +10 -1
  13. package/dist/index.esm.js +10 -1
  14. package/dist/index.umd.js +1 -1
  15. package/dist/utils/linkedObject/communityLinkedObject.d.ts.map +1 -1
  16. package/package.json +1 -1
  17. package/src/fileRepository/api/getFile.ts +1 -1
  18. package/src/utils/linkedObject/categoryLinkedObject.ts +1 -1
  19. package/src/utils/linkedObject/communityLinkedObject.ts +11 -0
  20. package/tsconfig.tsbuildinfo +1 -1
@@ -13,7 +13,7 @@
13
13
  * @async
14
14
  */
15
15
  export declare const getFile: {
16
- <T extends Amity.FileType = any>(fileId: Amity.File<any>['fileId']): Promise<Amity.Cached<Amity.File>>;
16
+ <T extends Amity.FileType = any>(fileId: Amity.File<T>["fileId"]): Promise<Amity.Cached<Amity.File>>;
17
17
  /**
18
18
  * ```js
19
19
  * import { getFile } from '@amityco/ts-sdk'
@@ -1 +1 @@
1
- {"version":3,"file":"getFile.d.ts","sourceRoot":"","sources":["../../../src/fileRepository/api/getFile.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO;6CACV,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAChC,QAAQ,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IAmBpC;;;;;;;;;;;;OAYG;oBACwB,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,GAAG,SAAS;CAhB1F,CAAC"}
1
+ {"version":3,"file":"getFile.d.ts","sourceRoot":"","sources":["../../../src/fileRepository/api/getFile.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO;uEAEjB,QAAQ,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IAmBpC;;;;;;;;;;;;OAYG;oBACwB,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,GAAG,SAAS;CAhB1F,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getFile.js","sourceRoot":"","sources":["../../../src/fileRepository/api/getFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D;;EAEE;AACF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAC1B,MAAiC,EACE,EAAE;IACrC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAEnC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAuB,iBAAiB,MAAM,EAAE,CAAC,CAAC;IAExF,uDAAuD;IACvD,yBAAyB;IAEzB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5C,IAAI,MAAM,CAAC,KAAK;QAAE,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEjE,OAAO;QACL,IAAI;QACJ,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC;AACF,yBAAyB;AAEzB;;;;;;;;;;;;GAYG;AACH,OAAO,CAAC,OAAO,GAAG,CAAC,MAAiC,EAAwC,EAAE;IAC5F,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;IAE3C,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO;IAE1B,MAAM,MAAM,GAAG,aAAa,CAAa,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAElE,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { getActiveClient } from '~/client/api';\n\nimport { pullFromCache } from '~/cache/api';\nimport { ingestInCache } from '~/cache/api/ingestInCache';\n\n/* begin_public_function\n id: file.get\n*/\n/**\n * ```js\n * import { getFile } from '@amityco/ts-sdk'\n * const file = await getFile('foo')\n * ```\n *\n * Fetches a {@link Amity.File} object\n *\n * @param fileId the ID of the {@link Amity.File} to fetch\n * @returns the associated {@link Amity.File} object\n *\n * @category File API\n * @async\n */\nexport const getFile = async <T extends Amity.FileType = any>(\n fileId: Amity.File<any>['fileId'],\n): Promise<Amity.Cached<Amity.File>> => {\n const client = getActiveClient();\n client.log('file/getFile', fileId);\n\n const { data } = await client.http.get<Amity.FilePayload<T>>(`/api/v3/files/${fileId}`);\n\n // API-FIX: backend bad serializer issue. it should be:\n // const { files } = data\n\n const cachedAt = client.cache && Date.now();\n if (client.cache) ingestInCache({ files: [data] }, { cachedAt });\n\n return {\n data,\n cachedAt,\n };\n};\n/* end_public_function */\n\n/**\n * ```js\n * import { getFile } from '@amityco/ts-sdk'\n * const file = getFile.locally('foo')\n * ```\n *\n * Fetches a {@link Amity.File} object from cache\n *\n * @param fileId the ID of the {@link Amity.File} to fetch\n * @returns the associated {@link Amity.File} object\n *\n * @category File API\n */\ngetFile.locally = (fileId: Amity.File<any>['fileId']): Amity.Cached<Amity.File> | undefined => {\n const client = getActiveClient();\n client.log('file/getFile.locally', fileId);\n\n if (!client.cache) return;\n\n const cached = pullFromCache<Amity.File>(['file', 'get', fileId]);\n\n if (!cached) return;\n\n return {\n data: cached.data,\n cachedAt: cached.cachedAt,\n };\n};\n"]}
1
+ {"version":3,"file":"getFile.js","sourceRoot":"","sources":["../../../src/fileRepository/api/getFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D;;EAEE;AACF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAC1B,MAA+B,EACI,EAAE;IACrC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAEnC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAuB,iBAAiB,MAAM,EAAE,CAAC,CAAC;IAExF,uDAAuD;IACvD,yBAAyB;IAEzB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5C,IAAI,MAAM,CAAC,KAAK;QAAE,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEjE,OAAO;QACL,IAAI;QACJ,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC;AACF,yBAAyB;AAEzB;;;;;;;;;;;;GAYG;AACH,OAAO,CAAC,OAAO,GAAG,CAAC,MAAiC,EAAwC,EAAE;IAC5F,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;IAE3C,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO;IAE1B,MAAM,MAAM,GAAG,aAAa,CAAa,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAElE,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { getActiveClient } from '~/client/api';\n\nimport { pullFromCache } from '~/cache/api';\nimport { ingestInCache } from '~/cache/api/ingestInCache';\n\n/* begin_public_function\n id: file.get\n*/\n/**\n * ```js\n * import { getFile } from '@amityco/ts-sdk'\n * const file = await getFile('foo')\n * ```\n *\n * Fetches a {@link Amity.File} object\n *\n * @param fileId the ID of the {@link Amity.File} to fetch\n * @returns the associated {@link Amity.File} object\n *\n * @category File API\n * @async\n */\nexport const getFile = async <T extends Amity.FileType = any>(\n fileId: Amity.File<T>['fileId'],\n): Promise<Amity.Cached<Amity.File>> => {\n const client = getActiveClient();\n client.log('file/getFile', fileId);\n\n const { data } = await client.http.get<Amity.FilePayload<T>>(`/api/v3/files/${fileId}`);\n\n // API-FIX: backend bad serializer issue. it should be:\n // const { files } = data\n\n const cachedAt = client.cache && Date.now();\n if (client.cache) ingestInCache({ files: [data] }, { cachedAt });\n\n return {\n data,\n cachedAt,\n };\n};\n/* end_public_function */\n\n/**\n * ```js\n * import { getFile } from '@amityco/ts-sdk'\n * const file = getFile.locally('foo')\n * ```\n *\n * Fetches a {@link Amity.File} object from cache\n *\n * @param fileId the ID of the {@link Amity.File} to fetch\n * @returns the associated {@link Amity.File} object\n *\n * @category File API\n */\ngetFile.locally = (fileId: Amity.File<any>['fileId']): Amity.Cached<Amity.File> | undefined => {\n const client = getActiveClient();\n client.log('file/getFile.locally', fileId);\n\n if (!client.cache) return;\n\n const cached = pullFromCache<Amity.File>(['file', 'get', fileId]);\n\n if (!cached) return;\n\n return {\n data: cached.data,\n cachedAt: cached.cachedAt,\n };\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { pullFromCache } from '~/cache/api';
1
+ import { pullFromCache } from '~/cache/api/pullFromCache';
2
2
  export const categoryLinkedObject = (category) => {
3
3
  return Object.assign(Object.assign({}, category), { get avatar() {
4
4
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"categoryLinkedObject.js","sourceRoot":"","sources":["../../../src/utils/linkedObject/categoryLinkedObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAAgC,EAAkB,EAAE;IACvF,uCACK,QAAQ,KACX,IAAI,MAAM;;YACR,IAAI,CAAC,QAAQ,CAAC,YAAY;gBAAE,OAAO,SAAS,CAAC;YAE7C,MAAM,MAAM,GAAG,MAAA,aAAa,CAAsB;gBAChD,MAAM;gBACN,KAAK;gBACL,GAAG,QAAQ,CAAC,YAAY,EAAE;aAC3B,CAAC,0CAAE,IAAI,CAAC;YAET,OAAO,MAAM,CAAC;QAChB,CAAC,IACD;AACJ,CAAC,CAAC","sourcesContent":["import { pullFromCache } from '~/cache/api';\n\nexport const categoryLinkedObject = (category: Amity.InternalCategory): Amity.Category => {\n return {\n ...category,\n get avatar(): Amity.File<'image'> | undefined {\n if (!category.avatarFileId) return undefined;\n\n const avatar = pullFromCache<Amity.File<'image'>>([\n 'file',\n 'get',\n `${category.avatarFileId}`,\n ])?.data;\n\n return avatar;\n },\n };\n};\n"]}
1
+ {"version":3,"file":"categoryLinkedObject.js","sourceRoot":"","sources":["../../../src/utils/linkedObject/categoryLinkedObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAAgC,EAAkB,EAAE;IACvF,uCACK,QAAQ,KACX,IAAI,MAAM;;YACR,IAAI,CAAC,QAAQ,CAAC,YAAY;gBAAE,OAAO,SAAS,CAAC;YAE7C,MAAM,MAAM,GAAG,MAAA,aAAa,CAAsB;gBAChD,MAAM;gBACN,KAAK;gBACL,GAAG,QAAQ,CAAC,YAAY,EAAE;aAC3B,CAAC,0CAAE,IAAI,CAAC;YAET,OAAO,MAAM,CAAC;QAChB,CAAC,IACD;AACJ,CAAC,CAAC","sourcesContent":["import { pullFromCache } from '~/cache/api/pullFromCache';\n\nexport const categoryLinkedObject = (category: Amity.InternalCategory): Amity.Category => {\n return {\n ...category,\n get avatar(): Amity.File<'image'> | undefined {\n if (!category.avatarFileId) return undefined;\n\n const avatar = pullFromCache<Amity.File<'image'>>([\n 'file',\n 'get',\n `${category.avatarFileId}`,\n ])?.data;\n\n return avatar;\n },\n };\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"communityLinkedObject.d.ts","sourceRoot":"","sources":["../../../src/utils/linkedObject/communityLinkedObject.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,qBAAqB,cAAe,MAAM,iBAAiB,KAAG,MAAM,SAgDhF,CAAC"}
1
+ {"version":3,"file":"communityLinkedObject.d.ts","sourceRoot":"","sources":["../../../src/utils/linkedObject/communityLinkedObject.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,qBAAqB,cAAe,MAAM,iBAAiB,KAAG,MAAM,SAyDhF,CAAC"}
@@ -1,11 +1,22 @@
1
+ import { pullFromCache } from '~/cache/api/pullFromCache';
1
2
  import { getMyJoinRequest } from '~/communityRepository/internalAPI/getMyJoinRequest';
2
3
  import { joinRequest } from '~/communityRepository/internalAPI/joinCommunity';
3
4
  import { getJoinRequests } from '~/communityRepository/observers/getJoinRequests';
4
5
  import { createInvitations } from '~/invitationRepository/internalApi';
5
6
  import { getInvitation } from '~/invitationRepository/internalApi/getInvitation';
6
7
  import { getInvitations } from '~/invitationRepository/observers/getInvitations';
8
+ import { categoryLinkedObject } from './categoryLinkedObject';
7
9
  export const communityLinkedObject = (community) => {
8
- return Object.assign(Object.assign({}, community), { createInvitations: async (userIds) => {
10
+ return Object.assign(Object.assign({}, community), { get categories() {
11
+ return community.categoryIds
12
+ .map(categoryId => {
13
+ const cacheData = pullFromCache(['category', 'get', categoryId]);
14
+ if (cacheData === null || cacheData === void 0 ? void 0 : cacheData.data)
15
+ return categoryLinkedObject(cacheData.data);
16
+ return undefined;
17
+ })
18
+ .filter(category => !!category);
19
+ }, createInvitations: async (userIds) => {
9
20
  await createInvitations({
10
21
  type: "communityMemberInvite" /* InvitationTypeEnum.CommunityMemberInvite */,
11
22
  targetType: 'community',
@@ -1 +1 @@
1
- {"version":3,"file":"communityLinkedObject.js","sourceRoot":"","sources":["../../../src/utils/linkedObject/communityLinkedObject.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oDAAoD,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AAEjF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,SAAkC,EAAmB,EAAE;IAC3F,uCACK,SAAS,KACZ,iBAAiB,EAAE,KAAK,EAAE,OAAiB,EAAiB,EAAE;YAC5D,MAAM,iBAAiB,CAAC;gBACtB,IAAI,wEAA0C;gBAC9C,UAAU,EAAE,WAAW;gBACvB,QAAQ,EAAE,SAAS,CAAC,WAAW;gBAC/B,OAAO;aACR,CAAC,CAAC;QACL,CAAC,EACD,oBAAoB,EAAE,CACpB,MAA6E,EAC7E,QAAwD,EACpC,EAAE;YACtB,OAAO,cAAc,iCAEd,MAAM,KACT,QAAQ,EAAE,SAAS,CAAC,WAAW,EAC/B,UAAU,EAAE,WAAW,EACvB,IAAI,6EAEN,QAAQ,CACT,CAAC;QACJ,CAAC,EACD,aAAa,EAAE,KAAK,IAAI,EAAE;YACxB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC;QACd,CAAC,EACD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,EAEpD,eAAe,EAAE,CACf,MAAmD,EACnD,QAAyD,EACrC,EAAE;YACtB,OAAO,eAAe,iCAEf,MAAM,KACT,WAAW,EAAE,SAAS,CAAC,WAAW,KAEpC,QAAQ,CACT,CAAC;QACJ,CAAC,EACD,gBAAgB,EAAE,KAAK,IAAI,EAAE;YAC3B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC,IACD;AACJ,CAAC,CAAC","sourcesContent":["import { InvitationTypeEnum } from '~/@types';\nimport { getMyJoinRequest } from '~/communityRepository/internalAPI/getMyJoinRequest';\nimport { joinRequest } from '~/communityRepository/internalAPI/joinCommunity';\nimport { getJoinRequests } from '~/communityRepository/observers/getJoinRequests';\nimport { createInvitations } from '~/invitationRepository/internalApi';\nimport { getInvitation } from '~/invitationRepository/internalApi/getInvitation';\nimport { getInvitations } from '~/invitationRepository/observers/getInvitations';\n\nexport const communityLinkedObject = (community: Amity.InternalCommunity): Amity.Community => {\n return {\n ...community,\n createInvitations: async (userIds: string[]): Promise<void> => {\n await createInvitations({\n type: InvitationTypeEnum.CommunityMemberInvite,\n targetType: 'community',\n targetId: community.communityId,\n userIds,\n });\n },\n getMemberInvitations: (\n params: Pick<Amity.InvitationLiveCollection, 'limit' | 'sortBy' | 'statuses'>,\n callback: Amity.LiveCollectionCallback<Amity.Invitation>,\n ): Amity.Unsubscriber => {\n return getInvitations(\n {\n ...params,\n targetId: community.communityId,\n targetType: 'community',\n type: InvitationTypeEnum.CommunityMemberInvite,\n },\n callback,\n );\n },\n getInvitation: async () => {\n const { data } = await getInvitation('community', community.communityId);\n return data;\n },\n join: async () => joinRequest(community.communityId),\n\n getJoinRequests: (\n params: Omit<Amity.QueryJoinRequest, 'communityId'>,\n callback: Amity.LiveCollectionCallback<Amity.JoinRequest>,\n ): Amity.Unsubscriber => {\n return getJoinRequests(\n {\n ...params,\n communityId: community.communityId,\n },\n callback,\n );\n },\n getMyJoinRequest: async () => {\n const { data } = await getMyJoinRequest(community.communityId);\n return data;\n },\n };\n};\n"]}
1
+ {"version":3,"file":"communityLinkedObject.js","sourceRoot":"","sources":["../../../src/utils/linkedObject/communityLinkedObject.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oDAAoD,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,SAAkC,EAAmB,EAAE;IAC3F,uCACK,SAAS,KACZ,IAAI,UAAU;YACZ,OAAO,SAAS,CAAC,WAAW;iBACzB,GAAG,CAAC,UAAU,CAAC,EAAE;gBAChB,MAAM,SAAS,GAAG,aAAa,CAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;gBACjF,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI;oBAAE,OAAO,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACjE,OAAO,SAAS,CAAC;YACnB,CAAC,CAAC;iBACD,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC,EACD,iBAAiB,EAAE,KAAK,EAAE,OAAiB,EAAiB,EAAE;YAC5D,MAAM,iBAAiB,CAAC;gBACtB,IAAI,wEAA0C;gBAC9C,UAAU,EAAE,WAAW;gBACvB,QAAQ,EAAE,SAAS,CAAC,WAAW;gBAC/B,OAAO;aACR,CAAC,CAAC;QACL,CAAC,EACD,oBAAoB,EAAE,CACpB,MAA6E,EAC7E,QAAwD,EACpC,EAAE;YACtB,OAAO,cAAc,iCAEd,MAAM,KACT,QAAQ,EAAE,SAAS,CAAC,WAAW,EAC/B,UAAU,EAAE,WAAW,EACvB,IAAI,6EAEN,QAAQ,CACT,CAAC;QACJ,CAAC,EACD,aAAa,EAAE,KAAK,IAAI,EAAE;YACxB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC;QACd,CAAC,EACD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,EAEpD,eAAe,EAAE,CACf,MAAmD,EACnD,QAAyD,EACrC,EAAE;YACtB,OAAO,eAAe,iCAEf,MAAM,KACT,WAAW,EAAE,SAAS,CAAC,WAAW,KAEpC,QAAQ,CACT,CAAC;QACJ,CAAC,EACD,gBAAgB,EAAE,KAAK,IAAI,EAAE;YAC3B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC,IACD;AACJ,CAAC,CAAC","sourcesContent":["import { InvitationTypeEnum } from '~/@types';\nimport { pullFromCache } from '~/cache/api/pullFromCache';\nimport { getMyJoinRequest } from '~/communityRepository/internalAPI/getMyJoinRequest';\nimport { joinRequest } from '~/communityRepository/internalAPI/joinCommunity';\nimport { getJoinRequests } from '~/communityRepository/observers/getJoinRequests';\nimport { createInvitations } from '~/invitationRepository/internalApi';\nimport { getInvitation } from '~/invitationRepository/internalApi/getInvitation';\nimport { getInvitations } from '~/invitationRepository/observers/getInvitations';\nimport { categoryLinkedObject } from './categoryLinkedObject';\n\nexport const communityLinkedObject = (community: Amity.InternalCommunity): Amity.Community => {\n return {\n ...community,\n get categories(): Amity.Category[] {\n return community.categoryIds\n .map(categoryId => {\n const cacheData = pullFromCache<Amity.Category>(['category', 'get', categoryId]);\n if (cacheData?.data) return categoryLinkedObject(cacheData.data);\n return undefined;\n })\n .filter(category => !!category);\n },\n createInvitations: async (userIds: string[]): Promise<void> => {\n await createInvitations({\n type: InvitationTypeEnum.CommunityMemberInvite,\n targetType: 'community',\n targetId: community.communityId,\n userIds,\n });\n },\n getMemberInvitations: (\n params: Pick<Amity.InvitationLiveCollection, 'limit' | 'sortBy' | 'statuses'>,\n callback: Amity.LiveCollectionCallback<Amity.Invitation>,\n ): Amity.Unsubscriber => {\n return getInvitations(\n {\n ...params,\n targetId: community.communityId,\n targetType: 'community',\n type: InvitationTypeEnum.CommunityMemberInvite,\n },\n callback,\n );\n },\n getInvitation: async () => {\n const { data } = await getInvitation('community', community.communityId);\n return data;\n },\n join: async () => joinRequest(community.communityId),\n\n getJoinRequests: (\n params: Omit<Amity.QueryJoinRequest, 'communityId'>,\n callback: Amity.LiveCollectionCallback<Amity.JoinRequest>,\n ): Amity.Unsubscriber => {\n return getJoinRequests(\n {\n ...params,\n communityId: community.communityId,\n },\n callback,\n );\n },\n getMyJoinRequest: async () => {\n const { data } = await getMyJoinRequest(community.communityId);\n return data;\n },\n };\n};\n"]}