@fixefy/fixefy-ui-utils 0.0.11 → 0.0.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.
Files changed (153) hide show
  1. package/dist-cjs/auth/index.js +40 -0
  2. package/dist-cjs/auth/index.js.map +1 -0
  3. package/dist-cjs/aws/aws_lambda_helper.d.ts +5 -0
  4. package/dist-cjs/aws/aws_lambda_helper.js +68 -0
  5. package/dist-cjs/aws/aws_lambda_helper.js.map +1 -0
  6. package/dist-cjs/aws/aws_s3_helper.d.ts +0 -0
  7. package/dist-cjs/aws/aws_s3_helper.js +243 -0
  8. package/dist-cjs/aws/aws_s3_helper.js.map +1 -0
  9. package/dist-cjs/aws/data_models.js +3 -0
  10. package/dist-cjs/aws/data_models.js.map +1 -0
  11. package/dist-cjs/aws/index.d.ts +1 -0
  12. package/dist-cjs/aws/index.js +6 -0
  13. package/dist-cjs/aws/index.js.map +1 -0
  14. package/dist-cjs/commander/index.d.ts +33 -0
  15. package/dist-cjs/commander/index.js +292 -0
  16. package/dist-cjs/commander/index.js.map +1 -0
  17. package/dist-cjs/constants/index.js +89 -0
  18. package/dist-cjs/constants/index.js.map +1 -0
  19. package/dist-cjs/contents/index.d.ts +0 -0
  20. package/dist-cjs/contents/index.js +33 -0
  21. package/dist-cjs/contents/index.js.map +1 -0
  22. package/{dist-es/types → dist-cjs}/files/index.d.ts +1 -1
  23. package/dist-cjs/files/index.js +31 -0
  24. package/dist-cjs/files/index.js.map +1 -0
  25. package/dist-cjs/{types/graphql → graphql}/index.d.ts +3 -3
  26. package/dist-cjs/graphql/index.js +338 -0
  27. package/dist-cjs/graphql/index.js.map +1 -0
  28. package/dist-cjs/{types/headers → headers}/index.d.ts +1 -1
  29. package/dist-cjs/headers/index.js +103 -0
  30. package/dist-cjs/headers/index.js.map +1 -0
  31. package/dist-cjs/images/index.js +16 -0
  32. package/dist-cjs/images/index.js.map +1 -0
  33. package/dist-cjs/index.d.ts +12 -0
  34. package/dist-cjs/index.js +18 -39
  35. package/dist-cjs/index.js.map +1 -1
  36. package/dist-cjs/json/index.js +154 -0
  37. package/dist-cjs/json/index.js.map +1 -0
  38. package/dist-cjs/package.json +3 -0
  39. package/dist-cjs/{types/page_context → page_context}/index.d.ts +0 -1
  40. package/dist-cjs/page_context/index.js +511 -0
  41. package/dist-cjs/page_context/index.js.map +1 -0
  42. package/dist-cjs/redirect/index.js +19 -0
  43. package/dist-cjs/redirect/index.js.map +1 -0
  44. package/dist-cjs/renderer/index.d.ts +0 -0
  45. package/dist-cjs/renderer/index.js +78 -0
  46. package/dist-cjs/renderer/index.js.map +1 -0
  47. package/dist-cjs/resolvers/index.js +38 -0
  48. package/dist-cjs/resolvers/index.js.map +1 -0
  49. package/dist-cjs/transform/index.js +44 -0
  50. package/dist-cjs/transform/index.js.map +1 -0
  51. package/dist-cjs/types/index.d.ts +39 -11
  52. package/dist-cjs/types/index.js +3 -0
  53. package/dist-cjs/types/index.js.map +1 -0
  54. package/dist-cjs/validate/index.js +56 -0
  55. package/dist-cjs/validate/index.js.map +1 -0
  56. package/dist-es/auth/index.js +38 -0
  57. package/dist-es/auth/index.js.map +1 -0
  58. package/dist-es/aws/aws_lambda_helper.d.ts +5 -0
  59. package/dist-es/aws/aws_lambda_helper.js +60 -0
  60. package/dist-es/aws/aws_lambda_helper.js.map +1 -0
  61. package/dist-es/aws/aws_s3_helper.d.ts +0 -0
  62. package/dist-es/aws/aws_s3_helper.js +243 -0
  63. package/dist-es/aws/aws_s3_helper.js.map +1 -0
  64. package/dist-es/aws/data_models.js +2 -0
  65. package/dist-es/aws/data_models.js.map +1 -0
  66. package/dist-es/aws/index.d.ts +1 -0
  67. package/dist-es/aws/index.js +3 -0
  68. package/dist-es/aws/index.js.map +1 -0
  69. package/dist-es/commander/index.d.ts +33 -0
  70. package/dist-es/commander/index.js +262 -0
  71. package/dist-es/commander/index.js.map +1 -0
  72. package/dist-es/constants/index.js +86 -0
  73. package/dist-es/constants/index.js.map +1 -0
  74. package/dist-es/contents/index.d.ts +0 -0
  75. package/dist-es/contents/index.js +33 -0
  76. package/dist-es/contents/index.js.map +1 -0
  77. package/{dist-cjs/types → dist-es}/files/index.d.ts +1 -1
  78. package/dist-es/files/index.js +26 -0
  79. package/dist-es/files/index.js.map +1 -0
  80. package/dist-es/{types/graphql → graphql}/index.d.ts +3 -3
  81. package/dist-es/graphql/index.js +357 -0
  82. package/dist-es/graphql/index.js.map +1 -0
  83. package/dist-es/{types/headers → headers}/index.d.ts +1 -1
  84. package/dist-es/headers/index.js +91 -0
  85. package/dist-es/headers/index.js.map +1 -0
  86. package/dist-es/images/index.js +12 -0
  87. package/dist-es/images/index.js.map +1 -0
  88. package/dist-es/index.d.ts +12 -0
  89. package/dist-es/index.js +15 -39
  90. package/dist-es/index.js.map +1 -1
  91. package/dist-es/json/index.js +144 -0
  92. package/dist-es/json/index.js.map +1 -0
  93. package/dist-es/package.json +3 -0
  94. package/dist-es/{types/page_context → page_context}/index.d.ts +0 -1
  95. package/dist-es/page_context/index.js +529 -0
  96. package/dist-es/page_context/index.js.map +1 -0
  97. package/dist-es/redirect/index.js +16 -0
  98. package/dist-es/redirect/index.js.map +1 -0
  99. package/dist-es/renderer/index.d.ts +0 -0
  100. package/dist-es/renderer/index.js +78 -0
  101. package/dist-es/renderer/index.js.map +1 -0
  102. package/dist-es/resolvers/index.js +34 -0
  103. package/dist-es/resolvers/index.js.map +1 -0
  104. package/dist-es/transform/index.js +39 -0
  105. package/dist-es/transform/index.js.map +1 -0
  106. package/dist-es/types/index.d.ts +39 -11
  107. package/dist-es/types/index.js +2 -0
  108. package/dist-es/types/index.js.map +1 -0
  109. package/dist-es/validate/index.js +48 -0
  110. package/dist-es/validate/index.js.map +1 -0
  111. package/dist-types/auth/index.d.ts +2 -0
  112. package/dist-types/aws/aws_lambda_helper.d.ts +5 -0
  113. package/dist-types/aws/aws_s3_helper.d.ts +0 -0
  114. package/dist-types/aws/data_models.d.ts +21 -0
  115. package/dist-types/aws/index.d.ts +1 -0
  116. package/dist-types/commander/index.d.ts +33 -0
  117. package/dist-types/constants/index.d.ts +6 -0
  118. package/dist-types/contents/index.d.ts +0 -0
  119. package/dist-types/files/index.d.ts +2 -0
  120. package/dist-types/graphql/index.d.ts +38 -0
  121. package/dist-types/headers/index.d.ts +12 -0
  122. package/dist-types/images/index.d.ts +4 -0
  123. package/dist-types/index.d.ts +12 -0
  124. package/dist-types/json/index.d.ts +7 -0
  125. package/dist-types/page_context/index.d.ts +247 -0
  126. package/dist-types/redirect/index.d.ts +2 -0
  127. package/dist-types/renderer/index.d.ts +0 -0
  128. package/dist-types/resolvers/index.d.ts +11 -0
  129. package/dist-types/transform/index.d.ts +2 -0
  130. package/{dist-cjs/types → dist-types}/types/index.d.ts +5 -5
  131. package/dist-types/validate/index.d.ts +5 -0
  132. package/package.json +12 -17
  133. package/dist-cjs/types/commander/index.d.ts +0 -33
  134. package/dist-es/types/commander/index.d.ts +0 -33
  135. package/dist-es/types/types/index.d.ts +0 -39
  136. /package/dist-cjs/{types/auth → auth}/index.d.ts +0 -0
  137. /package/dist-cjs/{types/aws → aws}/data_models.d.ts +0 -0
  138. /package/dist-cjs/{types/constants → constants}/index.d.ts +0 -0
  139. /package/dist-cjs/{types/images → images}/index.d.ts +0 -0
  140. /package/dist-cjs/{types/json → json}/index.d.ts +0 -0
  141. /package/dist-cjs/{types/redirect → redirect}/index.d.ts +0 -0
  142. /package/dist-cjs/{types/resolvers → resolvers}/index.d.ts +0 -0
  143. /package/dist-cjs/{types/transform → transform}/index.d.ts +0 -0
  144. /package/dist-cjs/{types/validate → validate}/index.d.ts +0 -0
  145. /package/dist-es/{types/auth → auth}/index.d.ts +0 -0
  146. /package/dist-es/{types/aws → aws}/data_models.d.ts +0 -0
  147. /package/dist-es/{types/constants → constants}/index.d.ts +0 -0
  148. /package/dist-es/{types/images → images}/index.d.ts +0 -0
  149. /package/dist-es/{types/json → json}/index.d.ts +0 -0
  150. /package/dist-es/{types/redirect → redirect}/index.d.ts +0 -0
  151. /package/dist-es/{types/resolvers → resolvers}/index.d.ts +0 -0
  152. /package/dist-es/{types/transform → transform}/index.d.ts +0 -0
  153. /package/dist-es/{types/validate → validate}/index.d.ts +0 -0
