11import { writable } from 'svelte/store' ;
2-
2+ import { Resources } from '@appwrite.io/console' ;
33import { includesAll } from '$lib/helpers/array' ;
44
55const initialFormData = {
@@ -51,66 +51,66 @@ export const ResourcesFriendly = {
5151 row : { singular : 'Row' , plural : 'Rows' }
5252} ;
5353
54- const resources = Object . keys ( ResourcesFriendly ) ;
55-
56- type Resource = ( typeof resources ) [ number ] ;
57-
5854// @todo : @itznotabug - check if other resources are correct and work fine!
59- export const providerResources : Record < Provider , Resource [ ] > = {
60- appwrite : [ ... resources ] , // new terminology, others are ok?
55+ export const providerResources : Record < Provider , Resources [ ] > = {
56+ appwrite : Object . values ( Resources ) ,
6157 supabase : [
62- 'user' ,
63- 'database' ,
64- 'collection' ,
65- 'attribute' ,
66- 'index' ,
67- 'document' ,
68- 'bucket' ,
69- 'file'
58+ Resources . User ,
59+ Resources . Database ,
60+ Resources . Collection ,
61+ Resources . Attribute ,
62+ Resources . Index ,
63+ Resources . Document ,
64+ Resources . Bucket ,
65+ Resources . File
7066 ] ,
71- nhost : [ 'user' , 'database' , 'collection' , 'attribute' , 'index' , 'document' , 'bucket' , 'file' ] ,
72- firebase : [ 'user' , 'database' , 'collection' , 'attribute' , 'document' , 'bucket' , 'file' ]
67+ nhost : [
68+ Resources . User ,
69+ Resources . Database ,
70+ Resources . Collection ,
71+ Resources . Attribute ,
72+ Resources . Index ,
73+ Resources . Document ,
74+ Resources . Bucket ,
75+ Resources . File
76+ ] ,
77+ firebase : [
78+ Resources . User ,
79+ Resources . Database ,
80+ Resources . Collection ,
81+ Resources . Attribute ,
82+ Resources . Document ,
83+ Resources . Bucket ,
84+ Resources . File
85+ ]
7386} ;
7487
7588export const migrationFormToResources = (
7689 formData : MigrationFormData ,
7790 provider : Provider
78- ) : Resource [ ] => {
79- const resources : Resource [ ] = [ ] ;
80- const addResource = ( resource : Resource ) => {
91+ ) : Resources [ ] => {
92+ const resources : Resources [ ] = [ ] ;
93+ const addResource = ( resource : Resources ) => {
8194 if ( providerResources [ provider ] . includes ( resource ) ) {
8295 resources . push ( resource ) ;
8396 }
8497 } ;
8598
8699 if ( formData . users . root ) {
87- addResource ( 'user' ) ;
88- }
89- if ( formData . users . teams ) {
90- addResource ( 'team' ) ;
91- addResource ( 'membership' ) ;
100+ addResource ( Resources . User ) ;
92101 }
93102 if ( formData . databases . root ) {
94- addResource ( 'database' ) ;
95- addResource ( 'table' ) ;
96- addResource ( 'column' ) ;
97- addResource ( 'columnIndex' ) ;
103+ addResource ( Resources . Database ) ;
104+ addResource ( Resources . Table ) ;
105+ addResource ( Resources . Column ) ;
106+ addResource ( Resources . Index ) ;
98107 }
99108 if ( formData . databases . rows ) {
100- addResource ( 'row' ) ;
101- }
102- if ( formData . functions . root ) {
103- addResource ( 'function' ) ;
104- }
105- if ( formData . functions . env ) {
106- addResource ( 'environment-variable' ) ;
107- }
108- if ( formData . functions . inactive ) {
109- addResource ( 'deployment' ) ;
109+ addResource ( Resources . Row ) ;
110110 }
111111 if ( formData . storage . root ) {
112- addResource ( 'bucket' ) ;
113- addResource ( 'file' ) ;
112+ addResource ( Resources . Bucket ) ;
113+ addResource ( Resources . File ) ;
114114 }
115115
116116 return resources ;
@@ -137,33 +137,18 @@ export const isVersionAtLeast = (version: string, atLeast: string) => {
137137 return compareVersions ( version , atLeast ) >= 0 ;
138138} ;
139139
140- export const resourcesToMigrationForm = (
141- resources : Resource [ ] ,
142- version = '0.0.0'
143- ) : MigrationFormData => {
140+ export const resourcesToMigrationForm = ( resources : Resources [ ] ) : MigrationFormData => {
144141 const formData = { ...initialFormData } ;
145- if ( resources . includes ( 'user' ) ) {
142+ if ( resources . includes ( Resources . User ) ) {
146143 formData . users . root = true ;
147144 }
148- if ( includesAll ( resources , [ 'team' , 'membership' ] ) ) {
149- formData . users . teams = true ;
150- }
151- if ( resources . includes ( 'database' ) ) {
145+ if ( resources . includes ( Resources . Database ) ) {
152146 formData . databases . root = true ;
153147 }
154- if ( includesAll ( resources , [ 'table' , 'column' , 'row' ] ) ) {
148+ if ( includesAll ( resources , [ Resources . Table , Resources . Column , Resources . Row ] as Resources [ ] ) ) {
155149 formData . databases . rows = true ;
156150 }
157- if ( resources . includes ( 'function' ) && isVersionAtLeast ( version , '1.4.0' ) ) {
158- formData . functions . root = true ;
159- }
160- if ( resources . includes ( 'environment-variable' ) && isVersionAtLeast ( version , '1.4.0' ) ) {
161- formData . functions . env = true ;
162- }
163- if ( resources . includes ( 'deployment' ) && isVersionAtLeast ( version , '1.4.0' ) ) {
164- formData . functions . inactive = true ;
165- }
166- if ( includesAll ( resources , [ 'bucket' , 'file' ] ) ) {
151+ if ( includesAll ( resources , [ Resources . Bucket , Resources . File ] as Resources [ ] ) ) {
167152 formData . storage . root = true ;
168153 }
169154
0 commit comments