target-supabase-sdk 0.1.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.
- package/LICENSE +21 -0
- package/README.md +70 -0
- package/dist/auth/auth.api.d.ts +28 -0
- package/dist/auth/auth.api.d.ts.map +1 -0
- package/dist/auth/auth.api.js +50 -0
- package/dist/auth/auth.api.js.map +1 -0
- package/dist/core.api.d.ts +68 -0
- package/dist/core.api.d.ts.map +1 -0
- package/dist/core.api.js +226 -0
- package/dist/core.api.js.map +1 -0
- package/dist/core.interface.d.ts +36 -0
- package/dist/core.interface.d.ts.map +1 -0
- package/dist/core.interface.js +46 -0
- package/dist/core.interface.js.map +1 -0
- package/dist/core.utils.d.ts +19 -0
- package/dist/core.utils.d.ts.map +1 -0
- package/dist/core.utils.js +86 -0
- package/dist/core.utils.js.map +1 -0
- package/dist/feed/feed.interface.d.ts +27 -0
- package/dist/feed/feed.interface.d.ts.map +1 -0
- package/dist/feed/feed.interface.js +17 -0
- package/dist/feed/feed.interface.js.map +1 -0
- package/dist/file/file-manager.d.ts +24 -0
- package/dist/file/file-manager.d.ts.map +1 -0
- package/dist/file/file-manager.js +109 -0
- package/dist/file/file-manager.js.map +1 -0
- package/dist/file/file.api.d.ts +15 -0
- package/dist/file/file.api.d.ts.map +1 -0
- package/dist/file/file.api.js +30 -0
- package/dist/file/file.api.js.map +1 -0
- package/dist/file/file.interface.d.ts +25 -0
- package/dist/file/file.interface.d.ts.map +1 -0
- package/dist/file/file.interface.js +9 -0
- package/dist/file/file.interface.js.map +1 -0
- package/dist/file-list/file-list.api.d.ts +15 -0
- package/dist/file-list/file-list.api.d.ts.map +1 -0
- package/dist/file-list/file-list.api.js +54 -0
- package/dist/file-list/file-list.api.js.map +1 -0
- package/dist/file-list/file-list.interface.d.ts +22 -0
- package/dist/file-list/file-list.interface.d.ts.map +1 -0
- package/dist/file-list/file-list.interface.js +5 -0
- package/dist/file-list/file-list.interface.js.map +1 -0
- package/dist/idea/idea.interface.d.ts +25 -0
- package/dist/idea/idea.interface.d.ts.map +1 -0
- package/dist/idea/idea.interface.js +15 -0
- package/dist/idea/idea.interface.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/link/link.interface.d.ts +18 -0
- package/dist/link/link.interface.d.ts.map +1 -0
- package/dist/link/link.interface.js +6 -0
- package/dist/link/link.interface.js.map +1 -0
- package/dist/parcel/parcel-manager.d.ts +39 -0
- package/dist/parcel/parcel-manager.d.ts.map +1 -0
- package/dist/parcel/parcel-manager.js +156 -0
- package/dist/parcel/parcel-manager.js.map +1 -0
- package/dist/parcel/parcel.interface.d.ts +34 -0
- package/dist/parcel/parcel.interface.d.ts.map +1 -0
- package/dist/parcel/parcel.interface.js +11 -0
- package/dist/parcel/parcel.interface.js.map +1 -0
- package/dist/question-list/question-list.api.d.ts +13 -0
- package/dist/question-list/question-list.api.d.ts.map +1 -0
- package/dist/question-list/question-list.api.js +35 -0
- package/dist/question-list/question-list.api.js.map +1 -0
- package/dist/question-list/question-list.interface.d.ts +18 -0
- package/dist/question-list/question-list.interface.d.ts.map +1 -0
- package/dist/question-list/question-list.interface.js +5 -0
- package/dist/question-list/question-list.interface.js.map +1 -0
- package/dist/review/review.api.d.ts +14 -0
- package/dist/review/review.api.d.ts.map +1 -0
- package/dist/review/review.api.js +133 -0
- package/dist/review/review.api.js.map +1 -0
- package/dist/review/review.interface.d.ts +24 -0
- package/dist/review/review.interface.d.ts.map +1 -0
- package/dist/review/review.interface.js +10 -0
- package/dist/review/review.interface.js.map +1 -0
- package/dist/review-v2/apis/post-review-setting.api.d.ts +12 -0
- package/dist/review-v2/apis/post-review-setting.api.d.ts.map +1 -0
- package/dist/review-v2/apis/post-review-setting.api.js +27 -0
- package/dist/review-v2/apis/post-review-setting.api.js.map +1 -0
- package/dist/review-v2/apis/post-review.api.d.ts +13 -0
- package/dist/review-v2/apis/post-review.api.d.ts.map +1 -0
- package/dist/review-v2/apis/post-review.api.js +46 -0
- package/dist/review-v2/apis/post-review.api.js.map +1 -0
- package/dist/review-v2/review-setting.interface.d.ts +23 -0
- package/dist/review-v2/review-setting.interface.d.ts.map +1 -0
- package/dist/review-v2/review-setting.interface.js +5 -0
- package/dist/review-v2/review-setting.interface.js.map +1 -0
- package/dist/review-v2/review.interface.d.ts +20 -0
- package/dist/review-v2/review.interface.d.ts.map +1 -0
- package/dist/review-v2/review.interface.js +5 -0
- package/dist/review-v2/review.interface.js.map +1 -0
- package/dist/service/api.interface.d.ts +35 -0
- package/dist/service/api.interface.d.ts.map +1 -0
- package/dist/service/api.interface.js +12 -0
- package/dist/service/api.interface.js.map +1 -0
- package/dist/service/base.interface.d.ts +83 -0
- package/dist/service/base.interface.d.ts.map +1 -0
- package/dist/service/base.interface.js +7 -0
- package/dist/service/base.interface.js.map +1 -0
- package/dist/service/service.interface.d.ts +24 -0
- package/dist/service/service.interface.d.ts.map +1 -0
- package/dist/service/service.interface.js +11 -0
- package/dist/service/service.interface.js.map +1 -0
- package/dist/supabase.d.ts +32 -0
- package/dist/supabase.d.ts.map +1 -0
- package/dist/supabase.js +100 -0
- package/dist/supabase.js.map +1 -0
- package/package.json +45 -0
- package/src/auth/auth.api.ts +85 -0
- package/src/core.api.ts +338 -0
- package/src/core.interface.ts +74 -0
- package/src/core.utils.ts +98 -0
- package/src/feed/feed.interface.ts +33 -0
- package/src/file/file-manager.ts +145 -0
- package/src/file/file.api.ts +43 -0
- package/src/file/file.interface.ts +30 -0
- package/src/file-list/file-list.api.ts +64 -0
- package/src/file-list/file-list.interface.ts +24 -0
- package/src/idea/idea.interface.ts +28 -0
- package/src/index.ts +50 -0
- package/src/link/link.interface.ts +21 -0
- package/src/parcel/parcel-manager.ts +209 -0
- package/src/parcel/parcel.interface.ts +40 -0
- package/src/question-list/question-list.api.ts +42 -0
- package/src/question-list/question-list.interface.ts +21 -0
- package/src/review/review.api.ts +145 -0
- package/src/review/review.interface.ts +26 -0
- package/src/review-v2/apis/post-review-setting.api.ts +35 -0
- package/src/review-v2/apis/post-review.api.ts +59 -0
- package/src/review-v2/review-setting.interface.ts +26 -0
- package/src/review-v2/review.interface.ts +23 -0
- package/src/service/api.interface.ts +47 -0
- package/src/service/base.interface.ts +97 -0
- package/src/service/service.interface.ts +27 -0
- package/src/supabase.ts +143 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { createTarget, validateWith } from "../../core.api";
|
|
2
|
+
import { BaseValidator } from "../../core.utils";
|
|
3
|
+
import { CategoryReviewSetting } from "../review-setting.interface";
|
|
4
|
+
export class PostReviewSettingValidator extends BaseValidator {
|
|
5
|
+
requiredFields = ["name", "questionList"];
|
|
6
|
+
optionalFields = [];
|
|
7
|
+
}
|
|
8
|
+
export const postReviewSetting = validateWith(PostReviewSettingValidator)(async (validPayload) => {
|
|
9
|
+
return createTarget({
|
|
10
|
+
payload: validPayload,
|
|
11
|
+
createFn: (validPayload) => {
|
|
12
|
+
const { name, questionList } = validPayload;
|
|
13
|
+
const details = {
|
|
14
|
+
name,
|
|
15
|
+
questionList,
|
|
16
|
+
};
|
|
17
|
+
return {
|
|
18
|
+
name,
|
|
19
|
+
category: CategoryReviewSetting.REVIEW_SETTING,
|
|
20
|
+
value: "",
|
|
21
|
+
tagList: [],
|
|
22
|
+
details,
|
|
23
|
+
};
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=post-review-setting.api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-review-setting.api.js","sourceRoot":"","sources":["../../../src/review-v2/apis/post-review-setting.api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAuC,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAOzG,MAAM,OAAO,0BAA2B,SAAQ,aAAuC;IAC3E,cAAc,GAAuC,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC9E,cAAc,GAAuC,EAAE,CAAC;CACnE;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAC3C,0BAA0B,CAC3B,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;IACvB,OAAO,YAAY,CAA0C;QAC3D,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,CAAC,YAAY,EAAE,EAAE;YACzB,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC;YAC5C,MAAM,OAAO,GAAyB;gBACpC,IAAI;gBACJ,YAAY;aACb,CAAC;YACF,OAAO;gBACL,IAAI;gBACJ,QAAQ,EAAE,qBAAqB,CAAC,cAAc;gBAC9C,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,EAAE;gBACX,OAAO;aACR,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseValidator } from "../../core.utils";
|
|
2
|
+
import { ReviewV2 as Review, ReviewV2Details as ReviewDetails } from "../review.interface";
|
|
3
|
+
export interface PostReviewPayload {
|
|
4
|
+
targetId: ReviewDetails["targetId"];
|
|
5
|
+
settingId: ReviewDetails["settingId"];
|
|
6
|
+
resultList: ReviewDetails["resultList"];
|
|
7
|
+
}
|
|
8
|
+
export declare class PostReviewValidator extends BaseValidator<PostReviewPayload> {
|
|
9
|
+
protected requiredFields: (keyof PostReviewPayload)[];
|
|
10
|
+
protected optionalFields: (keyof PostReviewPayload)[];
|
|
11
|
+
}
|
|
12
|
+
export declare const postReview: (payload: PostReviewPayload) => Promise<import("../..").SupabaseResponse<Review>>;
|
|
13
|
+
//# sourceMappingURL=post-review.api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-review.api.d.ts","sourceRoot":"","sources":["../../../src/review-v2/apis/post-review.api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAkB,QAAQ,IAAI,MAAM,EAAE,eAAe,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAG3G,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACpC,SAAS,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACtC,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;CACzC;AAED,qBAAa,mBAAoB,SAAQ,aAAa,CAAC,iBAAiB,CAAC;IACvE,SAAS,CAAC,cAAc,EAAE,CAAC,MAAM,iBAAiB,CAAC,EAAE,CAA0C;IAC/F,SAAS,CAAC,cAAc,EAAE,CAAC,MAAM,iBAAiB,CAAC,EAAE,CAAM;CAC5D;AAED,eAAO,MAAM,UAAU,mFA0CtB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { createTarget, getTarget, validateWith } from "../../core.api";
|
|
2
|
+
import { BaseValidator } from "../../core.utils";
|
|
3
|
+
import { CategoryReview } from "../review.interface";
|
|
4
|
+
export class PostReviewValidator extends BaseValidator {
|
|
5
|
+
requiredFields = ["targetId", "targetId", "resultList"];
|
|
6
|
+
optionalFields = [];
|
|
7
|
+
}
|
|
8
|
+
export const postReview = validateWith(PostReviewValidator)(async (validPayload) => {
|
|
9
|
+
const { targetId, settingId, resultList } = validPayload;
|
|
10
|
+
// Check Target
|
|
11
|
+
if (targetId != null) {
|
|
12
|
+
const { data: possibleTarget } = await getTarget({
|
|
13
|
+
id: targetId,
|
|
14
|
+
});
|
|
15
|
+
// TODO
|
|
16
|
+
}
|
|
17
|
+
// Check ReviewSetting
|
|
18
|
+
const { data: _reviewSetting } = await getTarget({
|
|
19
|
+
id: settingId,
|
|
20
|
+
});
|
|
21
|
+
if (_reviewSetting == null) {
|
|
22
|
+
console.error("[postReview] ReviewSetting not found");
|
|
23
|
+
throw new Error("[postReview] ReviewSetting not found");
|
|
24
|
+
}
|
|
25
|
+
const reviewSetting = _reviewSetting;
|
|
26
|
+
return createTarget({
|
|
27
|
+
payload: validPayload,
|
|
28
|
+
createFn: (validPayload) => {
|
|
29
|
+
const { targetId, settingId, resultList } = validPayload;
|
|
30
|
+
const details = {
|
|
31
|
+
targetId,
|
|
32
|
+
settingId,
|
|
33
|
+
resultList,
|
|
34
|
+
};
|
|
35
|
+
const name = `Review on ${reviewSetting?.details?.name}`;
|
|
36
|
+
return {
|
|
37
|
+
name,
|
|
38
|
+
category: CategoryReview.REVIEW,
|
|
39
|
+
value: "",
|
|
40
|
+
tagList: [],
|
|
41
|
+
details,
|
|
42
|
+
};
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=post-review.api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-review.api.js","sourceRoot":"","sources":["../../../src/review-v2/apis/post-review.api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAwD,MAAM,qBAAqB,CAAC;AAS3G,MAAM,OAAO,mBAAoB,SAAQ,aAAgC;IAC7D,cAAc,GAAgC,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IACrF,cAAc,GAAgC,EAAE,CAAC;CAC5D;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAyC,mBAAmB,CAAC,CACjG,KAAK,EAAE,YAA+B,EAAE,EAAE;IACxC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;IAEzD,eAAe;IACf,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,MAAM,SAAS,CAAC;YAC/C,EAAE,EAAE,QAAQ;SACb,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,sBAAsB;IACtB,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,MAAM,SAAS,CAAC;QAC/C,EAAE,EAAE,SAAS;KACd,CAAC,CAAC;IACH,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,aAAa,GAAG,cAA+B,CAAC;IAEtD,OAAO,YAAY,CAA4B;QAC7C,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,CAAC,YAAY,EAAE,EAAE;YACzB,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;YACzD,MAAM,OAAO,GAAkB;gBAC7B,QAAQ;gBACR,SAAS;gBACT,UAAU;aACX,CAAC;YACF,MAAM,IAAI,GAAG,aAAa,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACzD,OAAO;gBACL,IAAI;gBACJ,QAAQ,EAAE,cAAc,CAAC,MAAM;gBAC/B,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,EAAE;gBACX,OAAO;aACR,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Target } from "../core.interface";
|
|
2
|
+
export interface ReviewSetting extends Target {
|
|
3
|
+
category: CategoryReviewSetting;
|
|
4
|
+
details: ReviewSettingDetails;
|
|
5
|
+
}
|
|
6
|
+
export declare enum CategoryReviewSetting {
|
|
7
|
+
REVIEW_SETTING = "review-setting"
|
|
8
|
+
}
|
|
9
|
+
export type ReviewSettingDetails = {
|
|
10
|
+
name: string;
|
|
11
|
+
questionList: ReviewQuestion[];
|
|
12
|
+
};
|
|
13
|
+
export interface ReviewQuestion {
|
|
14
|
+
title: string;
|
|
15
|
+
/** uuid */
|
|
16
|
+
key: string;
|
|
17
|
+
type: "$boolean" | "$text" | "$number" | "$choice" | "$custom";
|
|
18
|
+
/** To provide data when rendering a question */
|
|
19
|
+
refTargetId?: string;
|
|
20
|
+
/** To render a custom question */
|
|
21
|
+
customTargetId?: string;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=review-setting.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-setting.interface.d.ts","sourceRoot":"","sources":["../../src/review-v2/review-setting.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,WAAW,aAAc,SAAQ,MAAM;IAC3C,QAAQ,EAAE,qBAAqB,CAAC;IAChC,OAAO,EAAE,oBAAoB,CAAC;CAC/B;AAED,oBAAY,qBAAqB;IAC/B,cAAc,mBAAmB;CAClC;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,cAAc,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC/D,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-setting.interface.js","sourceRoot":"","sources":["../../src/review-v2/review-setting.interface.ts"],"names":[],"mappings":"AAOA,MAAM,CAAN,IAAY,qBAEX;AAFD,WAAY,qBAAqB;IAC/B,0DAAiC,CAAA;AACnC,CAAC,EAFW,qBAAqB,KAArB,qBAAqB,QAEhC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Target } from "../core.interface";
|
|
2
|
+
import { ReviewQuestion } from "./review-setting.interface";
|
|
3
|
+
/** Instance of ReviewSetting */
|
|
4
|
+
export interface ReviewV2 extends Target {
|
|
5
|
+
category: CategoryReview;
|
|
6
|
+
details: ReviewV2Details;
|
|
7
|
+
}
|
|
8
|
+
export declare enum CategoryReview {
|
|
9
|
+
REVIEW = "review"
|
|
10
|
+
}
|
|
11
|
+
export type ReviewV2Details = {
|
|
12
|
+
targetId: string | null;
|
|
13
|
+
/** How to collect reviews from users and how to parse the results */
|
|
14
|
+
settingId: string;
|
|
15
|
+
resultList: ReviewResult[];
|
|
16
|
+
};
|
|
17
|
+
export interface ReviewResult extends ReviewQuestion {
|
|
18
|
+
answer: unknown;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=review.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review.interface.d.ts","sourceRoot":"","sources":["../../src/review-v2/review.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,gCAAgC;AAChC,MAAM,WAAW,QAAS,SAAQ,MAAM;IACtC,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,eAAe,CAAC;CAC1B;AAED,oBAAY,cAAc;IACxB,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,YAAY,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,MAAM,EAAE,OAAO,CAAC;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review.interface.js","sourceRoot":"","sources":["../../src/review-v2/review.interface.ts"],"names":[],"mappings":"AASA,MAAM,CAAN,IAAY,cAEX;AAFD,WAAY,cAAc;IACxB,mCAAiB,CAAA;AACnB,CAAC,EAFW,cAAc,KAAd,cAAc,QAEzB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Target } from "../core.interface";
|
|
2
|
+
import { Field, Lifecycle } from "./base.interface";
|
|
3
|
+
export interface Api extends Target {
|
|
4
|
+
/** "core.post.target.0" 唯一键 领域 + METHOD + content + VERSION */
|
|
5
|
+
value: string;
|
|
6
|
+
category: CategoryApi;
|
|
7
|
+
details: ApiDetails;
|
|
8
|
+
}
|
|
9
|
+
export declare enum CategoryApi {
|
|
10
|
+
API = "api"
|
|
11
|
+
}
|
|
12
|
+
export declare enum ApiMethod {
|
|
13
|
+
POST = "POST",
|
|
14
|
+
GET = "GET",
|
|
15
|
+
PUT = "PUT",
|
|
16
|
+
DELETE = "DELETE"
|
|
17
|
+
}
|
|
18
|
+
export interface ApiDetails {
|
|
19
|
+
method: ApiMethod;
|
|
20
|
+
/** /v0/core/target */
|
|
21
|
+
path: string;
|
|
22
|
+
request: {
|
|
23
|
+
query: {
|
|
24
|
+
[key: string]: Field;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
response: {
|
|
28
|
+
"200": {
|
|
29
|
+
[key: string]: Field;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
manifestVersion: number;
|
|
33
|
+
lifecycle: Lifecycle;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=api.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.interface.d.ts","sourceRoot":"","sources":["../../src/service/api.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,WAAW,GAAI,SAAQ,MAAM;IACjC,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,oBAAY,WAAW;IACrB,GAAG,QAAQ;CACZ;AAED,oBAAY,SAAS;IACnB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,SAAS,CAAC;IAClB,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QACP,KAAK,EAAE;YACL,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;SACtB,CAAC;KACH,CAAC;IACF,QAAQ,EAAE;QACR,KAAK,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAA;SAAE,CAAC;KACjC,CAAC;IACF,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,SAAS,CAAC;CAYtB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export var CategoryApi;
|
|
2
|
+
(function (CategoryApi) {
|
|
3
|
+
CategoryApi["API"] = "api";
|
|
4
|
+
})(CategoryApi || (CategoryApi = {}));
|
|
5
|
+
export var ApiMethod;
|
|
6
|
+
(function (ApiMethod) {
|
|
7
|
+
ApiMethod["POST"] = "POST";
|
|
8
|
+
ApiMethod["GET"] = "GET";
|
|
9
|
+
ApiMethod["PUT"] = "PUT";
|
|
10
|
+
ApiMethod["DELETE"] = "DELETE";
|
|
11
|
+
})(ApiMethod || (ApiMethod = {}));
|
|
12
|
+
//# sourceMappingURL=api.interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.interface.js","sourceRoot":"","sources":["../../src/service/api.interface.ts"],"names":[],"mappings":"AAUA,MAAM,CAAN,IAAY,WAEX;AAFD,WAAY,WAAW;IACrB,0BAAW,CAAA;AACb,CAAC,EAFW,WAAW,KAAX,WAAW,QAEtB;AAED,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,wBAAW,CAAA;IACX,wBAAW,CAAA;IACX,8BAAiB,CAAA;AACnB,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { Target } from "../core.interface";
|
|
2
|
+
export declare enum LifecycleStatus {
|
|
3
|
+
ACTIVE = "ACTIVE",
|
|
4
|
+
DEPRECATED = "DEPRECATED",
|
|
5
|
+
SUNSET = "SUNSET"
|
|
6
|
+
}
|
|
7
|
+
export interface Lifecycle {
|
|
8
|
+
status: LifecycleStatus;
|
|
9
|
+
/** YYYY-MM-DD */
|
|
10
|
+
activeSince: string;
|
|
11
|
+
deprecatedAt: string | null;
|
|
12
|
+
sunsetAt: string | null;
|
|
13
|
+
}
|
|
14
|
+
export type Field = {
|
|
15
|
+
type: "string";
|
|
16
|
+
nullable: boolean;
|
|
17
|
+
required: boolean;
|
|
18
|
+
/** 1 */
|
|
19
|
+
minLength: number;
|
|
20
|
+
/** 64 */
|
|
21
|
+
maxLength: number;
|
|
22
|
+
/** ^[a-z0-9_-]+$ */
|
|
23
|
+
pattern: string;
|
|
24
|
+
} | {
|
|
25
|
+
type: "number";
|
|
26
|
+
nullable: boolean;
|
|
27
|
+
required: boolean;
|
|
28
|
+
/** 1 */
|
|
29
|
+
minimum: number;
|
|
30
|
+
/** 64 */
|
|
31
|
+
maximum: number;
|
|
32
|
+
} | {
|
|
33
|
+
type: "boolean";
|
|
34
|
+
nullable: boolean;
|
|
35
|
+
required: boolean;
|
|
36
|
+
} | {
|
|
37
|
+
type: "enum";
|
|
38
|
+
nullable: boolean;
|
|
39
|
+
required: boolean;
|
|
40
|
+
/** 'core.Gender.0' */
|
|
41
|
+
enumKey: string;
|
|
42
|
+
} | {
|
|
43
|
+
type: "array";
|
|
44
|
+
nullable: boolean;
|
|
45
|
+
required: boolean;
|
|
46
|
+
/** 'string'|'number'|'boolean'|'enum.enumKey'|'ref.refKey' */
|
|
47
|
+
itemType: string;
|
|
48
|
+
} | {
|
|
49
|
+
/** Object */
|
|
50
|
+
type: "ref";
|
|
51
|
+
nullable: boolean;
|
|
52
|
+
required: boolean;
|
|
53
|
+
/** 'core.QuestionReview.0' */
|
|
54
|
+
refKey: string;
|
|
55
|
+
};
|
|
56
|
+
export interface TargetDescriptor extends Target {
|
|
57
|
+
/** "core.QuestionReview.0" 唯一键 领域 + targetName + VERSION */
|
|
58
|
+
value: string;
|
|
59
|
+
category: 'target-descriptor';
|
|
60
|
+
details: TargetDescriptorDetails;
|
|
61
|
+
}
|
|
62
|
+
export interface TargetDescriptorDetails {
|
|
63
|
+
list: Array<{
|
|
64
|
+
name: string;
|
|
65
|
+
} & Field>;
|
|
66
|
+
refMap?: Record<string, TargetDescriptor>;
|
|
67
|
+
enumMap?: Record<string, string[]>;
|
|
68
|
+
manifestVersion: number;
|
|
69
|
+
}
|
|
70
|
+
export interface EnumDescriptor extends Target {
|
|
71
|
+
/** "core.Gender.0" 唯一键 领域 + enumName + VERSION */
|
|
72
|
+
value: string;
|
|
73
|
+
category: 'target-descriptor';
|
|
74
|
+
details: EnumDescriptorDetails;
|
|
75
|
+
}
|
|
76
|
+
export interface EnumDescriptorDetails {
|
|
77
|
+
list: Array<{
|
|
78
|
+
key: string;
|
|
79
|
+
value: string;
|
|
80
|
+
}>;
|
|
81
|
+
manifestVersion: number;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=base.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.interface.d.ts","sourceRoot":"","sources":["../../src/service/base.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,oBAAY,eAAe;IACzB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,eAAe,CAAC;IACxB,iBAAiB;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,MAAM,KAAK,GACb;IACA,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ;IACR,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,GACC;IACA,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ;IACR,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS;IACT,OAAO,EAAE,MAAM,CAAC;CACjB,GACC;IACA,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB,GACC;IACA,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB,GACC;IACA,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;CAClB,GACC;IACA,aAAa;IACb,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAGJ,MAAM,WAAW,gBAAiB,SAAQ,MAAM;IAC9C,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,OAAO,EAAE,uBAAuB,CAAC;CAClC;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,KAAK,CAAC;QACV,IAAI,EAAE,MAAM,CAAC;KACd,GAAG,KAAK,CAAC,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAe,SAAQ,MAAM;IAC5C,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,OAAO,EAAE,qBAAqB,CAAC;CAChC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,KAAK,CAAC;QACV,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,eAAe,EAAE,MAAM,CAAC;CACzB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var LifecycleStatus;
|
|
2
|
+
(function (LifecycleStatus) {
|
|
3
|
+
LifecycleStatus["ACTIVE"] = "ACTIVE";
|
|
4
|
+
LifecycleStatus["DEPRECATED"] = "DEPRECATED";
|
|
5
|
+
LifecycleStatus["SUNSET"] = "SUNSET";
|
|
6
|
+
})(LifecycleStatus || (LifecycleStatus = {}));
|
|
7
|
+
//# sourceMappingURL=base.interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.interface.js","sourceRoot":"","sources":["../../src/service/base.interface.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,4CAAyB,CAAA;IACzB,oCAAiB,CAAA;AACnB,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Target } from "../core.interface";
|
|
2
|
+
import { Lifecycle } from "./base.interface";
|
|
3
|
+
export interface Service extends Target {
|
|
4
|
+
/** "storage-service" 唯一键 */
|
|
5
|
+
value: string;
|
|
6
|
+
category: CategoryService;
|
|
7
|
+
details: ServiceDetails;
|
|
8
|
+
}
|
|
9
|
+
export declare enum CategoryService {
|
|
10
|
+
SERVICE = "service"
|
|
11
|
+
}
|
|
12
|
+
export declare enum ServiceStatus {
|
|
13
|
+
ACTIVE = "ACTIVE",
|
|
14
|
+
DEPRECATED = "DEPRECATED",
|
|
15
|
+
SUNSET = "SUNSET"
|
|
16
|
+
}
|
|
17
|
+
export interface ServiceDetails {
|
|
18
|
+
/** 能力 Api keys */
|
|
19
|
+
apis: string[];
|
|
20
|
+
/** 依赖的服务 Service keys */
|
|
21
|
+
dependencies: string[];
|
|
22
|
+
lifecycle: Lifecycle;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=service.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.interface.d.ts","sourceRoot":"","sources":["../../src/service/service.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,WAAW,OAAQ,SAAQ,MAAM;IACrC,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,oBAAY,eAAe;IACzB,OAAO,YAAY;CACpB;AAED,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,kBAAkB;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,yBAAyB;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;CACtB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export var CategoryService;
|
|
2
|
+
(function (CategoryService) {
|
|
3
|
+
CategoryService["SERVICE"] = "service";
|
|
4
|
+
})(CategoryService || (CategoryService = {}));
|
|
5
|
+
export var ServiceStatus;
|
|
6
|
+
(function (ServiceStatus) {
|
|
7
|
+
ServiceStatus["ACTIVE"] = "ACTIVE";
|
|
8
|
+
ServiceStatus["DEPRECATED"] = "DEPRECATED";
|
|
9
|
+
ServiceStatus["SUNSET"] = "SUNSET";
|
|
10
|
+
})(ServiceStatus || (ServiceStatus = {}));
|
|
11
|
+
//# sourceMappingURL=service.interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.interface.js","sourceRoot":"","sources":["../../src/service/service.interface.ts"],"names":[],"mappings":"AAUA,MAAM,CAAN,IAAY,eAEX;AAFD,WAAY,eAAe;IACzB,sCAAmB,CAAA;AACrB,CAAC,EAFW,eAAe,KAAf,eAAe,QAE1B;AAED,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,0CAAyB,CAAA;IACzB,kCAAiB,CAAA;AACnB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { SupabaseClient } from "@supabase/supabase-js";
|
|
2
|
+
export interface SupabaseInitializerParams {
|
|
3
|
+
supabaseUrl: string;
|
|
4
|
+
supabaseAnonKey: string;
|
|
5
|
+
supabaseNeedAuthUrl?: string;
|
|
6
|
+
supabaseNeedAuthAnonKey?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare class SupabaseInitializer {
|
|
9
|
+
private static instance;
|
|
10
|
+
private isInitialized;
|
|
11
|
+
private _mainClient;
|
|
12
|
+
private _authClient;
|
|
13
|
+
private constructor();
|
|
14
|
+
static getInstance(): SupabaseInitializer;
|
|
15
|
+
/**
|
|
16
|
+
* Initialize Supabase clients
|
|
17
|
+
*/
|
|
18
|
+
initialize(params: SupabaseInitializerParams): Promise<{
|
|
19
|
+
supabase: SupabaseClient;
|
|
20
|
+
supabaseAuth: SupabaseClient | null;
|
|
21
|
+
}>;
|
|
22
|
+
private validateEnvironmentVariables;
|
|
23
|
+
private logConfiguration;
|
|
24
|
+
getClients(): {
|
|
25
|
+
supabase: SupabaseClient<any, "public", any>;
|
|
26
|
+
supabaseAuth: SupabaseClient<any, "public", any> | null;
|
|
27
|
+
};
|
|
28
|
+
get client(): SupabaseClient;
|
|
29
|
+
get authClient(): SupabaseClient | null;
|
|
30
|
+
reset(): void;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=supabase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supabase.d.ts","sourceRoot":"","sources":["../src/supabase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAcrE,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAsB;IAC7C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,WAAW,CAA+B;IAElD,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,mBAAmB;IAOzC;;OAEG;IACG,UAAU,CACd,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC;QAAE,QAAQ,EAAE,cAAc,CAAC;QAAC,YAAY,EAAE,cAAc,GAAG,IAAI,CAAA;KAAE,CAAC;IAwC7E,OAAO,CAAC,4BAA4B;IAqBpC,OAAO,CAAC,gBAAgB;IAWxB,UAAU;;;;IAOV,IAAI,MAAM,IAAI,cAAc,CAQ3B;IAED,IAAI,UAAU,IAAI,cAAc,GAAG,IAAI,CAKtC;IAED,KAAK;CAKN"}
|
package/dist/supabase.js
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { createClient } from "@supabase/supabase-js";
|
|
2
|
+
import { logDev, logDevGroup } from "./core.utils";
|
|
3
|
+
export class SupabaseInitializer {
|
|
4
|
+
static instance;
|
|
5
|
+
isInitialized = false;
|
|
6
|
+
_mainClient = null;
|
|
7
|
+
_authClient = null;
|
|
8
|
+
constructor() { }
|
|
9
|
+
static getInstance() {
|
|
10
|
+
if (!SupabaseInitializer.instance) {
|
|
11
|
+
SupabaseInitializer.instance = new SupabaseInitializer();
|
|
12
|
+
}
|
|
13
|
+
return SupabaseInitializer.instance;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Initialize Supabase clients
|
|
17
|
+
*/
|
|
18
|
+
async initialize(params) {
|
|
19
|
+
if (this.isInitialized) {
|
|
20
|
+
logDev("🚫 Supabase already initialized");
|
|
21
|
+
return { supabase: this._mainClient, supabaseAuth: this._authClient };
|
|
22
|
+
}
|
|
23
|
+
logDev("🔧 Initializing Supabase...");
|
|
24
|
+
// Validate and get environment variables
|
|
25
|
+
const config = this.validateEnvironmentVariables(params);
|
|
26
|
+
// Create main client
|
|
27
|
+
this._mainClient = createClient(config.main.url, config.main.anonKey, {
|
|
28
|
+
// TODO
|
|
29
|
+
// auth: {
|
|
30
|
+
// persistSession: true,
|
|
31
|
+
// autoRefreshToken: true,
|
|
32
|
+
// },
|
|
33
|
+
});
|
|
34
|
+
// Create auth client if configured
|
|
35
|
+
if (config.auth) {
|
|
36
|
+
this._authClient = createClient(config.auth.url, config.auth.anonKey, {
|
|
37
|
+
// TODO
|
|
38
|
+
// auth: {
|
|
39
|
+
// persistSession: true,
|
|
40
|
+
// autoRefreshToken: true,
|
|
41
|
+
// },
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
// Log configuration
|
|
45
|
+
this.logConfiguration(config);
|
|
46
|
+
this.isInitialized = true;
|
|
47
|
+
logDev("✅ Supabase initialization completed");
|
|
48
|
+
return { supabase: this._mainClient, supabaseAuth: this._authClient };
|
|
49
|
+
}
|
|
50
|
+
validateEnvironmentVariables({ supabaseUrl, supabaseAnonKey, supabaseNeedAuthUrl, supabaseNeedAuthAnonKey, }) {
|
|
51
|
+
const mainUrl = supabaseUrl;
|
|
52
|
+
const mainAnonKey = supabaseAnonKey;
|
|
53
|
+
const authUrl = supabaseNeedAuthUrl;
|
|
54
|
+
const authAnonKey = supabaseNeedAuthAnonKey;
|
|
55
|
+
if (!mainUrl || !mainAnonKey) {
|
|
56
|
+
throw new Error("Missing required Supabase environment variables: VITE_SUPABASE_URL, VITE_SUPABASE_ANON_KEY");
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
main: { url: mainUrl, anonKey: mainAnonKey },
|
|
60
|
+
auth: authUrl && authAnonKey ? { url: authUrl, anonKey: authAnonKey } : null,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
logConfiguration(config) {
|
|
64
|
+
logDevGroup("🔧 Supabase Configuration", () => {
|
|
65
|
+
console.log("Main URL:", config.main.url);
|
|
66
|
+
console.log("Auth URL:", config.auth?.url || "Not configured");
|
|
67
|
+
console.log("Clients:", {
|
|
68
|
+
main: !!this._mainClient,
|
|
69
|
+
auth: !!this._authClient,
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
getClients() {
|
|
74
|
+
if (!this.isInitialized) {
|
|
75
|
+
throw new Error("Supabase not initialized. Call initialize() first.");
|
|
76
|
+
}
|
|
77
|
+
return { supabase: this._mainClient, supabaseAuth: this._authClient };
|
|
78
|
+
}
|
|
79
|
+
get client() {
|
|
80
|
+
if (!this.isInitialized) {
|
|
81
|
+
throw new Error("Supabase not initialized. Call initialize() first.");
|
|
82
|
+
}
|
|
83
|
+
if (!this._mainClient) {
|
|
84
|
+
throw new Error("Main Supabase client is null. Initialization may have failed.");
|
|
85
|
+
}
|
|
86
|
+
return this._mainClient;
|
|
87
|
+
}
|
|
88
|
+
get authClient() {
|
|
89
|
+
if (!this.isInitialized) {
|
|
90
|
+
throw new Error("Supabase not initialized. Call initialize() first.");
|
|
91
|
+
}
|
|
92
|
+
return this._authClient;
|
|
93
|
+
}
|
|
94
|
+
reset() {
|
|
95
|
+
this.isInitialized = false;
|
|
96
|
+
this._mainClient = null;
|
|
97
|
+
this._authClient = null;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=supabase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supabase.js","sourceRoot":"","sources":["../src/supabase.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "target-supabase-sdk",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Supabase client initializer and data access APIs",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/KyLoc20/target-supabase-sdk.git"
|
|
9
|
+
},
|
|
10
|
+
"type": "module",
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
15
|
+
"import": "./dist/index.js",
|
|
16
|
+
"default": "./dist/index.js"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist",
|
|
21
|
+
"src"
|
|
22
|
+
],
|
|
23
|
+
"scripts": {
|
|
24
|
+
"clean": "node --input-type=module -e \"import fs from 'node:fs'; fs.rmSync('dist', { recursive: true, force: true })\"",
|
|
25
|
+
"build": "pnpm clean && tsc -p tsconfig.build.json",
|
|
26
|
+
"dev": "tsc -p tsconfig.build.json --watch",
|
|
27
|
+
"prepublishOnly": "pnpm build"
|
|
28
|
+
},
|
|
29
|
+
"peerDependencies": {
|
|
30
|
+
"@supabase/postgrest-js": "^1.19.0",
|
|
31
|
+
"@supabase/supabase-js": "^2.50.0",
|
|
32
|
+
"lodash-es": "^4.17.21"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@supabase/postgrest-js": "1.19.4",
|
|
36
|
+
"@supabase/supabase-js": "2.50.3",
|
|
37
|
+
"@types/lodash-es": "^4.17.12",
|
|
38
|
+
"@types/wicg-file-system-access": "^2023.10.7",
|
|
39
|
+
"lodash-es": "^4.17.21",
|
|
40
|
+
"typescript": "~5.7.2"
|
|
41
|
+
},
|
|
42
|
+
"publishConfig": {
|
|
43
|
+
"access": "public"
|
|
44
|
+
}
|
|
45
|
+
}
|