@@ -0,0 +1,243 @@
1
+ "use strict";
2
+ //import { ListObjectOutput } from './data_models'
3
+ //import { SignedUrl } from './data_models'
4
+ //import AWS from 'aws-sdk'
5
+ //import PaginationHelper from './pagination_helper'
6
+ //const s3Credentials: AWS.Credentials = new AWS.Credentials( { accessKeyId: process.env.AWS_S3_ACCESS_KEY || '', secretAccessKey: process.env.AWS_S3_SECRET_KEY || '' } ),
7
+ // awsS3: AWS.S3 = new AWS.S3( { credentials: s3Credentials } )
8
+ //const AwsS3Helper = {
9
+ //copyMyReport: async ( args: any ): Promise<any> => {
10
+ // const { data: { from, to } }: { data: { from: string, to: string } } = args
11
+ // // set the params
12
+ // const prefixFrom = `fixefy-reports${AwsS3Helper.getBucketEnvSuffix( parent, args, ctx, info, rest )}/${ctx.workspace?.readable_id}/${ctx.user?.username}/${from}`,
13
+ // prefixTo = `${ctx.workspace?.readable_id}/${ctx.user?.username}/${to}`,
14
+ // params: any = { Bucket: `fixefy-reports${AwsS3Helper.getBucketEnvSuffix( parent, args, ctx, info, rest )}`, CopySource: prefixFrom, Key: prefixTo }
15
+ // const rv: any = await awsS3.copyObject( params ).promise()
16
+ // // notify
17
+ // NotifyHelper.notify( parent, { data: { payload: rv } }, ctx, info, rest )
18
+ // return rv
19
+ //},
20
+ //createBucket: async ( args: any ): Promise<AWS.S3.Types.CreateBucketOutput> => {
21
+ // const { data: { name } }: { data: { name: string } } = args,
22
+ // params: AWS.S3.Types.CreateBucketRequest = { Bucket: name }
23
+ // // create bucket
24
+ // const rv = await awsS3.createBucket( params ).promise()
25
+ // // notify
26
+ // NotifyHelper.notify( parent, { data: { payload: rv } }, ctx, info, rest )
27
+ // return rv
28
+ //},
29
+ //deleteBucket: async ( args: any ): Promise<any> => {
30
+ // const { data: { name } }: { data: { name: string } } = args,
31
+ // params: AWS.S3.Types.DeleteBucketRequest = { Bucket: name }
32
+ // const rv: any = await awsS3.deleteBucket( params ).promise()
33
+ // // notify
34
+ // NotifyHelper.notify( parent, { data: { payload: rv } }, ctx, info, rest )
35
+ // return rv
36
+ //},
37
+ //deleteMyReport: async ( args: any ): Promise<any> => {
38
+ // const { data: { is_notify: isNotify = true, name } }: { data: { is_notify: boolean, name: string } } = args
39
+ // // set the prefix
40
+ // const prefix = `${ctx.workspace?.readable_id}/${ctx.user?.username}/${name}`
41
+ // // set the params
42
+ // const params: AWS.S3.Types.DeleteObjectRequest = { Bucket: `fixefy-reports${AwsS3Helper.getBucketEnvSuffix( parent, args, ctx, info, rest )}`, Key: prefix }
43
+ // // delete object
44
+ // const rv: any = await awsS3.deleteObject( params ).promise()
45
+ // // input check - if is_notify
46
+ // if ( isNotify ) {
47
+ // // notify
48
+ // NotifyHelper.notify( parent, { data: { payload: rv } }, ctx, info, rest )
49
+ // }
50
+ // return rv
51
+ //},
52
+ //deleteMyReports: async ( args: any ): Promise<any> => {
53
+ // const { data: { names } }: { data: { names: Array<string> } } = args
54
+ // // set the prefix
55
+ // const prefix = `${ctx.workspace?.readable_id}/${ctx.user?.username}`
56
+ // const promises: Array<Promise<any>> = []
57
+ // let currentPromise: Promise<any>
58
+ // for ( const name of names ) {
59
+ // currentPromise = AwsS3Helper.deleteMyReport( parent, { data: { is_notify: false, name } }, ctx, info, rest )
60
+ // promises.push( currentPromise )
61
+ // }
62
+ // const resultArray: Array<any> = await Promise.all( promises ),
63
+ // rv: any = {}
64
+ // // set the params
65
+ // const params: AWS.S3.Types.DeleteObjectRequest = { Bucket: `fixefy-reports${AwsS3Helper.getBucketEnvSuffix( parent, args, ctx, info, rest )}`, Key: prefix }
66
+ // for ( let i = 0; i < resultArray.length; ++i ) {
67
+ // rv[ names[ i ] ] = resultArray[ i ]
68
+ // }
69
+ // // notify
70
+ // NotifyHelper.notify( parent, { data: { payload: rv } }, ctx, info, rest )
71
+ // return rv
72
+ //},
73
+ // deleteBucket: async (parent: any, args: any, ctx: Context, info: any, rest: any): Promise<DeleteBucketCommandOutput> => {
74
+ // const { data: { name } } = args
75
+ // // create the delete command
76
+ // const command: DeleteBucketCommand = new DeleteBucketCommand({ Bucket: name })
77
+ // // delete bucket
78
+ // const rv: DeleteBucketCommandOutput = await s3.deleteBucket((command)
79
+ // return rv
80
+ // },
81
+ // deleteFile: async (parent: any, args: any, ctx: Context, info: any, rest: any): Promise<DeleteObjectCommandOutput> => {
82
+ // const { data: { bucket_name, name } } = args
83
+ // // create the delete command
84
+ // const command: DeleteObjectCommand = new DeleteObjectCommand({ Bucket: bucket_name, Key: name })
85
+ // // delete bucket
86
+ // const rv: DeleteObjectCommandOutput = await s3Client.send(command)
87
+ // return rv
88
+ // },
89
+ // downloadObject: async ( args: any ): Promise<AWS.S3.Types.GetObjectOutput> => {
90
+ // const { data: { bucket_name, name } } = args,
91
+ // params: AWS.S3.Types.GetObjectRequest = { Bucket: bucket_name, Key: name }
92
+ // const rv: AWS.S3.Types.GetObjectOutput = await s3.getObject( params ).promise()
93
+ // return rv
94
+ // },
95
+ //getBucketEnvSuffix: (args: any): string => {
96
+ // const{ env } = args
97
+ // let rv: string
98
+ // switch ( env ) {
99
+ // case 'local':
100
+ // rv = '-dev'
101
+ // break
102
+ // case 'prod':
103
+ // rv = ''
104
+ // break
105
+ // default:
106
+ // rv = `-${env}`
107
+ // break
108
+ // }
109
+ // return rv
110
+ //},
111
+ //getFuegoUploadUrl: ( args: any ): SignedUrl => {
112
+ // const { username, workspace, where: { expires_in, name } } = args
113
+ // if( name == null || name.length == 0 ) throw new Error( 'name is an empty string' )
114
+ // const currentPrefix = `${workspace}/${username}/${name}`,
115
+ // currentParams: unknown = { Bucket: `fixefy-fuegos${AwsS3Helper.getBucketEnvSuffix( args )}`, Key: currentPrefix, Expires: expires_in || 3600 },
116
+ // url: string = awsS3.getSignedUrl( 'putObject', currentParams ),
117
+ // rv: SignedUrl = { name, url }
118
+ // return rv
119
+ //},
120
+ //getReportDownloadUrl: ( args: any ): string => {
121
+ // const { where: { expires_in, name } }: { where: { expires_in: string, name: string } } = args,
122
+ // prefix = `${ctx.workspace?.readable_id}/${ctx.user?.username}/${name}`,
123
+ // params: any = { Bucket: `fixefy-reports${AwsS3Helper.getBucketEnvSuffix( parent, args, ctx, info, rest )}`, Key: prefix, Expires: expires_in || 3600 }
124
+ // // get the signed url
125
+ // const rv: string = awsS3.getSignedUrl( 'getObject', params )
126
+ // return rv
127
+ //},
128
+ //getMyReports: async ( args: any ): Promise<Array<ListObjectOutput>> => {
129
+ // // set limits
130
+ // PaginationHelper.limitPagination( parent, args, ctx, info, rest )
131
+ // const prefix = `${ctx.workspace?.readable_id}/${ctx.user?.username}/`,
132
+ // params: AWS.S3.ListObjectsV2Request = { Bucket: `fixefy-reports${AwsS3Helper.getBucketEnvSuffix( parent, args, ctx, info, rest )}`, Prefix: prefix },
133
+ // result: AWS.S3.ListObjectsV2Output = await awsS3.listObjectsV2( params ).promise(),
134
+ // rv: Array<ListObjectOutput> = []
135
+ // let headParams: AWS.S3.Types.HeadObjectRequest,
136
+ // headResult: AWS.S3.Types.HeadObjectOutput,
137
+ // currentObject: ListObjectOutput,
138
+ // currentFileName: Maybe<string>,
139
+ // currentUrl: Maybe<string>
140
+ // for ( const content of result?.Contents || [] ) {
141
+ // // input check - if key is invalid - continue loop
142
+ // if ( ValidateHelper.isStringValid( content?.Key ) == false )
143
+ // continue
144
+ // currentFileName = content?.Key?.split( '/' ).pop()
145
+ // // input check - if file_name is invalid - continue loop
146
+ // if ( ValidateHelper.isStringValid( currentFileName ) == false )
147
+ // continue
148
+ // currentUrl = AwsS3Helper.getReportDownloadUrl( parent, { where: { name: currentFileName } }, ctx, info, rest )
149
+ // currentObject = { name: currentFileName, size: content.Size, updated_at: content.LastModified?.getTime(), url: currentUrl }
150
+ // headParams = { Bucket: `fixefy-reports${AwsS3Helper.getBucketEnvSuffix( parent, args, ctx, info, rest )}`, Key: content.Key as string }
151
+ // headResult = await awsS3.headObject( headParams ).promise()
152
+ // // input check - if headResult.Metadata is valid
153
+ // if ( ValidateHelper.isObjectValid( headResult?.Metadata ) ) {
154
+ // currentObject.description = headResult?.Metadata?.description
155
+ // currentObject.report = headResult?.Metadata?.report
156
+ // currentObject.title = headResult?.Metadata?.title
157
+ // currentObject.updated_by = headResult?.Metadata?.updated_by
158
+ // }
159
+ // rv.push( currentObject )
160
+ // }
161
+ // return rv
162
+ //},
163
+ //listObjectsV2: async ( args: any ): Promise<AWS.S3.ListObjectsV2Output> => {
164
+ // // set first/last limits
165
+ // PaginationHelper.limitPagination( parent, args, ctx, info, rest )
166
+ // const { where: { bucket_name }, first, skip } = args
167
+ // const params: AWS.S3.ListObjectsV2Request = { Bucket: `${bucket_name}${AwsS3Helper.getBucketEnvSuffix( parent, args, ctx, info, rest )}`, MaxKeys: first, StartAfter: `${skip}` }
168
+ // const rv: AWS.S3.ListObjectsV2Output = await awsS3.listObjectsV2( params ).promise()
169
+ // return rv
170
+ //},
171
+ //moveMyReport: async ( args: any ): Promise<never> => {
172
+ // throw new ApolloError( 'not yet implemented' )
173
+ //},
174
+ //renameMyReport: async ( args: any ): Promise<any> => {
175
+ // const { data: { from } }: { data: { from: string } } = args
176
+ // const copyResult: any = await AwsS3Helper.copyMyReport( parent, args, ctx, info, rest ),
177
+ // rv: any = await AwsS3Helper.deleteMyReport( parent, { data: { name: from } }, ctx, info, rest )
178
+ // // notify
179
+ // NotifyHelper.notify( parent, { data: { payload: rv } }, ctx, info, rest )
180
+ // return rv
181
+ //},
182
+ // toListObject: ( args: any ): ListObject => {
183
+ // const result: AWS.S3.ListObjectsV2Output = args.data.result,
184
+ // rv: ListObject = {
185
+ // common_prefixes: AwsHelper.toListObjectCommonPrefixArray( parent, { data: { prefixes: result.CommonPrefixes } }, ctx, info, rest ),
186
+ // contents: AwsHelper.toListObjectContentArray( parent, { data: { contents: result.Contents } }, ctx, info, rest ),
187
+ // is_truncated: result.IsTruncated,
188
+ // key_count: result.KeyCount,
189
+ // max_keys: result.MaxKeys,
190
+ // name: result.Name,
191
+ // prefix: result.Prefix,
192
+ // start_after: result.StartAfter,
193
+ // }
194
+ // return rv
195
+ // },
196
+ // toListObjectCommonPrefixArray: ( args: any ): Array<ListObjectCommonPrefix> => {
197
+ // const prefixes: Array<AWS.S3.Types.CommonPrefix> = args.data.prefixes,
198
+ // rv: Array<ListObjectCommonPrefix> = prefixes.map( p => { return { prefix: p.Prefix } } )
199
+ // return rv
200
+ // },
201
+ // toListObjectContentArray: ( args: any ): Array<ListObjectContent> => {
202
+ // const contents: Array<AWS.S3.Types.Object> = args.data.contents,
203
+ // rv: Array<ListObjectContent> = contents.map( c => {
204
+ // return {
205
+ // e_tag: c.ETag,
206
+ // name: c.Key,
207
+ // last_modified: c.LastModified != null ? new Date( c.LastModified ).getTime() : undefined,
208
+ // size: c.Size,
209
+ // storage_class: c.StorageClass,
210
+ // } } )
211
+ // return rv
212
+ // },
213
+ //uploadObject: async ( args: any ): Promise<AWS.S3.ManagedUpload.SendData> => {
214
+ // const { data: { bucket_name, content, description = '', file_name: fileName, name, title = '' } }: { data: { bucket_name: string, content: string, description: string, file_name: string, name: string, title: string } } = args
215
+ // const params: AWS.S3.Types.PutObjectRequest = {
216
+ // Bucket: `${bucket_name}${AwsS3Helper.getBucketEnvSuffix( parent, args, ctx, info, rest )}`,
217
+ // Key: fileName,
218
+ // Body: content,
219
+ // Metadata: {
220
+ // description,
221
+ // name,
222
+ // //report: report?.readable_id,
223
+ // title,
224
+ // updated_by: ctx.user.username
225
+ // }
226
+ // }
227
+ // const rv: AWS.S3.ManagedUpload.SendData = await awsS3.upload( params ).promise()
228
+ // // notify
229
+ // NotifyHelper.notify( parent, { data: { payload: rv } }, ctx, info, rest )
230
+ // return rv
231
+ //},
232
+ // validateCreateFolder: async (parent: any, args: any, ctx: Context, info: any, rest: any): Promise<any> => {
233
+ // let { data: { bucket_name, name } } = args
234
+ // if (name == null) throw new ApolloError('name cannot be null')
235
+ // name = name.trim()
236
+ // if (ValidateHelper.isStringValid(name) == false) throw new ApolloError('name must contain at least one non-space character')
237
+ // if (name.includes('/')) throw new ApolloError('name cannot contain slashes')
238
+ // // const headRes = await s3.headObject({ Bucket: bucket_name, Key: name }, () => { })).promise()
239
+ // // if(headRes. )
240
+ // },
241
+ //}
242
+ //export { AwsS3Helper }
243
+ //# sourceMappingURL=aws_s3_helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aws_s3_helper.js","sourceRoot":"","sources":["../../src/aws/aws_s3_helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data_models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data_models.js","sourceRoot":"","sources":["../../src/aws/data_models.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export * from './aws_lambda_helper';
@@ -0,0 +1,3 @@
1
+ export * from './aws_lambda_helper';
2
+ //export * from './aws_s3_helper'
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/aws/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,iCAAiC"}
@@ -0,0 +1,33 @@
1
+ import { Maybe } from '@fixefy/fixefy-entities';
2
+ export declare const buildCode: (obj: any, level: number | undefined, name: string) => string[];
3
+ export declare const copyToClipboard: (str: string) => void;
4
+ export declare const convertToString: (input: any) => Maybe<string>;
5
+ export declare const determineIconByEvent: (event: {
6
+ type: string;
7
+ }) => string | undefined;
8
+ export declare const formatNumberWithCommas: (number: number) => string;
9
+ export declare const getNormalizationKeyForEntity: (entity_type: string) => string;
10
+ export declare const getStringValueByValueType: ({ value, name }: {
11
+ value: any;
12
+ name: string;
13
+ }) => any;
14
+ export declare const getVal: (val: any) => any;
15
+ export declare const isInServer: () => boolean;
16
+ export declare const isValidTimestamp: (_timestamp: any) => boolean;
17
+ export declare const lineString: (level: any, name?: string) => string;
18
+ export declare const makeString: (len?: number) => string;
19
+ export declare const nest: ({ items }: {
20
+ items: Array<any>;
21
+ }) => any[];
22
+ export declare const normalizeTimestamp: (timestamp: any, options: any) => string;
23
+ export declare const normalizeStringBodyRaw: (key: string, body: any) => any;
24
+ export declare const titleCase: (str?: string) => string;
25
+ export declare const toCamelCase: (inputArray: Maybe<Array<any>>) => string;
26
+ export declare const toCamelCaseString: (input: string) => string;
27
+ export declare const toCurrency: (input: string | number) => string | number;
28
+ export declare const toInitials: (str: string) => string | undefined;
29
+ export declare const toPascalCase: (string: string, title?: boolean) => string;
30
+ export declare const toWords: (input: Maybe<string>) => RegExpMatchArray | null | undefined;
31
+ export declare const trimRuleCode: (input: any) => string;
32
+ export declare const useStatePromisify: (_state: any) => any[];
33
+ export declare const getScoreColor: (value: number) => "bad" | "low" | "medium" | "high" | "excellent";
@@ -0,0 +1,262 @@
1
+ import { EntityTypes } from '../';
2
+ import { format } from 'date-fns';
3
+ import { useCallback, useEffect, useRef, useState } from 'react';
4
+ import NumericHelper from '@fixefy/fixefy-numeric';
5
+ export const buildCode = (obj, level = 0, name) => {
6
+ const toRender = [];
7
+ const keys = Object.keys(obj);
8
+ if (keys.length < 1) {
9
+ toRender.push(lineString(level, name) + '{}');
10
+ return toRender;
11
+ }
12
+ toRender.push(lineString(level, name) + '{');
13
+ keys.forEach((key) => {
14
+ if (key === '__typename')
15
+ return;
16
+ if (typeof obj[key] === 'object' && obj[key] !== null) {
17
+ toRender.push(...buildCode(obj[key], level + 1, key));
18
+ }
19
+ else {
20
+ const val = getVal(obj[key]);
21
+ toRender.push(lineString(level + 1, key) + val);
22
+ }
23
+ });
24
+ toRender.push(lineString(level) + '}');
25
+ return toRender;
26
+ };
27
+ export const copyToClipboard = (str) => {
28
+ if (window == undefined)
29
+ return;
30
+ const el = document.createElement('textarea');
31
+ el.value = str;
32
+ el.setAttribute('readonly', '');
33
+ el.style.position = 'absolute';
34
+ el.style.left = '-9999px';
35
+ document.body.appendChild(el);
36
+ el.select();
37
+ document.execCommand('copy');
38
+ document.body.removeChild(el);
39
+ };
40
+ export const convertToString = (input) => {
41
+ if (input) {
42
+ return typeof input === 'string' ? input : String(input);
43
+ }
44
+ else {
45
+ return null;
46
+ }
47
+ };
48
+ export const determineIconByEvent = (event) => {
49
+ let rv;
50
+ if (event) {
51
+ switch (event.type) {
52
+ case 'charged':
53
+ rv = '../../static/images/transactions/billing.svg';
54
+ break;
55
+ case 'packed':
56
+ rv = '../../static/images/transactions/system.svg';
57
+ break;
58
+ default:
59
+ rv = '../../static/images/transactions/user.svg';
60
+ break;
61
+ }
62
+ }
63
+ return rv;
64
+ };
65
+ export const formatNumberWithCommas = (number) => {
66
+ return number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
67
+ };
68
+ export const getNormalizationKeyForEntity = (entity_type) => {
69
+ let rv;
70
+ switch (entity_type.toLowerCase()) {
71
+ case EntityTypes.User:
72
+ rv = 'username';
73
+ break;
74
+ case EntityTypes.Pricing:
75
+ rv = 'value';
76
+ break;
77
+ case EntityTypes.Metadata:
78
+ rv = 'title';
79
+ break;
80
+ case EntityTypes.Transaction:
81
+ case EntityTypes.Transmission:
82
+ rv = 'readable_id';
83
+ break;
84
+ default:
85
+ rv = 'title';
86
+ break;
87
+ }
88
+ return rv;
89
+ };
90
+ export const getStringValueByValueType = ({ value, name }) => {
91
+ let rv;
92
+ let entity_type;
93
+ let roundedValue;
94
+ let formattedValue;
95
+ switch (typeof value) {
96
+ case 'boolean':
97
+ rv = value === true ? 'YES' : 'NO';
98
+ break;
99
+ case 'number':
100
+ if (isValidTimestamp(value)) {
101
+ rv = normalizeTimestamp(value, false);
102
+ break;
103
+ }
104
+ roundedValue = Number(value) === value && value % 1 === 0 ? value : value.toFixed(2);
105
+ formattedValue = name === 'variance' ? `${(roundedValue * 100).toFixed(1)}%` : roundedValue;
106
+ rv = formattedValue;
107
+ break;
108
+ case 'object':
109
+ if (Array.isArray(value)) {
110
+ rv = value.join(', ');
111
+ }
112
+ else {
113
+ entity_type = value && value.__typename && value.__typename.toLowerCase();
114
+ rv = titleCase(value[getNormalizationKeyForEntity(entity_type)]);
115
+ }
116
+ break;
117
+ case 'string':
118
+ rv = titleCase(value);
119
+ break;
120
+ }
121
+ return rv;
122
+ };
123
+ export const getVal = (val) => {
124
+ if (typeof val === 'number')
125
+ return val;
126
+ if (typeof val === 'string')
127
+ return `"${val}"`;
128
+ return val;
129
+ };
130
+ // export const isNumeric = (n) => {
131
+ // return !isNaN(parseFloat(n)) && isFinite(n);
132
+ // };
133
+ // determine if the current state is in the next server or not
134
+ export const isInServer = () => typeof window === 'undefined';
135
+ // export const isValidDate = (d) => {
136
+ // return d instanceof Date && !isNaN(Number(d));
137
+ // };
138
+ export const isValidTimestamp = (_timestamp) => {
139
+ const parsedNumber = typeof _timestamp == 'string' ? parseInt(_timestamp) : _timestamp;
140
+ const newTimestamp = new Date(parsedNumber).getTime();
141
+ const rv = NumericHelper.isFloat(newTimestamp) && newTimestamp.toString().length >= 10;
142
+ return rv;
143
+ };
144
+ export const lineString = (level, name) => {
145
+ let str = '';
146
+ for (let i = 0; i < level; i++) {
147
+ str += ' ';
148
+ }
149
+ if (name) {
150
+ str += name + ': ';
151
+ }
152
+ return str;
153
+ };
154
+ export const makeString = (len = 5) => {
155
+ let text = '';
156
+ const possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
157
+ for (let i = 0; i < len; i++)
158
+ text += possible.charAt(Math.floor(Math.random() * possible.length));
159
+ return text;
160
+ };
161
+ // takes flat array of objects (with parent and child structure) and makes it a nested hierarchical tree array
162
+ export const nest = ({ items }) => {
163
+ const mappedArray = Object.create(null);
164
+ items.forEach((item) => (mappedArray[item.id] = { ...item, children: [] }));
165
+ const nestedArray = [];
166
+ items.forEach((item) => {
167
+ if (item) {
168
+ if (item.parent)
169
+ mappedArray[item.parent] && mappedArray[item.parent].children.push(mappedArray[item.id]);
170
+ else
171
+ nestedArray.push(mappedArray[item.id]);
172
+ }
173
+ });
174
+ return nestedArray;
175
+ };
176
+ // timestamp
177
+ export const normalizeTimestamp = (timestamp, options) => {
178
+ const { dateOnly, format: _format } = options || {};
179
+ const _timestamp = typeof timestamp == 'string' ? parseInt(timestamp) : timestamp;
180
+ const rv = format(new Date(_timestamp), _format ? _format : dateOnly ? 'dd/MM/yyyy' : 'dd/MM/yyyy hh:mm');
181
+ return rv;
182
+ };
183
+ export const normalizeStringBodyRaw = (key, body) => {
184
+ return typeof body[key] === 'string' && (key === 'body' || key === 'raw') ? JSON.parse(body[key]) : body[key];
185
+ };
186
+ export const titleCase = (str = '') => {
187
+ return str && toPascalCase(str.toString(), true);
188
+ };
189
+ export const toCamelCase = (inputArray) => {
190
+ let result = '';
191
+ for (let i = 0, len = inputArray?.length ?? 0; i < len; i++) {
192
+ const currentStr = inputArray?.at(i);
193
+ let tempStr = currentStr.toLowerCase();
194
+ if (i != 0) {
195
+ // convert first letter to upper case (the word is in lowercase)
196
+ tempStr = tempStr.substr(0, 1).toUpperCase() + tempStr.substr(1);
197
+ }
198
+ result += tempStr;
199
+ }
200
+ return result;
201
+ };
202
+ export const toCamelCaseString = (input) => {
203
+ const words = toWords(input);
204
+ return toCamelCase(words);
205
+ };
206
+ export const toCurrency = (input) => {
207
+ return input ? input.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') : input;
208
+ };
209
+ export const toInitials = (str) => {
210
+ if (str === '')
211
+ return str;
212
+ const matches = str.match(/\b(\w)/g);
213
+ return matches?.join('').toUpperCase();
214
+ };
215
+ export const toPascalCase = (string, title = false) => {
216
+ return (string && string.replace(/(_[a-z])?(^[a-z])?(_|\s[a-z])?/g, ($1) => $1.toUpperCase().replace('_', title ? ' ' : '')));
217
+ };
218
+ export const toWords = (input) => {
219
+ input = convertToString(input);
220
+ const regex = /[A-Z\xC0-\xD6\xD8-\xDE]?[a-z\xDF-\xF6\xF8-\xFF]+|[A-Z\xC0-\xD6\xD8-\xDE]+(?![a-z\xDF-\xF6\xF8-\xFF])|\d+/g;
221
+ return input?.match(regex);
222
+ };
223
+ export const trimRuleCode = (input) => {
224
+ const stringefied = typeof input == 'string' ? input : JSON.stringify(input);
225
+ const match = stringefied.substring(stringefied.indexOf('{') + 1, stringefied.lastIndexOf('}'));
226
+ return match ? match : '';
227
+ };
228
+ export const useStatePromisify = (_state) => {
229
+ const [state, setState] = useState(_state);
230
+ const resolverRef = useRef(null);
231
+ useEffect(() => {
232
+ if (resolverRef.current) {
233
+ resolverRef.current(state);
234
+ resolverRef.current = null;
235
+ }
236
+ }, [resolverRef, state]);
237
+ const handleSetState = useCallback((stateAction) => {
238
+ setState(stateAction);
239
+ return new Promise((resolve) => {
240
+ resolverRef.current = resolve;
241
+ });
242
+ }, [setState]);
243
+ return [state, handleSetState];
244
+ };
245
+ export const getScoreColor = (value) => {
246
+ if (value <= 20) {
247
+ return 'bad';
248
+ }
249
+ else if (value <= 40) {
250
+ return 'low';
251
+ }
252
+ else if (value <= 60) {
253
+ return 'medium';
254
+ }
255
+ else if (value <= 80) {
256
+ return 'high';
257
+ }
258
+ else {
259
+ return 'excellent';
260
+ }
261
+ };
262
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commander/index.tsx"],"names":[],"mappings":"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"}