target-supabase-sdk 0.1.0 → 0.1.1

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,64 +1,64 @@
1
- import { createTarget } from "../core.api";
2
- import { BaseValidator } from "../core.utils";
3
- import { FileList, CategoryFileList, FileListDetails } from "./file-list.interface";
4
-
5
- export class PostCreateFileListValidator extends BaseValidator<PostCreateFileListPayload> {
6
- protected requiredFields: (keyof PostCreateFileListPayload)[] = ["name", "dirName", "dirSize", "storageUrl"];
7
- protected optionalFields: (keyof PostCreateFileListPayload)[] = [];
8
-
9
- constructor() {
10
- super();
11
- // Add custom
12
- this.addValidator((val) => {
13
- return true;
14
- });
15
- }
16
- }
17
-
18
- export interface PostCreateFileListPayload {
19
- name: FileListDetails["name"];
20
- dirName: FileListDetails["dirName"];
21
- dirSize: FileListDetails["dirSize"];
22
- storageUrl: FileListDetails["storageUrl"];
23
- }
24
-
25
- export const postCreateFileList = async (payload: PostCreateFileListPayload) => {
26
- return createTarget<FileList, PostCreateFileListPayload>({
27
- payload: payload,
28
- validator: PostCreateFileListValidator,
29
- checkRedundancyFilterList: [
30
- {
31
- field: "category",
32
- operator: "eq",
33
- value: CategoryFileList.FILE_LIST,
34
- },
35
- {
36
- field: "details->>dirName",
37
- operator: "eq",
38
- value: payload.dirName,
39
- },
40
- {
41
- field: "details->>storageUrl",
42
- operator: "eq",
43
- value: payload.storageUrl,
44
- },
45
- ],
46
- createFn: (validPayload) => {
47
- const { name, dirName, dirSize, storageUrl = "" } = validPayload;
48
- const details: FileListDetails = {
49
- name,
50
- dirName,
51
- dirSize,
52
- storageUrl,
53
- };
54
-
55
- return {
56
- name: validPayload.name,
57
- category: CategoryFileList.FILE_LIST,
58
- value: dirName,
59
- tagList: [],
60
- details,
61
- };
62
- },
63
- });
64
- };
1
+ import { createTarget } from "../core.api";
2
+ import { BaseValidator } from "../core.utils";
3
+ import { FileList, CategoryFileList, FileListDetails } from "./file-list.interface";
4
+
5
+ export class PostCreateFileListValidator extends BaseValidator<PostCreateFileListPayload> {
6
+ protected requiredFields: (keyof PostCreateFileListPayload)[] = ["name", "dirName", "dirSize", "storageUrl"];
7
+ protected optionalFields: (keyof PostCreateFileListPayload)[] = [];
8
+
9
+ constructor() {
10
+ super();
11
+ // Add custom
12
+ this.addValidator((val) => {
13
+ return true;
14
+ });
15
+ }
16
+ }
17
+
18
+ export interface PostCreateFileListPayload {
19
+ name: FileListDetails["name"];
20
+ dirName: FileListDetails["dirName"];
21
+ dirSize: FileListDetails["dirSize"];
22
+ storageUrl: FileListDetails["storageUrl"];
23
+ }
24
+
25
+ export const postCreateFileList = async (payload: PostCreateFileListPayload) => {
26
+ return createTarget<FileList, PostCreateFileListPayload>({
27
+ payload: payload,
28
+ validator: PostCreateFileListValidator,
29
+ checkRedundancyFilterList: [
30
+ {
31
+ field: "category",
32
+ operator: "eq",
33
+ value: CategoryFileList.FILE_LIST,
34
+ },
35
+ {
36
+ field: "details->>dirName",
37
+ operator: "eq",
38
+ value: payload.dirName,
39
+ },
40
+ {
41
+ field: "details->>storageUrl",
42
+ operator: "eq",
43
+ value: payload.storageUrl,
44
+ },
45
+ ],
46
+ createFn: (validPayload) => {
47
+ const { name, dirName, dirSize, storageUrl = "" } = validPayload;
48
+ const details: FileListDetails = {
49
+ name,
50
+ dirName,
51
+ dirSize,
52
+ storageUrl,
53
+ };
54
+
55
+ return {
56
+ name: validPayload.name,
57
+ category: CategoryFileList.FILE_LIST,
58
+ value: dirName,
59
+ tagList: [],
60
+ details,
61
+ };
62
+ },
63
+ });
64
+ };
@@ -1,24 +1,24 @@
1
- import { Target } from "../core.interface";
2
-
3
- /**
4
- * Use storageUrl+dirName to identify the file list
5
- * You can iterate all files in the directory
6
- */
7
- export type FileListDetails = {
8
- /** Human readable name, should be same to Target.name */
9
- name: string;
10
- /** unique path */
11
- dirName: string;
12
- dirSize: number;
13
- /** where to store the file list */
14
- storageUrl: string;
15
- };
16
-
17
- export enum CategoryFileList {
18
- FILE_LIST = "file-list",
19
- }
20
-
21
- export interface FileList extends Target {
22
- details: FileListDetails;
23
- category: CategoryFileList;
24
- }
1
+ import { Target } from "../core.interface";
2
+
3
+ /**
4
+ * Use storageUrl+dirName to identify the file list
5
+ * You can iterate all files in the directory
6
+ */
7
+ export type FileListDetails = {
8
+ /** Human readable name, should be same to Target.name */
9
+ name: string;
10
+ /** unique path */
11
+ dirName: string;
12
+ dirSize: number;
13
+ /** where to store the file list */
14
+ storageUrl: string;
15
+ };
16
+
17
+ export enum CategoryFileList {
18
+ FILE_LIST = "file-list",
19
+ }
20
+
21
+ export interface FileList extends Target {
22
+ details: FileListDetails;
23
+ category: CategoryFileList;
24
+ }
@@ -1,28 +1,28 @@
1
- import { Target } from "../core.interface";
2
-
3
- export enum CategoryIdea {
4
- OPPORTUNITY = "opportunity",
5
- }
6
-
7
- export interface Idea extends Target {
8
- /** 主題 */
9
- value: string;
10
- details: IdeaDetails;
11
- category: CategoryIdea;
12
- }
13
-
14
- export interface IdeaDetails {
15
- manifestVersion: number;
16
- marketList: Market[];
17
- reviewList: string[];
18
- /** 切入點 */
19
- point: string;
20
- };
21
-
22
- export enum Market {
23
- NA = "NA",
24
- EU = "EU",
25
- JP = "JP",
26
- CN = "CN",
27
- TW = "TW",
1
+ import { Target } from "../core.interface";
2
+
3
+ export enum CategoryIdea {
4
+ OPPORTUNITY = "opportunity",
5
+ }
6
+
7
+ export interface Idea extends Target {
8
+ /** 主題 */
9
+ value: string;
10
+ details: IdeaDetails;
11
+ category: CategoryIdea;
12
+ }
13
+
14
+ export interface IdeaDetails {
15
+ manifestVersion: number;
16
+ marketList: Market[];
17
+ reviewList: string[];
18
+ /** 切入點 */
19
+ point: string;
20
+ };
21
+
22
+ export enum Market {
23
+ NA = "NA",
24
+ EU = "EU",
25
+ JP = "JP",
26
+ CN = "CN",
27
+ TW = "TW",
28
28
  };
package/src/index.ts CHANGED
@@ -1,50 +1,50 @@
1
- export { SupabaseInitializer } from "./supabase";
2
- export type { SupabaseInitializerParams } from "./supabase";
3
- export type { SupabaseClient } from "@supabase/supabase-js";
4
-
5
- import { SupabaseInitializer } from "./supabase";
6
-
7
- export const supabase = SupabaseInitializer.getInstance();
8
-
9
- export * from "./core.api";
10
- export * from "./core.interface";
11
- export * from "./core.utils";
12
-
13
- export * from "./auth/auth.api";
14
-
15
- export * from "./feed/feed.interface";
16
- export * from "./idea/idea.interface";
17
- export * from "./link/link.interface";
18
-
19
- export { CategoryParcel } from "./parcel/parcel.interface";
20
- export type {
21
- Parcel,
22
- ParcelDetails,
23
- Chunk,
24
- LifecycleStatus as ParcelLifecycleStatus,
25
- Lifecycle as ParcelLifecycle,
26
- } from "./parcel/parcel.interface";
27
- export { default as ParcelManager } from "./parcel/parcel-manager";
28
-
29
- export * from "./file/file.interface";
30
- export * from "./file/file.api";
31
- export * from "./file/file-manager";
32
-
33
- export * from "./file-list/file-list.interface";
34
- export * from "./file-list/file-list.api";
35
-
36
- export * from "./question-list/question-list.interface";
37
- export * from "./question-list/question-list.api";
38
-
39
- export * from "./review/review.interface";
40
- export * from "./review/review.api";
41
-
42
- export type { ReviewV2, ReviewV2Details, ReviewResult } from "./review-v2/review.interface";
43
- export * from "./review-v2/review-setting.interface";
44
- export { postReview as postReviewV2, PostReviewValidator as PostReviewV2Validator } from "./review-v2/apis/post-review.api";
45
- export type { PostReviewPayload as PostReviewV2Payload } from "./review-v2/apis/post-review.api";
46
- export * from "./review-v2/apis/post-review-setting.api";
47
-
48
- export * from "./service/base.interface";
49
- export * from "./service/service.interface";
50
- export * from "./service/api.interface";
1
+ export { SupabaseInitializer } from "./supabase";
2
+ export type { SupabaseInitializerParams } from "./supabase";
3
+ export type { SupabaseClient } from "@supabase/supabase-js";
4
+
5
+ import { SupabaseInitializer } from "./supabase";
6
+
7
+ export const supabase = SupabaseInitializer.getInstance();
8
+
9
+ export * from "./core.api";
10
+ export * from "./core.interface";
11
+ export * from "./core.utils";
12
+
13
+ export * from "./auth/auth.api";
14
+
15
+ export * from "./feed/feed.interface";
16
+ export * from "./idea/idea.interface";
17
+ export * from "./link/link.interface";
18
+
19
+ export { CategoryParcel } from "./parcel/parcel.interface";
20
+ export type {
21
+ Parcel,
22
+ ParcelDetails,
23
+ Chunk,
24
+ LifecycleStatus as ParcelLifecycleStatus,
25
+ Lifecycle as ParcelLifecycle,
26
+ } from "./parcel/parcel.interface";
27
+ export { default as ParcelManager } from "./parcel/parcel-manager";
28
+
29
+ export * from "./file/file.interface";
30
+ export * from "./file/file.api";
31
+ export * from "./file/file-manager";
32
+
33
+ export * from "./file-list/file-list.interface";
34
+ export * from "./file-list/file-list.api";
35
+
36
+ export * from "./question-list/question-list.interface";
37
+ export * from "./question-list/question-list.api";
38
+
39
+ export * from "./review/review.interface";
40
+ export * from "./review/review.api";
41
+
42
+ export type { ReviewV2, ReviewV2Details, ReviewResult } from "./review-v2/review.interface";
43
+ export * from "./review-v2/review-setting.interface";
44
+ export { postReview as postReviewV2, PostReviewValidator as PostReviewV2Validator } from "./review-v2/apis/post-review.api";
45
+ export type { PostReviewPayload as PostReviewV2Payload } from "./review-v2/apis/post-review.api";
46
+ export * from "./review-v2/apis/post-review-setting.api";
47
+
48
+ export * from "./service/base.interface";
49
+ export * from "./service/service.interface";
50
+ export * from "./service/api.interface";
@@ -1,21 +1,21 @@
1
- import { Target } from "../core.interface";
2
-
3
- export enum CategoryLink {
4
- LINK = "link",
5
- }
6
-
7
- export interface Link extends Target {
8
- /** 鏈接名稱 */
9
- name: string;
10
- /** URL */
11
- value: string;
12
- details: LinkDetails;
13
- category: CategoryLink;
14
- }
15
-
16
- export interface LinkDetails {
17
- manifestVersion: number;
18
- description: string;
19
- iconUrl: string;
20
- };
21
-
1
+ import { Target } from "../core.interface";
2
+
3
+ export enum CategoryLink {
4
+ LINK = "link",
5
+ }
6
+
7
+ export interface Link extends Target {
8
+ /** 鏈接名稱 */
9
+ name: string;
10
+ /** URL */
11
+ value: string;
12
+ details: LinkDetails;
13
+ category: CategoryLink;
14
+ }
15
+
16
+ export interface LinkDetails {
17
+ manifestVersion: number;
18
+ description: string;
19
+ iconUrl: string;
20
+ };
21
+