REST API, RT#28181
[freeside.git] / FS / FS / Record.pm
index b226e17..24f2a25 100644 (file)
@@ -1127,13 +1127,27 @@ sub hashref {
   $self->{'Hash'};
 }
 
-#fallback
+#fallbacks/generics
+
 sub API_getinfo {
   my $self = shift;
   +{ ( map { $_=>$self->$_ } $self->fields ),
    };
 }
 
+sub API_insert {
+  my( $class, %opt ) = @_;
+  my $table = $class->table;
+  my $self = $class->new( { map { $_ => $opt{$_} } fields($table) } );
+  my $error = $self->insert;
+  return +{ 'error' => $error } if $error;
+  my $pkey = $self->pkey;
+  return +{ 'error'       => '',
+            'primary_key' => $pkey,
+            $pkey         => $self->$pkey,
+          };
+}
+
 =item modified
 
 Returns true if any of this object's values have been modified with set (or via