@ludo.ninja/api 1.0.4 → 1.0.6

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 (109) hide show
  1. package/build/config/index.d.ts +2 -0
  2. package/build/config/index.js +123 -0
  3. package/build/config/typePolicies.d.ts +2 -0
  4. package/build/config/typePolicies.js +41 -0
  5. package/build/cookies/index.d.ts +17 -0
  6. package/build/cookies/index.js +76 -0
  7. package/build/graphql_tools/__generated__/schema.d.ts +1301 -1301
  8. package/build/graphql_tools/__generated__/schema.js +1413 -1443
  9. package/build/hosts/index.js +21 -21
  10. package/build/index.d.ts +3 -1
  11. package/build/index.js +5 -1
  12. package/package.json +8 -3
  13. package/src/config/index.ts +143 -0
  14. package/src/config/typePolicies.ts +40 -0
  15. package/src/cookies/index.ts +82 -0
  16. package/src/documents/server-assets/queries/useFetchAsset/FetchAsset.graphql +8 -8
  17. package/src/documents/server-assets/queries/useFetchAssetByBlockchain/FetchAssetByBlockchain.graphql +2 -12
  18. package/src/documents/server-assets/queries/useFetchAssets/FetchAssets.graphql +8 -8
  19. package/src/documents/server-assets/queries/useFetchDynamicAssetLikes/FetchDynamicAssetLikes.graphql +2 -2
  20. package/src/documents/server-assets/queries/useFetchDynamicAssetsLikes/FetchDynamicAssetsLikes.graphql +3 -3
  21. package/src/documents/server-collection/queries/useFetchCollections/FetchCollectionAssets.graphql +22 -22
  22. package/src/documents/server-collection/queries/useFetchDynamicCollectionData/FetchDynamicCollectionData.graphql +30 -30
  23. package/src/documents/server-collection/queries/useFetchDynamicCollectionsData/FetchDynamicCollectionsData.graphql +30 -30
  24. package/src/documents/server-galleries/mutations/useAddChangeGalleryBanner/UploadGalleryBanner.graphql +2 -2
  25. package/src/documents/server-galleries/mutations/useCreateFavorites/CreateFavoriteListV2.graphql +13 -13
  26. package/src/documents/server-galleries/mutations/useCreateFavorites/CreateFavorites.graphql +8 -13
  27. package/src/documents/server-galleries/mutations/useCreateGallery/CreateGallery.graphql +3 -13
  28. package/src/documents/server-galleries/mutations/useCreateGallery/CreateGalleryV2.graphql +8 -13
  29. package/src/documents/server-galleries/mutations/useDeleteGalleryBanner/DeleteGalleryBanner.graphql +3 -3
  30. package/src/documents/server-galleries/queries/useFetchGallery/FetchGallery.graphql +16 -16
  31. package/src/documents/server-galleries/queries/useFetchGallery/FetchGalleryCreations.graphql +2 -10
  32. package/src/documents/server-galleries/queries/useFetchGallery/FetchGalleryV2.graphql +17 -17
  33. package/src/documents/server-galleries/queries/useFetchUserFavorites/FetchUserFavorites.graphql +5 -9
  34. package/src/documents/server-galleries/queries/useFetchUserFavorites/FetchUserFavoritesV2.graphql +2 -6
  35. package/src/documents/server-galleries/queries/useFetchUserGalleries/FetchUserGalleries.graphql +5 -9
  36. package/src/documents/server-galleries/queries/useFetchUserGalleries/FetchUserGalleriesV2.graphql +2 -6
  37. package/src/documents/server-identities/mutations/SignInMetamask.graphql +8 -16
  38. package/src/documents/server-identities/mutations/useAddWalletElrond/AddWalletElrond.graphql +3 -3
  39. package/src/documents/server-identities/mutations/useAddWalletFlow/AddWalletFlow.graphql +3 -3
  40. package/src/documents/server-identities/mutations/useAddWalletMetamask/AddWalletMetamask.graphql +3 -11
  41. package/src/documents/server-identities/mutations/useAddWalletSolana/AddWalletSolana.graphql +3 -3
  42. package/src/documents/server-identities/mutations/useAddWalletTezos/AddWalletTezos.graphql +3 -3
  43. package/src/documents/server-identities/mutations/useCreateNonce/CreateNonce.graphql +3 -7
  44. package/src/documents/server-identities/mutations/useRefrechToken/RefreshToken.graphql +8 -8
  45. package/src/documents/server-identities/mutations/useRevokeToken/RevokeToken.graphql +3 -3
  46. package/src/documents/server-identities/mutations/useSignInElrond/SignInElrond.graphql +9 -9
  47. package/src/documents/server-identities/mutations/useSignInFlow/SignInFlow.graphql +9 -9
  48. package/src/documents/server-identities/mutations/useSignInMetamask/SignInMetamask.graphql +1 -5
  49. package/src/documents/server-identities/mutations/useSignInSolana/SignInSolana.graphql +9 -9
  50. package/src/documents/server-identities/mutations/useSignInTezos/SignInTezos.graphql +9 -9
  51. package/src/documents/server-identities/mutations/useUpdateProfile/UpdateProfile.graphql +15 -20
  52. package/src/documents/server-identities/queries/useFetchProfile/FetchProfile.graphql +5 -5
  53. package/src/documents/server-identities/queries/useFetchWallets/FetchUserWallets.graphql +1 -1
  54. package/src/documents/server-medias/queries/useFetchUserPic/FetchUserpic.graphql +3 -3
  55. package/src/documents/server-preferences/queries/useFetchExpectations/FetchExpectations.graphql +6 -6
  56. package/src/documents/server-preferences/queries/useFetchInterests/FetchUserInterests.graphql +6 -6
  57. package/src/documents/server-preferences/queries/useFetchSearchResultTimeSelection/FetchSearchResultTimeSelections.graphql +6 -6
  58. package/src/documents/server-preferences/queries/useFetchUserExpectations/FetchUserExpectations.graphql +7 -7
  59. package/src/documents/server-preferences/queries/useFetchUserInterests/FetchUserInterests.graphql +8 -8
  60. package/src/documents/server-preferences/queries/useSearchResultBlockchainSelections/FetchSearchResultBlockchainSelections.graphql +6 -6
  61. package/src/documents/server-preferences/queries/useSearchResultCategorySelections/FetchSearchResultCategorySelections.graphql +6 -6
  62. package/src/documents/server-preferences/queries/useSearchResultStatusSelections/FetchSearchResultStatusSelection.graphql +6 -6
  63. package/src/documents/server-preferences/queries/useSearchResultTypeSelections/FetchSetsSearchResultTypeSelections.graphql +6 -6
  64. package/src/documents/server-search/queries/useFetchAssetsCount/FetchAssetsCount.graphql +1 -1
  65. package/src/documents/server-search/queries/useFetchCollections/FindCollections.graphql +15 -25
  66. package/src/documents/server-search/queries/useFetchCreationsByItemType/FetchCreationsByItemType.graphql +2 -10
  67. package/src/documents/server-search/queries/useFetchNetWorth/FetchProfile.graphql +5 -5
  68. package/src/documents/server-search/queries/useFindCreations/FindCreations.graphql +2 -12
  69. package/src/documents/server-search/queries/useFindSets/FindSets.graphql +2 -12
  70. package/src/documents/server-search/queries/useFindShowcaseItems/FetchShowcaseItems.graphql +2 -12
  71. package/src/documents/server-search/queries/useFindUserCreations/FindUserCreations.graphql +3 -12
  72. package/src/documents/server-search/queries/useFindUserShowcaseItems/FetchFindUserShowcaseItems.graphql +2 -12
  73. package/src/graphql_tools/__generated__/schema.graphql +76 -22
  74. package/src/graphql_tools/__generated__/schema.ts +5115 -3499
  75. package/src/graphql_tools/schemas/asset/type/media.graphqls +1 -1
  76. package/src/graphql_tools/schemas/assets/asset/type/assetMarket.graphqls +1 -1
  77. package/src/graphql_tools/schemas/assets/asset/type/assetPrice.graphqls +1 -1
  78. package/src/graphql_tools/schemas/assets/asset/type/attribute.graphqls +1 -1
  79. package/src/graphql_tools/schemas/assets/asset/type/media.graphqls +0 -1
  80. package/src/graphql_tools/schemas/collection/type/attribute.graphqls +1 -1
  81. package/src/graphql_tools/schemas/collection/type/collection.graphqls +1 -1
  82. package/src/graphql_tools/schemas/collection/type/collectionAsset.graphqls +27 -28
  83. package/src/graphql_tools/schemas/collection/type/dynamicCollectionData.graphqls +1 -1
  84. package/src/graphql_tools/schemas/creation/query.graphqls +1 -5
  85. package/src/graphql_tools/schemas/galleries/gallery/input/galleryCreation.graphqls +1 -2
  86. package/src/graphql_tools/schemas/galleries/gallery/mutation.graphqls +6 -30
  87. package/src/graphql_tools/schemas/galleries/gallery/query.graphqls +7 -29
  88. package/src/graphql_tools/schemas/gallery/query.graphqls +3 -15
  89. package/src/graphql_tools/schemas/identities/identity/mutation.graphqls +6 -31
  90. package/src/graphql_tools/schemas/identities/profile/input/inputProfile.graphqls +2 -6
  91. package/src/graphql_tools/schemas/identities/profile/input/inputSocial.graphqls +3 -11
  92. package/src/graphql_tools/schemas/images/mutation.graphqls +4 -4
  93. package/src/graphql_tools/schemas/moderations/asset/mutation.graphqls +1 -3
  94. package/src/graphql_tools/schemas/moderations/asset/query.graphqls +2 -8
  95. package/src/graphql_tools/schemas/moderations/user/query.graphqls +1 -5
  96. package/src/graphql_tools/schemas/reports/asset/mutation.graphqls +1 -4
  97. package/src/graphql_tools/schemas/reports/asset/query.graphqls +1 -5
  98. package/src/graphql_tools/schemas/reports/gallery/mutation.graphqls +1 -4
  99. package/src/graphql_tools/schemas/reports/gallery/query.graphqls +1 -5
  100. package/src/graphql_tools/schemas/reports/schema.graphqls +1 -4
  101. package/src/graphql_tools/schemas/reports/user/query.graphqls +1 -5
  102. package/src/graphql_tools/schemas/schema.graphqls +1 -4
  103. package/src/graphql_tools/schemas/search/collection/query.graphqls +2 -11
  104. package/src/graphql_tools/schemas/search/creation/query.graphqls +8 -6
  105. package/src/graphql_tools/schemas/search/creation/type/profile.graphqls +1 -1
  106. package/src/graphql_tools/schemas/search/schema.graphqls +1 -4
  107. package/src/hosts/index.ts +21 -30
  108. package/src/index.ts +3 -1
  109. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,2 @@
