@crimson-education/replit-sdk 1.0.1-alpha-10 → 1.0.1-alpha-12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Readme.md CHANGED
@@ -14,5 +14,9 @@ we are going to embed the app on a iframe, so now you need to do all things one
14
14
  </QueryClientProvider>
15
15
  );
16
16
  }```
17
- 3. use the ExternalLink component to replace all the <a> tag which has a external link.
17
+ 3. set Express proxy endpint,
18
+ 4. use the ExternalLink component to replace all the <a> tag which has a external link.
19
+ 5. set dev capp endpoint when build app like ```
20
+ import { setStoredParams } from "@crimson-education/replit-sdk/lib/hooks/use-url-params";
21
+ setStoredParams({'cappEndpoint': 'http://6d94f1eb.r8.cpolar.top/graphql'});```
18
22
  ````
@@ -1 +1 @@
1
- {"version":3,"file":"expressRouter.d.ts","sourceRoot":"","sources":["../../src/api/expressRouter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC,eAAO,MAAM,OAAO,GAAI,KAAK,OAAO,SAgDnC,CAAC"}
1
+ {"version":3,"file":"expressRouter.d.ts","sourceRoot":"","sources":["../../src/api/expressRouter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAkDvC,eAAO,MAAM,OAAO,GAAI,KAAK,OAAO,SAGnC,CAAC"}
@@ -2,48 +2,50 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.bindApi = void 0;
4
4
  const graphqlProxy_1 = require("./graphqlProxy");
5
- const bindApi = (app) => {
6
- app.post('/api/function/:operation?', async (req, res) => {
7
- try {
8
- const parsed = graphqlProxy_1.graphqlProxySchema.safeParse(req.body);
9
- if (!parsed.success) {
10
- return res.status(400).json({
11
- error: 'Invalid request body',
12
- details: parsed.error.issues,
13
- });
14
- }
15
- const { query, variables, graphqlEndpoint, token, env = 'replit' } = parsed.data;
16
- const authHeader = token ? `Bearer ${token}` : req.headers.authorization;
17
- if (!authHeader && env !== 'replit') {
18
- return res.status(401).json({ error: 'Authorization header is required' });
19
- }
20
- const response = await fetch(graphqlEndpoint, {
21
- method: 'POST',
22
- headers: {
23
- 'Content-Type': 'application/json',
24
- ...(env !== 'replit' && { Authorization: authHeader }),
25
- ...(env === 'replit' && { crimsonauthkey: 'THIS_IS_A_FAKE_KEY' }),
26
- },
27
- body: JSON.stringify({ query, variables }),
5
+ const handler = async (req, res) => {
6
+ try {
7
+ const parsed = graphqlProxy_1.graphqlProxySchema.safeParse(req.body);
8
+ if (!parsed.success) {
9
+ return res.status(400).json({
10
+ error: 'Invalid request body',
11
+ details: parsed.error.issues,
28
12
  });
29
- const contentType = response.headers.get('content-type') || '';
30
- if (!contentType.includes('application/json')) {
31
- const text = await response.text();
32
- console.error('GraphQL endpoint returned non-JSON response:', response.status, text.substring(0, 200));
33
- return res.status(response.status === 200 ? 502 : response.status).json({
34
- error: 'GraphQL endpoint returned invalid response',
35
- status: response.status,
36
- message: response.status === 401 ? 'Authentication failed - invalid or expired token' : 'Unexpected response format',
37
- });
38
- }
39
- const data = await response.json();
40
- res.status(response.status).json(data);
41
13
  }
42
- catch (error) {
43
- console.error('GraphQL proxy error:', error);
44
- res.status(500).json({ error: 'Failed to execute GraphQL query' });
14
+ const { query, variables, graphqlEndpoint, token, env = 'replit' } = parsed.data;
15
+ const authHeader = token ? `Bearer ${token}` : req.headers.authorization;
16
+ if (!authHeader && env !== 'replit') {
17
+ return res.status(401).json({ error: 'Authorization header is required' });
18
+ }
19
+ const response = await fetch(graphqlEndpoint, {
20
+ method: 'POST',
21
+ headers: {
22
+ 'Content-Type': 'application/json',
23
+ ...(env !== 'replit' && { Authorization: authHeader }),
24
+ ...(env === 'replit' && { crimsonauthkey: 'THIS_IS_A_FAKE_KEY' }),
25
+ },
26
+ body: JSON.stringify({ query, variables }),
27
+ });
28
+ const contentType = response.headers.get('content-type') || '';
29
+ if (!contentType.includes('application/json')) {
30
+ const text = await response.text();
31
+ console.error('GraphQL endpoint returned non-JSON response:', response.status, text.substring(0, 200));
32
+ return res.status(response.status === 200 ? 502 : response.status).json({
33
+ error: 'GraphQL endpoint returned invalid response',
34
+ status: response.status,
35
+ message: response.status === 401 ? 'Authentication failed - invalid or expired token' : 'Unexpected response format',
36
+ });
45
37
  }
46
- });
38
+ const data = await response.json();
39
+ res.status(response.status).json(data);
40
+ }
41
+ catch (error) {
42
+ console.error('GraphQL proxy error:', error);
43
+ res.status(500).json({ error: 'Failed to execute GraphQL query' });
44
+ }
45
+ };
46
+ const bindApi = (app) => {
47
+ app.post('/api/function', handler);
48
+ app.post('/api/function/:operation', handler);
47
49
  };
48
50
  exports.bindApi = bindApi;
49
51
  //# sourceMappingURL=expressRouter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"expressRouter.js","sourceRoot":"","sources":["../../src/api/expressRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expressRouter.js","sourceRoot":"","sources":["../../src/api/expressRouter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ export declare const fetchLoginUserQuery = "query fetchLoginUser($userId: String!) {\n user: user(userId: $userId) {\n userId\n firstName\n lastName\n email\n role\n userRoles\n avatar\n }\n}";
2
+ export interface CrimsonUser {
3
+ userId: string;
4
+ firstName: string;
5
+ lastName: string;
6
+ email: string;
7
+ role: string;
8
+ userRoles: string[];
9
+ avatar?: string;
10
+ }
11
+ export declare function fetchLoginUser(userId?: string): Promise<CrimsonUser>;
12
+ export declare const fetchOurPeopleMyStudentsByRolesQuery = "query fetchOurPeopleMyStudentsByRoles(\n $pagination: paginationParams!\n $principalUid: String\n $roles: [String!]\n $filter: MyStudentsFilter\n $orders: OurPeopleMyStudentsOrders\n) {\n fetchOurPeopleMyStudentsByRoles: fetchOurPeopleMyStudentsByRoles(\n pagination: $pagination\n principalUid: $principalUid\n roles: $roles\n filter: $filter\n orders: $orders\n ) {\n results {\n userId\n email\n timezone\n firstName\n lastName\n avatar\n studentInfo {\n yearOfApplication\n essayFolder\n }\n lastAccess\n }\n pagination {\n totalPages\n totalCount\n pageSize\n pageNumber\n }\n }\n}";
13
+ export interface StudentResult {
14
+ userId: string;
15
+ email: string;
16
+ firstName: string;
17
+ lastName: string;
18
+ timezone?: string;
19
+ avatar?: string;
20
+ activatedAt?: string;
21
+ location?: string;
22
+ applicationYear?: number;
23
+ subjects?: string[];
24
+ lastStrategyMeetingAt?: string;
25
+ userRoles?: string[];
26
+ roles?: Array<{
27
+ isPrimary: boolean;
28
+ roleId: string;
29
+ role: {
30
+ name: string;
31
+ };
32
+ }>;
33
+ studentInfo?: {
34
+ yearOfApplication?: number;
35
+ essayFolder?: string;
36
+ };
37
+ lastAccess?: string;
38
+ }
39
+ export interface FetchStudentsResult {
40
+ results: StudentResult[];
41
+ pagination: {
42
+ totalPages: number;
43
+ totalCount: number;
44
+ pageSize: number;
45
+ pageNumber: number;
46
+ };
47
+ }
48
+ export declare function fetchMyStudents(principalUid: string, roles: string[], pageNumber?: number, pageSize?: number): Promise<FetchStudentsResult>;
49
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,+KAU9B,CAAC;AAEH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAc1E;AAED,eAAO,MAAM,oCAAoC,isBAkC/C,CAAC;AAEH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,SAAS,EAAE,OAAO,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;KACxB,CAAC,CAAC;IACH,WAAW,CAAC,EAAE;QACZ,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,UAAU,EAAE;QACV,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,wBAAsB,eAAe,CACnC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,GAAE,MAAU,EACtB,QAAQ,GAAE,MAAW,GACpB,OAAO,CAAC,mBAAmB,CAAC,CAoB9B"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchOurPeopleMyStudentsByRolesQuery = exports.fetchLoginUserQuery = void 0;
4
+ exports.fetchLoginUser = fetchLoginUser;
5
+ exports.fetchMyStudents = fetchMyStudents;
6
+ const use_url_params_1 = require("../hooks/use-url-params");
7
+ const queryClient_1 = require("../utils/queryClient");
8
+ exports.fetchLoginUserQuery = `query fetchLoginUser($userId: String!) {
9
+ user: user(userId: $userId) {
10
+ userId
11
+ firstName
12
+ lastName
13
+ email
14
+ role
15
+ userRoles
16
+ avatar
17
+ }
18
+ }`;
19
+ async function fetchLoginUser(userId) {
20
+ var _a;
21
+ const finalUserId = userId || (0, use_url_params_1.getStoredUserId)();
22
+ const res = await (0, queryClient_1.apiRequest)(exports.fetchLoginUserQuery, { userId: finalUserId });
23
+ const json = await res.json();
24
+ if (json.errors && json.errors.length > 0) {
25
+ throw new Error(`Failed to fetch user: ${json.errors[0].message}`);
26
+ }
27
+ if (!((_a = json.data) === null || _a === void 0 ? void 0 : _a.user)) {
28
+ throw new Error(`User not found: ${userId}`);
29
+ }
30
+ return json.data.user;
31
+ }
32
+ exports.fetchOurPeopleMyStudentsByRolesQuery = `query fetchOurPeopleMyStudentsByRoles(
33
+ $pagination: paginationParams!
34
+ $principalUid: String
35
+ $roles: [String!]
36
+ $filter: MyStudentsFilter
37
+ $orders: OurPeopleMyStudentsOrders
38
+ ) {
39
+ fetchOurPeopleMyStudentsByRoles: fetchOurPeopleMyStudentsByRoles(
40
+ pagination: $pagination
41
+ principalUid: $principalUid
42
+ roles: $roles
43
+ filter: $filter
44
+ orders: $orders
45
+ ) {
46
+ results {
47
+ userId
48
+ email
49
+ timezone
50
+ firstName
51
+ lastName
52
+ avatar
53
+ studentInfo {
54
+ yearOfApplication
55
+ essayFolder
56
+ }
57
+ lastAccess
58
+ }
59
+ pagination {
60
+ totalPages
61
+ totalCount
62
+ pageSize
63
+ pageNumber
64
+ }
65
+ }
66
+ }`;
67
+ async function fetchMyStudents(principalUid, roles, pageNumber = 1, pageSize = 10) {
68
+ var _a;
69
+ const variables = {
70
+ pagination: { pageNumber, pageSize },
71
+ principalUid,
72
+ roles,
73
+ filter: {},
74
+ };
75
+ const res = await (0, queryClient_1.apiRequest)(exports.fetchOurPeopleMyStudentsByRolesQuery, variables);
76
+ const json = await res.json();
77
+ if (json.errors && json.errors.length > 0) {
78
+ throw new Error(`Failed to fetch students: ${json.errors[0].message}`);
79
+ }
80
+ return (((_a = json.data) === null || _a === void 0 ? void 0 : _a.fetchOurPeopleMyStudentsByRoles) || {
81
+ results: [],
82
+ pagination: { totalPages: 0, totalCount: 0, pageSize, pageNumber },
83
+ });
84
+ }
85
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":";;;AAyBA,wCAcC;AAyED,0CAyBC;AAzID,4DAA0D;AAC1D,sDAAkD;AAErC,QAAA,mBAAmB,GAAG;;;;;;;;;;EAUjC,CAAC;AAYI,KAAK,UAAU,cAAc,CAAC,MAAe;;IAClD,MAAM,WAAW,GAAG,MAAM,IAAI,IAAA,gCAAe,GAAE,CAAC;IAChD,MAAM,GAAG,GAAG,MAAM,IAAA,wBAAU,EAAC,2BAAmB,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAE9B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,CAAA,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,CAAC;AAEY,QAAA,oCAAoC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkClD,CAAC;AAqCI,KAAK,UAAU,eAAe,CACnC,YAAoB,EACpB,KAAe,EACf,aAAqB,CAAC,EACtB,WAAmB,EAAE;;IAErB,MAAM,SAAS,GAAG;QAChB,UAAU,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE;QACpC,YAAY;QACZ,KAAK;QACL,MAAM,EAAE,EAAE;KACX,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,IAAA,wBAAU,EAAC,4CAAoC,EAAE,SAAS,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAE9B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,CACL,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,+BAA+B,KAAI;QAC5C,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE;KACnE,CACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crimson-education/replit-sdk",
3
- "version": "1.0.1-alpha-10",
3
+ "version": "1.0.1-alpha-12",
4
4
  "description": "SDK for Replit app integration",
5
5
  "publishConfig": {
6
6
  "access": "public"