@@ -45,12 +45,24 @@ abstract class AccessInput with _$AccessInput {
4545 bool useUuid = false ,
4646 }) async {
4747 final connector = LayrzConnector (uri: uri);
48+ final isNew = id == null ;
49+ final opName = isNew
50+ ? (useUuid ? 'addAccessPermissionUuid' : 'addAccessPermission' )
51+ : (useUuid ? 'editAccessPermissionUuid' : 'editAccessPermission' );
52+ final inputName = useUuid ? 'AccessPermissionUuidInput' : 'AccessPermissionInput' ;
4853 try {
4954 final response = await connector.perform (
50- query: id == null
51- ? (useUuid ? AccessInput .addUuidGraphqlMutation : AccessInput .addIdGraphqlMutation)
52- : (useUuid ? AccessInput .editUuidGraphqlMutation : AccessInput .editIdGraphqlMutation),
53- variables: {'apiToken' : apiToken, 'data' : toJson ()},
55+ GqlMutation (
56+ variables: [
57+ GqlVariable (name: 'apiToken' , type: .string, req: true , value: apiToken),
58+ GqlVariable (name: 'data' , type: .input, req: true , inputName: inputName, value: toJson ()),
59+ ],
60+ name: opName,
61+ )..add (
62+ GqlField (name: opName, args: {'apiToken' : 'apiToken' , 'data' : 'data' })
63+ ..add (GqlField (name: 'status' ))
64+ ..add (GqlField (name: 'errors' )),
65+ ),
5466 );
5567
5668 final data = response.data;
@@ -60,9 +72,7 @@ abstract class AccessInput with _$AccessInput {
6072 return false ;
6173 }
6274
63- final result = id == null
64- ? (useUuid ? data['data' ]['addAccessPermissionUuid' ] : data['data' ]['addAccessPermission' ])
65- : (useUuid ? data['data' ]['editAccessPermissionUuid' ] : data['data' ]['editAccessPermission' ]);
75+ final result = data['data' ][opName];
6676 if (result == null ) {
6777 onResponse? .call (ApiStatus .internalError.toJson ());
6878 Log .error ("layrz_models/AccessInput/save(): No result from server" );
@@ -98,11 +108,22 @@ abstract class AccessInput with _$AccessInput {
98108 bool useUuid = false ,
99109 }) async {
100110 final connector = LayrzConnector (uri: uri);
111+ final opName = useUuid ? 'deleteAccessPermissionUuid' : 'deleteAccessPermission' ;
112+ final inputName = useUuid ? 'AccessPermissionUuidInput' : 'AccessPermissionInput' ;
101113
102114 try {
103115 final response = await connector.perform (
104- query: useUuid ? AccessInput .deleteUuidGraphqlMutation : AccessInput .deleteIdGraphqlMutation,
105- variables: {'apiToken' : apiToken, 'data' : toJson ()},
116+ GqlMutation (
117+ variables: [
118+ GqlVariable (name: 'apiToken' , type: .string, req: true , value: apiToken),
119+ GqlVariable (name: 'data' , type: .input, req: true , inputName: inputName, value: toJson ()),
120+ ],
121+ name: opName,
122+ )..add (
123+ GqlField (name: opName, args: {'apiToken' : 'apiToken' , 'data' : 'data' })
124+ ..add (GqlField (name: 'status' ))
125+ ..add (GqlField (name: 'errors' )),
126+ ),
106127 );
107128
108129 final data = response.data;
@@ -112,7 +133,7 @@ abstract class AccessInput with _$AccessInput {
112133 return false ;
113134 }
114135
115- final result = data['data' ][useUuid ? 'deleteAccessPermissionUuid' : 'deleteAccessPermission' ];
136+ final result = data['data' ][opName ];
116137 if (result == null ) {
117138 onResponse? .call (ApiStatus .internalError.toJson ());
118139 Log .error ("layrz_models/Access/delete(): No result from server" );
@@ -131,64 +152,4 @@ abstract class AccessInput with _$AccessInput {
131152 return false ;
132153 }
133154 }
134-
135- /// [addIdGraphqlMutation] GraphQL mutation for adding an access permission
136- static String get addIdGraphqlMutation => r'''
137- mutation($apiToken: String!, $data: AccessPermissionInput!) {
138- addAccessPermission(apiToken: $apiToken, data: $data) {
139- status
140- errors
141- }
142- }
143- ''' ;
144-
145- /// [addUuidGraphqlMutation] GraphQL mutation for adding an access permission
146- static String get addUuidGraphqlMutation => r'''
147- mutation($apiToken: String!, $data: AccessPermissionUuidInput!) {
148- addAccessPermissionUuid(apiToken: $apiToken, data: $data) {
149- status
150- errors
151- }
152- }
153- ''' ;
154-
155- /// [editIdGraphqlMutation] GraphQL mutation for updating an access permission
156- static String get editIdGraphqlMutation => r'''
157- mutation($apiToken: String!, $data: AccessPermissionInput!) {
158- editAccessPermission(apiToken: $apiToken, data: $data) {
159- status
160- errors
161- }
162- }
163- ''' ;
164-
165- /// [editUuidGraphqlMutation] GraphQL mutation for updating an access permission
166- static String get editUuidGraphqlMutation => r'''
167- mutation($apiToken: String!, $data: AccessPermissionUuidInput!) {
168- editAccessPermissionUuid(apiToken: $apiToken, data: $data) {
169- status
170- errors
171- }
172- }
173- ''' ;
174-
175- /// [deleteIdGraphqlMutation] GraphQL mutation for deleting an access permission
176- static String get deleteIdGraphqlMutation => r'''
177- mutation($apiToken: String!, $data: AccessPermissionInput!) {
178- deleteAccessPermission(apiToken: $apiToken, data: $data) {
179- status
180- errors
181- }
182- }
183- ''' ;
184-
185- /// [deleteUuidGraphqlMutation] GraphQL mutation for deleting an access permission
186- static String get deleteUuidGraphqlMutation => r'''
187- mutation($apiToken: String!, $data: AccessPermissionUuidInput!) {
188- deleteAccessPermissionUuid(apiToken: $apiToken, data: $data) {
189- status
190- errors
191- }
192- }
193- ''' ;
194155}
0 commit comments