<%_ const baseName = context.baseName; const entityInstance = context.entityInstance; const entityInstancePlural = context.entityInstancePlural; const entityFileName = context.entityFileName; const entityClassPlural = context.entityClassPlural; const entityClassPluralLowered = context.entityClassPluralLowered; const entityClass = context.entityClass; const entityClassCamelCase = context.entityClassCamelCase; const entityClassKebabCase = context.entityClassKebabCase; const entityClassKebabCasePlural = context.entityClassKebabCasePlural; const relationships = context.relationships; _%> import 'dart:convert'; import 'package:<%= baseName %>/entities/<%= entityFileName %>/<%= entityFileName %>_model.dart'; import 'package:<%= baseName %>/shared/repository/http_utils.dart'; import 'package:dart_json_mapper/dart_json_mapper.dart'; class <%= entityClass %>Repository { <%= entityClass %>Repository(); static final String uriEndpoint = '/<%= entityClassKebabCasePlural %>'; Future>> getAll<%= entityClassPlural %>() async { final all<%= entityClassPlural %>Request = await HttpUtils.getRequest(uriEndpoint); Iterable l = json.decode(all<%= entityClassPlural %>Request.body); List<<%= entityClass %>> <%= entityInstancePlural %> = List<<%= entityClass %>>.from(l.map((model)=> <%= entityClass %>.fromJson(model))); return <%= entityInstancePlural %>; } <%_ relationships.forEach(relationship => { %> Future>> getAll<%= entityClass %>ListBy<%- relationship.otherEntityNameCapitalized %>(int <%- relationship.relationshipName %>Id) async { final all<%= entityClassPlural %>Request = await HttpUtils.getRequest('$uriEndpoint?eagerload=true&<%- relationship.relationshipName %>Id.in=$<%- relationship.relationshipName %>Id&sort=id,asc'); Iterable l = json.decode(all<%= entityClassPlural %>Request.body); List<<%= entityClass %>> <%= entityInstancePlural %> = List<<%= entityClass %>>.from(l.map((model)=> <%= entityClass %>.fromJson(model))); return <%= entityInstancePlural %>; } <%_ }); _%> Future<<%= entityClass %>> get<%= entityClass %>(int? id) async { final <%= entityInstance %>Request = await HttpUtils.getRequest('$uriEndpoint/$id'); return <%= entityClass %>.fromJson(json.decode(<%= entityInstance %>Request.body)); } Future<<%= entityClass %>> create(<%= entityClass %> <%= entityInstance %>) async { final <%= entityInstance %>Request = await HttpUtils.postRequest('$uriEndpoint', <%= entityInstance %>.toString()); return <%= entityClass %>.fromJson(json.decode(<%= entityInstance %>Request.body)); } Future<<%= entityClass %>> update(<%= entityClass %> <%= entityInstance %>) async { final <%= entityInstance %>Request = await HttpUtils.putRequest('$uriEndpoint', <%= entityInstance %>.toString(), <%= entityInstance %>.id!); return <%= entityClass %>.fromJson(json.decode(<%= entityInstance %>Request.body)); } Future delete(int id) async { final <%= entityInstance %>Request = await HttpUtils.deleteRequest('$uriEndpoint/$id'); } }