1
+ import { ApolloClient, NormalizedCacheObject } from "@apollo/client";
2
+ export declare function initializeApollo(initialState?: null): ApolloClient<NormalizedCacheObject>;
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.initializeApollo = void 0;
7
+ const client_1 = require("@apollo/client");
8
+ const hosts_1 = require("../hosts");
9
+ const schema_1 = require("../graphql_tools/__generated__/schema");
10
+ const error_1 = require("@apollo/client/link/error");
11
+ const context_1 = require("@apollo/client/link/context");
12
+ const apollo_upload_client_1 = require("apollo-upload-client");
13
+ const deepmerge_1 = __importDefault(require("deepmerge"));
14
+ const lodash_isequal_1 = __importDefault(require("lodash.isequal"));
15
+ const cookies_1 = require("../cookies");
16
+ const typePolicies_1 = require("./typePolicies");
17
+ let isRefreshing = false;
18
+ let pendingRequests = [];
19
+ const resolvePendingRequests = () => {
20
+ pendingRequests.map((callback) => callback());
21
+ pendingRequests = [];
22
+ };
23
+ let apolloClient;
24
+ const errorLink = (0, error_1.onError)(({ graphQLErrors, networkError, operation, forward }) => {
25
+ const { authToken, refreshToken } = (0, cookies_1.getCookies)();
26
+ if (graphQLErrors) {
27
+ graphQLErrors.forEach(({ message, locations, path }) => console.warn(`[GraphQL error]: Message: ${message}, Location: ${locations}, Path: ${path}`));
28
+ }
29
+ if (networkError) {
30
+ console.warn(`[Network error]: ${networkError}`);
31
+ if (networkError.message.includes("401") && authToken) {
32
+ let forward$;
33
+ const client = apolloClient ?? createApolloClient();
34
+ if (!isRefreshing) {
35
+ isRefreshing = true;
36
+ forward$ = (0, client_1.fromPromise)(client
37
+ .mutate({
38
+ context: { uri: hosts_1.authHost },
39
+ variables: { refreshToken },
40
+ mutation: schema_1.RefreshTokenDocument,
41
+ })
42
+ .then(({ data: { refreshToken: { tokenAuth, tokenRefresh }, }, }) => {
43
+ (0, cookies_1.refreshCookies)(tokenAuth, tokenRefresh);
44
+ resolvePendingRequests();
45
+ return true;
46
+ })
47
+ .catch(async () => {
48
+ await apolloClient?.mutate({
49
+ context: { uri: hosts_1.authHost },
50
+ mutation: schema_1.RevokeTokenDocument,
51
+ });
52
+ (0, cookies_1.destroyCookies)();
53
+ pendingRequests = [];
54
+ window.location.reload();
55
+ return false;
56
+ })
57
+ .finally(() => {
58
+ isRefreshing = false;
59
+ })).filter((value) => Boolean(value));
60
+ }
61
+ else {
62
+ forward$ = (0, client_1.fromPromise)(new Promise((resolve) => {
63
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
64
+ // @ts-ignore
65
+ pendingRequests.push(() => resolve());
66
+ }));
67
+ }
68
+ return forward$.flatMap(() => forward(operation));
69
+ }
70
+ }
71
+ });
72
+ const authLink = (0, context_1.setContext)(async (operation, { headers }) => {
73
+ const { authToken } = (0, cookies_1.getCookies)();
74
+ const header = authToken
75
+ ? {
76
+ headers: { ...headers, "x-client-authorization": `${authToken}` },
77
+ }
78
+ : { headers: { ...headers } };
79
+ return {
80
+ headers: header.headers,
81
+ };
82
+ });
83
+ const httpLink = (0, apollo_upload_client_1.createUploadLink)({
84
+ uri: hosts_1.authHost,
85
+ });
86
+ function createApolloClient() {
87
+ return new client_1.ApolloClient({
88
+ ssrMode: typeof window === "undefined",
89
+ link: (0, client_1.from)([errorLink, authLink, httpLink]),
90
+ cache: new client_1.InMemoryCache({
91
+ typePolicies: typePolicies_1.typePoliciesPortal,
92
+ addTypename: true,
93
+ resultCaching: true,
94
+ }),
95
+ });
96
+ }
97
+ function initializeApollo(initialState = null) {
98
+ const _apolloClient = apolloClient ?? createApolloClient();
99
+ // If your page has Next.js data fetching methods that use Apollo Client, the initial state
100
+ // gets hydrated here
101
+ if (initialState) {
102
+ // Get existing cache, loaded during client side data fetching
103
+ const existingCache = _apolloClient.extract();
104
+ // Merge the initialState from getStaticProps/getServerSideProps in the existing cache
105
+ const data = (0, deepmerge_1.default)(existingCache, initialState, {
106
+ // combine arrays using object equality (like in sets)
107
+ arrayMerge: (destinationArray, sourceArray) => [
108
+ ...sourceArray,
109
+ ...destinationArray.filter((d) => sourceArray.every((s) => !(0, lodash_isequal_1.default)(d, s))),
110
+ ],
111
+ });
112
+ // Restore the cache with the merged data
113
+ _apolloClient.cache.restore(data);
114
+ }
115
+ // For SSG and SSR always create a new Apollo Client
116
+ if (typeof window === "undefined")
117
+ return _apolloClient;
118
+ // Create the Apollo Client once in the client
119
+ if (!apolloClient)
120
+ apolloClient = _apolloClient;
121
+ return _apolloClient;
122
+ }
123
+ exports.initializeApollo = initializeApollo;
@@ -0,0 +1,2 @@
1
+ import { TypePolicies } from "@apollo/client";
2
+ export declare const typePoliciesPortal: TypePolicies;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.typePoliciesPortal = void 0;
4
+ exports.typePoliciesPortal = {
5
+ Query: {
6
+ fields: {
7
+ fetchAsset: {
8
+ keyArgs: ["rank", "likes", "assetId"],
9
+ merge: true,
10
+ },
11
+ findUserCreations: {
12
+ keyArgs: ["itemId"],
13
+ merge: true,
14
+ },
15
+ fetchUserGalleries: {
16
+ keyArgs: ["galleryId"],
17
+ merge: true,
18
+ },
19
+ fetchUserFavorites: {
20
+ keyArgs: ["galleryId"],
21
+ merge: true,
22
+ },
23
+ fetchCreations: {
24
+ keyArgs: ["itemId"],
25
+ merge: true,
26
+ },
27
+ CollectionPage: {
28
+ keyArgs: ["collectionId"],
29
+ merge: true,
30
+ },
31
+ CreationsPage: {
32
+ keyArgs: ["itemId"],
33
+ merge: true,
34
+ },
35
+ fetchCreationsByItemType: {
36
+ keyArgs: ["nextPageToken"],
37
+ merge: true,
38
+ },
39
+ },
40
+ },
41
+ };
@@ -0,0 +1,17 @@
1
+ declare const assignCookies: (userId: string, wallets: Array<string>, authToken: string, refreshToken: string, newUser: string) => void;
2
+ declare const refreshCookies: (authToken: string, refreshToken: string) => void;
3
+ declare const getCookies: () => {
4
+ authToken: string;
5
+ refreshToken: string;
6
+ userId: string;
7
+ wallets: string;
8
+ newUser: string;
9
+ } | {
10
+ authToken: null;
11
+ refreshToken: null;
12
+ userId: null;
13
+ wallets: null;
14
+ newUser: null;
15
+ };
16
+ declare const destroyCookies: () => void;
17
+ export { assignCookies, refreshCookies, destroyCookies, getCookies };
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCookies = exports.destroyCookies = exports.refreshCookies = exports.assignCookies = void 0;
4
+ const nookies_1 = require("nookies");
5
+ const assignCookies = (userId, wallets, authToken, refreshToken, newUser) => {
6
+ if (userId)
7
+ (0, nookies_1.setCookie)(null, "userId", userId, { maxAge: 24 * 60 * 60, path: "/", domain: "ludo.ninja" });
8
+ if (wallets)
9
+ (0, nookies_1.setCookie)(null, "wallets", wallets.join(), {
10
+ maxAge: 24 * 60 * 60,
11
+ path: "/",
12
+ domain: "ludo.ninja",
13
+ });
14
+ if (authToken)
15
+ (0, nookies_1.setCookie)(null, "authToken", authToken, {
16
+ maxAge: 24 * 60 * 60,
17
+ path: "/",
18
+ domain: "ludo.ninja",
19
+ });
20
+ if (refreshToken)
21
+ (0, nookies_1.setCookie)(null, "refreshToken", refreshToken, {
22
+ maxAge: 24 * 60 * 60,
23
+ path: "/",
24
+ domain: "ludo.ninja",
25
+ });
26
+ if (newUser)
27
+ (0, nookies_1.setCookie)(null, "newUser", newUser, {
28
+ maxAge: 24 * 60 * 60,
29
+ path: "/",
30
+ domain: "ludo.ninja",
31
+ });
32
+ };
33
+ exports.assignCookies = assignCookies;
34
+ const refreshCookies = (authToken, refreshToken) => {
35
+ if (authToken)
36
+ (0, nookies_1.setCookie)(null, "authToken", authToken, {
37
+ maxAge: 24 * 60 * 60,
38
+ path: "/",
39
+ domain: "ludo.ninja",
40
+ });
41
+ if (refreshToken)
42
+ (0, nookies_1.setCookie)(null, "refreshToken", refreshToken, {
43
+ maxAge: 24 * 60 * 60,
44
+ path: "/",
45
+ domain: "ludo.ninja",
46
+ });
47
+ };
48
+ exports.refreshCookies = refreshCookies;
49
+ const getCookies = () => {
50
+ const { authToken, refreshToken, userId, wallets, newUser } = (0, nookies_1.parseCookies)();
51
+ if (authToken && refreshToken && userId && wallets && newUser) {
52
+ return {
53
+ authToken,
54
+ refreshToken,
55
+ userId,
56
+ wallets,
57
+ newUser,
58
+ };
59
+ }
60
+ return {
61
+ authToken: null,
62
+ refreshToken: null,
63
+ userId: null,
64
+ wallets: null,
65
+ newUser: null,
66
+ };
67
+ };
68
+ exports.getCookies = getCookies;
69
+ const destroyCookies = () => {
70
+ (0, nookies_1.destroyCookie)(null, "userId", { path: "/" });
71
+ (0, nookies_1.destroyCookie)(null, "wallets", { path: "/" });
72
+ (0, nookies_1.destroyCookie)(null, "authToken", { path: "/" });
73
+ (0, nookies_1.destroyCookie)(null, "refreshToken", { path: "/" });
74
+ (0, nookies_1.destroyCookie)(null, "newUser", { path: "/" });
75
+ };
76
+ exports.destroyCookies = destroyCookies;