Guest User

Untitled

a guest
Nov 21st, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.93 KB | None | 0 0
  1. //
  2. // Album.m
  3. // NeedleMusic
  4. //
  5. // Created by Davide Cenzi on 13/05/12.
  6. // Copyright (c) 2012 No1. All rights reserved.
  7. //
  8.  
  9. #import "Album.h"
  10. #import "Song.h"
  11.  
  12. @implementation Album
  13.  
  14.  
  15. @synthesize code = _code;
  16. @synthesize source = _source;
  17. @synthesize collection_name = _collection_name;
  18. @synthesize artist_name = _artist_name;
  19.  
  20. @synthesize genre = _genre;
  21. @synthesize genre_id = _genre_id;
  22.  
  23. //@synthesize release_date = _release_date;
  24. @synthesize collection_id = _collection_id;
  25.  
  26. @synthesize label_id = _label_id;
  27. @synthesize label = _label;
  28.  
  29. @synthesize diffusion = _diffusion;
  30. @synthesize small_thumb = _small_thumb;
  31. @synthesize big_thumb = _big_thumb;
  32. @synthesize songs = _songs;
  33.  
  34.  
  35.  
  36. + (void)setupMapping{
  37. //managerWithBaseURLString:[[BTAuth sharedObject] apiURL]
  38. RKObjectManager* objectManager = [RKObjectManager sharedManager];
  39.  
  40. // Setup our object mappings
  41. RKObjectMapping* albumMapping = [Album mapping];
  42. [objectManager.mappingProvider setObjectMapping:albumMapping forKeyPath:@"album"];
  43.  
  44.  
  45. // Serialization mapping for user class
  46. RKObjectMapping* albumSerialization = [Album serializationMapping];
  47. [objectManager.mappingProvider setSerializationMapping:albumSerialization forClass:[Album class]];
  48.  
  49. //Routes for user class
  50. [objectManager.router routeClass:[Album class] toResourcePath:@"/albums/:code"];
  51. [objectManager.router routeClass:[Album class] toResourcePath:@"/albums" forMethod:RKRequestMethodPOST];
  52.  
  53. }
  54.  
  55. +(RKObjectMapping*)mapping{
  56.  
  57. RKObjectMapping* albumMapping = [RKObjectMapping mappingForClass:[Album class]];
  58. albumMapping.rootKeyPath = @"album";
  59. [albumMapping mapKeyPath:@"id" toAttribute:@"code"];
  60. [albumMapping mapKeyPath:@"source" toAttribute:@"source"];
  61. [albumMapping mapKeyPath:@"collection_name" toAttribute:@"collection_name"];
  62. [albumMapping mapKeyPath:@"artist_name" toAttribute:@"artist_name"];
  63.  
  64. [albumMapping mapKeyPath:@"genre" toAttribute:@"genre"];
  65. [albumMapping mapKeyPath:@"genre_id" toAttribute:@"genre_id"];
  66.  
  67. [albumMapping mapKeyPath:@"collection_id" toAttribute:@"collection_id"];
  68.  
  69. [albumMapping mapKeyPath:@"label_id" toAttribute:@"label_id"];
  70. [albumMapping mapKeyPath:@"label" toAttribute:@"label"];
  71.  
  72. [albumMapping mapKeyPath:@"diffusion" toAttribute:@"diffusion"];
  73. [albumMapping mapKeyPath:@"small_thumb" toAttribute:@"small_thumb"];
  74. [albumMapping mapKeyPath:@"big_thumb" toAttribute:@"big_thumb"];
  75.  
  76.  
  77. RKObjectMapping *songMapping = [RKObjectMapping mappingForClass:[Song class]];
  78. [albumMapping mapKeyPath:@"songs" toRelationship:@"songs" withMapping:songMapping];
  79.  
  80. return albumMapping;
  81. }
  82.  
  83. + (RKObjectMapping*)serializationMapping{
  84.  
  85.  
  86. RKObjectMapping* albumSerialization = [RKObjectMapping mappingForClass:[Album class]];
  87. //[albumSerialization mapKeyPath:@"code" toAttribute:@"album[id]"];
  88. [albumSerialization mapKeyPath:@"source" toAttribute:@"album[source]"];
  89. [albumSerialization mapKeyPath:@"collection_name" toAttribute:@"album[collection_name]"];
  90. [albumSerialization mapKeyPath:@"artist_name" toAttribute:@"album[artist_name]"];
  91.  
  92. [albumSerialization mapKeyPath:@"genre" toAttribute:@"album[genre]"];
  93. [albumSerialization mapKeyPath:@"genre_id" toAttribute:@"album[genre_id]"];
  94.  
  95. [albumSerialization mapKeyPath:@"collection_id" toAttribute:@"album[collection_id]"];
  96.  
  97. [albumSerialization mapKeyPath:@"label" toAttribute:@"album[label]"];
  98. [albumSerialization mapKeyPath:@"label_id" toAttribute:@"album[label_id]"];
  99.  
  100. [albumSerialization mapKeyPath:@"small_thumb" toAttribute:@"album[small_thumb]"];
  101. [albumSerialization mapKeyPath:@"big_thumb" toAttribute:@"album[big_thumb]"];
  102.  
  103. RKObjectMapping *songMapping = [RKObjectMapping mappingForClass:[Song class]];
  104. [albumSerialization mapKeyPath:@"songs" toRelationship:@"songs" withMapping:[songMapping inverseMapping] serialize:YES];
  105.  
  106. return albumSerialization;
  107.  
  108. }
  109.  
  110.  
  111. @end
Add Comment
Please, Sign In to add comment